Home
last modified time | relevance | path

Searched refs:i2s (Results 1 – 25 of 334) sorted by relevance

12345678910>>...14

/linux/sound/soc/hisilicon/
H A Dhi6210-i2s.c80 static inline void hi6210_write_reg(struct hi6210_i2s *i2s, int reg, u32 val) in hi6210_write_reg() argument
82 writel(val, i2s->base + reg); in hi6210_write_reg()
85 static inline u32 hi6210_read_reg(struct hi6210_i2s *i2s, int reg) in hi6210_read_reg() argument
87 return readl(i2s->base + reg); in hi6210_read_reg()
93 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); in hi6210_i2s_startup() local
98 regmap_read(i2s->sysctrl, SC_PERIPH_RSTSTAT2, &val); in hi6210_i2s_startup()
100 regmap_write(i2s->sysctrl, SC_PERIPH_RSTDIS2, BIT(4)); in hi6210_i2s_startup()
102 for (n = 0; n < i2s->clocks; n++) { in hi6210_i2s_startup()
103 ret = clk_prepare_enable(i2s->clk[n]); in hi6210_i2s_startup()
108 ret = clk_set_rate(i2s->clk[CLK_I2S_BASE], 49152000); in hi6210_i2s_startup()
[all …]
/linux/sound/soc/stm/
H A Dstm32_i2s.c261 int (*set_i2s_clk_rate)(struct stm32_i2s_data *i2s, unsigned int rate);
262 void (*put_i2s_clk_rate)(struct stm32_i2s_data *i2s);
272 int (*get_i2s_clk_parent)(struct stm32_i2s_data *i2s);
283 static int stm32_i2s_get_parent_clk(struct stm32_i2s_data *i2s);
285 static int stm32_i2s_calc_clk_div(struct stm32_i2s_data *i2s, in stm32_i2s_calc_clk_div() argument
303 dev_dbg(&i2s->pdev->dev, "Divider: 2*%d(div)+%d(odd) = %d\n", in stm32_i2s_calc_clk_div()
309 dev_err(&i2s->pdev->dev, "Wrong divider setting\n"); in stm32_i2s_calc_clk_div()
314 dev_dbg(&i2s->pdev->dev, in stm32_i2s_calc_clk_div()
318 i2s->div = div; in stm32_i2s_calc_clk_div()
319 i2s->odd = odd; in stm32_i2s_calc_clk_div()
[all …]
/linux/sound/soc/tegra/
H A Dtegra210_i2s.c51 static void tegra210_i2s_set_slot_ctrl(struct tegra210_i2s *i2s, in tegra210_i2s_set_slot_ctrl() argument
56 regmap_write(i2s->regmap, TEGRA210_I2S_SLOT_CTRL + i2s->soc_data->i2s_ctrl_offset, in tegra210_i2s_set_slot_ctrl()
58 regmap_write(i2s->regmap, TEGRA210_I2S_TX_SLOT_CTRL + i2s->soc_data->tx_offset, in tegra210_i2s_set_slot_ctrl()
60 regmap_write(i2s->regmap, TEGRA210_I2S_RX_SLOT_CTRL, rx_slot_mask); in tegra210_i2s_set_slot_ctrl()
66 struct tegra210_i2s *i2s = dev_get_drvdata(dev); in tegra210_i2s_set_clock_rate() local
70 regmap_read(i2s->regmap, TEGRA210_I2S_CTRL + i2s->soc_data->i2s_ctrl_offset, &val); in tegra210_i2s_set_clock_rate()
76 err = clk_set_rate(i2s in tegra210_i2s_set_clock_rate()
105 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_sw_reset() local
152 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_init() local
182 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_runtime_suspend() local
194 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_runtime_resume() local
209 tegra210_i2s_set_data_offset(struct tegra210_i2s * i2s,unsigned int data_offset) tegra210_i2s_set_data_offset() argument
226 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_fmt() local
308 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_tdm_slot() local
323 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_loopback() local
334 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_loopback() local
352 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_fsync_width() local
363 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_fsync_width() local
390 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cget_stereo_to_mono() local
401 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cput_stereo_to_mono() local
416 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cget_mono_to_stereo() local
427 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cput_mono_to_stereo() local
442 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_stereo_to_mono() local
453 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_stereo_to_mono() local
468 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_mono_to_stereo() local
479 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_mono_to_stereo() local
494 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_fifo_th() local
505 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_fifo_th() local
520 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_bclk_ratio() local
531 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_bclk_ratio() local
545 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_dai_bclk_ratio() local
557 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_set_timing_params() local
617 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_hw_params() local
1015 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_parse_client_convert() local
1053 struct tegra210_i2s *i2s; tegra210_i2s_probe() local
[all...]
/linux/sound/soc/adi/
H A Daxi-i2s.c60 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 …]
H A DMakefile2 snd-soc-adi-axi-i2s-y := axi-i2s.o
5 obj-$(CONFIG_SND_SOC_ADI_AXI_I2S) += snd-soc-adi-axi-i2s.o
/linux/sound/soc/jz4740/
H A Djz4740-i2s.c97 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); in jz4740_i2s_startup() local
105 if (!i2s->soc_info->shared_fifo_flush) { in jz4740_i2s_startup()
107 regmap_set_bits(i2s->regmap, JZ_REG_AIC_CTRL, JZ_AIC_CTRL_TFLUSH); in jz4740_i2s_startup()
109 regmap_set_bits(i2s->regmap, JZ_REG_AIC_CTRL, JZ_AIC_CTRL_RFLUSH); in jz4740_i2s_startup()
121 if (i2s->soc_info->shared_fifo_flush) in jz4740_i2s_startup()
122 regmap_set_bits(i2s->regmap, JZ_REG_AIC_CTRL, JZ_AIC_CTRL_TFLUSH); in jz4740_i2s_startup()
124 ret = clk_prepare_enable(i2s->clk_i2s); in jz4740_i2s_startup()
128 regmap_set_bits(i2s->regmap, JZ_REG_AIC_CONF, JZ_AIC_CONF_ENABLE); in jz4740_i2s_startup()
135 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); in jz4740_i2s_shutdown() local
140 regmap_clear_bits(i2s->regmap, JZ_REG_AIC_CONF, JZ_AIC_CONF_ENABLE); in jz4740_i2s_shutdown()
[all …]
H A DMakefile5 snd-soc-jz4740-i2s-y := jz4740-i2s.o
7 obj-$(CONFIG_SND_JZ4740_SOC_I2S) += snd-soc-jz4740-i2s.o
/linux/sound/soc/sunxi/
H A Dsun4i-i2s.c196 unsigned long (*get_bclk_parent_rate)(const struct sun4i_i2s *i2s);
205 int (*set_chan_cfg)(const struct sun4i_i2s *i2s,
208 int (*set_fmt)(const struct sun4i_i2s *i2s, unsigned int fmt);
278 static unsigned long sun4i_i2s_get_bclk_parent_rate(const struct sun4i_i2s *i2s) in sun4i_i2s_get_bclk_parent_rate() argument
280 return i2s->mclk_freq; in sun4i_i2s_get_bclk_parent_rate()
283 static unsigned long sun8i_i2s_get_bclk_parent_rate(const struct sun4i_i2s *i2s) in sun8i_i2s_get_bclk_parent_rate() argument
285 return clk_get_rate(i2s->mod_clk); in sun8i_i2s_get_bclk_parent_rate()
288 static int sun4i_i2s_get_bclk_div(struct sun4i_i2s *i2s, in sun4i_i2s_get_bclk_div() argument
294 const struct sun4i_i2s_clk_div *dividers = i2s->variant->bclk_dividers; in sun4i_i2s_get_bclk_div()
298 for (i = 0; i < i2s->variant->num_bclk_dividers; i++) { in sun4i_i2s_get_bclk_div()
[all …]
/linux/sound/soc/google/
H A Dchv3-i2s.c101 static inline void chv3_i2s_wr(struct chv3_i2s_dev *i2s, int offset, u32 val) in chv3_i2s_wr() argument
103 writel(val, i2s->iobase + offset); in chv3_i2s_wr()
106 static inline u32 chv3_i2s_rd(struct chv3_i2s_dev *i2s, int offset) in chv3_i2s_rd() argument
108 return readl(i2s->iobase + offset); in chv3_i2s_rd()
113 struct chv3_i2s_dev *i2s = data; in chv3_i2s_isr() local
116 reg = readl(i2s->iobase_irq + I2S_IRQ_CLR); in chv3_i2s_isr()
121 snd_pcm_period_elapsed(i2s->rx_substream); in chv3_i2s_isr()
124 snd_pcm_period_elapsed(i2s->tx_substream); in chv3_i2s_isr()
126 writel(reg, i2s->iobase_irq + I2S_IRQ_CLR); in chv3_i2s_isr()
135 struct chv3_i2s_dev *i2s = snd_soc_dai_get_drvdata(snd_soc_rtd_to_cpu(rtd, 0)); in chv3_dma_open() local
[all …]
/linux/sound/soc/loongson/
H A Dloongson_i2s.c34 struct loongson_i2s *i2s = snd_soc_dai_get_drvdata(dai); in loongson_i2s_trigger() local
44 regmap_update_bits(i2s->regmap, LS_I2S_CTRL, mask, mask); in loongson_i2s_trigger()
51 regmap_update_bits(i2s->regmap, LS_I2S_CTRL, mask, 0); in loongson_i2s_trigger()
64 struct loongson_i2s *i2s = snd_soc_dai_get_drvdata(dai); in loongson_i2s_hw_params() local
65 u32 clk_rate = i2s->clk_rate; in loongson_i2s_hw_params()
66 u32 sysclk = i2s->sysclk; in loongson_i2s_hw_params()
74 switch (i2s->rev_id) { in loongson_i2s_hw_params()
85 regmap_write(i2s->regmap, LS_I2S_CFG, val); in loongson_i2s_hw_params()
95 regmap_read(i2s->regmap, LS_I2S_CFG, &val); in loongson_i2s_hw_params()
102 regmap_write(i2s->regmap, LS_I2S_CFG, val); in loongson_i2s_hw_params()
[all …]
H A Dloongson_i2s_pci.c81 struct loongson_i2s *i2s; in loongson_i2s_pci_probe() local
89 i2s = devm_kzalloc(dev, sizeof(*i2s), GFP_KERNEL); in loongson_i2s_pci_probe()
90 if (!i2s) in loongson_i2s_pci_probe()
93 i2s->rev_id = pdev->revision; in loongson_i2s_pci_probe()
94 i2s->dev = dev; in loongson_i2s_pci_probe()
95 pci_set_drvdata(pdev, i2s); in loongson_i2s_pci_probe()
97 i2s->reg_base = pcim_iomap_region(pdev, 0, DRIVER_NAME); in loongson_i2s_pci_probe()
98 if (IS_ERR(i2s->reg_base)) { in loongson_i2s_pci_probe()
100 return PTR_ERR(i2s->reg_base); in loongson_i2s_pci_probe()
103 i2s->regmap = devm_regmap_init_mmio(dev, i2s->reg_base, in loongson_i2s_pci_probe()
[all …]
H A DMakefile3 snd-soc-loongson-i2s-pci-y := loongson_i2s_pci.o loongson_dma.o
4 obj-$(CONFIG_SND_SOC_LOONGSON_I2S_PCI) += snd-soc-loongson-i2s-pci.o snd-soc-loongson-i2s.o
6 snd-soc-loongson-i2s-plat-y := loongson_i2s_plat.o
7 obj-$(CONFIG_SND_SOC_LOONGSON_I2S_PLATFORM) += snd-soc-loongson-i2s-plat.o snd-soc-loongson-i2s.o
9 snd-soc-loongson-i2s-y := loongson_i2s.o
/linux/Documentation/devicetree/bindings/sound/
H A Dhisilicon,hi6210-i2s.txt1 * 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 Drockchip-max98090.txt6 - rockchip,i2s-controller: The phandle of the Rockchip I2S controller that's
21 rockchip,i2s-controller = <&i2s>;
30 rockchip,i2s-controller = <&i2s>;
38 rockchip,i2s-controller = <&i2s>;
H A Dimg,i2s-in.txt5 - compatible : Compatible list, must contain "img,i2s-in"
21 - img,i2s-channels : Number of I2S channels instantiated in the I2S in block
37 i2s_in: i2s-in@18100800 {
38 compatible = "img,i2s-in";
45 img,i2s-channels = <6>;
H A Dmikroe,mikroe-proto.txt5 - dai-format: Must be "i2s".
6 - i2s-controller: The phandle of the I2S controller.
19 i2s-controller = <&i2s0>;
21 dai-format = "i2s";
H A Dimg,i2s-out.txt5 - compatible : Compatible list, must contain "img,i2s-out"
22 - img,i2s-channels : Number of I2S channels instantiated in the I2S out block
38 i2s_out: i2s-out@18100a00 {
39 compatible = "img,i2s-out";
47 img,i2s-channels = <6>;
H A Dbrcm,bcm63xx-audio.txt4 - compatible: Should be "brcm,bcm63xx-i2s".
21 i2s: bcm63xx-i2s {
24 compatible = "brcm,bcm63xx-i2s";
/linux/sound/soc/bcm/
H A DMakefile3 snd-soc-bcm2835-i2s-y := bcm2835-i2s.o
5 obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o
13 snd-soc-63xx-y := bcm63xx-i2s-whistler.o bcm63xx-pcm-whistler.o
/linux/sound/soc/atmel/
H A DMakefile6 snd-soc-atmel-i2s-y := atmel-i2s.o
7 snd-soc-mchp-i2s-mcc-y := mchp-i2s-mcc.o
21 obj-$(CONFIG_SND_ATMEL_SOC_I2S) += snd-soc-atmel-i2s.o
22 obj-$(CONFIG_SND_MCHP_SOC_I2S_MCC) += snd-soc-mchp-i2s-mcc.o
/linux/drivers/macintosh/
H A Drack-meter.c60 struct device_node *i2s; member
106 pmac_call_feature(PMAC_FTR_SOUND_CHIP_ENABLE, rm->i2s, 0, 1); in rackmeter_setup_i2s()
369 struct device_node *i2s = NULL, *np = NULL; in rackmeter_probe() local
377 for_each_child_of_node(mdev->ofdev.dev.of_node, i2s) in rackmeter_probe()
378 if (of_node_name_eq(i2s, "i2s-a")) in rackmeter_probe()
381 if (i2s == NULL) { in rackmeter_probe()
386 for_each_child_of_node(i2s, np) { in rackmeter_probe()
406 rm->i2s = i2s; in rackmeter_probe()
428 rm->irq = irq_of_parse_and_map(i2s, 1); in rackmeter_probe()
430 of_address_to_resource(i2s, 0, &ri2s) || in rackmeter_probe()
[all …]
/linux/arch/arm64/boot/dts/rockchip/
H A Drk3308.dtsi615 i2s_8ch_2: i2s@ff320000 {
616 compatible = "rockchip,rk3308-i2s-tdm";
636 i2s_8ch_3: i2s@ff330000 {
637 compatible = "rockchip,rk3308-i2s-tdm";
652 i2s_2ch_0: i2s@ff350000 {
653 compatible = "rockchip,rk3308-i2s", "rockchip,rk3066-i2s";
670 i2s_2ch_1: i2s@ff360000 {
671 compatible = "rockchip,rk3308-i2s", "rockchip,rk3066-i2s";
1254 i2s_2ch_0_mclk: i2s-2ch-0-mclk {
1259 i2s_2ch_0_sclk: i2s-2ch-0-sclk {
[all …]
/linux/sound/soc/xtensa/
H A DMakefile2 snd-soc-xtfpga-i2s-y := xtfpga-i2s.o
4 obj-$(CONFIG_SND_SOC_XTFPGA_I2S) += snd-soc-xtfpga-i2s.o
/linux/sound/soc/rockchip/
H A DMakefile3 snd-soc-rockchip-i2s-y := rockchip_i2s.o
4 snd-soc-rockchip-i2s-tdm-y := rockchip_i2s_tdm.o
9 obj-$(CONFIG_SND_SOC_ROCKCHIP_I2S) += snd-soc-rockchip-i2s.o
13 obj-$(CONFIG_SND_SOC_ROCKCHIP_I2S_TDM) += snd-soc-rockchip-i2s-tdm.o
/linux/sound/soc/cirrus/
H A DMakefile4 snd-soc-ep93xx-i2s-y := ep93xx-i2s.o
7 obj-$(CONFIG_SND_EP93XX_SOC_I2S) += snd-soc-ep93xx-i2s.o

12345678910>>...14