Home
last modified time | relevance | path

Searched +full:dai +full:- +full:tdm +full:- +full:slot +full:- +full:tx +full:- +full:mask (Results 1 – 25 of 53) sorted by relevance

123

/linux/Documentation/devicetree/bindings/sound/
H A Dtdm-slot.txt1 TDM slot:
3 This specifies audio DAI's TDM slot.
5 TDM slot properties:
6 dai-tdm-slot-num : Number of slots in use.
7 dai-tdm-slot-width : Width in bits for each slot.
8 dai-tdm-slot-tx-mask : Transmit direction slot mask, optional
9 dai-tdm-slot-rx-mask : Receive direction slot mask, optional
12 dai-tdm-slot-num = <2>;
13 dai-tdm-slot-width = <8>;
14 dai-tdm-slot-tx-mask = <0 1>;
[all …]
H A Dfsl,qmc-audio.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/sound/fsl,qmc-audio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Herve Codina <herve.codina@bootlin.com>
15 It provides several DAIs. For each DAI, the DAI is working in interleaved mode
16 if only one QMC channel is used by the DAI or it is working in non-interleaved
17 mode if several QMC channels are used by the DAI.
20 - $ref: dai-common.yaml#
24 const: fsl,qmc-audio
[all …]
H A Drenesas,idt821034.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Herve Codina <herve.codina@bootlin.com>
16 The time-slots used by the codec must be set and so, the properties
17 'dai-tdm-slot-num', 'dai-tdm-slot-width', 'dai-tdm-slot-tx-mask' and
18 'dai-tdm-slot-rx-mask' must be present in the ALSA sound card node for
19 sub-nodes that involve the codec. The codec uses one 8bit time-slot per
21 'dai-tdm-tdm-slot-with' must be set to 8.
26 - $ref: /schemas/spi/spi-peripheral-props.yaml#
[all …]
H A Dinfineon,peb2466.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Herve Codina <herve.codina@bootlin.com>
13 The Infineon PEB2466 codec is a programmable DSP-based four channels codec
16 The time-slots used by the codec must be set and so, the properties
17 'dai-tdm-slot-num', 'dai-tdm-slot-width', 'dai-tdm-slot-tx-mask' and
18 'dai-tdm-slot-rx-mask' must be present in the sound card node for sub-nodes
19 that involve the codec. The codec uses one 8bit time-slot per channel.
20 'dai-tdm-tdm-slot-with' must be set to 8.
[all …]
H A Dst,sti-asoc-card.txt3 The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas
8 Documentation/devicetree/bindings/sound/simple-card.yaml.
10 1) sti-uniperiph-dai: audio dai device.
11 ---------------------------------------
14 - compatible: "st,stih407-uni-player-hdmi", "st,stih407-uni-player-pcm-out",
15 "st,stih407-uni-player-dac", "st,stih407-uni-player-spdif",
16 "st,stih407-uni-reader-pcm_in", "st,stih407-uni-reader-hdmi",
18 - st,syscfg: phandle to boot-device system configuration registers
20 - clock-names: name of the clocks listed in clocks property in the same order
22 - reg: CPU DAI IP Base address and size entries, listed in same
[all …]
/linux/Documentation/devicetree/bindings/net/
H A Dlantiq,pef2256.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Herve Codina <herve.codina@bootlin.com>
20 - const: lantiq,pef2256
27 - description: Master Clock
28 - description: System Clock Receive
29 - description: System Clock Transmit
31 clock-names:
33 - const: mclk
[all …]
/linux/sound/soc/meson/
H A Daxg-card.c1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
9 #include <sound/soc-dai.h>
11 #include "axg-tdm.h"
12 #include "meson-card.h"
15 u32 tx; member
30 * Those will be over-written by the CPU side of the link
44 struct meson_card *priv = snd_soc_card_get_drvdata(rtd->card); in axg_card_tdm_be_hw_params()
46 (struct axg_dai_link_tdm_data *)priv->link_data[rtd->num]; in axg_card_tdm_be_hw_params()
48 return meson_card_i2s_set_sysclk(substream, params, be->mclk_fs); in axg_card_tdm_be_hw_params()
57 struct meson_card *priv = snd_soc_card_get_drvdata(rtd->card); in axg_card_tdm_dai_init()
[all …]
H A Daxg-tdm-interface.c1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
11 #include <sound/soc-dai.h>
13 #include "axg-tdm.h"
23 static unsigned int axg_tdm_slots_total(u32 *mask) in axg_tdm_slots_total() argument
28 if (!mask) in axg_tdm_slots_total()
33 slots += hweight32(mask[i]); in axg_tdm_slots_total()
38 int axg_tdm_set_tdm_slots(struct snd_soc_dai *dai, u32 *tx_mask, in axg_tdm_set_tdm_slots() argument
42 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai); in axg_tdm_set_tdm_slots()
43 struct axg_tdm_stream *tx = snd_soc_dai_dma_data_get_playback(dai); in axg_tdm_set_tdm_slots() local
44 struct axg_tdm_stream *rx = snd_soc_dai_dma_data_get_capture(dai); in axg_tdm_set_tdm_slots()
[all …]
/linux/sound/soc/intel/boards/
H A Dsof_maxim_common.c1 // SPDX-License-Identifier: GPL-2.0-only
9 #include <sound/soc-acpi.h>
10 #include <sound/soc-dai.h>
11 #include <sound/soc-dapm.h>
14 #include "../common/soc-intel-quirks.h"
37 for_each_acpi_dev_match(adev, hid, NULL, -1) in get_num_codecs()
77 * According to the definition of 'DAI Sel Mux' mixer in max98373.c, rx mask
78 * should choose two channels from TDM slots, the LSB of rx mask is left channel
89 * The tx mask indicates which channel(s) contains output IV-sense data and
90 * others should set to Hi-Z. Here we get the channel number from codec's ACPI
[all …]
H A Dkbl_da7219_max98927.c
H A Dcht_bsw_rt5672.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * cht_bsw_rt5672.c - ASoc Machine driver for Intel Cherryview-based platforms
21 #include <sound/soc-acpi.h>
23 #include "../atom/sst-atom-controls.h"
24 #include "../common/soc-intel-quirks.h"
29 #define CHT_CODEC_DAI "rt5670-aif1"
42 .mask = SND_JACK_MICROPHONE,
46 .mask = SND_JACK_HEADPHONE,
53 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control()
54 struct snd_soc_card *card = dapm->card; in platform_clock_control()
[all …]
H A Dcht_bsw_nau8824.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * cht-bsw-nau8824.c - ASoc Machine driver for Intel Cherryview-based
10 * Co-author: John Hsu <KCHSU0@nuvoton.com>
11 * This file is based on cht_bsw_rt5672.c and cht-bsw-max98090.c
20 #include <sound/soc-acpi.h>
23 #include "../atom/sst-atom-controls.h"
33 .mask = SND_JACK_HEADPHONE,
37 .mask = SND_JACK_MICROPHONE,
57 {"Playback", NULL, "ssp2 Tx"},
58 {"ssp2 Tx", NULL, "codec_out0"},
[all …]
H A Dcht_bsw_rt5645.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * cht-bsw-rt5645.c - ASoc Machine driver for Intel Cherryview-based platforms
25 #include <sound/soc-acpi.h>
27 #include "../atom/sst-atom-controls.h"
28 #include "../common/soc-intel-quirks.h"
31 #define CHT_CODEC_DAI1 "rt5645-aif1"
32 #define CHT_CODEC_DAI2 "rt5645-aif2"
69 struct snd_soc_dapm_context *dapm = w->dapm; in platform_clock_control()
70 struct snd_soc_card *card = dapm->card; in platform_clock_control()
80 dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n"); in platform_clock_control()
[all …]
H A Dkbl_rt5663_rt5514_max98927.c
/linux/sound/soc/
H A Dsoc-dai.c1 // SPDX-License-Identifier: GPL-2.0
3 // soc-dai.c
10 #include <sound/soc-dai.h>
11 #include <sound/soc-link.h>
13 #define soc_dai_ret(dai, ret) _soc_dai_ret(dai, __func_ argument
14 _soc_dai_ret(const struct snd_soc_dai * dai,const char * func,int ret) _soc_dai_ret() argument
39 soc_dai_mark_push(dai,substream,tgt) global() argument
40 soc_dai_mark_pop(dai,substream,tgt) global() argument
41 soc_dai_mark_match(dai,substream,tgt) global() argument
52 snd_soc_dai_set_sysclk(struct snd_soc_dai * dai,int clk_id,unsigned int freq,int dir) snd_soc_dai_set_sysclk() argument
78 snd_soc_dai_set_clkdiv(struct snd_soc_dai * dai,int div_id,int div) snd_soc_dai_set_clkdiv() argument
101 snd_soc_dai_set_pll(struct snd_soc_dai * dai,int pll_id,int source,unsigned int freq_in,unsigned int freq_out) snd_soc_dai_set_pll() argument
125 snd_soc_dai_set_bclk_ratio(struct snd_soc_dai * dai,unsigned int ratio) snd_soc_dai_set_bclk_ratio() argument
139 struct snd_soc_dai *dai; snd_soc_dai_get_fmt_max_priority() local
169 snd_soc_dai_get_fmt(const struct snd_soc_dai * dai,int priority) snd_soc_dai_get_fmt() argument
207 snd_soc_dai_set_fmt(struct snd_soc_dai * dai,unsigned int fmt) snd_soc_dai_set_fmt() argument
265 snd_soc_dai_set_tdm_slot(struct snd_soc_dai * dai,unsigned int tx_mask,unsigned int rx_mask,int slots,int slot_width) snd_soc_dai_set_tdm_slot() argument
306 snd_soc_dai_set_channel_map(struct snd_soc_dai * dai,unsigned int tx_num,const unsigned int * tx_slot,unsigned int rx_num,const unsigned int * rx_slot) snd_soc_dai_set_channel_map() argument
330 snd_soc_dai_get_channel_map(const struct snd_soc_dai * dai,unsigned int * tx_num,unsigned int * tx_slot,unsigned int * rx_num,unsigned int * rx_slot) snd_soc_dai_get_channel_map() argument
351 snd_soc_dai_set_tristate(struct snd_soc_dai * dai,int tristate) snd_soc_dai_set_tristate() argument
371 snd_soc_dai_digital_mute(struct snd_soc_dai * dai,int mute,int direction) snd_soc_dai_digital_mute() argument
390 snd_soc_dai_hw_params(struct snd_soc_dai * dai,struct snd_pcm_substream * substream,struct snd_pcm_hw_params * params) snd_soc_dai_hw_params() argument
407 snd_soc_dai_hw_free(struct snd_soc_dai * dai,struct snd_pcm_substream * substream,int rollback) snd_soc_dai_hw_free() argument
422 snd_soc_dai_startup(struct snd_soc_dai * dai,struct snd_pcm_substream * substream) snd_soc_dai_startup() argument
441 snd_soc_dai_shutdown(struct snd_soc_dai * dai,struct snd_pcm_substream * substream,int rollback) snd_soc_dai_shutdown() argument
459 snd_soc_dai_compress_new(struct snd_soc_dai * dai,struct snd_soc_pcm_runtime * rtd,int num) snd_soc_dai_compress_new() argument
474 snd_soc_dai_stream_valid(const struct snd_soc_dai * dai,int dir) snd_soc_dai_stream_valid() argument
493 struct snd_soc_dai *dai; snd_soc_dai_link_set_capabilities() local
520 snd_soc_dai_action(struct snd_soc_dai * dai,int stream,int action) snd_soc_dai_action() argument
531 snd_soc_dai_active(const struct snd_soc_dai * dai) snd_soc_dai_active() argument
545 struct snd_soc_dai *dai; snd_soc_pcm_dai_probe() local
571 struct snd_soc_dai *dai; snd_soc_pcm_dai_remove() local
596 struct snd_soc_dai *dai; snd_soc_pcm_dai_new() local
614 struct snd_soc_dai *dai; snd_soc_pcm_dai_prepare() local
631 soc_dai_trigger(struct snd_soc_dai * dai,struct snd_pcm_substream * substream,int cmd) soc_dai_trigger() argument
650 struct snd_soc_dai *dai; snd_soc_pcm_dai_trigger() local
692 struct snd_soc_dai *dai; snd_soc_pcm_dai_bespoke_trigger() local
713 struct snd_soc_dai *dai; snd_soc_pcm_dai_delay() local
736 snd_soc_dai_compr_startup(struct snd_soc_dai * dai,struct snd_compr_stream * cstream) snd_soc_dai_compr_startup() argument
753 snd_soc_dai_compr_shutdown(struct snd_soc_dai * dai,struct snd_compr_stream * cstream,int rollback) snd_soc_dai_compr_shutdown() argument
769 snd_soc_dai_compr_trigger(struct snd_soc_dai * dai,struct snd_compr_stream * cstream,int cmd) snd_soc_dai_compr_trigger() argument
782 snd_soc_dai_compr_set_params(struct snd_soc_dai * dai,struct snd_compr_stream * cstream,struct snd_compr_params * params) snd_soc_dai_compr_set_params() argument
796 snd_soc_dai_compr_get_params(struct snd_soc_dai * dai,struct snd_compr_stream * cstream,struct snd_codec * params) snd_soc_dai_compr_get_params() argument
810 snd_soc_dai_compr_ack(struct snd_soc_dai * dai,struct snd_compr_stream * cstream,size_t bytes) snd_soc_dai_compr_ack() argument
824 snd_soc_dai_compr_pointer(struct snd_soc_dai * dai,struct snd_compr_stream * cstream,struct snd_compr_tstamp * tstamp) snd_soc_dai_compr_pointer() argument
838 snd_soc_dai_compr_set_metadata(struct snd_soc_dai * dai,struct snd_compr_stream * cstream,struct snd_compr_metadata * metadata) snd_soc_dai_compr_set_metadata() argument
852 snd_soc_dai_compr_get_metadata(struct snd_soc_dai * dai,struct snd_compr_stream * cstream,struct snd_compr_metadata * metadata) snd_soc_dai_compr_get_metadata() argument
[all...]
/linux/sound/soc/codecs/
H A Drtq9128.c1 // SPDX-License-Identifier: GPL-2.0-only
104 return -EINVAL; in rtq9128_i2c_write()
108 return i2c_smbus_write_i2c_block_data(i2c, reg, rg_size, data + count - rg_size); in rtq9128_i2c_write()
123 return -EINVAL; in rtq9128_i2c_read()
131 return -EIO; in rtq9128_i2c_read()
133 memset(val_buf, 0, val_size - rg_size); in rtq9128_i2c_read()
134 memcpy(val_buf + val_size - rg_size, data_tmp, rg_size); in rtq9128_i2c_read()
218 static const DECLARE_TLV_DB_SCALE(dig_tlv, -10375, 25, 0);
221 0, 3, TLV_DB_SCALE_ITEM(-600, 600, 0),
289 struct snd_soc_component *comp = snd_soc_dapm_to_component(w->dapm); in rtq9128_dac_power_event()
[all …]
H A Dtas5720.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * tas5720.c - ALSA SoC Texas Instruments TAS5720 Mono Audio Amplifier
5 * Copyright (C)2015-2016 Texas Instruments Incorporated - https://www.ti.com
22 #include <sound/soc-dapm.h>
37 "dvdd", /* Digital power supply. Connect to 3.3-V supply. */
38 "pvdd", /* Class-D amp and analog power supply (connected). */
55 struct snd_soc_dai *dai) in tas5720_hw_params() argument
57 struct snd_soc_component *component = dai->component; in tas5720_hw_params()
72 dev_err(component->dev, "unsupported sample rate: %u\n", rate); in tas5720_hw_params()
73 return -EINVAL; in tas5720_hw_params()
[all …]
H A Didt821034.c1 // SPDX-License-Identifier: GPL-2.0
28 u8 spi_tx_buf; /* Cannot use stack area for SPI (dma-safe memory) */
29 u8 spi_rx_buf; /* Cannot use stack area for SPI (dma-safe memory) */
55 .tx_buf = &idt821034->spi_tx_buf, in idt821034_8bit_write()
59 .tx_buf = &idt821034->spi_tx_buf, in idt821034_8bit_write()
64 idt821034->spi_tx_buf = val; in idt821034_8bit_write()
66 dev_vdbg(&idt821034->spi->dev, "spi xfer wr 0x%x\n", val); in idt821034_8bit_write()
68 return spi_sync_transfer(idt821034->spi, xfer, 2); in idt821034_8bit_write()
85 .tx_buf = &idt821034->spi_tx_buf, in idt821034_8bit_read()
86 .rx_buf = &idt821034->spi_rx_buf, in idt821034_8bit_read()
[all …]
H A Dab8500-codec.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) ST-Ericsson SA 2012
8 * for ST-Ericsson.
14 * for ST-Ericsson.
29 #include <linux/mfd/abx500/ab8500-sysctrl.h>
30 #include <linux/mfd/abx500/ab8500-codec.h>
39 #include <sound/soc-dapm.h>
42 #include "ab8500-codec.h"
56 /* Nr of FIR/IIR-coeff banks in ANC-block */
114 /* Private data for AB8500 device-driver */
[all …]
H A Dpcm186x.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2015-2017 Texas Instruments Incorporated - https://www.ti.com
29 "avdd", /* Analog power supply. Connect to 3.3-V supply. */
30 "dvdd", /* Digital power supply. Connect to 3.3-V supply. */
31 "iovdd", /* I/O power supply. Connect to 3.3-V or 1.8-V. */
44 static const DECLARE_TLV_DB_SCALE(pcm186x_pga_tlv, -1200, 50, 0);
48 PCM186X_PGA_VAL_CH1_R, 0, -24, 80, 7, 0,
54 PCM186X_PGA_VAL_CH1_R, 0, -24, 80, 7, 0,
57 PCM186X_PGA_VAL_CH2_R, 0, -24, 80, 7, 0,
262 struct snd_soc_dai *dai) in pcm186x_hw_params() argument
[all …]
/linux/sound/soc/fsl/
H A Dimx-hdmi.c1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright 2017-2020 NXP
8 #include <sound/hdmi-codec.h>
12 * struct cpu_priv - CPU private data
14 * @slot_width: Slot width of each frame
16 * Note: [1] for tx and [0] for rx
24 struct snd_soc_dai_link dai; member
36 struct imx_hdmi_data *data = snd_soc_card_get_drvdata(rtd->card); in imx_hdmi_hw_params()
37 bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; in imx_hdmi_hw_params() local
39 struct snd_soc_card *card = rtd->card; in imx_hdmi_hw_params()
[all …]
/linux/sound/soc/atmel/
H A Dmchp-i2s-mcc.c1 // SPDX-License-Identifier: GPL-2.0
3 // Driver for Microchip I2S Multi-channel controller
29 * ---- I2S Controller Register map --
313 mchp_i2s_mcc_set_sysclk(struct snd_soc_dai * dai,int clk_id,unsigned int freq,int dir) mchp_i2s_mcc_set_sysclk() argument
330 mchp_i2s_mcc_set_bclk_ratio(struct snd_soc_dai * dai,unsigned int ratio) mchp_i2s_mcc_set_bclk_ratio() argument
342 mchp_i2s_mcc_set_dai_fmt(struct snd_soc_dai * dai,unsigned int fmt) mchp_i2s_mcc_set_dai_fmt() argument
365 mchp_i2s_mcc_set_dai_tdm_slot(struct snd_soc_dai * dai,unsigned int tx_mask,unsigned int rx_mask,int slots,int slot_width) mchp_i2s_mcc_set_dai_tdm_slot() argument
509 mchp_i2s_mcc_hw_params(struct snd_pcm_substream * substream,struct snd_pcm_hw_params * params,struct snd_soc_dai * dai) mchp_i2s_mcc_hw_params() argument
733 mchp_i2s_mcc_hw_free(struct snd_pcm_substream * substream,struct snd_soc_dai * dai) mchp_i2s_mcc_hw_free() argument
789 mchp_i2s_mcc_trigger(struct snd_pcm_substream * substream,int cmd,struct snd_soc_dai * dai) mchp_i2s_mcc_trigger() argument
860 mchp_i2s_mcc_startup(struct snd_pcm_substream * substream,struct snd_soc_dai * dai) mchp_i2s_mcc_startup() argument
873 mchp_i2s_mcc_dai_probe(struct snd_soc_dai * dai) mchp_i2s_mcc_dai_probe() argument
[all...]
/linux/arch/arm/boot/dts/st/
H A Dstm32mp157c-phycore-stm32mp15-som.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
3 * Copyright (C) 2022-2023 Steffen Trumtrar <kernel@pengutronix.de>
4 * Copyright (C) Phytec GmbH 2019-2020 - All Rights Reserved
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/input.h>
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/leds/common.h>
13 #include <dt-bindings/leds/leds-pca9532.h>
14 #include <dt-bindings/mfd/st,stpmic1.h>
[all …]
/linux/sound/soc/bcm/
H A Dbcm2835-i2s.c1 // SPDX-License-Identifier: GPL-2.0-only
16 * OMAP ALSA SoC DAI driver using McBSP port
21 * Freescale SSI ALSA SoC Digital Audio Interface (DAI) driver
23 * Copyright 2007-2010 Freescale Semiconductor, Inc.
130 unsigned int provider = dev->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK; in bcm2835_i2s_start_clock()
132 if (dev->clk_prepared) in bcm2835_i2s_start_clock()
138 clk_prepare_enable(dev->clk); in bcm2835_i2s_start_clock()
139 dev->clk_prepared = true; in bcm2835_i2s_start_clock()
148 if (dev->clk_prepared) in bcm2835_i2s_stop_clock()
149 clk_disable_unprepare(dev->clk); in bcm2835_i2s_stop_clock()
[all …]
/linux/sound/soc/sti/
H A Duniperif_reader.c1 // SPDX-License-Identifier: GPL-2.0-only
12 #define UNIPERIF_READER_I2S_IN 0 /* reader id connected to I2S/TDM TX bus */
49 spin_lock(&reader->irq_lock); in uni_reader_irq_handler()
50 if (!reader->substream) in uni_reader_irq_handler()
53 snd_pcm_stream_lock(reader->substream); in uni_reader_irq_handler()
54 if (reader->state == UNIPERIF_STATE_STOPPED) { in uni_reader_irq_handler()
56 dev_warn(reader->dev, "unexpected IRQ\n"); in uni_reader_irq_handler()
66 dev_err(reader->dev, "FIFO error detected\n"); in uni_reader_irq_handler()
68 snd_pcm_stop(reader->substream, SNDRV_PCM_STATE_XRUN); in uni_reader_irq_handler()
74 snd_pcm_stream_unlock(reader->substream); in uni_reader_irq_handler()
[all …]

123