Home
last modified time | relevance | path

Searched +full:i2s +full:- +full:regs (Results 1 – 25 of 55) sorted by relevance

123

/linux/sound/soc/meson/
H A Dg12a-tohdmitx.c1 // 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 Daiu.c1 // SPDX-License-Identifier: GPL-2.0
13 #include <sound/soc-dai.h>
15 #include <dt-bindings/sound/meson-aiu.h>
17 #include "aiu-fifo.h"
22 "SPDIF", "I2S",
38 { "I2S Encoder Playback", NULL, "I2S FIFO Playback" },
40 { "SPDIF SRC SEL", "I2S", "I2S FIFO Playback" },
52 if (args->args_count != 2) in aiu_of_xlate_dai_name()
53 return -EINVAL; in aiu_of_xlate_dai_name()
55 if (args->args[0] != component_id) in aiu_of_xlate_dai_name()
[all …]
H A Dg12a-toacodec.c1 // 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 …]
/linux/sound/soc/fsl/
H A Dlpc3xxx-i2s.c1 // SPDX-License-Identifier: GPL-2.0-or-later
23 #include "lpc3xxx-i2s.h"
60 if (abs(trate - i2srate) < diff) { in __lpc3xxx_find_clkdiv()
61 diff = abs(trate - i2srate); in __lpc3xxx_find_clkdiv()
72 struct device *dev = i2s_info_p->dev; in lpc3xxx_i2s_startup()
76 guard(mutex)(&i2s_info_p->lock); in lpc3xxx_i2s_startup()
78 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) in lpc3xxx_i2s_startup()
83 if (flag & i2s_info_p->streams_in_use) { in lpc3xxx_i2s_startup()
84 dev_warn(dev, "I2S channel is busy\n"); in lpc3xxx_i2s_startup()
85 ret = -EBUSY; in lpc3xxx_i2s_startup()
[all …]
H A Dmpc5200_psc_i2s.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // Freescale MPC5200 PSC in I2S mode
21 * PSC_I2S_RATES: sample rates supported by the I2S
23 * This driver currently only supports the PSC running in I2S slave mode,
31 * PSC_I2S_FORMATS: audio formats supported by the PSC I2S mode
44 dev_dbg(psc_dma->dev, "%s(substream=%p) p_size=%i p_bytes=%i" in psc_i2s_hw_params()
64 dev_dbg(psc_dma->dev, "invalid format\n"); in psc_i2s_hw_params()
65 return -EINVAL; in psc_i2s_hw_params()
67 out_be32(&psc_dma->psc_regs->sicr, psc_dma->sicr | mode); in psc_i2s_hw_params()
90 dev_dbg(psc_dma->dev, "psc_i2s_set_sysclk(cpu_dai=%p, dir=%i)\n", in psc_i2s_set_sysclk()
[all …]
H A Dfsl_ssi.c1 // SPDX-License-Identifier: GPL-2.0
7 // Copyright 2007-2010 Freescale Semiconductor, Inc.
9 // Some notes why imx-pcm-fiq is used instead of DMA on some boards:
16 // we receive in our (PCM-) data stream. The only chance we have is to
43 #include <linux/dma/imx-dma.h>
53 #include "imx-pcm.h"
55 /* Define RX and TX to index ssi->regvals array; Can be 0 or 1 only */
66 * (bit-endianness must match byte-endianness). Processors typically write
68 * written in. So if the host CPU is big-endian, then only big-endian
91 * - SSI inputs external bit clock and outputs frame sync clock -- CBM_CFS
[all …]
/linux/sound/soc/jz4740/
H A Djz4740-i2s.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright (C) 2010, Lars-Peter Clausen <lars@metafoo.de>
9 #include <linux/dma-mapping.h>
97 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()
106 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) 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()
[all …]
/linux/sound/soc/samsung/
H A Didma.c1 // SPDX-License-Identifier: GPL-2.0+
3 // idma.c - I2S0 internal DMA driver
10 #include <linux/dma-mapping.h>
17 #include "i2s.h"
19 #include "i2s-regs.h"
52 void __iomem *regs; member
61 (readl(idma.regs + I2STRNCNT) & 0xffffff) * 4; in idma_getpos()
66 struct snd_pcm_runtime *runtime = substream->runtime; in idma_enqueue()
67 struct idma_ctrl *prtd = substream->runtime->private_data; in idma_enqueue()
70 spin_lock(&prtd->lock); in idma_enqueue()
[all …]
/linux/sound/soc/bcm/
H A Dbcm63xx-i2s-whistler.c1 // SPDX-License-Identifier: GPL-2.0-or-later
2 // linux/sound/bcm/bcm63xx-i2s-whistler.c
3 // BCM63xx whistler i2s driver
5 // Author: Kevin-Ke Li <kevin-ke.li@broadcom.com>
8 #include <linux/dma-mapping.h>
14 #include "bcm63xx-i2s.h"
16 #define DRV_NAME "brcm-i2s"
81 ret = clk_set_rate(i2s_priv->i2s_clk, params_rate(params)); in bcm63xx_i2s_hw_params()
83 dev_err(i2s_priv->dev, in bcm63xx_i2s_hw_params()
94 struct regmap *regmap_i2s = i2s_priv->regmap_i2s; in bcm63xx_i2s_startup()
[all …]
H A Dcygnus-ssp.c1 // SPDX-License-Identifier: GPL-2.0-only
2 // Copyright (C) 2014-2015 Broadcom Corporation
14 #include <sound/soc-dai.h>
16 #include "cygnus-ssp.h"
41 /* AUD_FMM_BF_CTRL_xxx regs */
69 /* AUD_FMM_IOP_OUT_I2S_xxx regs */
82 /* AUD_FMM_IOP_OUT_SPDIF_xxx regs */
88 /* AUD_FMM_IOP_PLL_0_xxx regs */
98 /* AUD_FMM_IOP_xxx regs */
104 /* AUD_FMM_IOP_IN_I2S_xxx regs */
[all …]
/linux/sound/soc/cirrus/
H A Dep93xx-i2s.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * linux/sound/soc/ep93xx-i2s.c
4 * EP93xx I2S driver
29 #include "ep93xx-pcm.h"
59 * 0 - Generate interrupt when FIFO is half empty
60 * 1 - Generate interrupt when FIFO is empty
77 void __iomem *regs; member
85 __raw_writel(val, info->regs + reg); in ep93xx_i2s_write_reg()
91 return __raw_readl(info->regs + reg); in ep93xx_i2s_read_reg()
101 clk_prepare_enable(info->mclk); in ep93xx_i2s_enable()
[all …]
/linux/sound/soc/tegra/
H A Dtegra210_i2s.c1 // SPDX-License-Identifier: GPL-2.0-only
2 // SPDX-FileCopyrightText: Copyright (c) 2020-2025 NVIDIA CORPORATION & AFFILIATES.
5 // tegra210_i2s.c - Tegra210 I2S driver
33 * is required to select i2s4b for it to be functional for I2S
51 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()
57 total_slots - 1); 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
[all …]
H A Dtegra20_das.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * tegra20_das.c - Tegra20 DAS driver
6 * Copyright (C) 2010 - NVIDIA, Inc.
17 #define DRV_NAME "tegra20-das"
87 * DAC: Digital audio controller (e.g. I2S or AC97 controller elsewhere)
89 * The Tegra DAS is a mux/cross-bar which can connect each DAP to a specific
101 regmap_write(das->regmap, reg, val); in tegra20_das_write()
132 (TEGRA20_DAS_##name##_STRIDE * (TEGRA20_DAS_##name##_COUNT - 1)))
157 void __iomem *regs; in tegra20_das_probe() local
160 das = devm_kzalloc(&pdev->dev, sizeof(struct tegra20_das), GFP_KERNEL); in tegra20_das_probe()
[all …]
/linux/sound/soc/sunxi/
H A Dsun4i-i2s.c1 // 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/sound/soc/rockchip/
H A Drockchip_i2s_tdm.c1 // SPDX-License-Identifier: GPL-2.0-only
2 // ALSA SoC Audio Layer - Rockchip I2S/TDM Controller driver
5 // Author: Sugar Zhang <sugar.zhang@rock-chips.com>
9 #include <linux/clk-provider.h>
23 #define DRV_NAME "rockchip-i2s-tdm"
92 clk_disable_unprepare(i2s_tdm->mclk_tx); in i2s_tdm_disable_unprepare_mclk()
93 clk_disable_unprepare(i2s_tdm->mclk_rx); in i2s_tdm_disable_unprepare_mclk()
97 * i2s_tdm_prepare_enable_mclk - prepare to enable all mclks, disable them on
110 ret = clk_prepare_enable(i2s_tdm->mclk_tx); in i2s_tdm_prepare_enable_mclk()
113 ret = clk_prepare_enable(i2s_tdm->mclk_rx); in i2s_tdm_prepare_enable_mclk()
[all …]
H A Drockchip_sai.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * ALSA SoC Audio Layer - Rockchip SAI Controller driver
24 #define DRV_NAME "rockchip-sai"
78 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK && in rockchip_sai_stream_valid()
79 sai->has_playback) in rockchip_sai_stream_valid()
82 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE && in rockchip_sai_stream_valid()
83 sai->has_capture) in rockchip_sai_stream_valid()
93 if (sai->is_master_mode || sai->version < SAI_VER_2311) in rockchip_sai_fsync_lost_detect()
96 regmap_read(sai->regmap, SAI_FSCR, &fw); in rockchip_sai_fsync_lost_detect()
99 regmap_update_bits(sai->regmap, SAI_INTCR, in rockchip_sai_fsync_lost_detect()
[all …]
/linux/arch/arm/mach-s3c/
H A Dpl080.c1 // SPDX-License-Identifier: GPL-2.0
3 // Samsung's S3C64XX generic DMA support using amba-pl08x driver.
17 #include "regs-sys-s3c64xx.h"
21 return cd->min_signal; in pl08x_get_xfer_signal()
117 { "s3c6400-uart.0", "tx", &s3c64xx_dma0_info[0] },
118 { "s3c6400-uart.0", "rx", &s3c64xx_dma0_info[1] },
119 { "s3c6400-uart.1", "tx", &s3c64xx_dma0_info[2] },
120 { "s3c6400-uart.1", "rx", &s3c64xx_dma0_info[3] },
121 { "s3c6400-uart.2", "tx", &s3c64xx_dma0_info[4] },
122 { "s3c6400-uart.2", "rx", &s3c64xx_dma0_info[5] },
[all …]
/linux/arch/arm/boot/dts/marvell/
H A Darmada-388-db.dts1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4 * (DB-88F6820)
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
11 /dts-v1/;
12 #include "armada-388.dtsi"
16 compatible = "marvell,a385-db", "marvell,armada388",
20 stdout-path = "serial0:115200n8";
35 internal-regs {
38 clock-frequency = <100000>;
39 audio_codec: audio-codec@4a {
[all …]
H A Darmada-370-db.dts1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4 * (DB-88F6710-BP-DDR3)
9 * Gregory CLEMENT <gregory.clement@free-electrons.com>
10 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
15 * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier
22 /dts-v1/;
23 #include "armada-370.dtsi"
27 compatible = "marvell,a370-db", "marvell,armada370", "marvell,armada-370-xp";
30 stdout-path = "serial0:115200n8";
43 internal-regs {
[all …]
/linux/sound/soc/kirkwood/
H A Dkirkwood-i2s.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * kirkwood-i2s.c
6 * (c) 2010 Arnaud Patard <arnaud.patard@rtp-net.org>
20 #include <linux/platform_data/asoc-kirkwood.h>
34 /* These registers are relative to the second register region -
56 struct device_node *np = pdev->dev.of_node; in armada_38x_i2s_init_quirk()
60 priv->pll_config = devm_platform_ioremap_resource_byname(pdev, "pll_regs"); in armada_38x_i2s_init_quirk()
61 if (IS_ERR(priv->pll_config)) in armada_38x_i2s_init_quirk()
62 return -ENOMEM; in armada_38x_i2s_init_quirk()
64 priv->soc_control = devm_platform_ioremap_resource_byname(pdev, "soc_ctrl"); in armada_38x_i2s_init_quirk()
[all …]
/linux/Documentation/devicetree/bindings/sound/
H A Dst,sti-asoc-card.txt3 The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas
8 Documentation/devicetree/bindings/sound/simple-card.yaml.
10 1) sti-uniperiph-dai: audio dai device.
11 ---------------------------------------
14 - compatible: "st,stih407-uni-player-hdmi", "st,stih407-uni-player-pcm-out",
15 "st,stih407-uni-player-dac", "st,stih407-uni-player-spdif",
16 "st,stih407-uni-reader-pcm_in", "st,stih407-uni-reader-hdmi",
18 - st,syscfg: phandle to boot-device system configuration registers
20 - clock-names: name of the clocks listed in clocks property in the same order
22 - reg: CPU DAI IP Base address and size entries, listed in same
[all …]
/linux/include/linux/mfd/wm8994/
H A Dpdata.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * include/linux/mfd/wm8994/pdata.h -- Platform data for WM8994
39 * panel provided by the WISCE - see http://www.wolfsonmicro.com/wisce/
44 u16 regs[WM8994_DRC_REGS]; member
52 * control panel in WISCE - see http://www.wolfsonmicro.com/wisce/
57 u16 regs[WM8994_EQ_REGS]; member
64 * WISCE - see http://www.wolfsonmicro.com/wisce/
78 * multiband compressor configuration panel in WISCE - see
83 u16 regs[WM8958_VSS_HPF_REGS]; member
89 * multiband compressor configuration panel in WISCE - see
[all …]
/linux/sound/spi/
H A Dat73c213.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Driver for AT73C213 16-bit stereo DAC connected to Atmel SSC
5 * Copyright (C) 2006-2007 Atmel Norway
14 #include <linux/dma-mapping.h>
27 #include <linux/atmel-ssc.h>
41 0x00, /* 00 - CTRL */
42 0x05, /* 01 - LLI
[all...]
/linux/sound/pci/ice1712/
H A Dpsc724.c1 // SPDX-License-Identifier: GPL-2.0-or-later
7 * Copyright (c) 2012 Ondrej Zary <linux@rainbow-software.org>
34 * VT1722 (Envy24GT) - 6 outputs, 4 inputs (only 2 used), 24-bit/96kHz
42 * AC-Link configuration ICE_EEP2_ACLINK=0x80
43 * use I2S, not AC97
45 * I2S converters feature ICE_EEP2_I2S=0x30
46 * I2S codec has no volume/mute control feature (bug!)
47 * I2S codec does not support 96KHz or 192KHz (bug!)
48 * I2S codec 24bits
60 * 2-channel DAC used for main output and stereo ADC (with 10-channel MUX)
[all …]
H A Dice1712.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
16 #include <sound/ak4xxx-adda.h>
27 #define ICEREG(ice, x) ((ice)->port + ICE1712_REG_##x)
31 #define ICE1712_SERR_ASSERT_DS_DMA 0x40 /* disabled SERR# assertion for the DS DMA Ch-C irq ot…
40 #define ICE1712_IRQ_PROPCM 0x10 /* professional multi-track */
41 #define ICE1712_IRQ_FM 0x08 /* FM/MIDI - legacy */
47 #define ICE1712_REG_INDEX 0x03 /* byte - indirect CCIxx regs */
48 #define ICE1712_REG_DATA 0x04 /* byte - indirect CCIxx regs */
71 #define ICE1712_REG_CONCAP_ADDR 0x14 /* dword - consumer capture */
72 #define ICE1712_REG_CONCAP_COUNT 0x18 /* word - current/base count */
[all …]

123