Home
last modified time | relevance | path

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

12345678910>>...24

/linux-6.15/sound/soc/hisilicon/
H A Dhi6210-i2s.c246 i2s->format = fmt; in hi6210_i2s_set_fmt()
247 i2s->master = (i2s->format & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) == in hi6210_i2s_set_fmt()
314 i2s->bits = 32; in hi6210_i2s_hw_params()
318 i2s->bits = 16; in hi6210_i2s_hw_params()
324 i2s->channel_length = i2s->channels * i2s->bits; in hi6210_i2s_hw_params()
454 if (!i2s->master) in hi6210_i2s_hw_params()
552 i2s = devm_kzalloc(dev, sizeof(*i2s), GFP_KERNEL); in hi6210_i2s_probe()
553 if (!i2s) in hi6210_i2s_probe()
556 i2s->dev = dev; in hi6210_i2s_probe()
576 i2s->clocks++; in hi6210_i2s_probe()
[all …]
/linux-6.15/sound/soc/img/
H A Dimg-i2s-out.c182 img_i2s_out_enable(i2s); in img_i2s_out_reset()
204 img_i2s_out_reset(i2s); in img_i2s_out_trigger()
435 i2s = devm_kzalloc(&pdev->dev, sizeof(*i2s), GFP_KERNEL); in img_i2s_out_probe()
436 if (!i2s) in img_i2s_out_probe()
441 i2s->dev = &pdev->dev; in img_i2s_out_probe()
447 i2s->base = base; in img_i2s_out_probe()
460 if (IS_ERR(i2s->rst)) in img_i2s_out_probe()
475 i2s->max_i2s_chan, sizeof(*i2s->suspend_ch_ctl), GFP_KERNEL); in img_i2s_out_probe()
509 i2s->dai_driver.playback.channels_max = i2s->max_i2s_chan * 2; in img_i2s_out_probe()
559 i2s->suspend_ctl = img_i2s_out_readl(i2s, IMG_I2S_OUT_CTL); in img_i2s_out_suspend()
[all …]
H A Dimg-i2s-in.c169 img_i2s_in_enable(i2s); in img_i2s_in_trigger()
205 dev_err(i2s->dev, in img_i2s_in_check_rate()
294 img_i2s_in_flush(i2s); in img_i2s_in_hw_params()
429 i2s = devm_kzalloc(dev, sizeof(*i2s), GFP_KERNEL); in img_i2s_in_probe()
430 if (!i2s) in img_i2s_in_probe()
435 i2s->dev = dev; in img_i2s_in_probe()
441 i2s->base = base; in img_i2s_in_probe()
473 i2s->dai_driver.capture.channels_max = i2s->max_i2s_chan * 2; in img_i2s_in_probe()
509 i2s->max_i2s_chan, sizeof(*i2s->suspend_ch_ctl), GFP_KERNEL); in img_i2s_in_probe()
559 i2s->suspend_ctl = img_i2s_in_readl(i2s, IMG_I2S_IN_CTL); in img_i2s_in_suspend()
[all …]
/linux-6.15/sound/soc/rockchip/
H A Drockchip_i2s.c66 if (!IS_ERR(i2s->pinctrl) && !IS_ERR_OR_NULL(i2s->bclk_on)) in i2s_pinctrl_select_bclk_on()
67 ret = pinctrl_select_state(i2s->pinctrl, i2s->bclk_on); in i2s_pinctrl_select_bclk_on()
80 if (!IS_ERR(i2s->pinctrl) && !IS_ERR_OR_NULL(i2s->bclk_off)) in i2s_pinctrl_select_bclk_off()
81 ret = pinctrl_select_state(i2s->pinctrl, i2s->bclk_off); in i2s_pinctrl_select_bclk_off()
425 if (!IS_ERR(i2s->grf) && i2s->pins) { in rockchip_i2s_hw_params()
446 regmap_write(i2s->grf, i2s->pins->reg_offset, val); in rockchip_i2s_hw_params()
534 i2s->has_playback ? &i2s->playback_dma_data : NULL, in rockchip_i2s_dai_probe()
535 i2s->has_capture ? &i2s->capture_dma_data : NULL); in rockchip_i2s_dai_probe()
744 i2s = devm_kzalloc(&pdev->dev, sizeof(*i2s), GFP_KERNEL); in rockchip_i2s_probe()
745 if (!i2s) in rockchip_i2s_probe()
[all …]
/linux-6.15/sound/soc/stm/
H A Dstm32_i2s.c318 i2s->div = div; in stm32_i2s_calc_clk_div()
769 i2s->put_i2s_clk_rate(i2s); in stm32_i2s_set_sysclk()
776 ret = i2s->set_i2s_clk_rate(i2s, freq); in stm32_i2s_set_sysclk()
804 ret = i2s->set_i2s_clk_rate(i2s, rate); in stm32_i2s_configure_clock()
990 if (STM32_I2S_IS_MASTER(i2s) && i2s->refcount == 1) in stm32_i2s_trigger()
1057 if (!i2s->i2smclk && i2s->put_i2s_clk_rate) in stm32_i2s_shutdown()
1058 i2s->put_i2s_clk_rate(i2s); in stm32_i2s_shutdown()
1227 ret = i2s->conf->get_i2s_clk_parent(i2s); in stm32_i2s_parse_dt()
1277 i2s = devm_kzalloc(&pdev->dev, sizeof(*i2s), GFP_KERNEL); in stm32_i2s_probe()
1278 if (!i2s) in stm32_i2s_probe()
[all …]
/linux-6.15/sound/soc/adi/
H A Daxi-i2s.c143 i2s->has_playback ? &i2s->playback_dma_data : NULL, in axi_i2s_dai_probe()
144 i2s->has_capture ? &i2s->capture_dma_data : NULL); in axi_i2s_dai_probe()
190 struct axi_i2s *i2s; in axi_i2s_probe() local
194 i2s = devm_kzalloc(&pdev->dev, sizeof(*i2s), GFP_KERNEL); in axi_i2s_probe()
195 if (!i2s) in axi_i2s_probe()
208 if (IS_ERR(i2s->regmap)) in axi_i2s_probe()
212 if (IS_ERR(i2s->clk)) in axi_i2s_probe()
223 if (i2s->has_playback) { in axi_i2s_probe()
235 if (i2s->has_capture) { in axi_i2s_probe()
247 i2s->ratnum.num = clk_get_rate(i2s->clk_ref) / 2 / AXI_I2S_BITS_PER_FRAME; in axi_i2s_probe()
[all …]
/linux-6.15/sound/soc/tegra/
H A Dtegra30_i2s.c199 i2s->soc_data->set_audio_cif(i2s->regmap, reg, &cif_conf); in tegra30_i2s_hw_params()
300 &i2s->capture_dma_data); in tegra30_i2s_probe()
408 struct tegra30_i2s *i2s; in tegra30_i2s_platform_probe() local
415 if (!i2s) { in tegra30_i2s_platform_probe()
427 i2s->soc_data = soc_data; in tegra30_i2s_platform_probe()
442 if (IS_ERR(i2s->clk_i2s)) { in tegra30_i2s_platform_probe()
456 if (IS_ERR(i2s->regmap)) { in tegra30_i2s_platform_probe()
458 ret = PTR_ERR(i2s->regmap); in tegra30_i2s_platform_probe()
500 &i2s->dai, 1); in tegra30_i2s_platform_probe()
508 &i2s->dma_config, i2s->playback_dma_chan, in tegra30_i2s_platform_probe()
[all …]
H A Dtegra210_i2s.c328 i2s->loopback = value; in tegra210_i2s_put_loopback()
357 i2s->fsync_width = value; in tegra210_i2s_put_fsync_width()
499 i2s->rx_fifo_th = value; in tegra210_i2s_pput_fifo_th()
525 i2s->bclk_ratio = value; in tegra210_i2s_put_bclk_ratio()
535 i2s->bclk_ratio = ratio; in tegra210_i2s_set_dai_bclk_ratio()
549 if (i2s->bclk_ratio) in tegra210_i2s_set_timing_params()
582 i2s->tx_mask, i2s->rx_mask); in tegra210_i2s_set_timing_params()
621 if (i2s->client_channels) in tegra210_i2s_hw_params()
952 i2s = devm_kzalloc(dev, sizeof(*i2s), GFP_KERNEL); in tegra210_i2s_probe()
953 if (!i2s) in tegra210_i2s_probe()
[all …]
H A Dtegra20_i2s.c70 regcache_mark_dirty(i2s->regmap); in tegra20_i2s_runtime_resume()
260 &i2s->capture_dma_data); in tegra20_i2s_probe()
401 struct tegra20_i2s *i2s; in tegra20_i2s_platform_probe() local
407 if (!i2s) { in tegra20_i2s_platform_probe()
417 if (IS_ERR(i2s->reset)) { in tegra20_i2s_platform_probe()
419 return PTR_ERR(i2s->reset); in tegra20_i2s_platform_probe()
423 if (IS_ERR(i2s->clk_i2s)) { in tegra20_i2s_platform_probe()
425 ret = PTR_ERR(i2s->clk_i2s); in tegra20_i2s_platform_probe()
437 if (IS_ERR(i2s->regmap)) { in tegra20_i2s_platform_probe()
439 ret = PTR_ERR(i2s->regmap); in tegra20_i2s_platform_probe()
[all …]
/linux-6.15/sound/soc/xtensa/
H A Dxtfpga-i2s.c137 for (; i2s->tx_fifo_level < i2s->tx_fifo_high; \
166 unsigned new_tx_ptr = i2s->tx_fn(i2s, tx_substream->runtime, in xtfpga_pcm_push_tx()
201 i2s->tx_fifo_level = i2s->tx_fifo_low; in xtfpga_pcm_refill_fifo()
248 i2s->tx_fifo_level = i2s->tx_fifo_low; in xtfpga_i2s_threaded_irq_handler()
322 i2s->tx_fifo_high = 2 * i2s->tx_fifo_low; in xtfpga_i2s_hw_params()
328 dev_dbg(i2s->dev, in xtfpga_i2s_hw_params()
535 i2s = devm_kzalloc(&pdev->dev, sizeof(*i2s), GFP_KERNEL); in xtfpga_i2s_probe()
536 if (!i2s) { in xtfpga_i2s_probe()
550 i2s->regmap = devm_regmap_init_mmio(&pdev->dev, i2s->regs, in xtfpga_i2s_probe()
578 pdev->name, i2s); in xtfpga_i2s_probe()
[all …]
/linux-6.15/sound/soc/jz4740/
H A Djz4740-i2s.c325 &i2s->capture_dma_data); in jz4740_i2s_dai_probe()
502 struct jz4740_i2s *i2s) in jz4740_i2s_init_regmap_fields() argument
504 i2s->field_rx_fifo_thresh = in jz4740_i2s_init_regmap_fields()
510 i2s->field_tx_fifo_thresh = in jz4740_i2s_init_regmap_fields()
516 i2s->field_i2sdiv_capture = in jz4740_i2s_init_regmap_fields()
541 struct jz4740_i2s *i2s; in jz4740_i2s_dev_probe() local
546 i2s = devm_kzalloc(dev, sizeof(*i2s), GFP_KERNEL); in jz4740_i2s_dev_probe()
547 if (!i2s) in jz4740_i2s_dev_probe()
563 if (IS_ERR(i2s->clk_aic)) in jz4740_i2s_dev_probe()
567 if (IS_ERR(i2s->clk_i2s)) in jz4740_i2s_dev_probe()
[all …]
/linux-6.15/sound/soc/sunxi/
H A Dsun4i-i2s.c386 bclk_parent_rate = i2s->variant->get_bclk_parent_rate(i2s); in sun4i_i2s_set_clk_rate()
394 mclk_div = sun4i_i2s_get_mclk_div(i2s, clk_rate, i2s->mclk_freq); in sun4i_i2s_set_clk_rate()
607 if (i2s->slots) in sun4i_i2s_hw_params()
608 slots = i2s->slots; in sun4i_i2s_hw_params()
610 if (i2s->slot_width) in sun4i_i2s_hw_params()
613 ret = i2s->variant->set_chan_cfg(i2s, channels, slots, slot_width); in sun4i_i2s_hw_params()
951 ret = i2s->variant->set_fmt(i2s, fmt); in sun4i_i2s_set_fmt()
957 i2s->format = fmt; in sun4i_i2s_set_fmt()
1083 i2s->slots = slots; in sun4i_i2s_set_tdm_slot()
1533 i2s = devm_kzalloc(&pdev->dev, sizeof(*i2s), GFP_KERNEL); in sun4i_i2s_probe()
[all …]
/linux-6.15/sound/soc/google/
H A Dchv3-i2s.c146 i2s->rx_substream = substream; in chv3_dma_open()
221 chv3_i2s_wr(i2s, I2S_TX_IRQ, ((period_bytes / i2s->tx_bytes_to_fetch) << 8) | 1); in chv3_dma_prepare()
283 struct chv3_i2s_dev *i2s; in chv3_i2s_probe() local
287 i2s = devm_kzalloc(&pdev->dev, sizeof(*i2s), GFP_KERNEL); in chv3_i2s_probe()
288 if (!i2s) in chv3_i2s_probe()
292 if (IS_ERR(i2s->iobase)) in chv3_i2s_probe()
293 return PTR_ERR(i2s->iobase); in chv3_i2s_probe()
296 if (IS_ERR(i2s->iobase_irq)) in chv3_i2s_probe()
299 i2s->tx_bytes_to_fetch = (chv3_i2s_rd(i2s, I2S_TX_IRQ_CONST) >> 8) & 0xffff; in chv3_i2s_probe()
301 i2s->dev = &pdev->dev; in chv3_i2s_probe()
[all …]
/linux-6.15/sound/soc/loongson/
H A Dloongson_i2s.c64 u32 clk_rate = i2s->clk_rate; in loongson_i2s_hw_params()
65 u32 sysclk = i2s->sysclk; in loongson_i2s_hw_params()
73 switch (i2s->rev_id) { in loongson_i2s_hw_params()
120 i2s->sysclk = freq; in loongson_i2s_set_dai_sysclk()
129 if (i2s->rev_id == 0) in loongson_i2s_enable_mclk()
146 if (i2s->rev_id == 0) in loongson_i2s_enable_bclk()
180 ret = loongson_i2s_enable_bclk(i2s); in loongson_i2s_set_fmt()
186 ret = loongson_i2s_enable_mclk(i2s); in loongson_i2s_set_fmt()
216 &i2s->capture_dma_data); in loongson_i2s_dai_probe()
265 regcache_mark_dirty(i2s->regmap); in i2s_resume()
[all …]
H A Dloongson_i2s_pci.c79 struct loongson_i2s *i2s; in loongson_i2s_pci_probe() local
87 i2s = devm_kzalloc(dev, sizeof(*i2s), GFP_KERNEL); in loongson_i2s_pci_probe()
88 if (!i2s) in loongson_i2s_pci_probe()
91 i2s->rev_id = pdev->revision; in loongson_i2s_pci_probe()
92 i2s->dev = dev; in loongson_i2s_pci_probe()
93 pci_set_drvdata(pdev, i2s); in loongson_i2s_pci_probe()
102 i2s->regmap = devm_regmap_init_mmio(dev, i2s->reg_base, in loongson_i2s_pci_probe()
104 if (IS_ERR(i2s->regmap)) in loongson_i2s_pci_probe()
107 tx_data = &i2s->tx_dma_data; in loongson_i2s_pci_probe()
108 rx_data = &i2s->rx_dma_data; in loongson_i2s_pci_probe()
[all …]
H A Dloongson_i2s_plat.c116 struct loongson_i2s *i2s; in loongson_i2s_plat_probe() local
121 i2s = devm_kzalloc(dev, sizeof(*i2s), GFP_KERNEL); in loongson_i2s_plat_probe()
122 if (!i2s) in loongson_i2s_plat_probe()
131 if (IS_ERR(i2s->reg_base)) in loongson_i2s_plat_probe()
135 i2s->regmap = devm_regmap_init_mmio(dev, i2s->reg_base, in loongson_i2s_plat_probe()
137 if (IS_ERR(i2s->regmap)) in loongson_i2s_plat_probe()
138 return dev_err_probe(dev, PTR_ERR(i2s->regmap), in loongson_i2s_plat_probe()
143 i2s->playback_dma_data.maxburst = 4; in loongson_i2s_plat_probe()
147 i2s->capture_dma_data.maxburst = 4; in loongson_i2s_plat_probe()
152 i2s->clk_rate = clk_get_rate(i2s_clk); in loongson_i2s_plat_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-6.15/sound/soc/samsung/
H A Di2s.c147 if (!i2s) in tx_active()
163 return i2s->pri_dai ? : i2s->sec_dai; in get_other_dai()
177 return tx_active(i2s) || other_tx_active(i2s); in any_tx_active()
185 if (!i2s) in rx_active()
204 return rx_active(i2s) || other_rx_active(i2s); in any_rx_active()
216 return tx_active(i2s) || rx_active(i2s); in this_active()
222 return this_active(i2s) || other_active(i2s); in any_active()
234 if (i2s && (i2s->mode & DAI_OPENED)) in is_opened()
242 if (is_opened(i2s) && (i2s->mode & DAI_MANAGER)) in is_manager()
484 if (!i2s) in i2s_fifo()
[all …]
/linux-6.15/Documentation/devicetree/bindings/sound/
H A Dallwinner,sun4i-a10-i2s.yaml19 - const: allwinner,sun4i-a10-i2s
20 - const: allwinner,sun6i-a31-i2s
21 - const: allwinner,sun8i-a83t-i2s
22 - const: allwinner,sun8i-h3-i2s
25 - const: allwinner,sun8i-h3-i2s
27 - const: allwinner,sun8i-v3-i2s
33 - const: allwinner,sun50i-h6-i2s
34 - const: allwinner,sun50i-r329-i2s
72 - allwinner,sun8i-h3-i2s
87 - allwinner,sun8i-h3-i2s
[all …]
H A Drockchip-i2s.yaml22 - const: rockchip,rk3066-i2s
25 - rockchip,px30-i2s
26 - rockchip,rk1808-i2s
27 - rockchip,rk3036-i2s
28 - rockchip,rk3128-i2s
29 - rockchip,rk3188-i2s
30 - rockchip,rk3228-i2s
31 - rockchip,rk3288-i2s
32 - rockchip,rk3308-i2s
129 i2s@ff890000 {
[all …]
H A Dnvidia,tegra30-i2s.yaml4 $id: http://devicetree.org/schemas/sound/nvidia,tegra30-i2s.yaml#
17 - nvidia,tegra124-i2s
18 - nvidia,tegra30-i2s
20 - const: nvidia,tegra114-i2s
21 - const: nvidia,tegra30-i2s
30 const: i2s
36 const: i2s
59 i2s@70080300 {
60 compatible = "nvidia,tegra30-i2s";
65 reset-names = "i2s";
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 Dingenic,aic.yaml22 - ingenic,jz4740-i2s
23 - ingenic,jz4760-i2s
24 - ingenic,jz4770-i2s
25 - ingenic,jz4780-i2s
26 - ingenic,x1000-i2s
28 - const: ingenic,jz4725b-i2s
29 - const: ingenic,jz4740-i2s
48 - const: i2s
76 compatible = "ingenic,jz4740-i2s";
86 clock-names = "aic", "i2s";
H A Dsamsung-i2s.yaml4 $id: http://devicetree.org/schemas/sound/samsung-i2s.yaml#
19 samsung,s3c6410-i2s: for 8/16/24bit stereo I2S.
49 - samsung,s3c6410-i2s
50 - samsung,s5pv210-i2s
51 - samsung,exynos5420-i2s
52 - samsung,exynos7-i2s
54 - tesla,fsd-i2s
57 - samsung,exynos5433-i2s
58 - const: samsung,exynos7-i2s
146 i2s0: i2s@3830000 {
[all …]
H A Dnvidia,tegra210-i2s.yaml4 $id: http://devicetree.org/schemas/sound/nvidia,tegra210-i2s.yaml#
24 pattern: "^i2s@[0-9a-f]*$"
28 - const: nvidia,tegra210-i2s
31 - nvidia,tegra234-i2s
32 - nvidia,tegra194-i2s
33 - nvidia,tegra186-i2s
34 - const: nvidia,tegra210-i2s
55 - const: i2s
104 i2s@702d1000 {
105 compatible = "nvidia,tegra210-i2s";
[all …]

12345678910>>...24