mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
Merge tag 'sound-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"It's been relatively calm in this cycle from the feature POV, but
there were lots of cleanup works in the wide-range of code for
converting with the auto-cleanup macros like guard().
The mostly user-visible changes are the support of a couple of new
compress-offload API extensions, and the support of new ASoC codec /
platform drivers as well as USB-audio quirks.
Here we go with some highlights:
Core:
- Compress-offload API extension for 64bit timestamp support
- Compress-offload API extension for OPUS codec support
- Workaround for PCM locking issue with PREEMPT_RT and softirq
- KCSAN warning fix for ALSA sequencer core
ASoC:
- Continued cleanup works for ASoC core APIs
- Lots of cleanups and conversions of DT bindings
- Substantial maintainance work on the Intel AVS drivers
- Support for Qualcomm Glymur and PM4125, Realtek RT1321, Shanghai
FourSemi FS2104/5S, Texas Instruments PCM1754 and TAS2783A
- Remove support for TI WL1273 for old Nokia systems
USB-audio:
- Support for Tascam US-144mkII, Presonus S1824c support
- More flexible quirk option handling
- Fix for USB MIDI timer bug triggered by fuzzer
Others:
- A large series of cleanups with guard() & co macros over (non-ASoC)
sound drivers (PCI, ISA, HD-audio, USB-audio, drivers, etc)
- TAS5825 HD-audio side-codec support"
* tag 'sound-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (454 commits)
ALSA: usb-audio: don't hardcode gain for output channel of Presonus Studio
ALSA: usb-audio: add the initial mix for Presonus Studio 1824c
ALSA: doc: improved docs about quirk_flags in snd-usb-audio
ALSA: usb-audio: make param quirk_flags change-able in runtime
ALSA: usb-audio: improve module param quirk_flags
ALSA: usb-audio: add two-way convert between name and bit for QUIRK_FLAG_*
ALSA: usb-audio: fix race condition to UAF in snd_usbmidi_free
ALSA: usb-audio: add mono main switch to Presonus S1824c
ALSA: compress: document 'chan_map' member in snd_dec_opus
ASoC: cs35l56: Add support for CS35L56 B2 silicon
ASoC: cs35l56: Set fw_regs table after getting REVID
ALSA: hda/realtek: Add quirk for HP Spectre 14t-ea100
ASoc: tas2783A: Fix an error code in probe()
ASoC: tlv320aic3x: Fix class-D initialization for tlv320aic3007
ASoC: qcom: sc8280xp: use sa8775p/ subdir for QCS9100 / QCS9075
ASoC: stm32: sai: manage context in set_sysclk callback
ASoC: renesas: msiof: ignore 1st FSERR
ASoC: renesas: msiof: Add note for The possibility of R/L opposite Capture
ASoC: renesas: msiof: setup both (Playback/Capture) in the same time
ASoC: renesas: msiof: tidyup DMAC stop timing
...
This commit is contained in:
@@ -1,46 +0,0 @@
|
||||
Texas Instruments TWL family (twl4030) audio module
|
||||
|
||||
The audio module inside the TWL family consist of an audio codec and a vibra
|
||||
driver.
|
||||
|
||||
Required properties:
|
||||
- compatible : must be "ti,twl4030-audio"
|
||||
|
||||
Optional properties, nodes:
|
||||
|
||||
Audio functionality:
|
||||
- codec { }: Need to be present if the audio functionality is used. Within this
|
||||
section the following options can be used:
|
||||
- ti,digimic_delay: Delay need after enabling the digimic to reduce artifacts
|
||||
from the start of the recorded sample (in ms)
|
||||
-ti,ramp_delay_value: HS ramp delay configuration to reduce pop noise
|
||||
-ti,hs_extmute: Use external mute for HS pop reduction
|
||||
-ti,hs_extmute_gpio: Use external GPIO to control the external mute
|
||||
-ti,offset_cncl_path: Offset cancellation path selection, refer to TRM for the
|
||||
valid values.
|
||||
|
||||
Vibra functionality
|
||||
- ti,enable-vibra: Need to be set to <1> if the vibra functionality is used. if
|
||||
missing or it is 0, the vibra functionality is disabled.
|
||||
|
||||
Example:
|
||||
&i2c1 {
|
||||
clock-frequency = <2600000>;
|
||||
|
||||
twl: twl@48 {
|
||||
reg = <0x48>;
|
||||
interrupts = <7>; /* SYS_NIRQ cascaded to intc */
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
twl_audio: audio {
|
||||
compatible = "ti,twl4030-audio";
|
||||
|
||||
ti,enable-vibra = <1>;
|
||||
|
||||
codec {
|
||||
ti,ramp_delay_value = <3>;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,25 +0,0 @@
|
||||
ALC5621/ALC5622/ALC5623 audio Codec
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "realtek,alc5623"
|
||||
- reg: the I2C address of the device.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- add-ctrl: Default register value for Reg-40h, Additional Control
|
||||
Register. If absent or has the value of 0, the
|
||||
register is untouched.
|
||||
|
||||
- jack-det-ctrl: Default register value for Reg-5Ah, Jack Detect
|
||||
Control Register. If absent or has value 0, the
|
||||
register is untouched.
|
||||
|
||||
Example:
|
||||
|
||||
alc5621: alc5621@1a {
|
||||
compatible = "alc5621";
|
||||
reg = <0x1a>;
|
||||
add-ctrl = <0x3700>;
|
||||
jack-det-ctrl = <0x4810>;
|
||||
};
|
||||
@@ -15,6 +15,9 @@ properties:
|
||||
- asahi-kasei,ak4458
|
||||
- asahi-kasei,ak4497
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 0
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -46,6 +49,7 @@ required:
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
* Broadcom BCM2835 SoC I2S/PCM module
|
||||
|
||||
Required properties:
|
||||
- compatible: "brcm,bcm2835-i2s"
|
||||
- reg: Should contain PCM registers location and length.
|
||||
- clocks: the (PCM) clock to use
|
||||
- dmas: List of DMA controller phandle and DMA request line ordered pairs.
|
||||
- dma-names: Identifier string for each DMA request line in the dmas property.
|
||||
These strings correspond 1:1 with the ordered pairs in dmas.
|
||||
|
||||
One of the DMA channels will be responsible for transmission (should be
|
||||
named "tx") and one for reception (should be named "rx").
|
||||
|
||||
Example:
|
||||
|
||||
bcm2835_i2s: i2s@7e203000 {
|
||||
compatible = "brcm,bcm2835-i2s";
|
||||
reg = <0x7e203000 0x24>;
|
||||
clocks = <&clocks BCM2835_CLOCK_PCM>;
|
||||
|
||||
dmas = <&dma 2>,
|
||||
<&dma 3>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
@@ -0,0 +1,51 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/brcm,bcm2835-i2s.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Broadcom BCM2835 SoC I2S/PCM module
|
||||
|
||||
maintainers:
|
||||
- Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: brcm,bcm2835-i2s
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
dmas:
|
||||
items:
|
||||
- description: Transmission DMA controller phandle and request line.
|
||||
- description: Reception DMA controller phandle and request line.
|
||||
|
||||
dma-names:
|
||||
items:
|
||||
- const: tx
|
||||
- const: rx
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- dmas
|
||||
- dma-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/bcm2835.h>
|
||||
|
||||
i2s@7e203000 {
|
||||
compatible = "brcm,bcm2835-i2s";
|
||||
reg = <0x7e203000 0x24>;
|
||||
clocks = <&clocks BCM2835_CLOCK_PCM>;
|
||||
dmas = <&dma 2>, <&dma 3>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
@@ -151,6 +151,12 @@ properties:
|
||||
minimum: 0
|
||||
maximum: 5
|
||||
|
||||
cirrus,subsystem-id:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description:
|
||||
Subsystem ID. If this property is present, it sets the system name,
|
||||
used to identify the firmware and tuning to load.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
@@ -12,6 +12,22 @@ maintainers:
|
||||
- Matteo Martelli <matteomartelli3@gmail.com>
|
||||
- Binbin Zhou <zhoubinbin@loongson.cn>
|
||||
|
||||
description: |
|
||||
Everest ES8311, ES8316 and ES8323 audio CODECs
|
||||
|
||||
Pins on the device (for linking into audio routes):
|
||||
|
||||
Outputs:
|
||||
* LOUT: Left Analog Output
|
||||
* ROUT: Right Analog Output
|
||||
* MICBIAS: Microphone Bias
|
||||
|
||||
Inputs:
|
||||
* MIC1P: Microphone 1 Positive Analog Input
|
||||
* MIC1N: Microphone 1 Negative Analog Input
|
||||
* MIC2P: Microphone 2 Positive Analog Input
|
||||
* MIC2N: Microphone 2 Negative Analog Input
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/foursemi,fs2105s.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: FourSemi FS2104/5S Digital Audio Amplifier
|
||||
|
||||
maintainers:
|
||||
- Nick Li <nick.li@foursemi.com>
|
||||
|
||||
description:
|
||||
The FS2104 is a 15W Inductor-Less, Stereo, Closed-Loop,
|
||||
Digital Input Class-D Power Amplifier with Enhanced Signal Processing.
|
||||
The FS2105S is a 30W Inductor-Less, Stereo, Closed-Loop,
|
||||
Digital Input Class-D Power Amplifier with Enhanced Signal Processing.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- foursemi,fs2104
|
||||
- const: foursemi,fs2105s
|
||||
- enum:
|
||||
- foursemi,fs2105s
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: The clock of I2S BCLK
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: bclk
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
pvdd-supply:
|
||||
description:
|
||||
Regulator for power supply(PVDD in datasheet).
|
||||
|
||||
dvdd-supply:
|
||||
description:
|
||||
Regulator for digital supply(DVDD in datasheet).
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
It's the SDZ pin in datasheet, the pin is active low,
|
||||
it will power down and reset the chip to shut down state.
|
||||
|
||||
firmware-name:
|
||||
maxItems: 1
|
||||
description: |
|
||||
The firmware(*.bin) contains:
|
||||
a. Register initialization settings
|
||||
b. DSP effect parameters
|
||||
c. Multi-scene sound effect configurations(optional)
|
||||
It's gernerated by FourSemi's tuning tool.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- '#sound-dai-cells'
|
||||
- pvdd-supply
|
||||
- dvdd-supply
|
||||
- reset-gpios
|
||||
- firmware-name
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
audio-codec@68 {
|
||||
compatible = "foursemi,fs2105s";
|
||||
reg = <0x68>;
|
||||
clocks = <&clocks 18>;
|
||||
clock-names = "bclk";
|
||||
#sound-dai-cells = <0>;
|
||||
pvdd-supply = <&pvdd_supply>;
|
||||
dvdd-supply = <&dvdd_supply>;
|
||||
reset-gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
firmware-name = "fs2105s-btl-2p0-0s.bin";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&fs210x_pins_default>;
|
||||
};
|
||||
};
|
||||
@@ -104,6 +104,6 @@ examples:
|
||||
"ctx2_rx", "ctx2_tx",
|
||||
"ctx3_rx", "ctx3_tx";
|
||||
firmware-name = "imx/easrc/easrc-imx8mn.bin";
|
||||
fsl,asrc-rate = <8000>;
|
||||
fsl,asrc-rate = <8000>;
|
||||
fsl,asrc-format = <2>;
|
||||
};
|
||||
|
||||
@@ -176,7 +176,7 @@ examples:
|
||||
<&sdma 20 23 1>, <&sdma 21 23 1>, <&sdma 22 23 1>;
|
||||
dma-names = "rxa", "rxb", "rxc",
|
||||
"txa", "txb", "txc";
|
||||
fsl,asrc-rate = <48000>;
|
||||
fsl,asrc-rate = <48000>;
|
||||
fsl,asrc-width = <16>;
|
||||
|
||||
port {
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
Freescale i.MX audio complex with SGTL5000 codec
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "fsl,imx-audio-sgtl5000"
|
||||
|
||||
- model : The user-visible name of this sound complex
|
||||
|
||||
- ssi-controller : The phandle of the i.MX SSI controller
|
||||
|
||||
- audio-codec : The phandle of the SGTL5000 audio codec
|
||||
|
||||
- audio-routing : A list of the connections between audio components.
|
||||
Each entry is a pair of strings, the first being the
|
||||
connection's sink, the second being the connection's
|
||||
source. Valid names could be power supplies, SGTL5000
|
||||
pins, and the jacks on the board:
|
||||
|
||||
Power supplies:
|
||||
* Mic Bias
|
||||
|
||||
SGTL5000 pins:
|
||||
* MIC_IN
|
||||
* LINE_IN
|
||||
* HP_OUT
|
||||
* LINE_OUT
|
||||
|
||||
Board connectors:
|
||||
* Mic Jack
|
||||
* Line In Jack
|
||||
* Headphone Jack
|
||||
* Line Out Jack
|
||||
* Ext Spk
|
||||
|
||||
- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX)
|
||||
|
||||
- mux-ext-port : The external port of the i.MX audio muxer
|
||||
|
||||
Note: The AUDMUX port numbering should start at 1, which is consistent with
|
||||
hardware manual.
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "fsl,imx51-babbage-sgtl5000",
|
||||
"fsl,imx-audio-sgtl5000";
|
||||
model = "imx51-babbage-sgtl5000";
|
||||
ssi-controller = <&ssi1>;
|
||||
audio-codec = <&sgtl5000>;
|
||||
audio-routing =
|
||||
"MIC_IN", "Mic Jack",
|
||||
"Mic Jack", "Mic Bias",
|
||||
"Headphone Jack", "HP_OUT";
|
||||
mux-int-port = <1>;
|
||||
mux-ext-port = <3>;
|
||||
};
|
||||
@@ -23,6 +23,9 @@ properties:
|
||||
|
||||
sound-name-prefix: true
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
required:
|
||||
- "#sound-dai-cells"
|
||||
- compatible
|
||||
|
||||
@@ -0,0 +1,228 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mediatek,mt8183-audio.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Mediatek AFE PCM controller for mt8183
|
||||
|
||||
maintainers:
|
||||
- Julien Massot <jmassot@collabora.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt8183-audio
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
reset-names:
|
||||
const: audiosys
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
memory-region:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: AFE clock
|
||||
- description: ADDA DAC clock
|
||||
- description: ADDA DAC pre-distortion clock
|
||||
- description: ADDA ADC clock
|
||||
- description: ADDA6 ADC clock
|
||||
- description: Audio low-jitter 22.5792m clock
|
||||
- description: Audio low-jitter 24.576m clock
|
||||
- description: Audio PLL1 tuner clock
|
||||
- description: Audio PLL2 tuner clock
|
||||
- description: I2S1 bit clock
|
||||
- description: I2S2 bit clock
|
||||
- description: I2S3 bit clock
|
||||
- description: I2S4 bit clock
|
||||
- description: Audio Time-Division Multiplexing interface clock
|
||||
- description: Powerdown Audio test model clock
|
||||
- description: Audio infra sys clock
|
||||
- description: Audio infra 26M clock
|
||||
- description: Mux for audio clock
|
||||
- description: Mux for audio internal bus clock
|
||||
- description: Mux main divider by 4
|
||||
- description: Primary audio mux
|
||||
- description: Primary audio PLL
|
||||
- description: Secondary audio mux
|
||||
- description: Secondary audio PLL
|
||||
- description: Primary audio en-generator clock
|
||||
- description: Primary PLL divider by 4 for IEC
|
||||
- description: Secondary audio en-generator clock
|
||||
- description: Secondary PLL divider by 8 for IEC
|
||||
- description: Mux selector for I2S port 0
|
||||
- description: Mux selector for I2S port 1
|
||||
- description: Mux selector for I2S port 2
|
||||
- description: Mux selector for I2S port 3
|
||||
- description: Mux selector for I2S port 4
|
||||
- description: Mux selector for I2S port 5
|
||||
- description: APLL1 and APLL2 divider for I2S port 0
|
||||
- description: APLL1 and APLL2 divider for I2S port 1
|
||||
- description: APLL1 and APLL2 divider for I2S port 2
|
||||
- description: APLL1 and APLL2 divider for I2S port 3
|
||||
- description: APLL1 and APLL2 divider for I2S port 4
|
||||
- description: APLL1 and APLL2 divider for IEC
|
||||
- description: 26MHz clock for audio subsystem
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: aud_afe_clk
|
||||
- const: aud_dac_clk
|
||||
- const: aud_dac_predis_clk
|
||||
- const: aud_adc_clk
|
||||
- const: aud_adc_adda6_clk
|
||||
- const: aud_apll22m_clk
|
||||
- const: aud_apll24m_clk
|
||||
- const: aud_apll1_tuner_clk
|
||||
- const: aud_apll2_tuner_clk
|
||||
- const: aud_i2s1_bclk_sw
|
||||
- const: aud_i2s2_bclk_sw
|
||||
- const: aud_i2s3_bclk_sw
|
||||
- const: aud_i2s4_bclk_sw
|
||||
- const: aud_tdm_clk
|
||||
- const: aud_tml_clk
|
||||
- const: aud_infra_clk
|
||||
- const: mtkaif_26m_clk
|
||||
- const: top_mux_audio
|
||||
- const: top_mux_aud_intbus
|
||||
- const: top_syspll_d2_d4
|
||||
- const: top_mux_aud_1
|
||||
- const: top_apll1_ck
|
||||
- const: top_mux_aud_2
|
||||
- const: top_apll2_ck
|
||||
- const: top_mux_aud_eng1
|
||||
- const: top_apll1_d8
|
||||
- const: top_mux_aud_eng2
|
||||
- const: top_apll2_d8
|
||||
- const: top_i2s0_m_sel
|
||||
- const: top_i2s1_m_sel
|
||||
- const: top_i2s2_m_sel
|
||||
- const: top_i2s3_m_sel
|
||||
- const: top_i2s4_m_sel
|
||||
- const: top_i2s5_m_sel
|
||||
- const: top_apll12_div0
|
||||
- const: top_apll12_div1
|
||||
- const: top_apll12_div2
|
||||
- const: top_apll12_div3
|
||||
- const: top_apll12_div4
|
||||
- const: top_apll12_divb
|
||||
- const: top_clk26m_clk
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- interrupts
|
||||
- resets
|
||||
- reset-names
|
||||
- power-domains
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/mt8183-clk.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/power/mt8183-power.h>
|
||||
#include <dt-bindings/reset/mt8183-resets.h>
|
||||
|
||||
audio-controller {
|
||||
compatible = "mediatek,mt8183-audio";
|
||||
interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>;
|
||||
resets = <&watchdog MT8183_TOPRGU_AUDIO_SW_RST>;
|
||||
reset-names = "audiosys";
|
||||
power-domains = <&spm MT8183_POWER_DOMAIN_AUDIO>;
|
||||
clocks = <&audiosys CLK_AUDIO_AFE>,
|
||||
<&audiosys CLK_AUDIO_DAC>,
|
||||
<&audiosys CLK_AUDIO_DAC_PREDIS>,
|
||||
<&audiosys CLK_AUDIO_ADC>,
|
||||
<&audiosys CLK_AUDIO_PDN_ADDA6_ADC>,
|
||||
<&audiosys CLK_AUDIO_22M>,
|
||||
<&audiosys CLK_AUDIO_24M>,
|
||||
<&audiosys CLK_AUDIO_APLL_TUNER>,
|
||||
<&audiosys CLK_AUDIO_APLL2_TUNER>,
|
||||
<&audiosys CLK_AUDIO_I2S1>,
|
||||
<&audiosys CLK_AUDIO_I2S2>,
|
||||
<&audiosys CLK_AUDIO_I2S3>,
|
||||
<&audiosys CLK_AUDIO_I2S4>,
|
||||
<&audiosys CLK_AUDIO_TDM>,
|
||||
<&audiosys CLK_AUDIO_TML>,
|
||||
<&infracfg CLK_INFRA_AUDIO>,
|
||||
<&infracfg CLK_INFRA_AUDIO_26M_BCLK>,
|
||||
<&topckgen CLK_TOP_MUX_AUDIO>,
|
||||
<&topckgen CLK_TOP_MUX_AUD_INTBUS>,
|
||||
<&topckgen CLK_TOP_SYSPLL_D2_D4>,
|
||||
<&topckgen CLK_TOP_MUX_AUD_1>,
|
||||
<&topckgen CLK_TOP_APLL1_CK>,
|
||||
<&topckgen CLK_TOP_MUX_AUD_2>,
|
||||
<&topckgen CLK_TOP_APLL2_CK>,
|
||||
<&topckgen CLK_TOP_MUX_AUD_ENG1>,
|
||||
<&topckgen CLK_TOP_APLL1_D8>,
|
||||
<&topckgen CLK_TOP_MUX_AUD_ENG2>,
|
||||
<&topckgen CLK_TOP_APLL2_D8>,
|
||||
<&topckgen CLK_TOP_MUX_APLL_I2S0>,
|
||||
<&topckgen CLK_TOP_MUX_APLL_I2S1>,
|
||||
<&topckgen CLK_TOP_MUX_APLL_I2S2>,
|
||||
<&topckgen CLK_TOP_MUX_APLL_I2S3>,
|
||||
<&topckgen CLK_TOP_MUX_APLL_I2S4>,
|
||||
<&topckgen CLK_TOP_MUX_APLL_I2S5>,
|
||||
<&topckgen CLK_TOP_APLL12_DIV0>,
|
||||
<&topckgen CLK_TOP_APLL12_DIV1>,
|
||||
<&topckgen CLK_TOP_APLL12_DIV2>,
|
||||
<&topckgen CLK_TOP_APLL12_DIV3>,
|
||||
<&topckgen CLK_TOP_APLL12_DIV4>,
|
||||
<&topckgen CLK_TOP_APLL12_DIVB>,
|
||||
<&clk26m>;
|
||||
clock-names = "aud_afe_clk",
|
||||
"aud_dac_clk",
|
||||
"aud_dac_predis_clk",
|
||||
"aud_adc_clk",
|
||||
"aud_adc_adda6_clk",
|
||||
"aud_apll22m_clk",
|
||||
"aud_apll24m_clk",
|
||||
"aud_apll1_tuner_clk",
|
||||
"aud_apll2_tuner_clk",
|
||||
"aud_i2s1_bclk_sw",
|
||||
"aud_i2s2_bclk_sw",
|
||||
"aud_i2s3_bclk_sw",
|
||||
"aud_i2s4_bclk_sw",
|
||||
"aud_tdm_clk",
|
||||
"aud_tml_clk",
|
||||
"aud_infra_clk",
|
||||
"mtkaif_26m_clk",
|
||||
"top_mux_audio",
|
||||
"top_mux_aud_intbus",
|
||||
"top_syspll_d2_d4",
|
||||
"top_mux_aud_1",
|
||||
"top_apll1_ck",
|
||||
"top_mux_aud_2",
|
||||
"top_apll2_ck",
|
||||
"top_mux_aud_eng1",
|
||||
"top_apll1_d8",
|
||||
"top_mux_aud_eng2",
|
||||
"top_apll2_d8",
|
||||
"top_i2s0_m_sel",
|
||||
"top_i2s1_m_sel",
|
||||
"top_i2s2_m_sel",
|
||||
"top_i2s3_m_sel",
|
||||
"top_i2s4_m_sel",
|
||||
"top_i2s5_m_sel",
|
||||
"top_apll12_div0",
|
||||
"top_apll12_div1",
|
||||
"top_apll12_div2",
|
||||
"top_apll12_div3",
|
||||
"top_apll12_div4",
|
||||
"top_apll12_divb",
|
||||
"top_clk26m_clk";
|
||||
};
|
||||
|
||||
...
|
||||
@@ -0,0 +1,49 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mediatek,mt8183_da7219.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek MT8183 sound card with external codecs
|
||||
|
||||
maintainers:
|
||||
- Julien Massot <jmassot@collabora.com>
|
||||
|
||||
description:
|
||||
MediaTek MT8183 SoC-based sound cards with DA7219 as headset codec,
|
||||
and MAX98357A, RT1015 or RT1015P as speaker amplifiers. Optionally includes HDMI codec.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- mediatek,mt8183_da7219_max98357
|
||||
- mediatek,mt8183_da7219_rt1015
|
||||
- mediatek,mt8183_da7219_rt1015p
|
||||
|
||||
mediatek,headset-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Phandle to the DA7219 headset codec.
|
||||
|
||||
mediatek,platform:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Phandle to the MT8183 ASoC platform (e.g., AFE node).
|
||||
|
||||
mediatek,hdmi-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Optional phandle to the HDMI codec (e.g., IT6505).
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- mediatek,headset-codec
|
||||
- mediatek,platform
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "mediatek,mt8183_da7219_max98357";
|
||||
mediatek,headset-codec = <&da7219>;
|
||||
mediatek,hdmi-codec = <&it6505dptx>;
|
||||
mediatek,platform = <&afe>;
|
||||
};
|
||||
@@ -0,0 +1,59 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mediatek,mt8183_mt6358_ts3a227.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek MT8183 sound card with MT6358, TS3A227, and MAX98357/RT1015 codecs
|
||||
|
||||
maintainers:
|
||||
- Julien Massot <julien.massot@collabora.com>
|
||||
|
||||
description:
|
||||
MediaTek MT8183 SoC-based sound cards using the MT6358 codec,
|
||||
with optional TS3A227 headset codec, EC codec (via Chrome EC), and HDMI audio.
|
||||
Speaker amplifier can be one of MAX98357A/B, RT1015, or RT1015P.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- mediatek,mt8183_mt6358_ts3a227_max98357
|
||||
- mediatek,mt8183_mt6358_ts3a227_max98357b
|
||||
- mediatek,mt8183_mt6358_ts3a227_rt1015
|
||||
- mediatek,mt8183_mt6358_ts3a227_rt1015p
|
||||
|
||||
mediatek,platform:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Phandle to the MT8183 ASoC platform node (e.g., AFE).
|
||||
|
||||
mediatek,headset-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Phandle to the TS3A227 headset codec.
|
||||
|
||||
mediatek,ec-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: |
|
||||
Optional phandle to a ChromeOS EC codec node.
|
||||
See bindings in google,cros-ec-codec.yaml.
|
||||
|
||||
mediatek,hdmi-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Optional phandle to an HDMI audio codec node.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- mediatek,platform
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "mediatek,mt8183_mt6358_ts3a227_max98357";
|
||||
mediatek,headset-codec = <&ts3a227>;
|
||||
mediatek,ec-codec = <&ec_codec>;
|
||||
mediatek,hdmi-codec = <&it6505dptx>;
|
||||
mediatek,platform = <&afe>;
|
||||
};
|
||||
|
||||
...
|
||||
@@ -1,42 +0,0 @@
|
||||
Mediatek AFE PCM controller for mt8183
|
||||
|
||||
Required properties:
|
||||
- compatible = "mediatek,mt68183-audio";
|
||||
- reg: register location and size
|
||||
- interrupts: should contain AFE interrupt
|
||||
- resets: Must contain an entry for each entry in reset-names
|
||||
See ../reset/reset.txt for details.
|
||||
- reset-names: should have these reset names:
|
||||
"audiosys";
|
||||
- power-domains: should define the power domain
|
||||
- clocks: Must contain an entry for each entry in clock-names
|
||||
- clock-names: should have these clock names:
|
||||
"infra_sys_audio_clk",
|
||||
"mtkaif_26m_clk",
|
||||
"top_mux_audio",
|
||||
"top_mux_aud_intbus",
|
||||
"top_sys_pll3_d4",
|
||||
"top_clk26m_clk";
|
||||
|
||||
Example:
|
||||
|
||||
afe: mt8183-afe-pcm@11220000 {
|
||||
compatible = "mediatek,mt8183-audio";
|
||||
reg = <0 0x11220000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>;
|
||||
resets = <&watchdog MT8183_TOPRGU_AUDIO_SW_RST>;
|
||||
reset-names = "audiosys";
|
||||
power-domains = <&scpsys MT8183_POWER_DOMAIN_AUDIO>;
|
||||
clocks = <&infrasys CLK_INFRA_AUDIO>,
|
||||
<&infrasys CLK_INFRA_AUDIO_26M_BCLK>,
|
||||
<&topckgen CLK_TOP_MUX_AUDIO>,
|
||||
<&topckgen CLK_TOP_MUX_AUD_INTBUS>,
|
||||
<&topckgen CLK_TOP_SYSPLL_D2_D4>,
|
||||
<&clk26m>;
|
||||
clock-names = "infra_sys_audio_clk",
|
||||
"mtkaif_26m_clk",
|
||||
"top_mux_audio",
|
||||
"top_mux_aud_intbus",
|
||||
"top_sys_pll_d2_d4",
|
||||
"top_clk26m_clk";
|
||||
};
|
||||
@@ -1,21 +0,0 @@
|
||||
MT8183 with MT6358, DA7219, MAX98357, and RT1015 CODECS
|
||||
|
||||
Required properties:
|
||||
- compatible : "mediatek,mt8183_da7219_max98357" for MAX98357A codec
|
||||
"mediatek,mt8183_da7219_rt1015" for RT1015 codec
|
||||
"mediatek,mt8183_da7219_rt1015p" for RT1015P codec
|
||||
- mediatek,headset-codec: the phandles of da7219 codecs
|
||||
- mediatek,platform: the phandle of MT8183 ASoC platform
|
||||
|
||||
Optional properties:
|
||||
- mediatek,hdmi-codec: the phandles of HDMI codec
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "mediatek,mt8183_da7219_max98357";
|
||||
mediatek,headset-codec = <&da7219>;
|
||||
mediatek,hdmi-codec = <&it6505dptx>;
|
||||
mediatek,platform = <&afe>;
|
||||
};
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
MT8183 with MT6358, TS3A227, MAX98357, and RT1015 CODECS
|
||||
|
||||
Required properties:
|
||||
- compatible : "mediatek,mt8183_mt6358_ts3a227_max98357" for MAX98357A codec
|
||||
"mediatek,mt8183_mt6358_ts3a227_max98357b" for MAX98357B codec
|
||||
"mediatek,mt8183_mt6358_ts3a227_rt1015" for RT1015 codec
|
||||
"mediatek,mt8183_mt6358_ts3a227_rt1015p" for RT1015P codec
|
||||
- mediatek,platform: the phandle of MT8183 ASoC platform
|
||||
|
||||
Optional properties:
|
||||
- mediatek,headset-codec: the phandles of ts3a227 codecs
|
||||
- mediatek,ec-codec: the phandle of EC codecs.
|
||||
See google,cros-ec-codec.txt for more details.
|
||||
- mediatek,hdmi-codec: the phandles of HDMI codec
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "mediatek,mt8183_mt6358_ts3a227_max98357";
|
||||
mediatek,headset-codec = <&ts3a227>;
|
||||
mediatek,ec-codec = <&ec_codec>;
|
||||
mediatek,hdmi-codec = <&it6505dptx>;
|
||||
mediatek,platform = <&afe>;
|
||||
};
|
||||
|
||||
@@ -9,6 +9,20 @@ title: NAU8825 audio CODEC
|
||||
maintainers:
|
||||
- John Hsu <KCHSU0@nuvoton.com>
|
||||
|
||||
description: |
|
||||
NAU8825 audio CODEC
|
||||
|
||||
Pins on the device (for linking into audio routes):
|
||||
|
||||
Outputs:
|
||||
* HPOL : Headphone Left Output
|
||||
* HPOR : Headphone Right Output
|
||||
* MICBIAS : Microphone Bias Output
|
||||
|
||||
Inputs:
|
||||
* MICP : Analog Microphone Positive Input
|
||||
* MICN : Analog Microphone Negative Input
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
* Texas Instruments SoC with twl4030 based audio setups
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,omap-twl4030"
|
||||
- ti,model: Name of the sound card (for example "omap3beagle")
|
||||
- ti,mcbsp: phandle for the McBSP node
|
||||
|
||||
Optional properties:
|
||||
- ti,codec: phandle for the twl4030 audio node
|
||||
- ti,mcbsp-voice: phandle for the McBSP node connected to the voice port of twl
|
||||
- ti, jack-det-gpio: Jack detect GPIO
|
||||
- ti,audio-routing: List of connections between audio components.
|
||||
Each entry is a pair of strings, the first being the connection's sink,
|
||||
the second being the connection's source.
|
||||
If the routing is not provided all possible connection will be available
|
||||
|
||||
Available audio endpoints for the audio-routing table:
|
||||
|
||||
Board connectors:
|
||||
* Headset Stereophone
|
||||
* Earpiece Spk
|
||||
* Handsfree Spk
|
||||
* Ext Spk
|
||||
* Main Mic
|
||||
* Sub Mic
|
||||
* Headset Mic
|
||||
* Carkit Mic
|
||||
* Digital0 Mic
|
||||
* Digital1 Mic
|
||||
* Line In
|
||||
|
||||
twl4030 pins:
|
||||
* HSOL
|
||||
* HSOR
|
||||
* EARPIECE
|
||||
* HFL
|
||||
* HFR
|
||||
* PREDRIVEL
|
||||
* PREDRIVER
|
||||
* CARKITL
|
||||
* CARKITR
|
||||
* MAINMIC
|
||||
* SUBMIC
|
||||
* HSMIC
|
||||
* DIGIMIC0
|
||||
* DIGIMIC1
|
||||
* CARKITMIC
|
||||
* AUXL
|
||||
* AUXR
|
||||
|
||||
* Headset Mic Bias
|
||||
* Mic Bias 1 /* Used for Main Mic or Digimic0 */
|
||||
* Mic Bias 2 /* Used for Sub Mic or Digimic1 */
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "ti,omap-twl4030";
|
||||
ti,model = "omap3beagle";
|
||||
|
||||
ti,mcbsp = <&mcbsp2>;
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user