/Linux-v6.1/Documentation/devicetree/bindings/sound/ |
D | qcom,q6dsp-lpass-ports.yaml | 53 qcom,tdm-sync-mode: 57 TDM Synchronization mode 62 qcom,tdm-sync-src: 66 TDM Synchronization source 70 qcom,tdm-data-out: 74 TDM Data out signal to drive with other masters 78 qcom,tdm-invert-sync: 82 TDM Invert the sync 86 qcom,tdm-data-delay: 90 TDM Number of bit clock to delay data [all …]
|
D | samsung-i2s.yaml | 16 samsung,s3c6410-i2s: for 8/16/24bit stereo I2S. 18 samsung,s5pv210-i2s: for 8/16/24bit multichannel (5.1) I2S with 22 samsung,exynos5420-i2s: for 8/16/24bit multichannel (5.1) I2S for 25 source and 7.1 channel TDM support for playback; TDM (Time division 30 Exynos7 I2S has 7.1 channel TDM support for capture, secondary FIFO
|
/Linux-v6.1/Documentation/devicetree/bindings/pinctrl/ |
D | marvell,kirkwood-pinctrl.txt | 89 mpp24 24 gpio, ge1(rxd0) 130 mpp20 20 gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi), 132 mpp21 21 gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql), 134 mpp22 22 gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk), 136 mpp23 23 gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql), 138 mpp24 24 gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo) 139 mpp25 25 gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk) 140 mpp26 26 gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk) 141 mpp27 27 gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi) 142 mpp28 28 gpio, ge1(col), ts(mp8), tdm(int), audio(extclk) [all …]
|
D | marvell,armada-xp-pinctrl.txt | 45 mpp24 24 gpio, lcd(hsync), sata1(prsnt), tdm(rst) 46 mpp25 25 gpio, lcd(vsync), sata0(prsnt), tdm(pclk) 47 mpp26 26 gpio, lcd(clk), tdm(fsync) 48 mpp27 27 gpio, lcd(e), tdm(dtx), ptp(trig) 49 mpp28 28 gpio, lcd(pwm), tdm(drx), ptp(evreq) 50 mpp29 29 gpio, lcd(ref-clk), tdm(int0), ptp(clk) 51 mpp30 30 gpio, tdm(int1), sd0(clk) 52 mpp31 31 gpio, tdm(int2), sd0(cmd) 53 mpp32 32 gpio, tdm(int3), sd0(d0) 54 mpp33 33 gpio, tdm(int4), sd0(d1), dram(bat), dram(vttctrl) [all …]
|
D | marvell,armada-370-pinctrl.txt | 22 mpp6 6 gpio, ge0(txd0), sata0(prsnt), tdm(rst), audio(sdo) 23 mpp7 7 gpo, ge0(txd1), tdm(dtx), audio(lrclk) 24 mpp8 8 gpio, ge0(txd2), uart0(rts), tdm(drx), audio(bclk) 26 mpp10 10 gpio, ge0(txctl), uart0(cts), tdm(fsync), audio(sdi) 31 mpp13 13 gpio, ge0(rxd2), i2c1(sck), sd0(d1), tdm(pclk), 37 mpp16 16 gpio, ge0(rxclk), uart1(rxd), tdm(int), audio(extclk) 40 mpp19 19 gpio, ge0(txclk), ge1(txclkout), tdm(pclk) 45 mpp24 24 gpio, ge0(col), ge1(txctl), spi1(cs0) 77 mpp53 53 gpio, dev(ad14), sd0(clk), tdm(pclk), spi0(cs2), 79 mpp54 54 gpo, dev(ad15), tdm(dtx) [all …]
|
D | marvell,armada-375-pinctrl.txt | 34 mpp18 18 gpio, tdm(int) 35 mpp19 19 gpio, tdm(rst) 36 mpp20 20 gpio, tdm(pclk) 37 mpp21 21 gpio, tdm(fsync) 38 mpp22 22 gpio, tdm(drx) 39 mpp23 23 gpio, tdm(dtx) 40 mpp24 24 gpio, led(p0), ge1(rxd0), sd(cmd), uart0(rts) 53 mpp37 37 gpio, pcie0(clkreq), tdm(int), ge(mdc)
|
D | marvell,armada-38x-pinctrl.txt | 42 mpp24 24 gpio, spi0(miso), ua0(cts), ua1(rxd), sd0(d4), dev(ready) 66 mpp48 48 gpio, sata0(prsnt), dram(vttctrl), tdm(pclk), audio(mclk), sd0(d4), pcie0(cl… 67 mpp49 49 gpio, sata2(prsnt) [2], sata3(prsnt) [2], tdm(fsync), audio(lrclk), sd0(d5),… 68 mpp50 50 gpio, pcie0(rstout), tdm(drx), audio(extclk), sd0(cmd) 69 mpp51 51 gpio, tdm(dtx), audio(sdo), dram(deccerr), ptp(trig) 70 mpp52 52 gpio, pcie0(rstout), tdm(int), audio(sdi), sd0(d6), ptp(clk) 71 mpp53 53 gpio, sata1(prsnt), sata0(prsnt), tdm(rst), audio(bclk), sd0(d7), ptp(evreq)
|
D | marvell,armada-39x-pinctrl.txt | 43 mpp24 24 gpio, spi0(miso), ua0(cts), ua1(rxd), sd0(d4), dev(ready) 69 mpp48 48 gpio, sata0(prsnt) [1], dram(vttctrl), tdm(pclk) [2], audio(mclk) [2], sd0(d4), pcie0(clkr… 70 mpp49 49 gpio, sata2(prsnt) [2], sata3(prsnt) [2], tdm(fsync) [2], 72 mpp50 50 gpio, pcie0(rstout), tdm(drx) [2], audio(extclk) [2], sd0(cmd), ua2(rxd) 73 mpp51 51 gpio, tdm(dtx) [2], audio(sdo) [2], dram(deccerr), ua2(txd) 74 mpp52 52 gpio, pcie0(rstout), tdm(int) [2], audio(sdi) [2], sd0(d6), i2c3(sck) 75 mpp53 53 gpio, sata1(prsnt) [1], sata0(prsnt) [1], tdm(rst) [2], audio(bclk) [2], sd0(d7), i2c3(sda)
|
/Linux-v6.1/drivers/soc/fsl/qe/ |
D | qe_tdm.c | 8 * QE TDM API Set - TDM specific routines implementations. 49 pr_err("QE-TDM: Invalid rx-sync-clock property\n"); in ucc_of_parse_tdm() 53 pr_err("QE-TDM: Invalid rx-sync-clock property\n"); in ucc_of_parse_tdm() 62 pr_err("QE-TDM: Invalid tx-sync-clock property\n"); in ucc_of_parse_tdm() 66 pr_err("QE-TDM: Invalid tx-sync-clock property\n"); in ucc_of_parse_tdm() 72 pr_err("QE-TDM: Invalid tx-timeslot-mask property\n"); in ucc_of_parse_tdm() 80 pr_err("QE-TDM: Invalid rx-timeslot-mask property\n"); in ucc_of_parse_tdm() 85 ret = of_property_read_u32_index(np, "fsl,tdm-id", 0, &val); in ucc_of_parse_tdm() 88 pr_err("QE-TDM: No fsl,tdm-id property for this UCC\n"); in ucc_of_parse_tdm() 94 if (of_property_read_bool(np, "fsl,tdm-internal-loopback")) in ucc_of_parse_tdm() [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/arm/marvell/ |
D | cp110-system-controller.txt | 63 - 1 24 USB3 Device 91 mpp0 0 gpio, dev(ale1), au(i2smclk), ge0(rxd3), tdm(pclk), ptp(pulse), mss_i2c(sda), uart0(rxd), sa… 92 mpp1 1 gpio, dev(ale0), au(i2sdo_spdifo), ge0(rxd2), tdm(drx), ptp(clk), mss_i2c(sck), uart0(txd), … 93 mpp2 2 gpio, dev(ad15), au(i2sextclk), ge0(rxd1), tdm(dtx), mss_uart(rxd), ptp(pclk_out), i2c1(sck)… 94 mpp3 3 gpio, dev(ad14), au(i2slrclk), ge0(rxd0), tdm(fsync), mss_uart(txd), pcie(rstoutn), i2c1(sda… 95 mpp4 4 gpio, dev(ad13), au(i2sbclk), ge0(rxctl), tdm(rstn), mss_uart(rxd), uart1(cts), pcie0(clkreq… 96 mpp5 5 gpio, dev(ad12), au(i2sdi), ge0(rxclk), tdm(intn), mss_uart(txd), uart1(rts), pcie1(clkreq),… 115 mpp24 24 gpio, dev(a0), au(i2slrclk) 123 mpp32 32 gpio, mii(col), mii(txerr), mss_spi(miso), tdm(drx), au(i2sextclk), au(i2sdi), ge(mdio), s… 124 mpp33 33 gpio, mii(txclk), sdio(pwr10), mss_spi(csn), tdm(fsync), au(i2smclk), sdio(bus_pwr), xg(md… [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/clock/ |
D | mvebu-gated-clock.txt | 23 25 tdm Time Division Mplx 47 24 copro Coprocessor 48 25 tdm Time Division Mplx 77 25 tdm Time Division Multiplexing 117 25 tdm Time Division Mplx 151 24 xor1 XOR DMA 1 173 20 tdm Time Division Mplx
|
/Linux-v6.1/sound/soc/ |
D | soc-utils-test.c | 63 /* Fixed 8-slot TDM, other values from params */ 81 /* Fixed 32-bit TDM, other values from params */ 99 /* Fixed 6-slot 24-bit TDM, other values from params */ 100 { 8000, SNDRV_PCM_FORMAT_S16_LE, 1, 24, 6, 0, 1152000 }, 101 { 8000, SNDRV_PCM_FORMAT_S16_LE, 2, 24, 6, 0, 1152000 }, 102 { 8000, SNDRV_PCM_FORMAT_S16_LE, 3, 24, 6, 0, 1152000 }, 103 { 8000, SNDRV_PCM_FORMAT_S16_LE, 4, 24, 6, 0, 1152000 }, 104 { 8000, SNDRV_PCM_FORMAT_S24_LE, 1, 24, 6, 0, 1152000 }, 105 { 8000, SNDRV_PCM_FORMAT_S24_LE, 2, 24, 6, 0, 1152000 }, 106 { 8000, SNDRV_PCM_FORMAT_S24_LE, 3, 24, 6, 0, 1152000 }, [all …]
|
/Linux-v6.1/arch/arm64/boot/dts/freescale/ |
D | fsl-ls1043a-rdb.dts | 50 compatible = "atmel,24c512"; 55 compatible = "atmel,24c512"; 218 fsl,tdm-framer-type = "e1"; 219 fsl,tdm-id = <0>; 221 fsl,tdm-interface;
|
/Linux-v6.1/sound/soc/qcom/qdsp6/ |
D | q6afe-dai.c | 51 slim->bit_width = 24; in q6slim_hw_params() 79 hdmi->bit_width = 24; in q6hdmi_hw_params() 146 struct q6afe_tdm_cfg *tdm = &dai_data->port_config[dai->id].tdm; in q6tdm_set_tdm_slot() local 179 tdm->nslots_per_frame = slots; in q6tdm_set_tdm_slot() 180 tdm->slot_width = slot_width; in q6tdm_set_tdm_slot() 181 /* TDM RX dais ids are even and tx are odd */ in q6tdm_set_tdm_slot() 182 tdm->slot_mask = ((dai->id & 0x1) ? tx_mask : rx_mask) & cap_mask; in q6tdm_set_tdm_slot() 199 struct q6afe_tdm_cfg *tdm = &dai_data->port_config[dai->id].tdm; in q6tdm_set_channel_map() local 217 tdm->ch_mapping[i] = tx_slot[i]; in q6tdm_set_channel_map() 220 tdm->ch_mapping[i] = Q6AFE_CMAP_INVALID; in q6tdm_set_channel_map() [all …]
|
/Linux-v6.1/sound/soc/sh/ |
D | ssi.c | 23 * useful to support TDM mode codecs like the AD1939 which have a 24 * fixed TDM slot size, regardless of sample resolution. 161 case 24: ++i; in ssi_hw_params() 178 * like the AD1939 which only accept 32bit wide TDM slots. For in ssi_hw_params() 180 * Waiting for ASoC to get TDM support ;-) in ssi_hw_params() 182 if ((bits > 16) && (bits <= 24)) { in ssi_hw_params() 183 bits = 24; /* these are padded by the SSI */ in ssi_hw_params()
|
/Linux-v6.1/drivers/pinctrl/mvebu/ |
D | pinctrl-armada-370.c | 49 MPP_FUNCTION(0x4, "tdm", "rst"), 54 MPP_FUNCTION(0x4, "tdm", "dtx"), 60 MPP_FUNCTION(0x4, "tdm", "drx"), 72 MPP_FUNCTION(0x4, "tdm", "fsync"), 94 MPP_FUNCTION(0x4, "tdm", "pclk"), 114 MPP_FUNCTION(0x4, "tdm", "int"), 126 MPP_FUNCTION(0x4, "tdm", "pclk")), 146 MPP_MODE(24, 287 MPP_FUNCTION(0x3, "tdm", "pclk"), 293 MPP_FUNCTION(0x3, "tdm", "dtx")), [all …]
|
D | pinctrl-armada-xp.c | 161 MPP_MODE(24, 164 MPP_VAR_FUNCTION(0x3, "tdm", "rst", V_MV78230_PLUS), 169 MPP_VAR_FUNCTION(0x3, "tdm", "pclk", V_MV78230_PLUS), 173 MPP_VAR_FUNCTION(0x3, "tdm", "fsync", V_MV78230_PLUS), 178 MPP_VAR_FUNCTION(0x3, "tdm", "dtx", V_MV78230_PLUS), 183 MPP_VAR_FUNCTION(0x3, "tdm", "drx", V_MV78230_PLUS), 188 MPP_VAR_FUNCTION(0x3, "tdm", "int0", V_MV78230_PLUS), 193 MPP_VAR_FUNCTION(0x3, "tdm", "int1", V_MV78230_PLUS)), 197 MPP_VAR_FUNCTION(0x3, "tdm", "int2", V_MV78230_PLUS)), 201 MPP_VAR_FUNCTION(0x3, "tdm", "int3", V_MV78230_PLUS)), [all …]
|
D | pinctrl-armada-cp110.c | 46 MPP_FUNCTION(4, "tdm", "pclk"), 57 MPP_FUNCTION(4, "tdm", "drx"), 68 MPP_FUNCTION(4, "tdm", "dtx"), 80 MPP_FUNCTION(4, "tdm", "fsync"), 92 MPP_FUNCTION(4, "tdm", "rstn"), 103 MPP_FUNCTION(4, "tdm", "intn"), 234 MPP_MODE(24, 307 MPP_FUNCTION(4, "tdm", "drx"), 319 MPP_FUNCTION(4, "tdm", "fsync"), 330 MPP_FUNCTION(4, "tdm", "dtx"), [all …]
|
/Linux-v6.1/sound/soc/atmel/ |
D | mchp-i2s-mcc.c | 135 /* Number of TDM Channels - 1 */ 145 /* TDM Frame Synchronization */ 152 #define MCHP_I2SMCC_MRA_ISCKDIV_MASK GENMASK(29, 24) 154 (((div) << 24) & MCHP_I2SMCC_MRA_ISCKDIV_MASK) 164 /* 0: slot is 32 bits wide for DATALENGTH = 18/20/24 bits. */ 165 /* 1: slot is 24 bits wide for DATALENGTH = 18/20/24 bits. */ 204 #define MCHP_I2SMCC_INT_RXOVF_MASK(ch) GENMASK((ch) + 23, 24) 205 #define MCHP_I2SMCC_INT_RXOVFCH(ch) BIT((ch) + 24) 529 dev_err(dev->dev, "I2S with TDM is not supported\n"); in mchp_i2s_mcc_hw_params() 536 dev_err(dev->dev, "Left-Justified with TDM is not supported\n"); in mchp_i2s_mcc_hw_params() [all …]
|
/Linux-v6.1/sound/soc/codecs/ |
D | pcm186x.c | 49 PCM186X_PGA_VAL_CH1_R, 0, -24, 80, 7, 0, 55 PCM186X_PGA_VAL_CH1_R, 0, -24, 80, 7, 0, 58 PCM186X_PGA_VAL_CH2_R, 0, -24, 80, 7, 0, 292 case 24: in pcm186x_hw_params() 316 /* Select TDM transmission data */ in pcm186x_hw_params() 334 /* In DSP/TDM mode, the LRCLK divider must be 256 */ in pcm186x_hw_params() 405 * except we need to shift the TDM output by one BCK cycle in pcm186x_set_fmt() 439 dev_err(component->dev, "tdm tx mask must not be 0\n"); in pcm186x_set_tdm_slot() 447 dev_err(component->dev, "tdm tx mask must be contiguous\n"); in pcm186x_set_tdm_slot() 454 dev_err(component->dev, "tdm tx slot selection out of bounds\n"); in pcm186x_set_tdm_slot()
|
D | pcm3168a.c | 340 * two channels (no TDM support) in pcm3168a_update_fixup_pcm_stream() 411 "Bad tdm mask tx: 0x%08x rx: 0x%08x slots %d\n", in pcm3168a_set_tdm_slot() 417 (slot_width != 16 && slot_width != 24 && slot_width != 32 )) { in pcm3168a_set_tdm_slot() 496 case 24: in pcm3168a_hw_params() 499 …dev_err(component->dev, "24-bit slots not supported in provider mode, or consumer mode using DSP\n… in pcm3168a_hw_params() 516 * Switch the codec to TDM mode when more than 2 TDM slots are needed in pcm3168a_hw_params() 519 * then DIN1/DOUT1 is used in TDM mode. in pcm3168a_hw_params() 521 * used in normal mode, no need to switch to TDM modes. in pcm3168a_hw_params() 534 "TDM is supported under DSP/I2S/Left_J only\n"); in pcm3168a_hw_params()
|
D | ak4613.c | 66 * Tested TDM is very limited. 206 * Because of testable HW limitation, TDM256 8ch TDM was only tested. 285 AUDIO_IFACE(0x03, 24, LEFT_J), 286 AUDIO_IFACE(0x04, 24, I2S), 598 * It doesn't have full TDM suppert yet in ak4613_dai_hw_params() 613 u8 tdm; in ak4613_dai_hw_params() local 615 /* STEREO or TDM */ in ak4613_dai_hw_params() 617 tdm = AK4613_CONFIG_MODE_STEREO; in ak4613_dai_hw_params() 619 tdm = AK4613_CONFIG_GET(priv, MODE); in ak4613_dai_hw_params() 629 * < tdm > < iface->dif > in ak4613_dai_hw_params() [all …]
|
/Linux-v6.1/sound/soc/sti/ |
D | uniperif_player.c | 29 #define UNIPERIF_PLAYER_I2S_OUT 1 /* player id connected to I2S/TDM TX bus */ 302 player->stream_settings.iec958.status[3 + (n * 4)] << 24; in uni_player_set_channel_status() 341 /* Set 24-bit sample precision */ in uni_player_prepare_iec958() 472 * Actually "16 bits/0 bits" means "32/28/24/20/18/16 bits in uni_player_prepare_pcm() 512 int tdm_frame_size; /* unip tdm frame size in bytes */ in uni_player_prepare_tdm() 513 int user_frame_size; /* user tdm frame size in bytes */ in uni_player_prepare_tdm() 528 /* number of words inserted on the TDM line */ in uni_player_prepare_tdm() 534 /* Enable the tdm functionality */ in uni_player_prepare_tdm() 537 /* number of 8 bits timeslots avail in unip tdm frame */ in uni_player_prepare_tdm() 708 /* refine hw constraint in tdm mode */ in uni_player_startup() [all …]
|
/Linux-v6.1/sound/soc/meson/ |
D | axg-tdm-interface.c | 13 #include "axg-tdm.h" 65 case 24: in axg_tdm_set_tdm_slots() 404 /* TDM Backend DAIs */ 407 .name = "TDM Pad", 428 .name = "TDM Loopback", 487 { .compatible = "amlogic,axg-tdm-iface", }, 551 .name = "axg-tdm-iface", 557 MODULE_DESCRIPTION("Amlogic AXG TDM interface driver");
|
/Linux-v6.1/sound/soc/intel/boards/ |
D | cht_bsw_rt5645.c | 347 /* The DSP will covert the FE rate to 48k, stereo, 24bits */ in cht_codec_fixup() 358 * Default mode for SSP configuration is TDM 4 slot, override config in cht_codec_fixup() 390 /* set SSP2 to 24-bit */ in cht_codec_fixup() 394 * Default mode for SSP configuration is TDM 4 slot in cht_codec_fixup() 401 dev_err(rtd->dev, "can't set format to TDM %d\n", ret); in cht_codec_fixup() 405 /* TDM 4 slots 24 bit, set Rx & Tx bitmask to 4 active slots */ in cht_codec_fixup() 406 ret = snd_soc_dai_set_tdm_slot(asoc_rtd_to_codec(rtd, 0), 0xF, 0xF, 4, 24); in cht_codec_fixup() 408 dev_err(rtd->dev, "can't set codec TDM slot %d\n", ret); in cht_codec_fixup()
|