/openbmc/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->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 D | axg-tdm-interface.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 11 #include <sound/soc-dai.h> 13 #include "axg-tdm.h" 25 unsigned int slots = 0; in axg_tdm_slots_total() local 31 /* Count the total number of slots provided by all 4 lanes */ in axg_tdm_slots_total() 33 slots += hweight32(mask[i]); in axg_tdm_slots_total() 35 return slots; in axg_tdm_slots_total() 39 u32 *rx_mask, unsigned int slots, in axg_tdm_set_tdm_slots() argument 53 dev_err(dai->dev, "interface has no slot\n"); in axg_tdm_set_tdm_slots() 54 return -EINVAL; in axg_tdm_set_tdm_slots() [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 …]
|
/openbmc/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 | 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 …]
|
H A D | audio-graph-port.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/audio-graph-port.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 15 port-base: 16 $ref: /schemas/graph.yaml#/$defs/port-base 18 convert-rate: 19 $ref: /schemas/sound/dai-params.yaml#/$defs/dai-sample-rate 20 convert-channels: [all …]
|
/openbmc/linux/sound/soc/fsl/ |
H A D | imx-card.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 // Copyright 2017-2021 NXP 15 #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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/soc/fsl/cpm_qe/ |
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 | network.txt | 4 - fsl,cpm1-scc-enet 5 - fsl,cpm2-scc-enet 6 - fsl,cpm1-fec-enet 7 - fsl,cpm2-fcc-enet (third resource is GFEMR) 8 - fsl,qe-enet 13 compatible = "fsl,mpc8272-fcc-enet", 14 "fsl,cpm2-fcc-enet"; 16 local-mac-address = [ 00 00 00 00 00 00 ]; 18 interrupt-parent = <&PIC>; 19 phy-handle = <&PHY0>; [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 …]
|
/openbmc/linux/sound/soc/ |
H A D | soc-utils.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // soc-util.c -- ALSA SoC Audio Layer utility functions 57 * snd_soc_tdm_params_to_bclk - calculate bclk from params and tdm slot info. 59 * Calculate the bclk from the params sample rate, the tdm slot count and the 60 * tdm slot width. Optionally round-up the slot count to a given multiple. 68 * I2S mode, which has a left and right phase so the number of slots is always 75 * @tdm_width: Width in bits of the tdm slots. Must be >= 0. 76 * @tdm_slots: Number of tdm slots per frame. Must be >= 0. 126 if (component->driver == &dummy_platform) in dummy_dma_open() 131 if (!rtd->dai_link->no_pcm) in dummy_dma_open() [all …]
|
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, substream, tgt) ((dai)->mark_##tgt = NULL) [all …]
|
/openbmc/u-boot/board/freescale/p1_p2_rdb_pc/ |
H A D | README | 2 -------- 4 P1020MSBG-PC 5 P1020RDB-PC 6 P1020RDB-PD 7 P1020UTM-PC 8 P1021RDB-PC 11 P2020RDB-PC 13 They have similar design of P1020RDB but have DDR3 instead of DDR2. P2020RDB-PC 14 has 64-bit DDR. All others have 32-bit DDR. 23 * PCIE slot and mini-PCIE slots [all …]
|
/openbmc/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. 14 #include "q6dsp-lpass-ports.h" 15 #include "q6dsp-common.h" 41 struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); in q6slim_hw_params() 42 struct q6afe_slim_cfg *slim = &dai_data->port_config[dai->id].slim; in q6slim_hw_params() 44 slim->sample_rate = params_rate(params); in q6slim_hw_params() 49 slim->bit_width = 16; in q6slim_hw_params() 52 slim->bit_width = 24; in q6slim_hw_params() 55 slim->bit_width = 32; in q6slim_hw_params() [all …]
|
/openbmc/linux/sound/soc/codecs/ |
H A D | pcm3168a.c | 1 // SPDX-License-Identifier: GPL-2.0-only 109 static const char *const pcm3168a_con[] = { "Differential", "Single-Ended" }; 127 /* -100db to 0db, register values 0-54 cause mute */ 128 static const DECLARE_TLV_DB_SCALE(pcm3168a_dac_tlv, -10050, 50, 1); 130 /* -100db to 20db, register values 0-14 cause mute */ 131 static const DECLARE_TLV_DB_SCALE(pcm3168a_adc_tlv, -10050, 50, 1); 134 SOC_SINGLE("DAC Power-Save Switch", PCM3168A_DAC_PWR_MST_FMT, 136 SOC_ENUM("DAC1 Digital Filter roll-off", pcm3168a_d1_roll_off), 137 SOC_ENUM("DAC2 Digital Filter roll-off", pcm3168a_d2_roll_off), 138 SOC_ENUM("DAC3 Digital Filter roll-off", pcm3168a_d3_roll_off), [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 128 snd_soc_component_get_drvdata(dai->component); in adau7118_set_channel_map() 131 dev_dbg(st->dev, "Set channel map, %d", tx_num); in adau7118_set_channel_map() 134 ret = snd_soc_component_update_bits(dai->component, in adau7118_set_channel_map() 148 snd_soc_component_get_drvdata(dai->component); in adau7118_set_fmt() 152 dev_dbg(st->dev, "Set format, fmt:%d\n", fmt); in adau7118_set_fmt() 156 ret = snd_soc_component_update_bits(dai->component, in adau7118_set_fmt() 162 ret = snd_soc_component_update_bits(dai->component, in adau7118_set_fmt() [all …]
|
H A D | nau8540.c | 1 // SPDX-License-Identifier: GPL-2.0-only 24 #include <sound/soc-dapm.h> 183 static const DECLARE_TLV_DB_MINMAX(adc_vol_tlv, -12800, 3600); 184 static const DECLARE_TLV_DB_MINMAX(fepga_gain_tlv, -100, 3600); 236 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in adc_power_control() 242 regmap_update_bits(nau8540->regmap, NAU8540_REG_PCM_CTRL1, in adc_power_control() 244 regmap_update_bits(nau8540->regmap, NAU8540_REG_PCM_CTRL2, in adc_power_control() 247 regmap_update_bits(nau8540->regmap, NAU8540_REG_PCM_CTRL1, in adc_power_control() 249 regmap_update_bits(nau8540->regmap, NAU8540_REG_PCM_CTRL2, in adc_power_control() 258 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in aiftx_power_control() [all …]
|
H A D | pcm186x.c | 1 // 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, 264 struct snd_soc_component *component = dai->component; in pcm186x_hw_params() [all …]
|
/openbmc/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>, 39 #include "edma-pcm.h" 40 #include "sdma-pcm.h" 41 #include "udma-pcm.h" 42 #include "davinci-mcasp.h" 136 void __iomem *reg = mcasp->base + offset; in mcasp_set_bits() 143 void __iomem *reg = mcasp->base + offset; in mcasp_clr_bits() 150 void __iomem *reg = mcasp->base + offset; in mcasp_mod_bits() [all …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|