| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/sound/ |
| D | img,i2s-out.txt | 1 Imagination Technologies I2S Output Controller 5 - compatible : Compatible list, must contain "img,i2s-out" 7 - #sound-dai-cells : Must be equal to 0 9 - reg : Offset and length of the register set for the device 11 - clocks : Contains an entry for each entry in clock-names 13 - clock-names : Must include the following entries: 17 - dmas: Contains an entry for each entry in dma-names. 19 - dma-names: Must include the following entry: 20 "tx" Single DMA channel used by all active I2S channels 22 - img,i2s-channels : Number of I2S channels instantiated in the I2S out block [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/sound/ |
| D | img,i2s-out.txt | 1 Imagination Technologies I2S Output Controller 5 - compatible : Compatible list, must contain "img,i2s-out" 7 - #sound-dai-cells : Must be equal to 0 9 - reg : Offset and length of the register set for the device 11 - clocks : Contains an entry for each entry in clock-names 13 - clock-names : Must include the following entries: 17 - dmas: Contains an entry for each entry in dma-names. 19 - dma-names: Must include the following entry: 20 "tx" Single DMA channel used by all active I2S channels 22 - img,i2s-channels : Number of I2S channels instantiated in the I2S out block [all …]
|
| /kernel/linux/linux-5.10/sound/soc/meson/ |
| D | g12a-tohdmitx.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <sound/soc-dai.h> 15 #include <dt-bindings/sound/meson-g12a-tohdmitx.h> 16 #include "meson-codec-glue.h" 18 #define G12A_TOHDMITX_DRV_NAME "g12a-tohdmitx" 35 "I2S A", "I2S B", "I2S C", 45 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in g12a_tohdmitx_i2s_mux_put_enum() 48 if (ucontrol->value.enumerated.item[0] >= e->items) in g12a_tohdmitx_i2s_mux_put_enum() 49 return -EINVAL; in g12a_tohdmitx_i2s_mux_put_enum() 51 mux = snd_soc_enum_item_to_val(e, ucontrol->value.enumerated.item[0]); in g12a_tohdmitx_i2s_mux_put_enum() [all …]
|
| D | aiu-acodec-ctrl.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <sound/soc-dai.h> 11 #include <dt-bindings/sound/meson-aiu.h> 13 #include "meson-codec-glue.h" 28 "DISABLED", "I2S", "PCM", 38 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in aiu_acodec_ctrl_mux_put_enum() 41 mux = snd_soc_enum_item_to_val(e, ucontrol->value.enumerated.item[0]); in aiu_acodec_ctrl_mux_put_enum() 42 changed = snd_soc_component_test_bits(component, e->reg, in aiu_acodec_ctrl_mux_put_enum() 53 snd_soc_component_update_bits(component, e->reg, in aiu_acodec_ctrl_mux_put_enum() 80 SND_SOC_DAPM_SWITCH("ACODEC OUT EN", SND_SOC_NOPM, 0, 0, [all …]
|
| D | g12a-toacodec.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include <sound/soc-dai.h> 16 #include <dt-bindings/sound/meson-g12a-toacodec.h> 17 #include "axg-tdm.h" 18 #include "meson-codec-glue.h" 20 #define G12A_TOACODEC_DRV_NAME "g12a-toacodec" 36 "I2S A", "I2S B", "I2S C", 46 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in g12a_toacodec_mux_put_enum() 49 if (ucontrol->value.enumerated.item[0] >= e->items) in g12a_toacodec_mux_put_enum() 50 return -EINVAL; in g12a_toacodec_mux_put_enum() [all …]
|
| /kernel/linux/linux-6.6/sound/soc/meson/ |
| D | g12a-tohdmitx.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <sound/soc-dai.h> 15 #include <dt-bindings/sound/meson-g12a-tohdmitx.h> 16 #include "meson-codec-glue.h" 18 #define G12A_TOHDMITX_DRV_NAME "g12a-tohdmitx" 35 "I2S A", "I2S B", "I2S C", 45 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in g12a_tohdmitx_i2s_mux_put_enum() 48 if (ucontrol->value.enumerated.item[0] >= e->items) in g12a_tohdmitx_i2s_mux_put_enum() 49 return -EINVAL; in g12a_tohdmitx_i2s_mux_put_enum() 51 mux = snd_soc_enum_item_to_val(e, ucontrol->value.enumerated.item[0]); in g12a_tohdmitx_i2s_mux_put_enum() [all …]
|
| D | aiu-acodec-ctrl.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <sound/soc-dai.h> 11 #include <dt-bindings/sound/meson-aiu.h> 13 #include "meson-codec-glue.h" 28 "DISABLED", "I2S", "PCM", 38 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in aiu_acodec_ctrl_mux_put_enum() 41 mux = snd_soc_enum_item_to_val(e, ucontrol->value.enumerated.item[0]); in aiu_acodec_ctrl_mux_put_enum() 42 changed = snd_soc_component_test_bits(component, e->reg, in aiu_acodec_ctrl_mux_put_enum() 53 snd_soc_component_update_bits(component, e->reg, in aiu_acodec_ctrl_mux_put_enum() 80 SND_SOC_DAPM_SWITCH("ACODEC OUT EN", SND_SOC_NOPM, 0, 0, [all …]
|
| /kernel/linux/linux-5.10/sound/soc/img/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 8 tristate "Imagination I2S Input Device Driver" 12 Say Y or M if you want to add support for I2S in driver for 13 Imagination Technologies I2S in device. 16 tristate "Imagination I2S Output Device Driver" 20 Say Y or M if you want to add support for I2S out driver for 21 Imagination Technologies I2S out device. 28 Say Y or M if you want to add support for parallel out driver for 29 Imagination Technologies parallel out device. 44 Say Y or M if you want to add support for SPDIF out driver for [all …]
|
| D | img-i2s-out.c | 1 // SPDX-License-Identifier: GPL-2.0-only 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 [all …]
|
| /kernel/linux/linux-6.6/sound/soc/img/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 8 tristate "Imagination I2S Input Device Driver" 12 Say Y or M if you want to add support for I2S in driver for 13 Imagination Technologies I2S in device. 16 tristate "Imagination I2S Output Device Driver" 20 Say Y or M if you want to add support for I2S out driver for 21 Imagination Technologies I2S out device. 28 Say Y or M if you want to add support for parallel out driver for 29 Imagination Technologies parallel out device. 44 Say Y or M if you want to add support for SPDIF out driver for [all …]
|
| D | img-i2s-out.c | 1 // SPDX-License-Identifier: GPL-2.0-only 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 [all …]
|
| /kernel/linux/linux-5.10/sound/soc/au1x/ |
| D | psc-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * (c) 2007-2008 MSC Vertriebsges.m.b.H., 8 * Au1xxx-PSC I2S glue. 10 * NOTE: so far only PSC slave mode (bit- and frameclock) is supported. 21 #include <asm/mach-au1x00/au1000.h> 22 #include <asm/mach-au1x00/au1xxx_psc.h> 26 /* supported I2S DAI hardware formats */ 31 /* supported I2S direction */ 58 ret = -EINVAL; in au1xpsc_i2s_set_fmt() 60 ct = pscdata->cfg; in au1xpsc_i2s_set_fmt() [all …]
|
| /kernel/linux/linux-6.6/sound/soc/au1x/ |
| D | psc-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * (c) 2007-2008 MSC Vertriebsges.m.b.H., 8 * Au1xxx-PSC I2S glue. 10 * NOTE: so far only PSC slave mode (bit- and frameclock) is supported. 21 #include <asm/mach-au1x00/au1000.h> 22 #include <asm/mach-au1x00/au1xxx_psc.h> 26 /* supported I2S DAI hardware formats */ 31 /* supported I2S direction */ 58 ret = -EINVAL; in au1xpsc_i2s_set_fmt() 60 ct = pscdata->cfg; in au1xpsc_i2s_set_fmt() [all …]
|
| /kernel/linux/linux-6.6/sound/soc/google/ |
| D | chv3-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * The I2S interface consists of two ring buffers - one for RX and one for 21 * will wait for the consumer index to move out of the way. With playback, 24 * would have to wait for the consumer index to move out of the way by 25 * busy-waiting, which would keep stalling the kernel for quite a long time. 30 * are wait-free. 70 .name = "chv3-i2s", 101 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 [all …]
|
| /kernel/linux/linux-6.6/drivers/pinctrl/sunxi/ |
| D | pinctrl-suniv-f1c100s.c | 2 * Allwinner new F-series F1C100s SoC (suniv) pinctrl driver. 12 * Copyright (C) 2014 Chen-Yu Tsai 14 * Chen-Yu Tsai <wens@csie.org> 18 * Maxime Ripard <maxime.ripard@free-electrons.com> 30 #include "pinctrl-sunxi.h" 36 SUNXI_FUNCTION(0x4, "i2s"), /* BCLK */ 43 SUNXI_FUNCTION(0x4, "i2s"), /* LRCK */ 51 SUNXI_FUNCTION(0x4, "i2s"), /* IN */ 59 SUNXI_FUNCTION(0x4, "i2s"), /* OUT */ 68 SUNXI_FUNCTION(0x4, "i2s"), /* BCLK */ [all …]
|
| /kernel/linux/linux-5.10/drivers/pinctrl/sunxi/ |
| D | pinctrl-suniv-f1c100s.c | 2 * Allwinner new F-series F1C100s SoC (suniv) pinctrl driver. 12 * Copyright (C) 2014 Chen-Yu Tsai 14 * Chen-Yu Tsai <wens@csie.org> 18 * Maxime Ripard <maxime.ripard@free-electrons.com> 31 #include "pinctrl-sunxi.h" 37 SUNXI_FUNCTION(0x4, "i2s"), /* BCLK */ 44 SUNXI_FUNCTION(0x4, "i2s"), /* LRCK */ 52 SUNXI_FUNCTION(0x4, "i2s"), /* IN */ 60 SUNXI_FUNCTION(0x4, "i2s"), /* OUT */ 69 SUNXI_FUNCTION(0x4, "i2s"), /* BCLK */ [all …]
|
| /kernel/linux/linux-5.10/sound/soc/samsung/ |
| D | i2s.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * ALSA SoC Audio Layer - Samsung I2S Controller driver 12 #define SAMSUNG_I2S_DAI "samsung-i2s" 13 #define SAMSUNG_I2S_DAI_SEC "samsung-i2s-sec" 22 #define SAMSUNG_I2S_OPCLK_CDCLK_OUT 0 /* CODEC clock out */ 24 #define SAMSUNG_I2S_OPCLK_BCLK_OUT 2 /* Bit clock out */
|
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 32 tristate "Samsung I2S interface support" 45 tristate "SoC I2S Audio support for Jive" 53 tristate "SoC I2S Audio support for WM8580 on SMDK" 62 tristate "SoC I2S Audio support for WM8994 on SMDK" 71 tristate "SoC I2S Audio support UDA134X wired to a S3C24XX" 83 tristate "SoC I2S Audio support for TLV320AIC23 on Simtec boards" 90 tristate "SoC I2S Audio support for Simtec Hermes board" 113 tristate "SoC I2S Audio support for SmartQ board" 206 tristate "SoC I2S Audio support for WM5110 on TM2 board" [all …]
|
| /kernel/linux/linux-6.6/sound/soc/samsung/ |
| D | i2s.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * ALSA SoC Audio Layer - Samsung I2S Controller driver 12 #define SAMSUNG_I2S_DAI "samsung-i2s" 13 #define SAMSUNG_I2S_DAI_SEC "samsung-i2s-sec" 22 #define SAMSUNG_I2S_OPCLK_CDCLK_OUT 0 /* CODEC clock out */ 24 #define SAMSUNG_I2S_OPCLK_BCLK_OUT 2 /* Bit clock out */
|
| /kernel/linux/linux-6.6/sound/aoa/soundbus/i2sbus/ |
| D | interface.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * i2sbus driver -- interface register definitions 10 /* i2s bus control registers, at least what we know about them */ 61 * - clock source 62 * - MClk divisor 63 * - SClk divisor 64 * - SClk master flag 65 * - serial format (sony, i2s 64x, i2s 32x, dav, silabs) 66 * - external sample frequency interrupt (don't understand) 67 * - external sample frequency [all …]
|
| D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright 2006-2008 Johannes Berg <johannes@sipsolutions.net> 12 #include <linux/dma-mapping.h> 26 MODULE_DESCRIPTION("Apple Soundbus: I2S support"); 31 " no layout-id property is present"); 34 { .name = "i2s" }, 45 r->size = (numcmds + 3) * sizeof(struct dbdma_cmd); in alloc_dbdma_descriptor_ring() 47 * enough or until we get some macio-specific versions in alloc_dbdma_descriptor_ring() 49 r->space = dma_alloc_coherent(&macio_get_pci_dev(i2sdev->macio)->dev, in alloc_dbdma_descriptor_ring() 50 r->size, &r->bus_addr, GFP_KERNEL); in alloc_dbdma_descriptor_ring() [all …]
|
| /kernel/linux/linux-5.10/sound/aoa/soundbus/i2sbus/ |
| D | interface.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * i2sbus driver -- interface register definitions 10 /* i2s bus control registers, at least what we know about them */ 61 * - clock source 62 * - MClk divisor 63 * - SClk divisor 64 * - SClk master flag 65 * - serial format (sony, i2s 64x, i2s 32x, dav, silabs) 66 * - external sample frequency interrupt (don't understand) 67 * - external sample frequency [all …]
|
| D | core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright 2006-2008 Johannes Berg <johannes@sipsolutions.net> 12 #include <linux/dma-mapping.h> 26 MODULE_DESCRIPTION("Apple Soundbus: I2S support"); 31 " no layout-id property is present"); 34 { .name = "i2s" }, 45 r->size = (numcmds + 3) * sizeof(struct dbdma_cmd); in alloc_dbdma_descriptor_ring() 47 * enough or until we get some macio-specific versions in alloc_dbdma_descriptor_ring() 49 r->space = dma_alloc_coherent(&macio_get_pci_dev(i2sdev->macio)->dev, in alloc_dbdma_descriptor_ring() 50 r->size, &r->bus_addr, GFP_KERNEL); in alloc_dbdma_descriptor_ring() [all …]
|
| /kernel/linux/linux-6.6/sound/soc/codecs/ |
| D | cx2072x.c | 1 // SPDX-License-Identifier: GPL-2.0 30 #include <sound/soc-dapm.h> 60 * min : 0 : -74 dB 62 static const DECLARE_TLV_DB_SCALE(adc_tlv, -7400, 100, 0); 63 static const DECLARE_TLV_DB_SCALE(dac_tlv, -7400, 100, 0); 248 { CX2072X_DIGITAL_TEST0, 0x415 }, /* Power down class-D during idle */ 249 { CX2072X_I2SPCM_CONTROL2, 0x00f }, /* Enable I2S TX */ 250 { CX2072X_I2SPCM_CONTROL3, 0x00f }, /* Enable I2S RX */ 493 struct device *dev = &client->dev; in cx2072x_reg_raw_write() 498 return -EINVAL; in cx2072x_reg_raw_write() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/codecs/ |
| D | cx2072x.c | 1 // SPDX-License-Identifier: GPL-2.0 30 #include <sound/soc-dapm.h> 60 * min : 0 : -74 dB 62 static const DECLARE_TLV_DB_SCALE(adc_tlv, -7400, 100, 0); 63 static const DECLARE_TLV_DB_SCALE(dac_tlv, -7400, 100, 0); 248 { CX2072X_DIGITAL_TEST0, 0x415 }, /* Power down class-D during idle */ 249 { CX2072X_I2SPCM_CONTROL2, 0x00f }, /* Enable I2S TX */ 250 { CX2072X_I2SPCM_CONTROL3, 0x00f }, /* Enable I2S RX */ 493 struct device *dev = &client->dev; in cx2072x_reg_raw_write() 498 return -EINVAL; in cx2072x_reg_raw_write() [all …]
|