/linux/sound/soc/meson/ |
H A D | axg-card.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 9 #include <sound/soc-dai.h> 11 #include "axg-tdm.h" 12 #include "meson-card.h" 21 unsigned int slots; 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->id]; 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 D | axg-tdm-formatter.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 13 #include "axg-tdm-formatter.h" 33 unsigned int ch = ts->channels; in axg_tdm_formatter_set_channel_masks() 45 * Distribute the channels of the stream over the available slots in axg_tdm_formatter_set_channel_masks() 46 * of each TDM lane. We need to go over the 32 slots ... in axg_tdm_formatter_set_channel_masks() 53 if ((BIT(i + k) & ts->mask[j]) && ch) { in axg_tdm_formatter_set_channel_masks() 55 ch -= 1; in axg_tdm_formatter_set_channel_masks() 68 return -EINVAL; in axg_tdm_formatter_set_channel_masks() 82 struct axg_tdm_stream *ts = formatter->stream; in axg_tdm_formatter_enable() 87 if (formatter->enabled) in axg_tdm_formatter_enable() [all …]
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | lantiq,pef2256.yaml | 1 # 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/Documentation/devicetree/bindings/sound/ |
H A D | tdm-slot.txt | 1 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 D | amlogic,axg-sound-card.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/amlogic,axg-sound-card.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jerome Brunet <jbrunet@baylibre.com> 13 - $ref: sound-card-common.yaml# 17 const: amlogic,axg-sound-card 19 audio-aux-devs: 20 $ref: /schemas/types.yaml#/definitions/phandle-array 23 audio-widgets: [all …]
|
H A D | davinci-mcasp-audio.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/davinci-mcasp-audio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jayesh Choudhary <j-choudhary@ti.com> 15 - ti,dm646x-mcasp-audio 16 - ti,da830-mcasp-audio 17 - ti,am33xx-mcasp-audio 18 - ti,dra7-mcasp-audio 19 - ti,omap4-mcasp-audio [all …]
|
H A D | renesas,idt821034.yaml | 1 # 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 D | ti,tas2781.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2022 - 2023 Texas Instruments Incorporated 4 --- 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Shenghao Ding <shenghao-ding@ti.com> 14 The TAS2563/TAS2781 is a mono, digital input Class-D audio 16 small loudspeakers. An integrated on-chip DSP supports Texas 28 ti,tas2563: 6.1-W Boosted Class-D Audio Amplifier With Integrated 29 DSP and IV Sense, 16/20/24/32bit stereo I2S or multichannel TDM. 31 ti,tas2781: 24-V Class-D Amplifier with Real Time Integrated Speaker [all …]
|
H A D | infineon,peb2466.yaml | 1 # 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 …]
|
/linux/Documentation/devicetree/bindings/soc/fsl/cpm_qe/ |
H A D | fsl,ucc-hdlc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,ucc-hdlc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: High-Level Data Link Control(HDLC) 12 - Frank Li <Frank.Li@nxp.com> 16 const: fsl,ucc-hdlc 24 cell-index: 27 rx-clock-name: 30 - pattern: "^brg([0-9]|1[0-6])$" [all …]
|
H A D | fsl,cpm1-tsa.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,cpm1-tsa.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: PowerQUICC CPM Time-slot assigner (TSA) controller 10 - Herve Codina <herve.codina@bootlin.com> 13 The TSA is the time-slot assigner that can be found on some PowerQUICC SoC. 14 Its purpose is to route some TDM time-slots to other internal serial 20 - enum: 21 - fsl,mpc885-tsa [all …]
|
H A D | fsl,qe-tsa.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-tsa.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: PowerQUICC QE Time-slot assigner (TSA) controller 10 - Herve Codina <herve.codina@bootlin.com> 13 The TSA is the time-slot assigner that can be found on some PowerQUICC SoC. 14 Its purpose is to route some TDM time-slots to other internal serial 20 - enum: 21 - fsl,mpc8321-tsa [all …]
|
H A D | fsl,cpm1-scc-qmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,cpm1-scc-qmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Herve Codina <herve.codina@bootlin.com> 14 serial controller using the same TDM physical interface routed from TSA. 19 - enum: 20 - fsl,mpc885-scc-qmc 21 - fsl,mpc866-scc-qmc 22 - const: fsl,cpm1-scc-qmc [all …]
|
H A D | fsl,qe-ucc-qmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-ucc-qmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Herve Codina <herve.codina@bootlin.com> 14 serial controller using the same TDM physical interface routed from TSA. 19 - enum: 20 - fsl,mpc8321-ucc-qmc 21 - const: fsl,qe-ucc-qmc 25 - description: UCC (Unified communication controller) register base [all …]
|
/linux/sound/soc/fsl/ |
H A D | imx-card.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 // Copyright 2017-2021 NXP 14 #include <sound/soc-dapm.h> 46 * Mapping TDM mode and frame width 55 * struct imx_card_plat_data - specific info for codecs 58 * @tdm_fs_mul: ratio of mclk/fs for tdm mode 60 * @support_tdm_rates: supported sample rate for tdm mode 62 * @support_tdm_channels: supported channels for tdm mode 89 * struct dai_link_data - specific info for dai link 91 * @slots: slot number [all …]
|
/linux/sound/soc/ |
H A D | soc-dai.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // soc-dai.c 10 #include <sound/soc-dai.h> 11 #include <sound/soc-link.h> 23 case -EPROBE_DEFER: in _soc_dai_ret() 24 case -ENOTSUPP: in _soc_dai_ret() 27 dev_err(dai->dev, in _soc_dai_ret() 29 func, dai->name, ret); in _soc_dai_ret() 39 #define soc_dai_mark_push(dai, substream, tgt) ((dai)->mark_##tgt = substream) 40 #define soc_dai_mark_pop(dai, tgt) ((dai)->mark_##tgt = NULL) [all …]
|
/linux/sound/soc/qcom/qdsp6/ |
H A D | q6afe-dai.c | 1 // SPDX-License-Identifier: GPL-2.0 2 // Copyright (c) 2011-2017, The Linux Foundation. All rights reserved. 5 #include <dt-bindings/sound/qcom,q6afe.h> 15 #include "q6dsp-lpass-ports.h" 16 #include "q6dsp-common.h" 42 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6slim_hw_params() 43 struct q6afe_slim_cfg *slim = &dai_data->port_config[dai->id].slim; in q6slim_hw_params() 45 slim->sample_rate = params_rate(params); in q6slim_hw_params() 50 slim->bit_width = 16; in q6slim_hw_params() 53 slim->bit_width = 24; in q6slim_hw_params() [all …]
|
/linux/sound/soc/intel/boards/ |
H A D | sof_maxim_common.c | 1 // 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() 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 91 * device property "maxim,vmon-slot-no" and "maxim,imon-slot-no" to generate the [all …]
|
/linux/sound/soc/ti/ |
H A D | davinci-mcasp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Multi-channel Audio Serial Port Driver 7 * Author: Nirmal Pandey <n-pandey@ti.com>, 37 #include "edma-pcm.h" 38 #include "sdma-pcm.h" 39 #include "udma-pcm.h" 40 #include "davinci-mcasp.h" 134 void __iomem *reg = mcasp->base + offset; in mcasp_set_bits() 141 void __iomem *reg = mcasp->base + offset; in mcasp_clr_bits() 148 void __iomem *reg = mcasp->base + offset; in mcasp_mod_bits() [all …]
|
/linux/sound/soc/codecs/ |
H A D | pcm3168a.c | 1 // SPDX-License-Identifier: GPL-2.0-only 108 static const char *const pcm3168a_con[] = { "Differential", "Single-Ended" }; 126 /* -100db to 0db, register values 0-54 cause mute */ 127 static const DECLARE_TLV_DB_SCALE(pcm3168a_dac_tlv, -10050, 50, 1); 129 /* -100db to 20db, register values 0-14 cause mute */ 130 static const DECLARE_TLV_DB_SCALE(pcm3168a_adc_tlv, -10050, 50, 1); 133 SOC_SINGLE("DAC Power-Save Switch", PCM3168A_DAC_PWR_MST_FMT, 135 SOC_ENUM("DAC1 Digital Filter roll-off", pcm3168a_d1_roll_off), 136 SOC_ENUM("DAC2 Digital Filter roll-off", pcm3168a_d2_roll_off), 137 SOC_ENUM("DAC3 Digital Filter roll-off", pcm3168a_d3_roll_off), [all …]
|
H A D | rtq9128.c | 1 // 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 D | adau7118.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Analog Devices ADAU7118 8 channel PDM-to-I2S/TDM Converter driver 41 u32 slots; member 130 snd_soc_component_get_drvdata(dai->component); in adau7118_set_channel_map() 133 dev_dbg(st->dev, "Set channel map, %d", tx_num); in adau7118_set_channel_map() 136 ret = snd_soc_component_update_bits(dai->component, in adau7118_set_channel_map() 150 snd_soc_component_get_drvdata(dai->component); in adau7118_set_fmt() 154 dev_dbg(st->dev, "Set format, fmt:%d\n", fmt); in adau7118_set_fmt() 158 ret = snd_soc_component_update_bits(dai->component, in adau7118_set_fmt() 164 ret = snd_soc_component_update_bits(dai->component, in adau7118_set_fmt() [all …]
|
/linux/sound/soc/ux500/ |
H A D | mop500_ab8500.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) ST-Ericsson SA 2012 7 * for ST-Ericsson. 17 #include <sound/soc-dapm.h> 24 #include "../codecs/ab8500-codec.h" 61 /* Private data for machine-part MOP500<->AB8500 */ 88 if (IS_ERR(drvdata->clk_ptr_intclk)) { in mop500_ab8500_set_mclk() 91 return -EIO; in mop500_ab8500_set_mclk() 94 switch (drvdata->mclk_sel) { in mop500_ab8500_set_mclk() 96 clk_ptr = drvdata->clk_ptr_sysclk; in mop500_ab8500_set_mclk() [all …]
|
/linux/sound/soc/atmel/ |
H A D | mchp-i2s-mcc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Driver for Microchip I2S Multi-channel controller 29 * ---- I2S Controller Register map ---- 75 * ---- Control Register (Write-only) ---- 86 * ---- Mode Register A (Read/Write) ---- 135 /* Number of TDM Channels - 1 */ 138 ((((ch) - 1) << 13) & MCHP_I2SMCC_MRA_NBCHAN_MASK) 145 /* TDM Frame Synchronization */ 169 * ---- Mode Register B (Read/Write) ---- 183 (((fls(no_words) - 1) << 8) & MCHP_I2SMCC_MRB_DMACHUNK_MASK) [all …]
|
/linux/sound/soc/sti/ |
H A D | sti_uniperif.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 * User frame size shall be 2, 4, 6 or 8 32-bits words length 80 { .compatible = "st,stih407-uni-player-hdmi", 83 { .compatible = "st,stih407-uni-player-pcm-out", 86 { .compatible = "st,stih407-uni-player-dac", 89 { .compatible = "st,stih407-uni-player-spdif", 92 { .compatible = "st,stih407-uni-reader-pcm_in", 95 { .compatible = "st,stih407-uni-reader-hdmi", 109 if (uni->ver < SND_ST_UNIPERIF_VERSION_UNI_PLR_TOP_1_0) { in sti_uniperiph_reset() 112 count--; in sti_uniperiph_reset() [all …]
|