| /linux/sound/soc/stm/ |
| H A D | stm32_sai_sub.c | 3 * STM32 ALSA SoC Digital Audio Interface (SAI) driver. 68 * struct stm32_sai_sub_data - private data of SAI sub block (block A or B) 70 * @regmap: SAI register map pointer 71 * @regmap_config: SAI sub block register map configuration pointer 76 * @pdata: SAI block parent data pointer 78 * @sai_ck: kernel clock feeding the SAI clock generator 79 * @sai_mclk: master clock from SAI mclk provider 80 * @phys_addr: SAI registers physical base address 81 * @mclk_rate: SAI block master clock frequency (Hz). set at init 82 * @id: SAI sub block id corresponding to sub-block A or B [all …]
|
| H A D | stm32_sai.c | 3 * STM32 ALSA SoC Digital Audio Interface (SAI) driver. 22 static int stm32_sai_get_parent_clk(struct stm32_sai_data *sai); 47 * - do not use SAI parent clock source selection 55 { .compatible = "st,stm32f4-sai", .data = (void *)&stm32_sai_conf_f4 }, 56 { .compatible = "st,stm32h7-sai", .data = (void *)&stm32_sai_conf_h7 }, 57 { .compatible = "st,stm32mp25-sai", .data = (void *)&stm32_sai_conf_mp25 }, 63 struct stm32_sai_data *sai = dev_get_drvdata(dev); in stm32_sai_pclk_disable() local 65 clk_disable_unprepare(sai->pclk); in stm32_sai_pclk_disable() 72 struct stm32_sai_data *sai = dev_get_drvdata(dev); in stm32_sai_pclk_enable() local 75 ret = clk_prepare_enable(sai in stm32_sai_pclk_enable() 84 stm32_sai_sync_conf_client(struct stm32_sai_data * sai,int synci) stm32_sai_sync_conf_client() argument 100 stm32_sai_sync_conf_provider(struct stm32_sai_data * sai,int synco) stm32_sai_sync_conf_provider() argument 167 stm32_sai_get_parent_clk(struct stm32_sai_data * sai) stm32_sai_get_parent_clk() argument 186 struct stm32_sai_data *sai; stm32_sai_probe() local 274 struct stm32_sai_data *sai = dev_get_drvdata(dev); stm32_sai_suspend() local 289 struct stm32_sai_data *sai = dev_get_drvdata(dev); stm32_sai_resume() local [all...] |
| H A 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
|
| H A D | Kconfig | 5 tristate "STM32 SAI interface (Serial Audio Interface) support" 13 Say Y if you want to enable SAI for STM32
|
| /linux/sound/soc/rockchip/ |
| H A D | rockchip_sai.c | 3 * ALSA SoC Audio Layer - Rockchip SAI Controller driver 24 #define DRV_NAME "rockchip-sai" 73 struct rk_sai_dev *sai = snd_soc_dai_get_drvdata(dai); in rockchip_sai_stream_valid() local 79 sai->has_playback) in rockchip_sai_stream_valid() 83 sai->has_capture) in rockchip_sai_stream_valid() 89 static int rockchip_sai_fsync_lost_detect(struct rk_sai_dev *sai, bool en) in rockchip_sai_fsync_lost_detect() argument 93 if (sai->is_master_mode || sai->version < SAI_VER_2311) in rockchip_sai_fsync_lost_detect() 96 regmap_read(sai->regmap, SAI_FSCR, &fw); in rockchip_sai_fsync_lost_detect() 99 regmap_update_bits(sai in rockchip_sai_fsync_lost_detect() 116 rockchip_sai_fsync_err_detect(struct rk_sai_dev * sai,bool en) rockchip_sai_fsync_err_detect() argument 131 rockchip_sai_poll_clk_idle(struct rk_sai_dev * sai) rockchip_sai_poll_clk_idle() argument 153 rockchip_sai_poll_stream_idle(struct rk_sai_dev * sai,bool playback,bool capture) rockchip_sai_poll_stream_idle() argument 194 rockchip_sai_xfer_clk_stop_and_wait(struct rk_sai_dev * sai,unsigned int * to_restore) rockchip_sai_xfer_clk_stop_and_wait() argument 218 struct rk_sai_dev *sai = dev_get_drvdata(dev); rockchip_sai_runtime_suspend() local 253 struct rk_sai_dev *sai = dev_get_drvdata(dev); rockchip_sai_runtime_resume() local 280 rockchip_sai_fifo_xrun_detect(struct rk_sai_dev * sai,int stream,bool en) rockchip_sai_fifo_xrun_detect() argument 300 rockchip_sai_dma_ctrl(struct rk_sai_dev * sai,int stream,bool en) rockchip_sai_dma_ctrl() argument 320 rockchip_sai_reset(struct rk_sai_dev * sai) rockchip_sai_reset() argument 345 rockchip_sai_clear(struct rk_sai_dev * sai,unsigned int clr) rockchip_sai_clear() argument 361 rockchip_sai_xfer_start(struct rk_sai_dev * sai,int stream) rockchip_sai_xfer_start() argument 377 rockchip_sai_xfer_stop(struct rk_sai_dev * sai,int stream) rockchip_sai_xfer_stop() argument 401 rockchip_sai_start(struct rk_sai_dev * sai,int stream) rockchip_sai_start() argument 407 rockchip_sai_stop(struct rk_sai_dev * sai,int stream) rockchip_sai_stop() argument 413 rockchip_sai_fmt_create(struct rk_sai_dev * sai,unsigned int fmt) rockchip_sai_fmt_create() argument 483 struct rk_sai_dev *sai = snd_soc_dai_get_drvdata(dai); rockchip_sai_set_fmt() local 561 struct rk_sai_dev *sai = snd_soc_dai_get_drvdata(dai); rockchip_sai_hw_params() local 703 struct rk_sai_dev *sai = snd_soc_dai_get_drvdata(dai); rockchip_sai_prepare() local 740 rockchip_sai_path_config(struct rk_sai_dev * sai,int num,bool is_rx) rockchip_sai_path_config() argument 757 rockchip_sai_path_prepare(struct rk_sai_dev * sai,struct device_node * np,bool is_rx) rockchip_sai_path_prepare() argument 810 rockchip_sai_parse_paths(struct rk_sai_dev * sai,struct device_node * np) rockchip_sai_parse_paths() argument 841 struct rk_sai_dev *sai = snd_soc_dai_get_drvdata(dai); rockchip_sai_trigger() local 869 struct rk_sai_dev *sai = snd_soc_dai_get_drvdata(dai); rockchip_sai_dai_probe() local 881 struct rk_sai_dev *sai = snd_soc_dai_get_drvdata(dai); rockchip_sai_startup() local 901 struct rk_sai_dev *sai = snd_soc_dai_get_drvdata(dai); rockchip_sai_shutdown() local 913 struct rk_sai_dev *sai = snd_soc_dai_get_drvdata(dai); rockchip_sai_set_tdm_slot() local 948 struct rk_sai_dev *sai = snd_soc_dai_get_drvdata(dai); rockchip_sai_set_sysclk() local 1098 rockchip_sai_init_dai(struct rk_sai_dev * sai,struct resource * res,struct snd_soc_dai_driver ** dp) rockchip_sai_init_dai() argument 1231 struct rk_sai_dev *sai = snd_soc_component_get_drvdata(component); rockchip_sai_rd_wait_time_get() local 1242 struct rk_sai_dev *sai = snd_soc_component_get_drvdata(component); rockchip_sai_rd_wait_time_put() local 1256 struct rk_sai_dev *sai = snd_soc_component_get_drvdata(component); rockchip_sai_wr_wait_time_get() local 1267 struct rk_sai_dev *sai = snd_soc_component_get_drvdata(component); rockchip_sai_wr_wait_time_put() local 1333 struct rk_sai_dev *sai = (struct rk_sai_dev *)devid; rockchip_sai_isr() local 1386 struct rk_sai_dev *sai; rockchip_sai_probe() local [all...] |
| H A D | Makefile | 6 snd-soc-rockchip-sai-y := rockchip_sai.o 11 obj-$(CONFIG_SND_SOC_ROCKCHIP_SAI) += snd-soc-rockchip-sai.o
|
| /linux/sound/soc/fsl/ |
| H A D | fsl_sai.c | 3 // Freescale ALSA SoC Digital Audio Interface (SAI) driver. 93 * SAI supports synchronous mode using bit/frame clocks of either Transmitter's in fsl_sai_isr() 97 * @sai: SAI context in fsl_sai_isr() 100 static inline bool fsl_sai_dir_is_synced(struct fsl_sai *sai, int dir) in fsl_sai_isr() 105 return !sai->synchronous[dir] && sai->synchronous[adir]; in fsl_sai_isr() 108 static struct pinctrl_state *fsl_sai_get_pins_state(struct fsl_sai *sai, u32 bclk) in fsl_sai_isr() 112 if (sai->is_pdm_mode) { in fsl_sai_isr() 115 state = pinctrl_lookup_state(sai in fsl_sai_isr() 54 fsl_sai_dir_is_synced(struct fsl_sai * sai,int dir) fsl_sai_dir_is_synced() argument 62 fsl_sai_get_pins_state(struct fsl_sai * sai,u32 bclk) fsl_sai_get_pins_state() argument 89 struct fsl_sai *sai = (struct fsl_sai *)devid; fsl_sai_isr() local 170 struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); fsl_sai_set_dai_tdm_slot_tx() local 182 struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); fsl_sai_set_dai_tdm_slot_rx() local 213 struct fsl_sai *sai = snd_soc_dai_get_drvdata(dai); fsl_sai_set_dai_bclk_ratio() local 223 struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); fsl_sai_set_dai_sysclk_tr() local 252 struct fsl_sai *sai = snd_soc_dai_get_drvdata(dai); fsl_sai_set_mclk_rate() local 268 struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); fsl_sai_set_dai_sysclk() local 308 struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); fsl_sai_set_dai_fmt_tr() local 447 struct fsl_sai *sai = snd_soc_dai_get_drvdata(dai); fsl_sai_set_bclk() local 558 struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); fsl_sai_hw_params() local 758 struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); fsl_sai_hw_free() local 777 fsl_sai_config_disable(struct fsl_sai * sai,int dir) fsl_sai_config_disable() argument 820 struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); fsl_sai_trigger() local 907 struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); fsl_sai_startup() local 935 struct fsl_sai *sai = dev_get_drvdata(cpu_dai->dev); fsl_sai_dai_probe() local 998 struct fsl_sai *sai = snd_soc_component_get_drvdata(component); fsl_sai_dai_resume() local 1123 struct fsl_sai *sai = dev_get_drvdata(dev); fsl_sai_readable_reg() local 1179 struct fsl_sai *sai = dev_get_drvdata(dev); fsl_sai_volatile_reg() local 1222 struct fsl_sai *sai = dev_get_drvdata(dev); fsl_sai_writeable_reg() local 1268 struct fsl_sai *sai = dev_get_drvdata(dev); fsl_sai_check_version() local 1334 fsl_sai_read_dlcfg(struct fsl_sai * sai) fsl_sai_read_dlcfg() argument 1426 struct fsl_sai *sai; fsl_sai_probe() local 1808 struct fsl_sai *sai = dev_get_drvdata(dev); fsl_sai_runtime_suspend() local 1828 struct fsl_sai *sai = dev_get_drvdata(dev); fsl_sai_runtime_resume() local [all...] |
| H A D | fsl_sai.h | 21 /* SAI Register Map Register */ 22 #define FSL_SAI_VERID 0x00 /* SAI Version ID Register */ 23 #define FSL_SAI_PARAM 0x04 /* SAI Parameter Register */ 24 #define FSL_SAI_TCSR(ofs) (0x00 + ofs) /* SAI Transmit Control */ 25 #define FSL_SAI_TCR1(ofs) (0x04 + ofs) /* SAI Transmit Configuration 1 */ 26 #define FSL_SAI_TCR2(ofs) (0x08 + ofs) /* SAI Transmit Configuration 2 */ 27 #define FSL_SAI_TCR3(ofs) (0x0c + ofs) /* SAI Transmit Configuration 3 */ 28 #define FSL_SAI_TCR4(ofs) (0x10 + ofs) /* SAI Transmit Configuration 4 */ 29 #define FSL_SAI_TCR5(ofs) (0x14 + ofs) /* SAI Transmit Configuration 5 */ 30 #define FSL_SAI_TDR0 0x20 /* SAI Transmi [all...] |
| H A D | imx-audmix.c | 121 {"sai-tx", "sai-tx", "sai-rx"}, 122 {"AUDMIX-Playback-0", "AUDMIX-Playback-1", "SAI-Capture"}, 123 {"SAI-Playback", "SAI-Playback", "AUDMIX-Capture-0"}, 211 dev_err(&pdev->dev, "failed to find SAI platform device\n"); in imx_audmix_probe() 297 dev_err(&pdev->dev, "failed to find SAI platform device\n"); in imx_audmix_probe()
|
| H A D | fsl_rpmsg.h | 22 * @ipg: ipg clock for cpu dai (SAI) 23 * @mclk: master clock for cpu dai (SAI)
|
| H A D | Kconfig | 21 tristate "Synchronous Audio Interface (SAI) module support" 28 Say Y if you want to add Synchronous Audio Interface (SAI) 328 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888, 350 SAI/AUD2HTX and connect with internal HDMI IP or external module
|
| /linux/Documentation/devicetree/bindings/sound/ |
| H A 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 23 - st,stm32mp25-sai 27 - description: Base address and size of SAI common register set. 28 - description: Base address and size of SAI identification register set. 72 Two subnodes corresponding to SAI sub-block instances A et B [all …]
|
| H A D | rockchip,rk3576-sai.yaml | 4 $id: http://devicetree.org/schemas/sound/rockchip,rk3576-sai.yaml# 10 The Rockchip Serial Audio Interface (SAI) controller is a flexible audio 21 const: rockchip,rk3576-sai 71 rockchip,sai-rx-route: 76 rockchip,sai-rx-route = <3> would mean sdi3 is receiving from data0, and 85 rockchip,sai-tx-route: 90 rockchip,sai-tx-route = <3> would mean sdo3 is sending to data0, and 122 sai1: sai@2a610000 { 123 compatible = "rockchip,rk3576-sai"; 141 rockchip,sai-tx-route = <3 1 2 0>;
|
| /linux/drivers/clk/imx/ |
| H A 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/fs/xfs/scrub/ |
| H A D | agheader.c | 726 struct xchk_agfl_info *sai = priv; in xchk_agfl_block() local 727 struct xfs_scrub *sc = sai->sc; in xchk_agfl_block() 730 sai->nr_entries < sai->agflcount) in xchk_agfl_block() 731 sai->entries[sai->nr_entries++] = agbno; in xchk_agfl_block() 733 xchk_block_set_corrupt(sc, sai->agfl_bp); in xchk_agfl_block() 786 struct xchk_agfl_info sai = { in xchk_agfl() local 802 error = xfs_alloc_read_agfl(sc->sa.pag, sc->tp, &sai.agfl_bp); in xchk_agfl() 805 xchk_buffer_recheck(sc, sai.agfl_bp); in xchk_agfl() 814 sai.agflcount = be32_to_cpu(agf->agf_flcount); in xchk_agfl() 815 if (sai.agflcount > xfs_agfl_size(sc->mp)) { in xchk_agfl() [all …]
|
| /linux/arch/arm64/boot/dts/freescale/ |
| H A 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";
|
| H A 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"; 495 sai4: sai@59820000 { 496 compatible = "fsl,imx8qm-sai"; [all …]
|
| /linux/Documentation/devicetree/bindings/ufs/ |
| H A D | amd,versal2-ufs.yaml | 10 - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
|
| /linux/Documentation/devicetree/bindings/memory-controllers/ |
| H A D | xlnx,zynqmp-ocmc-1.0.yaml | 11 - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
|
| H A D | xlnx,versal-ddrmc-edac.yaml | 11 - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
|
| /linux/drivers/dma/ |
| H A 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 …]
|
| H A D | txx9dmac.h | 289 u32 sai, u32 dai, u32 ccr) in txx9dmac_desc_set_nosimple() argument 292 desc->hwdesc.SAIR = sai; in txx9dmac_desc_set_nosimple() 296 desc->hwdesc32.SAIR = sai; in txx9dmac_desc_set_nosimple()
|
| /linux/sound/soc/sof/ |
| H A D | ipc3-topology.c | 227 /* SAI */ 344 [SOF_SAI_TOKENS] = {"SAI tokens", sai_tokens, ARRAY_SIZE(sai_tokens)}, 1078 memset(&config->sai, 0, sizeof(config->sai)); in sof_link_sai_load() 1081 /* parse one set of SAI tokens */ in sof_link_sai_load() 1082 ret = sof_update_ipc_object(scomp, &config->sai, SOF_SAI_TOKENS, slink->tuples, in sof_link_sai_load() 1087 config->sai.mclk_rate = le32_to_cpu(hw_config->mclk_rate); in sof_link_sai_load() 1088 config->sai.bclk_rate = le32_to_cpu(hw_config->bclk_rate); in sof_link_sai_load() 1089 config->sai.fsync_rate = le32_to_cpu(hw_config->fsync_rate); in sof_link_sai_load() 1090 config->sai.mclk_direction = hw_config->mclk_direction; in sof_link_sai_load() 1092 config->sai.tdm_slots = le32_to_cpu(hw_config->tdm_slots); in sof_link_sai_load() [all …]
|
| /linux/tools/testing/selftests/resctrl/ |
| H A D | README | 5 Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>,
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-kernel-iommu_groups | 36 Contact: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
|