/linux/sound/soc/img/ |
H A D | img-spdif-in.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * IMG SPDIF input controller driver 86 /* Write-only registers */ 92 struct img_spdif_in *spdif = dev_get_drvdata(dev); in img_spdif_in_runtime_suspend() local 94 clk_disable_unprepare(spdif->clk_sys); in img_spdif_in_runtime_suspend() 101 struct img_spdif_in *spdif = dev_get_drvdata(dev); in img_spdif_in_runtime_resume() local 104 ret = clk_prepare_enable(spdif->clk_sys); in img_spdif_in_runtime_resume() 113 static inline void img_spdif_in_writel(struct img_spdif_in *spdif, in img_spdif_in_writel() argument 116 writel(val, spdif->base + reg); in img_spdif_in_writel() 119 static inline u32 img_spdif_in_readl(struct img_spdif_in *spdif, u32 reg) in img_spdif_in_readl() argument [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 12 Say Y or M if you want to add support for I2S in driver for 13 Imagination Technologies I2S in device. 32 tristate "Imagination SPDIF Input Device Driver" 36 Say Y or M if you want to add support for SPDIF input driver for 37 Imagination Technologies SPDIF input device. 40 tristate "Imagination SPDIF Output Device Driver" 44 Say Y or M if you want to add support for SPDIF out driver for 45 Imagination Technologies SPDIF out device.
|
/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> 12 * Removed noise from Center/LFE channel when in Analog mode. 28 …* Correct interrupt timing. interrupt at end of period, instead of in the middle of a playback … 46 * Added I2C and SPI registers. Filled in interrupt enable. 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 */ 75 #define IPR_SPDIF_IN_USER 0x00004000 /* SPDIF input user data has 16 more bits */ 76 #define IPR_SPDIF_OUT_USER 0x00002000 /* SPDIF output user data needs 16 more bits */ [all …]
|
/linux/sound/soc/samsung/ |
H A D | spdif.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // ALSA SoC Audio Layer - Samsung S/PDIF Controller driver 15 #include <linux/platform_data/asoc-s3c.h> 18 #include "spdif.h" 66 * struct samsung_spdif_info - Samsung S/PDIF Controller information 71 * @pclk: The peri-clock pointer for spdif master operation. 73 * @saved_clkcon: Backup clkcon reg. in suspend. 74 * @saved_con: Backup con reg. in suspend. 75 * @saved_cstas: Backup cstas reg. in suspend. 105 static void spdif_snd_txctrl(struct samsung_spdif_info *spdif, int on) in spdif_snd_txctrl() argument [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" 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() 52 changed = snd_soc_component_test_bits(component, e->reg, in g12a_tohdmitx_i2s_mux_put_enum() [all …]
|
H A D | aiu-encoder-spdif.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <sound/soc-dai.h> 50 struct snd_soc_component *component = dai->component; in aiu_encoder_spdif_trigger() 66 return -EINVAL; in aiu_encoder_spdif_trigger() 99 struct snd_soc_component *component = dai->component; in aiu_encoder_spdif_hw_params() 116 dev_err(dai->dev, "Unsupported physical width\n"); in aiu_encoder_spdif_hw_params() 117 return -EINVAL; in aiu_encoder_spdif_hw_params() 132 dev_err(dai->dev, "failed to set channel status word\n"); in aiu_encoder_spdif_hw_params() 144 ret = clk_set_rate(aiu->spdif.clks[MCLK].clk, mrate); in aiu_encoder_spdif_hw_params() 146 dev_err(dai->dev, "failed to set mclk rate\n"); in aiu_encoder_spdif_hw_params() [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 13 in the Amlogic Meson8, Meson8b and GX SoC families 26 embedded in the Amlogic AXG SoC family 33 embedded in the Amlogic AXG SoC family 50 in the Amlogic AXG SoC family 58 in the Amlogic AXG SoC family 77 tristate "Amlogic AXG SPDIF Output Support" 82 Select Y or M to add support for SPDIF output serializer embedded 83 in the Amlogic AXG SoC family 86 tristate "Amlogic AXG SPDIF Input Support" [all …]
|
/linux/Documentation/sound/cards/ |
H A D | cmipci.rst | 2 Brief Notes on C-Media 8338/8738/8768/8770 Driver 8 Front/Rear Multi-channel Playback 9 --------------------------------- 13 DACs, both streams are handled independently unlike the 4/6ch multi- 14 channel playbacks in the section below. 22 - The first DAC supports U8 and S16LE formats, while the second DAC 24 - The second DAC supports only two channel stereo. 51 control switch in the driver "Line-In As Rear", which you can change 52 via alsamixer or somewhat else. When this switch is on, line-in jack 60 4/6 Multi-Channel Playback [all …]
|
/linux/sound/soc/codecs/ |
H A D | spdif_receiver.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ALSA SoC SPDIF DIR (Digital Interface Reciever) driver 5 * Based on ALSA SoC SPDIF DIT driver 7 * This driver is used by controllers which can operate in DIR (SPDI/F) where 9 * in these configurations. SPEAr SPDIF IN Audio controller uses this driver. 24 SND_SOC_DAPM_INPUT("spdif-in"), 28 { "Capture", NULL, "spdif-in" }, 50 .name = "dir-hifi", 62 return devm_snd_soc_register_component(&pdev->dev, in spdif_dir_probe() 69 { .compatible = "linux,spdif-dir", }, [all …]
|
H A D | spdif_transmitter.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ALSA SoC SPDIF DIT driver 5 * This driver is used by controllers which can operate in DIT (SPDI/F) where 7 * in these configurations. TI DaVinci Audio controller uses this driver. 22 #define DRV_NAME "spdif-dit" 32 SND_SOC_DAPM_OUTPUT("spdif-out"), 36 { "spdif-out", NULL, "Playback" }, 50 .name = "dit-hifi", 62 return devm_snd_soc_register_component(&pdev->dev, in spdif_dit_probe() 69 { .compatible = "linux,spdif-dit", }, [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | fsl-asoc-card.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/fsl-asoc-card.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 14 However, for Freescale SoCs (especially those released in recent years), 28 - Shengjiu Wang <shengjiu.wang@nxp.com> 33 - items: 34 - enum: 35 - fsl,imx-sgtl5000 36 - fsl,imx25-pdk-sgtl5000 [all …]
|
H A D | img,spdif-in.txt | 1 Imagination Technologies SPDIF Input Controller 5 - compatible : Compatible list, must contain "img,spdif-in" 7 - #sound-dai-cells : Must be equal to 0 9 - reg : Offset and length of the register set for the device 11 - dmas: Contains an entry for each entry in dma-names. 13 - dma-names: Must include the following entry: 16 - clocks : Contains an entry for each entry in clock-names 18 - clock-names : Includes the following entries: 23 - resets: Should contain a phandle to the spdif in reset signal, if any 25 - reset-names: Should contain the reset signal name "rst", if a [all …]
|
H A D | img,spdif-out.txt | 1 Imagination Technologies SPDIF Output Controller 5 - compatible : Compatible list, must contain "img,spdif-out" 7 - #sound-dai-cells : Must be equal to 0 9 - reg : Offset and length of the register set for the device 11 - dmas: Contains an entry for each entry in dma-names. 13 - dma-names: Must include the following entry: 16 - clocks : Contains an entry for each entry in clock-names. 18 - clock-names : Includes the following entries: 22 - resets: Contains a phandle to the spdif out reset signal 24 - reset-names: Contains the reset signal name "rst" [all …]
|
H A D | nvidia,tegra20-spdif.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra20-spdif.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 The S/PDIF controller supports both input and output in serial audio 16 - Thierry Reding <treding@nvidia.com> 17 - Jon Hunter <jonathanh@nvidia.com> 20 - $ref: dai-common.yaml# 24 const: nvidia,tegra20-spdif 38 clock-names: [all …]
|
/linux/sound/pci/emu10k1/ |
H A D | p16v.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright (c) by James Courtier-Dutton <James@superbug.demon.co.uk> 11 /* Audigy2 P16V pointer-offset register set, accessed through the PTR2 and DATA2 registers … 14 /* The sample rate of the SPDIF outputs is set by modifying a register in the EMU10K2 PTR register … 23 * One list entry for each period in the buffer. 25 #define PLAYBACK_LIST_SIZE 0x01 /* Size of list in bytes << 16. E.g. 8 periods -> 0x00380000 */ 30 …ayback period pointer. Used with PLAYBACK_LIST_PTR to determine buffer position currently in DAC */ 32 #define PLAYBACK_FIFO_POINTER 0x08 /* Playback FIFO pointer and number of valid sound samples in c… 36 #define CAPTURE_POINTER 0x12 /* Capture buffer pointer. Sample currently in ADC */ 37 #define CAPTURE_FIFO_POINTER 0x13 /* Capture FIFO pointer and number of valid sound samples in cac… [all …]
|
/linux/sound/soc/tegra/ |
H A D | tegra20_spdif.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * tegra20_spdif.c - Tegra20 SPDIF driver 6 * Copyright (C) 2011-2012 - NVIDIA, Inc. 30 struct tegra20_spdif *spdif = dev_get_drvdata(dev); in tegra20_spdif_runtime_suspend() local 32 regcache_cache_only(spdif->regmap, true); in tegra20_spdif_runtime_suspend() 34 clk_disable_unprepare(spdif->clk_spdif_out); in tegra20_spdif_runtime_suspend() 41 struct tegra20_spdif *spdif = dev_get_drvdata(dev); in tegra20_spdif_runtime_resume() local 44 ret = reset_control_assert(spdif->reset); in tegra20_spdif_runtime_resume() 48 ret = clk_prepare_enable(spdif->clk_spdif_out); in tegra20_spdif_runtime_resume() 56 ret = reset_control_deassert(spdif->reset); in tegra20_spdif_runtime_resume() [all …]
|
/linux/sound/soc/spear/ |
H A D | spdif_in.c | 2 * ALSA SoC SPDIF In Audio Layer for spear processors 52 writel(ctrl, host->io_base + SPDIF_IN_CTRL); in spdif_in_configure() 53 writel(0xF, host->io_base + SPDIF_IN_IRQ_MASK); in spdif_in_configure() 60 host->dma_params_rx.filter_data = &host->dma_params; in spdif_in_dai_probe() 61 dai->capture_dma_data = &host->dma_params_rx; in spdif_in_dai_probe() 71 if (substream->stream != SNDRV_PCM_STREAM_CAPTURE) in spdif_in_shutdown() 74 writel(0x0, host->io_base + SPDIF_IN_IRQ_MASK); in spdif_in_shutdown() 79 u32 ctrl = readl(host->io_base + SPDIF_IN_CTRL); in spdif_in_format() 91 writel(ctrl, host->io_base + SPDIF_IN_CTRL); in spdif_in_format() 101 if (substream->stream != SNDRV_PCM_STREAM_CAPTURE) in spdif_in_hw_params() [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 3 snd-soc-spear-pcm-y := spear_pcm.o 4 snd-soc-spear-spdif-in-y := spdif_in.o 5 snd-soc-spear-spdif-out-y := spdif_out.o 7 obj-$(CONFIG_SND_SPEAR_SOC) += snd-soc-spear-pcm.o 8 obj-$(CONFIG_SND_SPEAR_SPDIF_IN) += snd-soc-spear-spdif-in.o 9 obj-$(CONFIG_SND_SPEAR_SPDIF_OUT) += snd-soc-spear-spdif-out.o
|
/linux/arch/arm/boot/dts/allwinner/ |
H A D | sun5i-gr8.dtsi | 4 * Mylène Josserand <mylene.josserand@free-electrons.com> 6 * This file is dual-licensed: you can use it either under the terms 16 * This library is distributed in the hope that it will be useful, 25 * files (the "Software"), to deal in the Software without 33 * included in all copies or substantial portions of the Software. 38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42 * OTHER DEALINGS IN THE SOFTWARE. 47 #include <dt-bindings/clock/sun5i-ccu.h> [all …]
|
H A D | sun7i-a20-itead-ibox.dts | 2 * Copyright 2015 - Marcus Cooper <codekipper@gmail.com> 4 * This file is dual-licensed: you can use it either under the terms 14 * This file is distributed in the hope that it will be useful, 23 * files (the "Software"), to deal in the Software without 31 * included in all copies or substantial portions of the Software. 36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 * OTHER DEALINGS IN THE SOFTWARE. 43 /dts-v1/; [all …]
|
/linux/Documentation/sound/hd-audio/ |
H A D | models.rst | 2 HD-Audio Codec-Specific Models 8 3-jack in back and a headphone out 9 3stack-digout 10 3-jack in back, a HP out and a SPDIF out 12 5-jack in back, 2-jack in front 13 5stack-digout 14 5-jack in back, 2-jack in front, a SPDIF out 16 6-jack in back, 2-jack in front 17 6stack-digout 18 6-jack with a SPDIF out [all …]
|
/linux/drivers/staging/vc04_services/bcm2835-audio/ |
H A D | bcm2835-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 49 kfree(runtime->private_data); in snd_bcm2835_playback_free() 55 struct snd_pcm_substream *substream = alsa_stream->substream; in bcm2835_playback_fifo() 58 if (!alsa_stream->period_size) in bcm2835_playback_fifo() 61 if (bytes >= alsa_stream->buffer_size) { in bcm2835_playback_fifo() 64 alsa_stream->draining ? in bcm2835_playback_fifo() 71 pos = atomic_read(&alsa_stream->pos); in bcm2835_playback_fifo() 73 pos %= alsa_stream->buffer_size; in bcm2835_playback_fifo() 74 atomic_set(&alsa_stream->pos, pos); in bcm2835_playback_fifo() 76 alsa_stream->period_offset += bytes; in bcm2835_playback_fifo() [all …]
|
/linux/arch/arm/boot/dts/nxp/imx/ |
H A D | imx6qdl-cubox-i.dtsi | 4 * This file is dual-licensed: you can use it either under the terms 13 * This file is distributed in the hope that it will be useful, 22 * files (the "Software"), to deal in the Software without 30 * included in all copies or substantial portions of the Software. 35 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39 * OTHER DEALINGS IN THE SOFTWARE. 41 #include <dt-bindings/input/input.h> 42 #include <dt-bindings/gpio/gpio.h> [all …]
|
H A D | imx6q-cm-fx6.dts | 6 * This file is dual-licensed: you can use it either under the terms 15 * This file is distributed in the hope that it will be useful, 24 * files (the "Software"), to deal in the Software without 32 * included in all copies or substantial portions of the Software. 37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41 * OTHER DEALINGS IN THE SOFTWARE. 44 /dts-v1/; 45 #include <dt-bindings/gpio/gpio.h> [all …]
|
/linux/sound/soc/xilinx/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 I2S playback and capture using xilinx soft IP. In transmitter 7 mode, IP receives audio in AES format, extracts PCM and sends 8 PCM data. In receiver mode, IP receives PCM audio and 9 encapsulates PCM in AES format and sends AES data. 19 tristate "Audio support for the Xilinx SPDIF" 21 Select this option to enable Xilinx SPDIF Audio. 22 This provides playback and capture of SPDIF audio in
|