/sound/soc/samsung/ |
D | i2s.c | 113 static inline bool is_secondary(struct i2s_dai *i2s) in is_secondary() argument 115 return i2s->pri_dai ? true : false; in is_secondary() 119 static inline bool is_slave(struct i2s_dai *i2s) in is_slave() argument 121 u32 mod = readl(i2s->addr + I2SMOD); in is_slave() 122 return (mod & (1 << i2s->variant_regs->mss_off)) ? true : false; in is_slave() 126 static inline bool tx_active(struct i2s_dai *i2s) in tx_active() argument 130 if (!i2s) in tx_active() 133 active = readl(i2s->addr + I2SCON); in tx_active() 135 if (is_secondary(i2s)) in tx_active() 144 static inline struct i2s_dai *get_other_dai(struct i2s_dai *i2s) in get_other_dai() argument [all …]
|
D | s3c-i2s-v2.c | 77 static void s3c2412_snd_txctrl(struct s3c_i2sv2_info *i2s, int on) in s3c2412_snd_txctrl() argument 79 void __iomem *regs = i2s->regs; in s3c2412_snd_txctrl() 107 dev_err(i2s->dev, "TXEN: Invalid MODE %x in IISMOD\n", in s3c2412_snd_txctrl() 136 dev_err(i2s->dev, "TXDIS: Invalid MODE %x in IISMOD\n", in s3c2412_snd_txctrl() 150 static void s3c2412_snd_rxctrl(struct s3c_i2sv2_info *i2s, int on) in s3c2412_snd_rxctrl() argument 152 void __iomem *regs = i2s->regs; in s3c2412_snd_rxctrl() 180 dev_err(i2s->dev, "RXEN: Invalid MODE %x in IISMOD\n", in s3c2412_snd_rxctrl() 205 dev_err(i2s->dev, "RXDIS: Invalid MODE %x in IISMOD\n", in s3c2412_snd_rxctrl() 223 static int s3c2412_snd_lrsync(struct s3c_i2sv2_info *i2s) in s3c2412_snd_lrsync() argument 231 iiscon = readl(i2s->regs + S3C2412_IISCON); in s3c2412_snd_lrsync() [all …]
|
D | Makefile | 4 snd-soc-s3c24xx-i2s-objs := s3c24xx-i2s.o 5 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 15 obj-$(CONFIG_SND_S3C2412_SOC_I2S) += snd-soc-s3c2412-i2s.o 16 obj-$(CONFIG_SND_S3C_I2SV2_SOC) += snd-soc-s3c-i2s-v2.o 19 obj-$(CONFIG_SND_SAMSUNG_I2S) += snd-soc-i2s.o
|
/sound/soc/img/ |
D | img-i2s-out.c | 70 struct img_i2s_out *i2s = dev_get_drvdata(dev); in img_i2s_out_suspend() local 72 if (!i2s->force_clk_active) in img_i2s_out_suspend() 73 clk_disable_unprepare(i2s->clk_ref); in img_i2s_out_suspend() 80 struct img_i2s_out *i2s = dev_get_drvdata(dev); in img_i2s_out_resume() local 83 if (!i2s->force_clk_active) { in img_i2s_out_resume() 84 ret = clk_prepare_enable(i2s->clk_ref); in img_i2s_out_resume() 94 static inline void img_i2s_out_writel(struct img_i2s_out *i2s, u32 val, in img_i2s_out_writel() argument 97 writel(val, i2s->base + reg); in img_i2s_out_writel() 100 static inline u32 img_i2s_out_readl(struct img_i2s_out *i2s, u32 reg) in img_i2s_out_readl() argument 102 return readl(i2s->base + reg); in img_i2s_out_readl() [all …]
|
D | img-i2s-in.c | 65 static inline void img_i2s_in_writel(struct img_i2s_in *i2s, u32 val, u32 reg) in img_i2s_in_writel() argument 67 writel(val, i2s->base + reg); in img_i2s_in_writel() 70 static inline u32 img_i2s_in_readl(struct img_i2s_in *i2s, u32 reg) in img_i2s_in_readl() argument 72 return readl(i2s->base + reg); in img_i2s_in_readl() 75 static inline void img_i2s_in_ch_writel(struct img_i2s_in *i2s, u32 chan, in img_i2s_in_ch_writel() argument 78 writel(val, i2s->channel_base + (chan * IMG_I2S_IN_CH_STRIDE) + reg); in img_i2s_in_ch_writel() 81 static inline u32 img_i2s_in_ch_readl(struct img_i2s_in *i2s, u32 chan, in img_i2s_in_ch_readl() argument 84 return readl(i2s->channel_base + (chan * IMG_I2S_IN_CH_STRIDE) + reg); in img_i2s_in_ch_readl() 87 static inline void img_i2s_in_ch_disable(struct img_i2s_in *i2s, u32 chan) in img_i2s_in_ch_disable() argument 91 reg = img_i2s_in_ch_readl(i2s, chan, IMG_I2S_IN_CH_CTL); in img_i2s_in_ch_disable() [all …]
|
D | Makefile | 1 obj-$(CONFIG_SND_SOC_IMG_I2S_IN) += img-i2s-in.o 2 obj-$(CONFIG_SND_SOC_IMG_I2S_OUT) += img-i2s-out.o
|
/sound/soc/rockchip/ |
D | rockchip_i2s.c | 58 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); in i2s_runtime_suspend() local 60 regcache_cache_only(i2s->regmap, true); in i2s_runtime_suspend() 61 clk_disable_unprepare(i2s->mclk); in i2s_runtime_suspend() 68 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); in i2s_runtime_resume() local 71 ret = clk_prepare_enable(i2s->mclk); in i2s_runtime_resume() 73 dev_err(i2s->dev, "clock enable failed %d\n", ret); in i2s_runtime_resume() 77 regcache_cache_only(i2s->regmap, false); in i2s_runtime_resume() 78 regcache_mark_dirty(i2s->regmap); in i2s_runtime_resume() 80 ret = regcache_sync(i2s->regmap); in i2s_runtime_resume() 82 clk_disable_unprepare(i2s->mclk); in i2s_runtime_resume() [all …]
|
/sound/soc/tegra/ |
D | tegra30_i2s.c | 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() 139 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra30_i2s_hw_params() local 157 regmap_update_bits(i2s->regmap, TEGRA30_I2S_CTRL, mask, val); in tegra30_i2s_hw_params() [all …]
|
D | tegra20_i2s.c | 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() 166 ret = clk_set_rate(i2s->clk_i2s, i2sclock); in tegra20_i2s_hw_params() 180 regmap_write(i2s->regmap, TEGRA20_I2S_TIMING, val); in tegra20_i2s_hw_params() [all …]
|
D | Makefile | 6 snd-soc-tegra20-i2s-objs := tegra20_i2s.o 9 snd-soc-tegra30-i2s-objs := tegra30_i2s.o 15 obj-$(CONFIG_SND_SOC_TEGRA20_I2S) += snd-soc-tegra20-i2s.o 18 obj-$(CONFIG_SND_SOC_TEGRA30_I2S) += snd-soc-tegra30-i2s.o
|
/sound/soc/xtensa/ |
D | xtfpga-i2s.c | 79 unsigned (*tx_fn)(struct xtfpga_i2s *i2s, 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); \ 159 static bool xtfpga_pcm_push_tx(struct xtfpga_i2s *i2s) in xtfpga_pcm_push_tx() argument 165 tx_substream = rcu_dereference(i2s->tx_substream); in xtfpga_pcm_push_tx() 168 unsigned tx_ptr = ACCESS_ONCE(i2s->tx_ptr); in xtfpga_pcm_push_tx() 169 unsigned new_tx_ptr = i2s->tx_fn(i2s, tx_substream->runtime, in xtfpga_pcm_push_tx() [all …]
|
D | Makefile | 1 snd-soc-xtfpga-i2s-objs := xtfpga-i2s.o 3 obj-$(CONFIG_SND_SOC_XTFPGA_I2S) += snd-soc-xtfpga-i2s.o
|
/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 …]
|
D | Makefile | 1 snd-soc-adi-axi-i2s-objs := axi-i2s.o 4 obj-$(CONFIG_SND_SOC_ADI_AXI_I2S) += snd-soc-adi-axi-i2s.o
|
/sound/soc/jz4740/ |
D | jz4740-i2s.c | 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 140 ctrl = jz4740_i2s_read(i2s, JZ_REG_AIC_CTRL); in jz4740_i2s_startup() 142 jz4740_i2s_write(i2s, JZ_REG_AIC_CTRL, ctrl); in jz4740_i2s_startup() 144 clk_prepare_enable(i2s->clk_i2s); in jz4740_i2s_startup() 146 conf = jz4740_i2s_read(i2s, JZ_REG_AIC_CONF); in jz4740_i2s_startup() 148 jz4740_i2s_write(i2s, JZ_REG_AIC_CONF, conf); in jz4740_i2s_startup() [all …]
|
D | Makefile | 4 snd-soc-jz4740-i2s-objs := jz4740-i2s.o 6 obj-$(CONFIG_SND_JZ4740_SOC_I2S) += snd-soc-jz4740-i2s.o
|
/sound/soc/sunxi/ |
D | sun4i-i2s.c | 127 static int sun4i_i2s_get_bclk_div(struct sun4i_i2s *i2s, in sun4i_i2s_get_bclk_div() argument 144 static int sun4i_i2s_get_mclk_div(struct sun4i_i2s *i2s, in sun4i_i2s_get_mclk_div() argument 164 static int sun4i_i2s_set_clk_rate(struct sun4i_i2s *i2s, in sun4i_i2s_set_clk_rate() argument 198 ret = clk_set_rate(i2s->mod_clk, clk_rate); in sun4i_i2s_set_clk_rate() 206 bclk_div = sun4i_i2s_get_bclk_div(i2s, oversample_rate, in sun4i_i2s_set_clk_rate() 208 mclk_div = sun4i_i2s_get_mclk_div(i2s, oversample_rate, in sun4i_i2s_set_clk_rate() 219 regmap_write(i2s->regmap, SUN4I_I2S_CLK_DIV_REG, in sun4i_i2s_set_clk_rate() 231 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); in sun4i_i2s_hw_params() local 245 i2s->playback_dma_data.addr_width = width; in sun4i_i2s_hw_params() 257 regmap_update_bits(i2s->regmap, SUN4I_I2S_FMT0_REG, in sun4i_i2s_hw_params() [all …]
|
/sound/soc/blackfin/ |
D | Makefile | 3 snd-bf5xx-i2s-objs := bf5xx-i2s-pcm.o 7 snd-soc-bf5xx-i2s-objs := bf5xx-i2s.o 8 snd-soc-bf6xx-i2s-objs := bf6xx-i2s.o 11 obj-$(CONFIG_SND_BF5XX_I2S) += snd-bf5xx-i2s.o 15 obj-$(CONFIG_SND_BF5XX_SOC_I2S) += snd-soc-bf5xx-i2s.o 16 obj-$(CONFIG_SND_BF6XX_SOC_I2S) += snd-soc-bf6xx-i2s.o
|
/sound/soc/zte/ |
D | zx296702-i2s.c | 180 struct zx_i2s_info *i2s = snd_soc_dai_get_drvdata(cpu_dai); in zx_i2s_set_fmt() local 183 val = readl_relaxed(i2s->reg_base + ZX_I2S_TIMING_CTRL); in zx_i2s_set_fmt() 205 i2s->master = 1; in zx_i2s_set_fmt() 209 i2s->master = 0; in zx_i2s_set_fmt() 217 writel_relaxed(val, i2s->reg_base + ZX_I2S_TIMING_CTRL); in zx_i2s_set_fmt() 225 struct zx_i2s_info *i2s = snd_soc_dai_get_drvdata(socdai); in zx_i2s_hw_params() local 234 val = readl_relaxed(i2s->reg_base + ZX_I2S_TIMING_CTRL); in zx_i2s_hw_params() 278 writel_relaxed(val, i2s->reg_base + ZX_I2S_TIMING_CTRL); in zx_i2s_hw_params() 280 if (i2s->master) in zx_i2s_hw_params() 281 ret = clk_set_rate(i2s->dai_clk, in zx_i2s_hw_params()
|
D | Kconfig | 11 tristate "ZX296702 i2s" 17 zx296702 i2s interface
|
/sound/soc/bcm/ |
D | Makefile | 2 snd-soc-bcm2835-i2s-objs := bcm2835-i2s.o 4 obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o
|
/sound/soc/davinci/ |
D | Makefile | 3 snd-soc-davinci-i2s-objs := davinci-i2s.o 8 obj-$(CONFIG_SND_DAVINCI_SOC_I2S) += snd-soc-davinci-i2s.o
|
/sound/soc/cirrus/ |
D | Makefile | 3 snd-soc-ep93xx-i2s-objs := ep93xx-i2s.o 7 obj-$(CONFIG_SND_EP93XX_SOC_I2S) += snd-soc-ep93xx-i2s.o
|
/sound/soc/au1x/ |
D | Makefile | 3 snd-soc-au1xpsc-i2s-objs := psc-i2s.o 12 obj-$(CONFIG_SND_SOC_AU1XPSC_I2S) += snd-soc-au1xpsc-i2s.o
|
/sound/soc/ux500/ |
D | Makefile | 3 snd-soc-ux500-plat-msp-i2s-objs := ux500_msp_dai.o ux500_msp_i2s.o 4 obj-$(CONFIG_SND_SOC_UX500_PLAT_MSP_I2S) += snd-soc-ux500-plat-msp-i2s.o
|