/linux/Documentation/devicetree/bindings/sound/ |
H A 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 …]
|
H A D | cirrus,ep9301-i2s.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/cirrus,ep9301-i2s.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Cirrus EP93xx I2S Controller 10 The I2S controller is used to stream serial audio data between the external 11 I2S CODECs’, ADCs/DACs, and the ARM Core. The controller supports I2S, Left- 12 and Right-Justified DSP formats. 15 - Alexander Sverdlin <alexander.sverdlin@gmail.com> 18 - $ref: dai-common.yaml# [all …]
|
/linux/sound/soc/meson/ |
H A 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 …]
|
H A 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 …]
|
H A 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" 60 "I2S A", "I2S B", "I2S C", 71 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in g12a_toacodec_mux_put_enum() 74 if (ucontrol->value.enumerated.item[0] >= e->items) in g12a_toacodec_mux_put_enum() 75 return -EINVAL; in g12a_toacodec_mux_put_enum() [all …]
|
H A D | aiu-codec-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" 20 "DISABLED", "PCM", "I2S", 30 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in aiu_codec_ctrl_mux_put_enum() 33 mux = snd_soc_enum_item_to_val(e, ucontrol->value.enumerated.item[0]); in aiu_codec_ctrl_mux_put_enum() 34 changed = snd_soc_component_test_bits(component, e->reg, in aiu_codec_ctrl_mux_put_enum() 45 snd_soc_component_update_bits(component, e->reg, in aiu_codec_ctrl_mux_put_enum() 52 snd_soc_component_update_bits(component, e->reg, in aiu_codec_ctrl_mux_put_enum() [all …]
|
/linux/sound/soc/img/ |
H A 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 …]
|
H A 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 …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_SND_SOC_IMG_I2S_IN) += img-i2s-in.o 3 obj-$(CONFIG_SND_SOC_IMG_I2S_OUT) += img-i2s-out.o 4 obj-$(CONFIG_SND_SOC_IMG_PARALLEL_OUT) += img-parallel-out.o 5 obj-$(CONFIG_SND_SOC_IMG_SPDIF_IN) += img-spdif-in.o 6 obj-$(CONFIG_SND_SOC_IMG_SPDIF_OUT) += img-spdif-out.o 8 obj-$(CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC) += pistachio-internal-dac.o
|
/linux/sound/soc/au1x/ |
H A 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 …]
|
H A D | i2sc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Au1000/Au1500/Au1100 I2S controller driver for ASoC 7 * Note: clock supplied to the I2S controller must be 256x samplerate. 18 #include <asm/mach-au1x00/au1000.h> 39 #define CFG_FM_I2S (0 << 7) /* I2S format */ 40 #define CFG_FM_LJ (1 << 7) /* left-justified */ 41 #define CFG_FM_RJ (2 << 7) /* right-justified */ 72 return __raw_readl(ctx->mmio + reg); in RD() 77 __raw_writel(v, ctx->mmio + reg); in WR() 87 ret = -EINVAL; in au1xi2s_set_fmt() [all …]
|
/linux/sound/soc/google/ |
H A 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 …]
|
/linux/drivers/pinctrl/sunxi/ |
H A 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 …]
|
/linux/sound/soc/codecs/ |
H A 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); 243 { CX2072X_DIGITAL_TEST0, 0x415 }, /* Power down class-D during idle */ 244 { CX2072X_I2SPCM_CONTROL2, 0x00f }, /* Enable I2S TX */ 245 { CX2072X_I2SPCM_CONTROL3, 0x00f }, /* Enable I2S RX */ 488 struct device *dev = &client->dev; in cx2072x_reg_raw_write() 493 return -EINVAL; in cx2072x_reg_raw_write() [all …]
|
/linux/sound/aoa/soundbus/i2sbus/ |
H A 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 …]
|
H A 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> 27 MODULE_DESCRIPTION("Apple Soundbus: I2S support"); 32 " no layout-id property is present"); 35 { .name = "i2s" }, 46 r->size = (numcmds + 3) * sizeof(struct dbdma_cmd); in alloc_dbdma_descriptor_ring() 48 * enough or until we get some macio-specific versions in alloc_dbdma_descriptor_ring() 50 r->space = dma_alloc_coherent(&macio_get_pci_dev(i2sdev->macio)->dev, in alloc_dbdma_descriptor_ring() 51 r->size, &r->bus_addr, GFP_KERNEL); in alloc_dbdma_descriptor_ring() [all …]
|
/linux/sound/pci/ca0106/ |
H A D | ca0106.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright (c) 2004 James Courtier-Dutton <James@superbug.demon.co.uk> 50 * Implement support for Line-in capture on SB Live 24bit. 73 #define IPR_MIDI_RX_B 0x00020000 /* MIDI UART-B Receive buffer non-empty */ 74 #define IPR_MIDI_TX_B 0x00010000 /* MIDI UART-B Transmit buffer empty */ 87 #define IPR_MIDI_RX_A 0x00000004 /* MIDI UART-A Receive buffer non-empty */ 88 #define IPR_MIDI_TX_A 0x00000002 /* MIDI UART-A Transmit buffer empty */ 93 #define INTE_MIDI_RX_B 0x00020000 /* MIDI UART-B Receive buffer non-empty */ 94 #define INTE_MIDI_TX_B 0x00010000 /* MIDI UART-B Transmit buffer empty */ 107 #define INTE_MIDI_RX_A 0x00000004 /* MIDI UART-A Receive buffer non-empty */ [all …]
|
/linux/sound/soc/samsung/ |
H A 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 */
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 22 tristate "Samsung I2S interface support" 25 tristate "SoC I2S Audio support for WM8994 on SMDK" 119 tristate "SoC I2S Audio support for WM5110 on TM2 board" 129 tristate "SoC I2S Audio support for WM8994 on Aries" 137 modem, and the Samsung I2S controller. Jack detection is done 139 and TV-Out path is also handled. 142 tristate "SoC I2S Audio support for Midas boards"
|
/linux/arch/mips/boot/dts/img/ |
H A D | pistachio.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <dt-bindings/clock/pistachio-clk.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/interrupt-controller/mips-gic.h> 11 #include <dt-bindings/reset/pistachio-resets.h> 16 #address-cells = <1>; 17 #size-cells = <1>; 19 interrupt-parent = <&gic>; 22 #address-cells = <1>; [all …]
|
/linux/sound/soc/fsl/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 14 This option is only useful for out-of-tree drivers since 15 in-tree drivers select it automatically. 26 This option is only useful for out-of-tree drivers since 27 in-tree drivers select it automatically. 37 This option is only useful for out-of-tree drivers since 38 in-tree drivers select it automatically. 55 This option is only useful for out-of-tree drivers since 56 in-tree drivers select it automatically. 68 This option is only useful for out-of-tree drivers since [all …]
|
/linux/arch/arm64/boot/dts/amlogic/ |
H A D | meson-sm1-bananapi-m5.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 /dts-v1/; 9 #include "meson-sm1-bananapi.dtsi" 10 #include <dt-bindings/sound/meson-g12a-toacodec.h> 11 #include <dt-bindings/sound/meson-g12a-tohdmitx.h> 14 compatible = "bananapi,bpi-m5", "amlogic,sm1"; 15 model = "Banana Pi BPI-M5"; 18 cvbs-connector { 19 compatible = "composite-video-connector"; 23 remote-endpoint = <&cvbs_vdac_out>; [all …]
|
/linux/sound/soc/sunxi/ |
H A D | sun4i-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 * Maxime Ripard <maxime.ripard@free-electrons.com> 22 #include <sound/soc-dai.h> 85 #define SUN4I_I2S_CHAN_SEL(num_chan) (((num_chan) - 1) << 0) 93 /* Defines required for sun8i-h3 support */ 106 #define SUN8I_I2S_FMT0_LRCK_PERIOD(period) ((period - 1) << 8) 119 #define SUN8I_I2S_CHAN_CFG_RX_SLOT_NUM(chan) ((chan - 1) << 4) 121 #define SUN8I_I2S_CHAN_CFG_TX_SLOT_NUM(chan) (chan - 1) 128 #define SUN8I_I2S_TX_CHAN_EN(num_chan) (((1 << num_chan) - 1) << 4) 133 /* Defines required for sun50i-h6 support */ [all …]
|
/linux/arch/arm/boot/dts/nxp/imx/ |
H A D | imx6qdl-phytec-pbab01.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 #include <dt-bindings/sound/fsl-imx-audmux.h> 10 stdout-path = &uart4; 13 sound_1v8: regulator-sound-1v8 { 14 compatible = "regulator-fixed"; 15 regulator-name = "i2s-audio-1v8"; 16 regulator-min-microvolt = <1800000>; 17 regulator-max-microvolt = <1800000>; 20 sound_3v3: regulator-sound-3v3 { 21 compatible = "regulator-fixed"; [all …]
|
/linux/Documentation/devicetree/bindings/media/i2c/ |
H A D | rda,rda5807.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Paul Cercueil <paul@crapouillou.net> 15 - rda,rda5807 21 power-supply: true 31 rda,analog-out: 35 rda,i2s-out: 36 description: Enable I2S digital audio output. 39 rda,lna-microamp: [all …]
|