| /OK3568_Linux_fs/kernel/sound/soc/hisilicon/ |
| H A D | hi6210-i2s.c | 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() 104 ret = clk_prepare_enable(i2s->clk[n]); in hi6210_i2s_startup() 109 ret = clk_set_rate(i2s->clk[CLK_I2S_BASE], 49152000); in hi6210_i2s_startup() [all …]
|
| H A D | hi3660-i2s.c | 56 static void update_bits(struct hi3660_i2s *i2s, u32 ofs, u32 reset, u32 set) in update_bits() argument 58 u32 val = readl(i2s->base + ofs) & ~reset; in update_bits() 60 writel(val | set, i2s->base + ofs); in update_bits() 63 static void update_bits_syscon(struct hi3660_i2s *i2s, in update_bits_syscon() argument 66 u32 val = readl(i2s->base_syscon + ofs) & ~reset; in update_bits_syscon() 68 writel(val | set, i2s->base_syscon + ofs); in update_bits_syscon() 71 static int enable_format(struct hi3660_i2s *i2s, in enable_format() argument 74 switch (i2s->format & SND_SOC_DAIFMT_MASTER_MASK) { in enable_format() 76 i2s->master = false; in enable_format() 77 update_bits_syscon(i2s, HI_ASP_CFG_R_CLK_SEL_REG, in enable_format() [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/img/ |
| H A D | img-i2s-out.c | 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() 104 static inline u32 img_i2s_out_readl(struct img_i2s_out *i2s, u32 reg) in img_i2s_out_readl() argument [all …]
|
| H A D | img-i2s-in.c | 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 101 writel(val, i2s->channel_base + (chan * IMG_I2S_IN_CH_STRIDE) + reg); in img_i2s_in_ch_writel() [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/rockchip/ |
| H A D | rockchip_i2s.c | 73 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); in i2s_runtime_suspend() local 75 regcache_cache_only(i2s->regmap, true); in i2s_runtime_suspend() 76 clk_disable_unprepare(i2s->mclk); in i2s_runtime_suspend() 83 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); in i2s_runtime_resume() local 86 ret = clk_prepare_enable(i2s->mclk); in i2s_runtime_resume() 88 dev_err(i2s->dev, "clock enable failed %d\n", ret); in i2s_runtime_resume() 92 regcache_cache_only(i2s->regmap, false); in i2s_runtime_resume() 93 regcache_mark_dirty(i2s->regmap); in i2s_runtime_resume() 95 ret = regcache_sync(i2s->regmap); in i2s_runtime_resume() 97 clk_disable_unprepare(i2s->mclk); in i2s_runtime_resume() [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/sunxi/ |
| H A D | sun4i-i2s.c | 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 271 const struct sun4i_i2s_clk_div *dividers = i2s->variant->mclk_dividers; in sun4i_i2s_get_mclk_div() 275 for (i = 0; i < i2s->variant->num_mclk_dividers; i++) { in sun4i_i2s_get_mclk_div() [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/tegra/ |
| H A D | tegra30_i2s.c | 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() 128 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra30_i2s_hw_params() local 146 regmap_update_bits(i2s->regmap, TEGRA30_I2S_CTRL, mask, val); in tegra30_i2s_hw_params() [all …]
|
| H A D | tegra210_i2s.c | 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() 60 err = clk_set_rate(i2s->clk_i2s, clock_rate); in tegra210_i2s_set_clock_rate() 67 if (!IS_ERR(i2s->clk_sync_input)) { in tegra210_i2s_set_clock_rate() 73 err = clk_set_rate(i2s->clk_sync_input, clock_rate); in tegra210_i2s_set_clock_rate() 89 struct tegra210_i2s *i2s = dev_get_drvdata(dev); in tegra210_i2s_sw_reset() local 107 regmap_read(i2s->regmap, cif_reg, &cif_ctrl); in tegra210_i2s_sw_reset() 108 regmap_read(i2s->regmap, stream_reg, &stream_ctrl); in tegra210_i2s_sw_reset() 109 regmap_read(i2s->regmap, TEGRA210_I2S_CTRL, &i2s_ctrl); in tegra210_i2s_sw_reset() 112 regmap_update_bits(i2s->regmap, reset_reg, reset_mask, reset_en); in tegra210_i2s_sw_reset() [all …]
|
| H A D | tegra20_i2s.c | 38 struct tegra20_i2s *i2s = dev_get_drvdata(dev); in tegra20_i2s_runtime_suspend() local 40 clk_disable_unprepare(i2s->clk_i2s); in tegra20_i2s_runtime_suspend() 47 struct tegra20_i2s *i2s = dev_get_drvdata(dev); in tegra20_i2s_runtime_resume() local 50 ret = clk_prepare_enable(i2s->clk_i2s); in tegra20_i2s_runtime_resume() 62 struct tegra20_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra20_i2s_set_fmt() local 110 regmap_update_bits(i2s->regmap, TEGRA20_I2S_CTRL, mask, val); in tegra20_i2s_set_fmt() 120 struct tegra20_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra20_i2s_hw_params() local 145 regmap_update_bits(i2s->regmap, TEGRA20_I2S_CTRL, mask, val); in tegra20_i2s_hw_params() 152 ret = clk_set_rate(i2s->clk_i2s, i2sclock); in tegra20_i2s_hw_params() 166 regmap_write(i2s->regmap, TEGRA20_I2S_TIMING, val); in tegra20_i2s_hw_params() [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/stm/ |
| H A D | stm32_i2s.c | 245 struct stm32_i2s_data *i2s = (struct stm32_i2s_data *)devid; in stm32_i2s_isr() local 246 struct platform_device *pdev = i2s->pdev; in stm32_i2s_isr() 251 regmap_read(i2s->regmap, STM32_I2S_SR_REG, &sr); in stm32_i2s_isr() 252 regmap_read(i2s->regmap, STM32_I2S_IER_REG, &ier); in stm32_i2s_isr() 261 regmap_write_bits(i2s->regmap, STM32_I2S_IFCR_REG, in stm32_i2s_isr() 277 spin_lock(&i2s->irq_lock); in stm32_i2s_isr() 278 if (err && i2s->substream) in stm32_i2s_isr() 279 snd_pcm_stop_xrun(i2s->substream); in stm32_i2s_isr() 280 spin_unlock(&i2s->irq_lock); in stm32_i2s_isr() 334 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); in stm32_i2s_set_dai_fmt() local [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/xtensa/ |
| H A D | xtfpga-i2s.c | 76 unsigned (*tx_fn)(struct xtfpga_i2s *i2s, 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); \ 156 static bool xtfpga_pcm_push_tx(struct xtfpga_i2s *i2s) in xtfpga_pcm_push_tx() argument 162 tx_substream = rcu_dereference(i2s->tx_substream); in xtfpga_pcm_push_tx() 165 unsigned tx_ptr = READ_ONCE(i2s->tx_ptr); in xtfpga_pcm_push_tx() 166 unsigned new_tx_ptr = i2s->tx_fn(i2s, tx_substream->runtime, in xtfpga_pcm_push_tx() [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/adi/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/sound/soc/jz4740/ |
| H A D | jz4740-i2s.c | 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() 145 jz4740_i2s_write(i2s, JZ_REG_AIC_CONF, conf); in jz4740_i2s_startup() [all …]
|
| /OK3568_Linux_fs/kernel/sound/soc/samsung/ |
| H A D | i2s.c | 131 static inline bool is_secondary(struct i2s_dai *i2s) in is_secondary() argument 133 return i2s->drv->id == SAMSUNG_I2S_ID_SECONDARY; in is_secondary() 137 static inline bool tx_active(struct i2s_dai *i2s) in tx_active() argument 141 if (!i2s) in tx_active() 144 active = readl(i2s->priv->addr + I2SCON); in tx_active() 146 if (is_secondary(i2s)) in tx_active() 155 static inline struct i2s_dai *get_other_dai(struct i2s_dai *i2s) in get_other_dai() argument 157 return i2s->pri_dai ? : i2s->sec_dai; in get_other_dai() 161 static inline bool other_tx_active(struct i2s_dai *i2s) in other_tx_active() argument 163 struct i2s_dai *other = get_other_dai(i2s); in other_tx_active() [all …]
|
| H A D | s3c-i2s-v2.c | 72 static void s3c2412_snd_txctrl(struct s3c_i2sv2_info *i2s, int on) in s3c2412_snd_txctrl() argument 74 void __iomem *regs = i2s->regs; in s3c2412_snd_txctrl() 102 dev_err(i2s->dev, "TXEN: Invalid MODE %x in IISMOD\n", in s3c2412_snd_txctrl() 131 dev_err(i2s->dev, "TXDIS: Invalid MODE %x in IISMOD\n", in s3c2412_snd_txctrl() 145 static void s3c2412_snd_rxctrl(struct s3c_i2sv2_info *i2s, int on) in s3c2412_snd_rxctrl() argument 147 void __iomem *regs = i2s->regs; in s3c2412_snd_rxctrl() 175 dev_err(i2s->dev, "RXEN: Invalid MODE %x in IISMOD\n", in s3c2412_snd_rxctrl() 200 dev_err(i2s->dev, "RXDIS: Invalid MODE %x in IISMOD\n", in s3c2412_snd_rxctrl() 218 static int s3c2412_snd_lrsync(struct s3c_i2sv2_info *i2s) in s3c2412_snd_lrsync() argument 226 iiscon = readl(i2s->regs + S3C2412_IISCON); in s3c2412_snd_lrsync() [all …]
|
| H A D | s3c2412-i2s.c | 90 struct s3c_i2sv2_info *i2s = snd_soc_dai_get_drvdata(cpu_dai); in s3c2412_i2s_hw_params() local 95 iismod = readl(i2s->regs + S3C2412_IISMOD); in s3c2412_i2s_hw_params() 107 writel(iismod, i2s->regs + S3C2412_IISMOD); in s3c2412_i2s_hw_params() 116 struct s3c_i2sv2_info *i2s = snd_soc_component_get_drvdata(component); in s3c2412_i2s_suspend() local 120 i2s->suspend_iismod = readl(i2s->regs + S3C2412_IISMOD); in s3c2412_i2s_suspend() 121 i2s->suspend_iiscon = readl(i2s->regs + S3C2412_IISCON); in s3c2412_i2s_suspend() 122 i2s->suspend_iispsr = readl(i2s->regs + S3C2412_IISPSR); in s3c2412_i2s_suspend() 126 iismod = readl(i2s->regs + S3C2412_IISMOD); in s3c2412_i2s_suspend() 143 struct s3c_i2sv2_info *i2s = snd_soc_component_get_drvdata(component); in s3c2412_i2s_resume() local 146 component->active, i2s->suspend_iismod, i2s->suspend_iiscon); in s3c2412_i2s_resume() [all …]
|
| H A D | Makefile | 5 snd-soc-s3c24xx-i2s-objs := s3c24xx-i2s.o 6 snd-soc-s3c2412-i2s-objs := s3c2412-i2s.o 7 snd-soc-s3c-i2s-v2-objs := s3c-i2s-v2.o 10 snd-soc-i2s-objs := i2s.o 13 obj-$(CONFIG_SND_S3C24XX_I2S) += snd-soc-s3c24xx-i2s.o 14 obj-$(CONFIG_SND_S3C2412_SOC_I2S) += snd-soc-s3c2412-i2s.o 15 obj-$(CONFIG_SND_S3C_I2SV2_SOC) += snd-soc-s3c-i2s-v2.o 18 obj-$(CONFIG_SND_SAMSUNG_I2S) += snd-soc-i2s.o
|
| /OK3568_Linux_fs/u-boot/drivers/sound/ |
| H A D | sound-i2s.c | 32 static int get_sound_i2s_values(struct i2stx_info *i2s, const void *blob) in get_sound_i2s_values() argument 55 i2s->base_address = base; in get_sound_i2s_values() 57 i2s->audio_pll_clk = fdtdec_get_int(blob, in get_sound_i2s_values() 59 error |= i2s->audio_pll_clk; in get_sound_i2s_values() 60 debug("audio_pll_clk = %d\n", i2s->audio_pll_clk); in get_sound_i2s_values() 61 i2s->samplingrate = fdtdec_get_int(blob, in get_sound_i2s_values() 63 error |= i2s->samplingrate; in get_sound_i2s_values() 64 debug("samplingrate = %d\n", i2s->samplingrate); in get_sound_i2s_values() 65 i2s->bitspersample = fdtdec_get_int(blob, in get_sound_i2s_values() 67 error |= i2s->bitspersample; in get_sound_i2s_values() [all …]
|
| /OK3568_Linux_fs/u-boot/doc/device-tree-bindings/exynos/ |
| H A D | sound.txt | 3 The device node for sound subsytem which contains codec and i2s block 8 - samsung,i2s-epll-clock-frequency : epll clock output frequency in Hz 9 - samsung,i2s-sampling-rate : sampling rate, default is 48000 10 - samsung,i2s-bits-per-sample : sample width, defalut is 16 bit 11 - samsung,i2s-channels : nummber of channels, default is 2 12 - samsung,i2s-lr-clk-framesize : lr clock frame size 13 - samsung,i2s-bit-clk-framesize : bit clock frame size 20 samsung,i2s-epll-clock-frequency = <192000000>; 21 samsung,i2s-sampling-rate = <48000>; 22 samsung,i2s-bits-per-sample = <16>; [all …]
|
| /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/ |
| H A D | rk3308bs-pinctrl.dtsi | 133 i2s_2ch_0_mclk: i2s-2ch-0-mclk { 138 i2s_2ch_0_sclk: i2s-2ch-0-sclk { 143 i2s_2ch_0_lrck: i2s-2ch-0-lrck { 148 i2s_2ch_0_sdo: i2s-2ch-0-sdo { 153 i2s_2ch_0_sdi: i2s-2ch-0-sdi { 160 i2s_8ch_0_mclk: i2s-8ch-0-mclk { 165 i2s_8ch_0_sclktx: i2s-8ch-0-sclktx { 170 i2s_8ch_0_sclkrx: i2s-8ch-0-sclkrx { 175 i2s_8ch_0_lrcktx: i2s-8ch-0-lrcktx { 180 i2s_8ch_0_lrckrx: i2s-8ch-0-lrckrx { [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/dts/ |
| H A D | exynos5250.dtsi | 85 samsung,i2s-epll-clock-frequency = <192000000>; 86 samsung,i2s-sampling-rate = <48000>; 87 samsung,i2s-bits-per-sample = <16>; 88 samsung,i2s-channels = <2>; 89 samsung,i2s-lr-clk-framesize = <256>; 90 samsung,i2s-bit-clk-framesize = <32>; 91 samsung,i2s-id = <0>; 97 samsung,i2s-epll-clock-frequency = <192000000>; 98 samsung,i2s-sampling-rate = <48000>; 99 samsung,i2s-bits-per-sample = <16>; [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/sound/ |
| H A D | hisilicon,hi6210-i2s.txt | 1 * Hisilicon 6210 i2s controller 6 - "hisilicon,hi6210-i2s" 7 - reg: physical base address of the i2s controller unit and length of 9 - interrupts: should contain the i2s interrupt. 14 - "i2s-base" 25 Example for the hi6210 i2s controller: 27 i2s0: i2s@f7118000{ 28 compatible = "hisilicon,hi6210-i2s"; 29 reg = <0x0 0xf7118000 0x0 0x8000>; /* i2s unit */ 33 clock-names = "dacodec", "i2s-base"; [all …]
|
| H A D | rockchip,i2s-tdm.txt | 6 - "rockchip,px30-i2s-tdm": for px30 7 - "rockchip,rk1808-i2s-tdm": for rk1808 8 - "rockchip,rk3308-i2s-tdm": for rk3308 9 - "rockchip,rk3568-i2s-tdm": for rk3568 10 - "rockchip,rk3588-i2s-tdm": for rk3588 11 - "rockchip,rv1106-i2s-tdm": for rv1106 12 - "rockchip,rv1126-i2s-tdm": for rv1126 39 - rockchip,i2s-rx-route: This is a variable length array, that shows the mapping 40 route of i2s rx sdis to I2S data bus. By default, they are one-to-one mapping: 51 You need to add the property for i2s node on dts: [all …]
|
| H A D | hisilicon,hi3660-i2s.txt | 1 * Hisilicon 6210 i2s controller 6 - "hisilicon,hi3660-i2s-1.0" 7 - reg: physical base address of the i2s controller unit and length of 9 - interrupts: should contain the i2s interrupt. 14 - "i2s-base" 21 Example for the hi3660 i2s controller: 24 compatible = "hisilicon,hi3660-i2s-1.0"; 37 simple-audio-card,format = "i2s";
|
| H A D | nvidia,tegra30-i2s.txt | 4 - compatible : For Tegra30, must contain "nvidia,tegra30-i2s". For Tegra124, 5 must contain "nvidia,tegra124-i2s". Otherwise, must contain 6 "nvidia,<chip>-i2s" plus at least one of the above, where <chip> is 14 - i2s 20 i2s@70080300 { 21 compatible = "nvidia,tegra30-i2s"; 26 reset-names = "i2s";
|