/linux-6.12.1/sound/soc/stm/ |
D | stm32_sai_sub.c | 3 * STM32 ALSA SoC Digital Audio Interface (SAI) driver. 56 #define STM_SAI_HAS_EXT_SYNC(x) (!STM_SAI_IS_F4(sai->pdata)) 65 * struct stm32_sai_sub_data - private data of SAI sub block (block A or B) 67 * @regmap: SAI register map pointer 68 * @regmap_config: SAI sub block register map configuration pointer 73 * @pdata: SAI block parent data pointer 75 * @sai_ck: kernel clock feeding the SAI clock generator 76 * @sai_mclk: master clock from SAI mclk provider 77 * @phys_addr: SAI registers physical base address 78 * @mclk_rate: SAI block master clock frequency (Hz). set at init [all …]
|
D | stm32_sai.c | 3 * STM32 ALSA SoC Digital Audio Interface (SAI) driver. 40 { .compatible = "st,stm32f4-sai", .data = (void *)&stm32_sai_conf_f4 }, 41 { .compatible = "st,stm32h7-sai", .data = (void *)&stm32_sai_conf_h7 }, 47 struct stm32_sai_data *sai = dev_get_drvdata(dev); in stm32_sai_pclk_disable() local 49 clk_disable_unprepare(sai->pclk); in stm32_sai_pclk_disable() 56 struct stm32_sai_data *sai = dev_get_drvdata(dev); in stm32_sai_pclk_enable() local 59 ret = clk_prepare_enable(sai->pclk); in stm32_sai_pclk_enable() 61 dev_err(&sai->pdev->dev, "failed to enable clock: %d\n", ret); in stm32_sai_pclk_enable() 68 static int stm32_sai_sync_conf_client(struct stm32_sai_data *sai, int synci) in stm32_sai_sync_conf_client() argument 73 ret = stm32_sai_pclk_enable(&sai->pdev->dev); in stm32_sai_sync_conf_client() [all …]
|
D | stm32_sai.h | 3 * STM32 ALSA SoC Digital Audio Interface (SAI) driver. 11 /******************** SAI Register Map **************************************/ 233 /* Registers below apply to SAI version 2.1 and more */ 252 /* SAI version numbers are 1.x for F4. Major version number set to 1 for F4 */ 268 * struct stm32_sai_conf - SAI configuration 269 * @version: SAI version 270 * @fifo_size: SAI fifo size as words number 271 * @has_spdif_pdm: SAI S/PDIF and PDM features support flag 280 * struct stm32_sai_data - private data of SAI instance driver 283 * @pclk: SAI bus clock [all …]
|
D | Makefile | 2 # SAI 3 snd-soc-stm32-sai-sub-y := stm32_sai_sub.o 4 obj-$(CONFIG_SND_SOC_STM32_SAI) += snd-soc-stm32-sai-sub.o 6 snd-soc-stm32-sai-y := stm32_sai.o 7 obj-$(CONFIG_SND_SOC_STM32_SAI) += snd-soc-stm32-sai.o
|
D | Kconfig | 5 tristate "STM32 SAI interface (Serial Audio Interface) support" 13 Say Y if you want to enable SAI for STM32
|
/linux-6.12.1/sound/soc/fsl/ |
D | fsl_sai.c | 3 // Freescale ALSA SoC Digital Audio Interface (SAI) driver. 46 * SAI supports synchronous mode using bit/frame clocks of either Transmitter's 50 * @sai: SAI context 53 static inline bool fsl_sai_dir_is_synced(struct fsl_sai *sai, int dir) in fsl_sai_dir_is_synced() argument 58 return !sai->synchronous[dir] && sai->synchronous[adir]; in fsl_sai_dir_is_synced() 61 static struct pinctrl_state *fsl_sai_get_pins_state(struct fsl_sai *sai, u32 bclk) in fsl_sai_get_pins_state() argument 65 if (sai->is_pdm_mode) { in fsl_sai_get_pins_state() 68 state = pinctrl_lookup_state(sai->pinctrl, "dsd512"); in fsl_sai_get_pins_state() 72 state = pinctrl_lookup_state(sai->pinctrl, "dsd"); in fsl_sai_get_pins_state() 76 state = pinctrl_lookup_state(sai->pinctrl, "pcm_b2m"); in fsl_sai_get_pins_state() [all …]
|
D | fsl_sai.h | 20 /* SAI Register Map Register */ 21 #define FSL_SAI_VERID 0x00 /* SAI Version ID Register */ 22 #define FSL_SAI_PARAM 0x04 /* SAI Parameter Register */ 23 #define FSL_SAI_TCSR(ofs) (0x00 + ofs) /* SAI Transmit Control */ 24 #define FSL_SAI_TCR1(ofs) (0x04 + ofs) /* SAI Transmit Configuration 1 */ 25 #define FSL_SAI_TCR2(ofs) (0x08 + ofs) /* SAI Transmit Configuration 2 */ 26 #define FSL_SAI_TCR3(ofs) (0x0c + ofs) /* SAI Transmit Configuration 3 */ 27 #define FSL_SAI_TCR4(ofs) (0x10 + ofs) /* SAI Transmit Configuration 4 */ 28 #define FSL_SAI_TCR5(ofs) (0x14 + ofs) /* SAI Transmit Configuration 5 */ 29 #define FSL_SAI_TDR0 0x20 /* SAI Transmit Data 0 */ [all …]
|
D | fsl_rpmsg.h | 22 * @ipg: ipg clock for cpu dai (SAI) 23 * @mclk: master clock for cpu dai (SAI)
|
D | Makefile | 10 # Freescale SSI/DMA/SAI/SPDIF Support 15 snd-soc-fsl-sai-y := fsl_sai.o 34 obj-$(CONFIG_SND_SOC_FSL_SAI) += snd-soc-fsl-sai.o
|
D | Kconfig | 18 tristate "Synchronous Audio Interface (SAI) module support" 24 Say Y if you want to add Synchronous Audio Interface (SAI) 323 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888, 343 SAI/AUD2HTX and connect with internal HDMI IP or external module
|
D | imx-audmix.c | 145 {"sai-tx", "sai-tx", "sai-rx"}, 235 dev_err(&pdev->dev, "failed to find SAI platform device\n"); in imx_audmix_probe() 320 dev_err(&pdev->dev, "failed to find SAI platform device\n"); in imx_audmix_probe()
|
/linux-6.12.1/Documentation/devicetree/bindings/sound/ |
D | fsl,sai.yaml | 4 $id: http://devicetree.org/schemas/sound/fsl,sai.yaml# 7 title: Freescale Synchronous Audio Interface (SAI). 13 The SAI is based on I2S module that used communicating with audio codecs, 23 - fsl,imx6ul-sai 24 - fsl,imx7d-sai 25 - const: fsl,imx6sx-sai 29 - fsl,imx8mm-sai 30 - fsl,imx8mn-sai 31 - fsl,imx8mp-sai 32 - const: fsl,imx8mq-sai [all …]
|
D | st,stm32-sai.yaml | 4 $id: http://devicetree.org/schemas/sound/st,stm32-sai.yaml# 7 title: STMicroelectronics STM32 Serial Audio Interface (SAI) 13 The SAI interface (Serial Audio Interface) offers a wide set of audio 15 The SAI contains two independent audio sub-blocks. Each sub-block has 21 - st,stm32f4-sai 22 - st,stm32h7-sai 26 - description: Base address and size of SAI common register set. 27 - description: Base address and size of SAI identification register set. 69 Two subnodes corresponding to SAI sub-block instances A et B 74 description: Compatible for SAI sub-block A or B. [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/clock/ |
D | fsl,sai-clock.yaml | 4 $id: http://devicetree.org/schemas/clock/fsl,sai-clock.yaml# 7 title: Freescale SAI bitclock-as-a-clock 13 It is possible to use the BCLK pin of a SAI module as a generic clock 16 LS1028A SoC you can only enable SAIs in pairs. If you use only one SAI, 18 clock of the second SAI as a MCLK clock for an audio codec, for example. 24 const: fsl,vf610-sai-clock 50 compatible = "fsl,vf610-sai-clock";
|
/linux-6.12.1/drivers/clk/imx/ |
D | clk-imx8mp-audiomix.c | 44 .fw_name = "sai"__stringify(n), \ 45 .name = "sai"__stringify(n) \ 47 .fw_name = "sai"__stringify(n)"_mclk", \ 48 .name = "sai"__stringify(n)"_mclk" \ 109 "sai"__stringify(n)"_mclk1_sel", \ 113 SAI##n##_MCLK_SEL, 1, 0 \ 115 "sai"__stringify(n)"_mclk2_sel", \ 119 SAI##n##_MCLK_SEL, 4, 1 \ 121 "sai"__stringify(n)"_ipg_cg", \ 126 "sai"__stringify(n)"_mclk1_cg", \ [all …]
|
/linux-6.12.1/fs/xfs/scrub/ |
D | agheader.c | 659 struct xchk_agfl_info *sai = priv; in xchk_agfl_block() local 660 struct xfs_scrub *sc = sai->sc; in xchk_agfl_block() 663 sai->nr_entries < sai->agflcount) in xchk_agfl_block() 664 sai->entries[sai->nr_entries++] = agbno; in xchk_agfl_block() 666 xchk_block_set_corrupt(sc, sai->agfl_bp); in xchk_agfl_block() 719 struct xchk_agfl_info sai = { in xchk_agfl() local 735 error = xfs_alloc_read_agfl(sc->sa.pag, sc->tp, &sai.agfl_bp); in xchk_agfl() 738 xchk_buffer_recheck(sc, sai.agfl_bp); in xchk_agfl() 747 sai.agflcount = be32_to_cpu(agf->agf_flcount); in xchk_agfl() 748 if (sai.agflcount > xfs_agfl_size(sc->mp)) { in xchk_agfl() [all …]
|
/linux-6.12.1/drivers/clk/ |
D | clk-fsl-sai.c | 3 * Freescale SAI BCLK as a generic clock driver 73 { .compatible = "fsl,vf610-sai-clock" }, 81 .name = "fsl-sai-clk", 87 MODULE_DESCRIPTION("Freescale SAI bitclock-as-a-clock driver"); 89 MODULE_ALIAS("platform:fsl-sai-clk");
|
/linux-6.12.1/arch/arm64/boot/dts/freescale/ |
D | imx8qm-ss-audio.dtsi | 78 sai4: sai@59080000 { 79 compatible = "fsl,imx8qm-sai"; 95 sai5: sai@59090000 { 96 compatible = "fsl,imx8qm-sai"; 151 sai6: sai@59820000 { 152 compatible = "fsl,imx8qm-sai"; 167 sai7: sai@59830000 { 168 compatible = "fsl,imx8qm-sai";
|
D | imx8-ss-audio.dtsi | 206 sai0: sai@59040000 { 207 compatible = "fsl,imx8qm-sai"; 222 sai1: sai@59050000 { 223 compatible = "fsl,imx8qm-sai"; 238 sai2: sai@59060000 { 239 compatible = "fsl,imx8qm-sai"; 254 sai3: sai@59070000 { 255 compatible = "fsl,imx8qm-sai"; 497 sai4: sai@59820000 { 498 compatible = "fsl,imx8qm-sai"; [all …]
|
D | imx8mn.dtsi | 296 sai2: sai@30020000 { 297 compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai"; 311 sai3: sai@30030000 { 312 compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai"; 326 sai5: sai@30050000 { 327 compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai"; 343 sai6: sai@30060000 { 344 compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai"; 402 sai7: sai@300b0000 { 403 compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
|
/linux-6.12.1/include/linux/dma/ |
D | imx-dma.h | 41 IMX_DMATYPE_SAI, /* SAI */ 87 * Some i.MX Audio devices (SAI, micfil) have multiple successive FIFO 88 * registers. For multichannel recording/playback the SAI/micfil have
|
/linux-6.12.1/Documentation/devicetree/bindings/memory-controllers/ |
D | xlnx,zynqmp-ocmc-1.0.yaml | 11 - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
|
D | xlnx,versal-ddrmc-edac.yaml | 11 - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
|
/linux-6.12.1/arch/arm/boot/dts/nxp/vf/ |
D | vfxxx.dtsi | 180 sai0: sai@4002f000 { 181 compatible = "fsl,vf610-sai"; 193 sai1: sai@40030000 { 194 compatible = "fsl,vf610-sai"; 206 sai2: sai@40031000 { 207 compatible = "fsl,vf610-sai"; 219 sai3: sai@40032000 { 220 compatible = "fsl,vf610-sai";
|
/linux-6.12.1/drivers/dma/ |
D | txx9dmac.c | 334 u32 sai, dai; in txx9dmac_dostart() local 352 sai = ds->reg_width; in txx9dmac_dostart() 355 sai = 0; in txx9dmac_dostart() 359 sai = 8; in txx9dmac_dostart() 362 channel64_writel(dc, SAIR, sai); in txx9dmac_dostart() 373 sai = ds->reg_width; in txx9dmac_dostart() 376 sai = 0; in txx9dmac_dostart() 380 sai = 4; in txx9dmac_dostart() 383 channel32_writel(dc, SAIR, sai); in txx9dmac_dostart() 830 u32 sai, dai; in txx9dmac_prep_slave_sg() local [all …]
|