/linux/include/sound/ac97/ |
H A D | controller.h | 1 /* SPDX-License-Identifier: GPL-2.0 18 * struct ac97_controller - The AC97 controller of the AC-Link 19 * @ops: the AC97 operations. 21 * @adap: the shell device ac97-%d, ie. ac97 adapter 24 * @parent: the device providing the AC97 controller. 25 * @codecs: the 4 possible AC97 codecs (NULL if none found). 28 * This structure is internal to AC97 bus, and should not be used by the 43 * struct ac97_controller_ops - The AC97 operations 44 * @reset: Cold reset of the AC97 AC-Link. 45 * @warm_reset: Warm reset of the AC97 AC-Link. [all …]
|
H A D | codec.h | 1 /* SPDX-License-Identifier: GPL-2.0 22 * struct ac97_id - matches a codec device and driver on an ac97 bus 36 * ac97_codec_device - a ac97 codec 38 * @vendor_id: the vendor_id of the codec, as sensed on the AC-link 41 * @ac97_ctrl: ac97 digital controller on the same AC-link 43 * This is the device instantiated for each codec living on a AC-link. There are 44 * normally 0 to 4 codec devices per AC-link, and all of them are controlled by 45 * an AC97 digital controller. 56 * ac97_codec_driver - a ac97 codec driver 61 * @id_table: ac97 vendor_id match table, { } member terminated [all …]
|
/linux/sound/ac97/ |
H A D | bus.c | 1 // SPDX-License-Identifier: GPL-2.0-only 19 #include <sound/ac97/codec.h> 20 #include <sound/ac97/controller.h> 21 #include <sound/ac97/regs.h> 41 return -ENODEV; in ac97_unbound_ctrl_write() 47 return -ENODE in ac97_unbound_ctrl_read() [all...] |
H A D | snd_ac97_compat.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include <sound/ac97/codec.h> 9 #include <sound/ac97/compat.h> 10 #include <sound/ac97/controller.h> 20 static void compat_ac97_reset(struct snd_ac97 *ac97) in compat_ac97_reset() argument 22 struct ac97_codec_device *adev = to_ac97_device(ac97->private_data); in compat_ac97_reset() 23 struct ac97_controller *actrl = adev->ac97_ctrl; in compat_ac97_reset() 25 if (actrl->ops->reset) in compat_ac97_reset() 26 actrl->ops->reset(actrl); in compat_ac97_reset() 29 static void compat_ac97_warm_reset(struct snd_ac97 *ac97) in compat_ac97_warm_reset() argument [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | nvidia,tegra20-ac97.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra20-ac97.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NVIDIA Tegra20 AC97 controller 10 - Thierry Reding <treding@nvidia.com> 11 - Jon Hunter <jonathanh@nvidia.com> 15 const: nvidia,tegra20-ac97 23 reset-names: 24 const: ac97 [all …]
|
H A D | fsl,ssi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Shengjiu Wang <shengjiu.wang@nxp.com> 13 Notes on fsl,playback-dma and fsl,capture-dma 14 On SOCs that have an SSI, specific DMA channels are hard-wired for playback 18 DMA controller to use, but the channels themselves are hard-wired. The 22 "fsl,playback-dma" and "fsl,capture-dma" must be marked as compatible with 23 "fsl,ssi-dma-channel". The SOC-specific compatible string (e.g. 24 "fsl,mpc8610-dma-channel") can remain. If these nodes are left as [all …]
|
H A D | marvell,pxa2xx-ac97.txt | 3 This descriptions matches the AC97 controller found in pxa2xx and pxa3xx series. 6 - compatible: should be one of the following: 7 "marvell,pxa250-ac97" 8 "marvell,pxa270-ac97" 9 "marvell,pxa300-ac97" 10 - reg: device MMIO address space 11 - interrupts: single interrupt generated by AC97 IP 12 - clocks: input clock of the AC97 IP, refer to clock-bindings.txt 15 - pinctrl-names, pinctrl-0: refer to pinctrl-bindings.txt 16 - reset-gpios: gpio used for AC97 reset, refer to gpio.txt [all …]
|
H A D | ac97-bus.txt | 1 Generic AC97 Device Properties 3 This documents describes the devicetree bindings for an ac97 controller child 4 node describing ac97 codecs. 7 -compatible : Must be "ac97,vendor_id1,vendor_id2 10 -reg : Must be the ac97 codec number, between 0 and 3 13 ac97: sound@40500000 { 14 compatible = "marvell,pxa270-ac97"; 17 reset-gpios = <&gpio 95 GPIO_ACTIVE_HIGH>; 18 #sound-dai-cells = <1>; 19 pinctrl-names = "default"; [all …]
|
H A D | atmel_ac97c.txt | 1 * Atmel AC97 controller 4 - compatible: "atmel,at91sam9263-ac97c" 5 - reg: Address and length of the register set for the device 6 - interrupts: Should contain AC97 interrupt 7 - ac97-gpios: Please refer to soc-ac97link.txt, only ac97-reset is used 9 - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt 13 compatible = "atmel,at91sam9263-ac97c"; 14 pinctrl-names = "default"; 15 pinctrl-0 = <&pinctrl_ac97>; 19 ac97-gpios = <&pioB 0 0 &pioB 2 0 &pioC 29 GPIO_ACTIVE_LOW>;
|
H A D | nvidia,tegra-audio-wm9712.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-wm9712.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Jon Hunter <jonathanh@nvidia.com> 11 - Thierry Reding <thierry.reding@gmail.com> 14 - $ref: nvidia,tegra-audio-common.yaml# 19 - pattern: '^[a-z0-9]+,tegra-audio-wm9712([-_][a-z0-9]+)+$' 20 - const: nvidia,tegra-audio-wm9712 22 nvidia,audio-routing: [all …]
|
/linux/sound/soc/au1x/ |
H A D | psc-ac97.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * (c) 2007-2009 MSC Vertriebsges.m.b.H., 8 * Au1xxx-PSC AC97 glue. 22 #include <asm/mach-au1x00/au1000.h> 23 #include <asm/mach-au1x00/au1xxx_psc.h> 54 /* this could theoretically work, but ac97->bus->card->private_data can be NULL 60 struct snd_soc_card *c = x->bus->card->private_data; 61 return snd_soc_dai_get_drvdata(c->snd_soc_rtd_to_cpu(rtd, 0)); 70 /* AC97 controller reads codec register */ 71 static unsigned short au1xpsc_ac97_read(struct snd_ac97 *ac97, in au1xpsc_ac97_read() argument [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 10 Controllers in AC97 and I2S mode, and the Descriptor-Based DMA 11 Controller (DBDMA) as found on the Au12xx/Au13xx/Au1550 SoC. 29 This is a driver set for the AC97 unit and the 30 old DMA controller as found on the Au1000/Au1500/Au1100 chips. 51 Select this option to enable AC97 audio on the early DB1x00 series 63 Select this option to enable audio (AC97 and I2S) on the
|
H A D | ac97c.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Au1000/Au1500/Au1100 AC97C controller driver for ASoC 8 * Charles Eidsness <charles@cooper-street.com> 23 #include <asm/mach-au1x00/au1000.h> 74 return __raw_readl(ctx->mmio + reg); in RD() 79 __raw_writel(v, ctx->mmio + reg); in WR() 83 static unsigned short au1xac97c_ac97_read(struct snd_ac97 *ac97, in au1xac97c_ac97_read() argument 86 struct au1xpsc_audio_data *ctx = ac97_to_ctx(ac97); in au1xac97c_ac97_read() 93 mutex_lock(&ctx->lock); in au1xac97c_ac97_read() 96 while ((RD(ctx, AC97_STATUS) & STAT_CP) && --tmo) in au1xac97c_ac97_read() [all …]
|
/linux/Documentation/sound/soc/ |
H A D | dai.rst | 6 SoC controllers and portable audio CODECs today, namely AC97, I2S and PCM. 9 AC97 chapter 12 AC97 is a five wire interface commonly found on many PC sound cards. It is 16 frame (FRAME) (usually 48kHz) is always driven by the controller. Each AC97 19 The AC97 specification can be found at : 29 controller or CODEC can drive (master) the BCLK and LRC clock lines. Bit clock 35 I2S has several different operating modes:- 58 Common PCM operating modes:-
|
/linux/arch/powerpc/boot/dts/ |
H A D | pcm030.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * phyCORE-MPC5200B-tiny (pcm030) board Device Tree Source 13 &gpt0 { fsl,has-wdt; }; 14 &gpt2 { gpio-controller; }; 15 &gpt3 { gpio-controller; }; 16 &gpt4 { gpio-controller; }; 17 &gpt5 { gpio-controller; }; 18 &gpt6 { gpio-controller; }; 19 &gpt7 { gpio-controller; }; 26 audioplatform: psc@2000 { /* PSC1 in ac97 mode */ [all …]
|
H A D | pcm032.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * phyCORE-MPC5200B-IO (pcm032) board Device Tree Source 5 * Copyright (C) 2006-2009 Pengutronix 11 &gpt0 { fsl,has-wdt; }; 12 &gpt2 { gpio-controller; }; 13 &gpt3 { gpio-controller; }; 14 &gpt4 { gpio-controller; }; 15 &gpt5 { gpio-controller; }; 16 &gpt6 { gpio-controller; }; 17 &gpt7 { gpio-controller; }; [all …]
|
H A D | lite5200b.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright 2006-2007 Secret Lab Technologies Ltd. 11 &gpt0 { fsl,has-wdt; }; 12 &gpt2 { gpio-controller; }; 13 &gpt3 { gpio-controller; }; 20 compatible = "gpio-leds"; 26 linux,default-trigger = "heartbeat"; 40 compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; 41 cell-index = <0>; 64 // PSC2 in ac97 mode example [all …]
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | marvell,dove-pinctrl.txt | 3 Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding 7 - compatible: "marvell,dove-pinctrl" 8 - clocks: (optional) phandle of pdma clock 9 - reg: register specifiers of MPP, MPP4, and PMU MPP registers 23 uart1(cts), lcd-spi(cs1), pmu* 31 mpp11 11 gpio, pmu, sata(prsnt), sata-1(act), sdio0(ledctrl), 39 mpp16 16 gpio, uart3(rts), sdio0(cd), ac97(sdi1), lcd-spi(cs1) 40 mpp17 17 gpio, uart3(cts), sdio0(wp), ac97(sdi2), twsi(sda), 41 ac97-1(sysclko) 42 mpp18 18 gpio, uart3(txd), sdio0(buspwr), ac97(sdi3), lcd0(pwm) [all …]
|
/linux/sound/soc/pxa/ |
H A D | pxa2xx-ac97.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/sound/pxa2xx-ac97.c -- AC97 support for the Intel PXA2xx chip. 15 #include <linux/dma/pxa-dma.h> 17 #include <sound/ac97/controller.h> 21 #include <sound/pxa2xx-lib.h> 24 #include <linux/platform_data/asoc-pxa.h> 28 #define MCDR 0x0060 /* Mic-in FIFO Data Register */ 98 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) in pxa2xx_ac97_hifi_startup() 113 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) in pxa2xx_ac97_aux_startup() 126 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) in pxa2xx_ac97_mic_startup() [all …]
|
/linux/sound/atmel/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 tristate "Atmel AC97 Controller (AC97C) driver" 11 ALSA sound driver for the Atmel AC97 controller.
|
/linux/sound/soc/tegra/ |
H A D | tegra20_ac97.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * tegra20_ac97.c - Tegra20 AC97 platform driver 32 #define DRV_NAME "tegra20-ac97" 36 static void tegra20_ac97_codec_reset(struct snd_ac97 *ac97) in tegra20_ac97_codec_reset() argument 46 gpiod_set_value(workdata->reset_gpio, 1); in tegra20_ac97_codec_reset() 49 gpiod_set_value(workdata->reset_gpio, 0); in tegra20_ac97_codec_reset() 55 regmap_read(workdata->regmap, TEGRA20_AC97_STATUS1, &readback); in tegra20_ac97_codec_reset() 62 static void tegra20_ac97_codec_warm_reset(struct snd_ac97 *ac97) in tegra20_ac97_codec_warm_reset() argument 69 * the controller cmd is not working, have to toggle sync line in tegra20_ac97_codec_warm_reset() 72 gpiod_direction_output(workdata->sync_gpio, 1); in tegra20_ac97_codec_warm_reset() [all …]
|
/linux/Documentation/devicetree/bindings/dma/ |
H A D | cirrus,ep9301-dma-m2p.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/dma/cirrus,ep9301-dma-m2p.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Cirrus Logic ep93xx SoC M2P DMA controller 10 - Alexander Sverdlin <alexander.sverdlin@gmail.com> 11 - Nikita Shubin <nikita.shubin@maquefel.me> 14 - $ref: dma-controller.yaml# 19 - const: cirrus,ep9301-dma-m2p 20 - items: [all …]
|
/linux/sound/pci/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 17 Say Y here to include support for the integrated AC97 sound 18 device found in particular on the Hewlett-Packard [BCJ]-xxx0 19 class PA-RISC workstations, using the AD1819 codec. 22 will be called snd-ad1889. 34 will be called snd-als300 49 will be called snd-als4000. 52 tristate "ALi M5451 PCI Audio Controller" 57 Say Y here to include support for the integrated AC97 sound 58 device on motherboards using the ALi M5451 Audio Controller [all …]
|
/linux/arch/arm/mach-pxa/ |
H A D | pxa27x.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/arch/arm/mach-pxa/pxa27x.c 12 #include <linux/dma/pxa-dma.h> 14 #include <linux/gpio-pxa.h> 24 #include <linux/platform_data/i2c-pxa.h> 36 #include <linux/platform_data/usb-ohci-pxa27x.h> 37 #include <linux/platform_data/asoc-pxa.h> 39 #include "addr-map.h" 44 #include <linux/clk-provider.h> 65 * ac97 controller during a warm reset. The configuration of the in pxa27x_configure_ac97reset() [all …]
|
/linux/sound/arm/ |
H A D | pxa2xx-ac97-lib.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Based on sound/arm/pxa2xx-ac97.c and sound/soc/pxa/pxa2xx-ac97.c 22 #include <sound/pxa2xx-lib.h> 24 #include <linux/platform_data/asoc-pxa.h> 26 #include "pxa2xx-ac97-regs.h" 39 * o Slot 12 read from modem space will hang controller. 48 int val = -ENODEV; in pxa2xx_ac97_read() 52 return -ENODEV; in pxa2xx_ac97_read() 65 /* start read access across the ac97 link */ in pxa2xx_ac97_read() 75 val = -ETIMEDOUT; in pxa2xx_ac97_read() [all …]
|