| /kernel/linux/linux-4.19/sound/soc/samsung/ |
| D | i2s.c | 1 /* sound/soc/samsung/i2s.c 3 * ALSA SoC Audio Layer - Samsung I2S Controller driver 13 #include <dt-bindings/sound/samsung-i2s.h> 32 #include "i2s.h" 33 #include "i2s-regs.h" 71 /* I2S Controller's core clock */ 73 /* Clock for generating I2S signals */ 108 static inline bool is_secondary(struct i2s_dai *i2s) in is_secondary() argument 110 return i2s->pri_dai ? true : false; in is_secondary() 114 static inline bool is_slave(struct i2s_dai *i2s) in is_slave() argument [all …]
|
| D | s3c-i2s-v2.c | 1 /* ALSA Soc Audio Layer - I2S core for newer Samsung SoCs. 25 #include "regs-i2s-v2.h" 26 #include "s3c-i2s-v2.h" 76 static void s3c2412_snd_txctrl(struct s3c_i2sv2_info *i2s, int on) in s3c2412_snd_txctrl() argument 78 void __iomem *regs = i2s->regs; in s3c2412_snd_txctrl() 106 dev_err(i2s->dev, "TXEN: Invalid MODE %x in IISMOD\n", in s3c2412_snd_txctrl() 135 dev_err(i2s->dev, "TXDIS: Invalid MODE %x in IISMOD\n", in s3c2412_snd_txctrl() 149 static void s3c2412_snd_rxctrl(struct s3c_i2sv2_info *i2s, int on) in s3c2412_snd_rxctrl() argument 151 void __iomem *regs = i2s->regs; in s3c2412_snd_rxctrl() 179 dev_err(i2s->dev, "RXEN: Invalid MODE %x in IISMOD\n", in s3c2412_snd_rxctrl() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/img/ |
| D | img-i2s-out.c | 2 * IMG I2S output controller driver 72 struct img_i2s_out *i2s = dev_get_drvdata(dev); in img_i2s_out_runtime_suspend() local 74 clk_disable_unprepare(i2s->clk_ref); in img_i2s_out_runtime_suspend() 75 clk_disable_unprepare(i2s->clk_sys); in img_i2s_out_runtime_suspend() 82 struct img_i2s_out *i2s = dev_get_drvdata(dev); in img_i2s_out_runtime_resume() local 85 ret = clk_prepare_enable(i2s->clk_sys); in img_i2s_out_runtime_resume() 91 ret = clk_prepare_enable(i2s->clk_ref); in img_i2s_out_runtime_resume() 94 clk_disable_unprepare(i2s->clk_sys); in img_i2s_out_runtime_resume() 101 static inline void img_i2s_out_writel(struct img_i2s_out *i2s, u32 val, in img_i2s_out_writel() argument 104 writel(val, i2s->base + reg); in img_i2s_out_writel() [all …]
|
| D | img-i2s-in.c | 2 * IMG I2S input controller driver 70 struct img_i2s_in *i2s = dev_get_drvdata(dev); in img_i2s_in_runtime_suspend() local 72 clk_disable_unprepare(i2s->clk_sys); in img_i2s_in_runtime_suspend() 79 struct img_i2s_in *i2s = dev_get_drvdata(dev); in img_i2s_in_runtime_resume() local 82 ret = clk_prepare_enable(i2s->clk_sys); in img_i2s_in_runtime_resume() 91 static inline void img_i2s_in_writel(struct img_i2s_in *i2s, u32 val, u32 reg) in img_i2s_in_writel() argument 93 writel(val, i2s->base + reg); in img_i2s_in_writel() 96 static inline u32 img_i2s_in_readl(struct img_i2s_in *i2s, u32 reg) in img_i2s_in_readl() argument 98 return readl(i2s->base + reg); in img_i2s_in_readl() 101 static inline void img_i2s_in_ch_writel(struct img_i2s_in *i2s, u32 chan, in img_i2s_in_ch_writel() argument [all …]
|
| /kernel/linux/linux-5.10/sound/soc/img/ |
| D | img-i2s-out.c | 3 * IMG I2S output controller driver 69 struct img_i2s_out *i2s = dev_get_drvdata(dev); in img_i2s_out_runtime_suspend() local 71 clk_disable_unprepare(i2s->clk_ref); in img_i2s_out_runtime_suspend() 72 clk_disable_unprepare(i2s->clk_sys); in img_i2s_out_runtime_suspend() 79 struct img_i2s_out *i2s = dev_get_drvdata(dev); in img_i2s_out_runtime_resume() local 82 ret = clk_prepare_enable(i2s->clk_sys); in img_i2s_out_runtime_resume() 88 ret = clk_prepare_enable(i2s->clk_ref); in img_i2s_out_runtime_resume() 91 clk_disable_unprepare(i2s->clk_sys); in img_i2s_out_runtime_resume() 98 static inline void img_i2s_out_writel(struct img_i2s_out *i2s, u32 val, in img_i2s_out_writel() argument 101 writel(val, i2s->base + reg); in img_i2s_out_writel() [all …]
|
| D | img-i2s-in.c | 3 * IMG I2S input controller driver 67 struct img_i2s_in *i2s = dev_get_drvdata(dev); in img_i2s_in_runtime_suspend() local 69 clk_disable_unprepare(i2s->clk_sys); in img_i2s_in_runtime_suspend() 76 struct img_i2s_in *i2s = dev_get_drvdata(dev); in img_i2s_in_runtime_resume() local 79 ret = clk_prepare_enable(i2s->clk_sys); in img_i2s_in_runtime_resume() 88 static inline void img_i2s_in_writel(struct img_i2s_in *i2s, u32 val, u32 reg) in img_i2s_in_writel() argument 90 writel(val, i2s->base + reg); in img_i2s_in_writel() 93 static inline u32 img_i2s_in_readl(struct img_i2s_in *i2s, u32 reg) in img_i2s_in_readl() argument 95 return readl(i2s->base + reg); in img_i2s_in_readl() 98 static inline void img_i2s_in_ch_writel(struct img_i2s_in *i2s, u32 chan, in img_i2s_in_ch_writel() argument [all …]
|
| /kernel/linux/linux-5.10/sound/soc/hisilicon/ |
| D | hi6210-i2s.c | 3 * linux/sound/soc/m8m/hi6210_i2s.c - I2S IP driver 32 #include "hi6210-i2s.h" 81 static inline void hi6210_write_reg(struct hi6210_i2s *i2s, int reg, u32 val) in hi6210_write_reg() argument 83 writel(val, i2s->base + reg); in hi6210_write_reg() 86 static inline u32 hi6210_read_reg(struct hi6210_i2s *i2s, int reg) in hi6210_read_reg() argument 88 return readl(i2s->base + reg); in hi6210_read_reg() 94 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); in hi6210_i2s_startup() local 99 regmap_read(i2s->sysctrl, SC_PERIPH_RSTSTAT2, &val); in hi6210_i2s_startup() 101 regmap_write(i2s->sysctrl, SC_PERIPH_RSTDIS2, BIT(4)); in hi6210_i2s_startup() 103 for (n = 0; n < i2s->clocks; n++) { in hi6210_i2s_startup() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/hisilicon/ |
| D | hi6210-i2s.c | 2 * linux/sound/soc/m8m/hi6210_i2s.c - I2S IP driver 40 #include "hi6210-i2s.h" 89 static inline void hi6210_write_reg(struct hi6210_i2s *i2s, int reg, u32 val) in hi6210_write_reg() argument 91 writel(val, i2s->base + reg); in hi6210_write_reg() 94 static inline u32 hi6210_read_reg(struct hi6210_i2s *i2s, int reg) in hi6210_read_reg() argument 96 return readl(i2s->base + reg); in hi6210_read_reg() 102 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); in hi6210_i2s_startup() local 107 regmap_read(i2s->sysctrl, SC_PERIPH_RSTSTAT2, &val); in hi6210_i2s_startup() 109 regmap_write(i2s->sysctrl, SC_PERIPH_RSTDIS2, BIT(4)); in hi6210_i2s_startup() 111 for (n = 0; n < i2s->clocks; n++) { in hi6210_i2s_startup() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/tegra/ |
| D | tegra30_i2s.c | 3 * tegra30_i2s.c - Tegra30 I2S driver 36 #define DRV_NAME "tegra30-i2s" 40 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_suspend() local 42 regcache_cache_only(i2s->regmap, true); in tegra30_i2s_runtime_suspend() 44 clk_disable_unprepare(i2s->clk_i2s); in tegra30_i2s_runtime_suspend() 51 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_resume() local 54 ret = clk_prepare_enable(i2s->clk_i2s); in tegra30_i2s_runtime_resume() 60 regcache_cache_only(i2s->regmap, false); in tegra30_i2s_runtime_resume() 68 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra30_i2s_set_fmt() local 117 regmap_update_bits(i2s->regmap, TEGRA30_I2S_CTRL, mask, val); in tegra30_i2s_set_fmt() [all …]
|
| D | tegra210_i2s.c | 3 // tegra210_i2s.c - Tegra210 I2S driver 31 * is required to select i2s4b for it to be functional for I2S 50 struct tegra210_i2s *i2s = dev_get_drvdata(dev); in tegra210_i2s_set_clock_rate() local 54 regmap_read(i2s->regmap, TEGRA210_I2S_CTRL, &val); in tegra210_i2s_set_clock_rate() 56 /* No need to set rates if I2S is being operated in slave */ in tegra210_i2s_set_clock_rate() 60 err = clk_set_rate(i2s->clk_i2s, clock_rate); in tegra210_i2s_set_clock_rate() 62 dev_err(dev, "can't set I2S bit clock rate %u, err: %d\n", in tegra210_i2s_set_clock_rate() 67 if (!IS_ERR(i2s->clk_sync_input)) { in tegra210_i2s_set_clock_rate() 69 * Other I/O modules in AHUB can use i2s bclk as reference in tegra210_i2s_set_clock_rate() 73 err = clk_set_rate(i2s->clk_sync_input, clock_rate); in tegra210_i2s_set_clock_rate() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/stm/ |
| D | stm32_i2s.c | 3 * STM32 ALSA SoC Digital Audio Interface (I2S) driver. 141 /* Registers below apply to I2S version 1.1 and more */ 200 * struct stm32_i2s_data - private data of I2S 201 * @regmap_conf: I2S register map configuration pointer 202 * @regmap: I2S register map pointer 208 * @i2sclk: kernel clock feeding the I2S clock generator 210 * @x8kclk: I2S parent clock for sampling frequencies multiple of 8kHz 211 * @x11kclk: I2S parent clock for sampling frequencies multiple of 11kHz 213 * @phys_addr: I2S registers physical base address 218 * @refcount: keep count of opened streams on I2S [all …]
|
| /kernel/linux/linux-4.19/sound/soc/rockchip/ |
| D | rockchip_i2s.c | 3 * ALSA SoC Audio Layer - Rockchip I2S Controller driver 27 #define DRV_NAME "rockchip-i2s" 48 * I2S controller hopes to start the tx and rx together, 59 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); in i2s_runtime_suspend() local 61 regcache_cache_only(i2s->regmap, true); in i2s_runtime_suspend() 62 clk_disable_unprepare(i2s->mclk); in i2s_runtime_suspend() 69 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); in i2s_runtime_resume() local 72 ret = clk_prepare_enable(i2s->mclk); in i2s_runtime_resume() 74 dev_err(i2s->dev, "clock enable failed %d\n", ret); in i2s_runtime_resume() 78 regcache_cache_only(i2s->regmap, false); in i2s_runtime_resume() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/rockchip/ |
| D | rockchip_i2s.c | 4 * ALSA SoC Audio Layer - Rockchip I2S Controller driver 24 #define DRV_NAME "rockchip-i2s" 45 * I2S controller hopes to start the tx and rx together, 56 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); in i2s_runtime_suspend() local 58 regcache_cache_only(i2s->regmap, true); in i2s_runtime_suspend() 59 clk_disable_unprepare(i2s->mclk); in i2s_runtime_suspend() 66 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); in i2s_runtime_resume() local 69 ret = clk_prepare_enable(i2s->mclk); in i2s_runtime_resume() 71 dev_err(i2s->dev, "clock enable failed %d\n", ret); in i2s_runtime_resume() 75 regcache_cache_only(i2s->regmap, false); in i2s_runtime_resume() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/adi/ |
| D | axi-i2s.c | 60 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_trigger() local 83 regmap_update_bits(i2s->regmap, AXI_I2S_REG_CTRL, mask, val); in axi_i2s_trigger() 91 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_hw_params() local 98 bclk_div = DIV_ROUND_UP(clk_get_rate(i2s->clk_ref), bclk_rate) / 2 - 1; in axi_i2s_hw_params() 100 regmap_write(i2s->regmap, AXI_I2S_REG_CLK_CTRL, (word_size << 16) | in axi_i2s_hw_params() 109 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_startup() local 118 regmap_write(i2s->regmap, AXI_I2S_REG_RESET, mask); in axi_i2s_startup() 122 &i2s->rate_constraints); in axi_i2s_startup() 126 return clk_prepare_enable(i2s->clk_ref); in axi_i2s_startup() 132 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_shutdown() local [all …]
|
| /kernel/linux/linux-4.19/sound/soc/tegra/ |
| D | tegra30_i2s.c | 2 * tegra30_i2s.c - Tegra30 I2S driver 47 #define DRV_NAME "tegra30-i2s" 51 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_suspend() local 53 regcache_cache_only(i2s->regmap, true); in tegra30_i2s_runtime_suspend() 55 clk_disable_unprepare(i2s->clk_i2s); in tegra30_i2s_runtime_suspend() 62 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_resume() local 65 ret = clk_prepare_enable(i2s->clk_i2s); in tegra30_i2s_runtime_resume() 71 regcache_cache_only(i2s->regmap, false); in tegra30_i2s_runtime_resume() 79 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra30_i2s_set_fmt() local 128 regmap_update_bits(i2s->regmap, TEGRA30_I2S_CTRL, mask, val); in tegra30_i2s_set_fmt() [all …]
|
| D | tegra20_i2s.c | 2 * tegra20_i2s.c - Tegra20 I2S driver 48 #define DRV_NAME "tegra20-i2s" 52 struct tegra20_i2s *i2s = dev_get_drvdata(dev); in tegra20_i2s_runtime_suspend() local 54 clk_disable_unprepare(i2s->clk_i2s); in tegra20_i2s_runtime_suspend() 61 struct tegra20_i2s *i2s = dev_get_drvdata(dev); in tegra20_i2s_runtime_resume() local 64 ret = clk_prepare_enable(i2s->clk_i2s); in tegra20_i2s_runtime_resume() 76 struct tegra20_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra20_i2s_set_fmt() local 124 regmap_update_bits(i2s->regmap, TEGRA20_I2S_CTRL, mask, val); in tegra20_i2s_set_fmt() 134 struct tegra20_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra20_i2s_hw_params() local 159 regmap_update_bits(i2s->regmap, TEGRA20_I2S_CTRL, mask, val); in tegra20_i2s_hw_params() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/jz4740/ |
| D | jz4740-i2s.c | 27 #include "jz4740-i2s.h" 113 static inline uint32_t jz4740_i2s_read(const struct jz4740_i2s *i2s, in jz4740_i2s_read() argument 116 return readl(i2s->base + reg); in jz4740_i2s_read() 119 static inline void jz4740_i2s_write(const struct jz4740_i2s *i2s, in jz4740_i2s_write() argument 122 writel(value, i2s->base + reg); in jz4740_i2s_write() 128 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); in jz4740_i2s_startup() local 135 ctrl = jz4740_i2s_read(i2s, JZ_REG_AIC_CTRL); in jz4740_i2s_startup() 137 jz4740_i2s_write(i2s, JZ_REG_AIC_CTRL, ctrl); in jz4740_i2s_startup() 139 ret = clk_prepare_enable(i2s->clk_i2s); in jz4740_i2s_startup() 143 conf = jz4740_i2s_read(i2s, JZ_REG_AIC_CONF); in jz4740_i2s_startup() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/jz4740/ |
| D | jz4740-i2s.c | 36 #include "jz4740-i2s.h" 119 static inline uint32_t jz4740_i2s_read(const struct jz4740_i2s *i2s, in jz4740_i2s_read() argument 122 return readl(i2s->base + reg); in jz4740_i2s_read() 125 static inline void jz4740_i2s_write(const struct jz4740_i2s *i2s, in jz4740_i2s_write() argument 128 writel(value, i2s->base + reg); in jz4740_i2s_write() 134 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); in jz4740_i2s_startup() local 141 ctrl = jz4740_i2s_read(i2s, JZ_REG_AIC_CTRL); in jz4740_i2s_startup() 143 jz4740_i2s_write(i2s, JZ_REG_AIC_CTRL, ctrl); in jz4740_i2s_startup() 145 ret = clk_prepare_enable(i2s->clk_i2s); in jz4740_i2s_startup() 149 conf = jz4740_i2s_read(i2s, JZ_REG_AIC_CONF); in jz4740_i2s_startup() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/xtensa/ |
| D | xtfpga-i2s.c | 2 * Xtfpga I2S controller driver 20 #define DRV_NAME "xtfpga-i2s" 49 * I2S controller operation: 79 unsigned (*tx_fn)(struct xtfpga_i2s *i2s, 129 * If I2S interface is configured with smaller sample resolution, only 134 struct xtfpga_i2s *i2s, struct snd_pcm_runtime *runtime, \ 140 for (; i2s->tx_fifo_level < i2s->tx_fifo_high; \ 141 i2s->tx_fifo_level += 2) { \ 143 i2s->regs + XTFPGA_I2S_CHAN0_DATA); \ 145 i2s->regs + XTFPGA_I2S_CHAN0_DATA); \ [all …]
|
| /kernel/linux/linux-5.10/sound/soc/xtensa/ |
| D | xtfpga-i2s.c | 3 * Xtfpga I2S controller driver 17 #define DRV_NAME "xtfpga-i2s" 46 * I2S controller operation: 76 unsigned (*tx_fn)(struct xtfpga_i2s *i2s, 126 * If I2S interface is configured with smaller sample resolution, only 131 struct xtfpga_i2s *i2s, struct snd_pcm_runtime *runtime, \ 137 for (; i2s->tx_fifo_level < i2s->tx_fifo_high; \ 138 i2s->tx_fifo_level += 2) { \ 140 i2s->regs + XTFPGA_I2S_CHAN0_DATA); \ 142 i2s->regs + XTFPGA_I2S_CHAN0_DATA); \ [all …]
|
| /kernel/linux/linux-4.19/sound/soc/sunxi/ |
| D | sun4i-i2s.c | 159 /* Register fields for i2s */ 183 /* Register fields for i2s */ 225 static int sun4i_i2s_get_bclk_div(struct sun4i_i2s *i2s, in sun4i_i2s_get_bclk_div() argument 243 static int sun4i_i2s_get_mclk_div(struct sun4i_i2s *i2s, in sun4i_i2s_get_mclk_div() argument 277 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); in sun4i_i2s_set_clk_rate() local 309 ret = clk_set_rate(i2s->mod_clk, clk_rate); in sun4i_i2s_set_clk_rate() 313 oversample_rate = i2s->mclk_freq / rate; in sun4i_i2s_set_clk_rate() 320 bclk_div = sun4i_i2s_get_bclk_div(i2s, i2s->mclk_freq, in sun4i_i2s_set_clk_rate() 327 mclk_div = sun4i_i2s_get_mclk_div(i2s, oversample_rate, in sun4i_i2s_set_clk_rate() 335 bclk_div += i2s->variant->bclk_offset; in sun4i_i2s_set_clk_rate() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/stm/ |
| D | stm32_i2s.c | 2 * STM32 ALSA SoC Digital Audio Interface (I2S) driver. 189 * @regmap_conf: I2S register map configuration pointer 190 * @egmap: I2S register map pointer 196 * @i2sclk: kernel clock feeding the I2S clock generator 198 * @x8kclk: I2S parent clock for sampling frequencies multiple of 8kHz 199 * @x11kclk: I2S parent clock for sampling frequencies multiple of 11kHz 201 * @phys_addr: I2S registers physical base address 206 * @refcount: keep count of opened streams on I2S 233 struct stm32_i2s_data *i2s = (struct stm32_i2s_data *)devid; in stm32_i2s_isr() local 234 struct platform_device *pdev = i2s->pdev; in stm32_i2s_isr() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/adi/ |
| D | axi-i2s.c | 58 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_trigger() local 81 regmap_update_bits(i2s->regmap, AXI_I2S_REG_CTRL, mask, val); in axi_i2s_trigger() 89 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_hw_params() local 96 bclk_div = DIV_ROUND_UP(clk_get_rate(i2s->clk_ref), bclk_rate) / 2 - 1; in axi_i2s_hw_params() 98 regmap_write(i2s->regmap, AXI_I2S_REG_CLK_CTRL, (word_size << 16) | in axi_i2s_hw_params() 107 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_startup() local 116 regmap_write(i2s->regmap, AXI_I2S_REG_RESET, mask); in axi_i2s_startup() 120 &i2s->rate_constraints); in axi_i2s_startup() 124 return clk_prepare_enable(i2s->clk_ref); in axi_i2s_startup() 130 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_shutdown() local [all …]
|
| /kernel/linux/linux-5.10/sound/soc/sunxi/ |
| D | sun4i-i2s.c | 152 /* Register fields for i2s */ 184 /* Register fields for i2s */ 237 static unsigned long sun4i_i2s_get_bclk_parent_rate(const struct sun4i_i2s *i2s) in sun4i_i2s_get_bclk_parent_rate() argument 239 return i2s->mclk_freq; in sun4i_i2s_get_bclk_parent_rate() 242 static unsigned long sun8i_i2s_get_bclk_parent_rate(const struct sun4i_i2s *i2s) in sun8i_i2s_get_bclk_parent_rate() argument 244 return clk_get_rate(i2s->mod_clk); in sun8i_i2s_get_bclk_parent_rate() 247 static int sun4i_i2s_get_bclk_div(struct sun4i_i2s *i2s, in sun4i_i2s_get_bclk_div() argument 253 const struct sun4i_i2s_clk_div *dividers = i2s->variant->bclk_dividers; in sun4i_i2s_get_bclk_div() 257 for (i = 0; i < i2s->variant->num_bclk_dividers; i++) { in sun4i_i2s_get_bclk_div() 267 static int sun4i_i2s_get_mclk_div(struct sun4i_i2s *i2s, in sun4i_i2s_get_mclk_div() argument [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/sound/ |
| D | rockchip-i2s.txt | 1 * Rockchip I2S controller 3 The I2S bus (Inter-IC sound bus) is a serial link for digital 9 - "rockchip,rk3066-i2s": for rk3066 10 - "rockchip,px30-i2s", "rockchip,rk3066-i2s": for px30 11 - "rockchip,rk3036-i2s", "rockchip,rk3066-i2s": for rk3036 12 - "rockchip,rk3188-i2s", "rockchip,rk3066-i2s": for rk3188 13 - "rockchip,rk3228-i2s", "rockchip,rk3066-i2s": for rk3228 14 - "rockchip,rk3288-i2s", "rockchip,rk3066-i2s": for rk3288 15 - "rockchip,rk3328-i2s", "rockchip,rk3066-i2s": for rk3328 16 - "rockchip,rk3366-i2s", "rockchip,rk3066-i2s": for rk3366 [all …]
|