mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
Merge tag 'asoc-v7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v7.1 There's one new core feature here but mostly this has been a fairly quiet release, we've got a few new drivers and one core feature that's likely to be relatively rarely used but the bulk of the work this time around has been on quality. - Support for bus keepers, this will be used by the Apple device support. - Enhancements to the SDCA support, incuding retaskable jacks. - Unwinding of the pcm_new()/pcm_free() cleanups from Morimoto-san. - Test improvements for the Cirrus Logic drivers. - Large sets of fixes for the NXP, nVidia and Qualcomm drivers. - Support for AMD RPL DMICs, Cirrus Logic CS42L43 and CS47L47, nVidia machines with CPCAP and WM8962.
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
Analog Devices SSM2305 Speaker Amplifier
|
||||
========================================
|
||||
|
||||
Required properties:
|
||||
- compatible : "adi,ssm2305"
|
||||
- shutdown-gpios : The gpio connected to the shutdown pin.
|
||||
The gpio signal is ACTIVE_LOW.
|
||||
|
||||
Example:
|
||||
|
||||
ssm2305: analog-amplifier {
|
||||
compatible = "adi,ssm2305";
|
||||
shutdown-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
@@ -0,0 +1,46 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/adi,ssm2305.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Analog Devices SSM2305 Class-D Speaker Amplifier
|
||||
|
||||
maintainers:
|
||||
- Lars-Peter Clausen <lars@metafoo.de>
|
||||
|
||||
description:
|
||||
The SSM2305 is a filterless, high efficiency, mono 2.8 W Class-D
|
||||
audio amplifier with a micropower shutdown mode controlled via a
|
||||
dedicated active-low GPIO pin.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: adi,ssm2305
|
||||
|
||||
shutdown-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
GPIO connected to the shutdown pin (SD) of the SSM2305.
|
||||
The pin is active-low; asserting it puts the device into
|
||||
micropower shutdown mode.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- shutdown-gpios
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
analog-amplifier {
|
||||
compatible = "adi,ssm2305";
|
||||
shutdown-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
...
|
||||
@@ -35,6 +35,10 @@ properties:
|
||||
|
||||
dvdd-supply: true
|
||||
|
||||
firmware-name:
|
||||
maxItems: 1
|
||||
description: Name of the *_acf.bin file used for amplifier initialization
|
||||
|
||||
awinic,audio-channel:
|
||||
description:
|
||||
It is used to distinguish multiple PA devices, so that different
|
||||
|
||||
@@ -16,6 +16,8 @@ description: |
|
||||
DAC for headphone output, two integrated Class D amplifiers for
|
||||
loudspeakers, and two ADCs for wired headset microphone input or
|
||||
stereo line input. PDM inputs are provided for digital microphones.
|
||||
CS42L43B variant adds dedicated PDM interface, SoundWire Clock Gearing
|
||||
support and more decimators to ISRCs.
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
@@ -24,6 +26,7 @@ properties:
|
||||
compatible:
|
||||
enum:
|
||||
- cirrus,cs42l43
|
||||
- cirrus,cs42l43b
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
* Hisilicon 6210 i2s controller
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be one of the following:
|
||||
- "hisilicon,hi6210-i2s"
|
||||
- reg: physical base address of the i2s controller unit and length of
|
||||
memory mapped region.
|
||||
- interrupts: should contain the i2s interrupt.
|
||||
- clocks: a list of phandle + clock-specifier pairs, one for each entry
|
||||
in clock-names.
|
||||
- clock-names: should contain following:
|
||||
- "dacodec"
|
||||
- "i2s-base"
|
||||
- dmas: DMA specifiers for tx dma. See the DMA client binding,
|
||||
Documentation/devicetree/bindings/dma/dma.txt
|
||||
- dma-names: should be "tx" and "rx"
|
||||
- hisilicon,sysctrl-syscon: phandle to sysctrl syscon
|
||||
- #sound-dai-cells: Should be set to 1 (for multi-dai)
|
||||
- The dai cell indexes reference the following interfaces:
|
||||
0: S2 interface
|
||||
(Currently that is the only one available, but more may be
|
||||
supported in the future)
|
||||
|
||||
Example for the hi6210 i2s controller:
|
||||
|
||||
i2s0: i2s@f7118000{
|
||||
compatible = "hisilicon,hi6210-i2s";
|
||||
reg = <0x0 0xf7118000 0x0 0x8000>; /* i2s unit */
|
||||
interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; /* 155 "DigACodec_intr"-32 */
|
||||
clocks = <&sys_ctrl HI6220_DACODEC_PCLK>,
|
||||
<&sys_ctrl HI6220_BBPPLL0_DIV>;
|
||||
clock-names = "dacodec", "i2s-base";
|
||||
dmas = <&dma0 15 &dma0 14>;
|
||||
dma-names = "rx", "tx";
|
||||
hisilicon,sysctrl-syscon = <&sys_ctrl>;
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
||||
|
||||
Then when referencing the i2s controller:
|
||||
sound-dai = <&i2s0 0>; /* index 0 => S2 interface */
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/hisilicon,hi6210-i2s.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: HiSilicon hi6210 I2S controller
|
||||
|
||||
maintainers:
|
||||
- John Stultz <john.stultz@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: hisilicon,hi6210-i2s
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: dacodec
|
||||
- const: i2s-base
|
||||
|
||||
dmas:
|
||||
maxItems: 2
|
||||
|
||||
dma-names:
|
||||
items:
|
||||
- const: tx
|
||||
- const: rx
|
||||
|
||||
hisilicon,sysctrl-syscon:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: phandle to sysctrl syscon
|
||||
|
||||
"#sound-dai-cells":
|
||||
const: 1
|
||||
description: |
|
||||
The dai cell indexes reference the following interfaces:
|
||||
0: S2 interface
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-names
|
||||
- dmas
|
||||
- dma-names
|
||||
- hisilicon,sysctrl-syscon
|
||||
- "#sound-dai-cells"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/hi6220-clock.h>
|
||||
|
||||
i2s@f7118000 {
|
||||
compatible = "hisilicon,hi6210-i2s";
|
||||
reg = <0xf7118000 0x8000>;
|
||||
interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sys_ctrl HI6220_DACODEC_PCLK>,
|
||||
<&sys_ctrl HI6220_BBPPLL0_DIV>;
|
||||
clock-names = "dacodec", "i2s-base";
|
||||
dmas = <&dma0 14>, <&dma0 15>;
|
||||
dma-names = "tx", "rx";
|
||||
hisilicon,sysctrl-syscon = <&sys_ctrl>;
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
||||
@@ -24,6 +24,7 @@ patternProperties:
|
||||
cpu/codec dais.
|
||||
|
||||
type: object
|
||||
$ref: tdm-slot.yaml#
|
||||
|
||||
properties:
|
||||
link-name:
|
||||
@@ -38,13 +39,9 @@ patternProperties:
|
||||
- i2s
|
||||
- dsp_b
|
||||
|
||||
dai-tdm-slot-num:
|
||||
description: see tdm-slot.txt.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
dai-tdm-slot-num: true
|
||||
|
||||
dai-tdm-slot-width:
|
||||
description: see tdm-slot.txt.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
dai-tdm-slot-width: true
|
||||
|
||||
playback-only:
|
||||
description: link is used only for playback
|
||||
|
||||
@@ -28,8 +28,6 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: The phandle of the WM8960 audio codec.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- mediatek,platform
|
||||
@@ -38,6 +36,8 @@ required:
|
||||
- pinctrl-names
|
||||
- pinctrl-0
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
|
||||
@@ -36,14 +36,14 @@ properties:
|
||||
required:
|
||||
- sound-dai
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- audio-routing
|
||||
- platform
|
||||
- codec
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mediatek,mt8173-rt5650-rt5514.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Mediatek MT8173 with RT5650 and RT5514 audio codecs
|
||||
|
||||
maintainers:
|
||||
- Koro Chen <koro.chen@mediatek.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt8173-rt5650-rt5514
|
||||
|
||||
mediatek,audio-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: Phandles of rt5650 and rt5514 codecs
|
||||
items:
|
||||
- description: phandle of rt5650 codec
|
||||
- description: phandle of rt5514 codec
|
||||
|
||||
mediatek,platform:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: The phandle of MT8173 ASoC platform.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- mediatek,audio-codec
|
||||
- mediatek,platform
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "mediatek,mt8173-rt5650-rt5514";
|
||||
mediatek,audio-codec = <&rt5650>, <&rt5514>;
|
||||
mediatek,platform = <&afe>;
|
||||
};
|
||||
...
|
||||
@@ -105,12 +105,12 @@ patternProperties:
|
||||
required:
|
||||
- link-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- mediatek,platform
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
MT8173 with RT5650 RT5514 CODECS
|
||||
|
||||
Required properties:
|
||||
- compatible : "mediatek,mt8173-rt5650-rt5514"
|
||||
- mediatek,audio-codec: the phandles of rt5650 and rt5514 codecs
|
||||
- mediatek,platform: the phandle of MT8173 ASoC platform
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "mediatek,mt8173-rt5650-rt5514";
|
||||
mediatek,audio-codec = <&rt5650 &rt5514>;
|
||||
mediatek,platform = <&afe>;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-cpcap.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NVIDIA Tegra audio complex with CPCAP CODEC
|
||||
|
||||
maintainers:
|
||||
- Svyatoslav Ryhel <clamor95@gmail.com>
|
||||
|
||||
allOf:
|
||||
- $ref: nvidia,tegra-audio-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- pattern: '^motorola,tegra-audio-cpcap(-[a-z0-9]+)+$'
|
||||
- const: nvidia,tegra-audio-cpcap
|
||||
|
||||
nvidia,audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
description:
|
||||
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 for sources and sinks are
|
||||
the pins (documented in the binding document), and the jacks on the
|
||||
board.
|
||||
minItems: 2
|
||||
items:
|
||||
enum:
|
||||
# Board Connectors
|
||||
- Speakers
|
||||
- Int Spk
|
||||
- Earpiece
|
||||
- Int Mic
|
||||
- Headset Mic
|
||||
- Internal Mic 1
|
||||
- Internal Mic 2
|
||||
- Headphone
|
||||
- Headphones
|
||||
- Headphone Jack
|
||||
- Mic Jack
|
||||
|
||||
# CODEC Pins
|
||||
- MICR
|
||||
- HSMIC
|
||||
- EMUMIC
|
||||
- MICL
|
||||
- EXTR
|
||||
- EXTL
|
||||
- EP
|
||||
- SPKR
|
||||
- SPKL
|
||||
- LINER
|
||||
- LINEL
|
||||
- HSR
|
||||
- HSL
|
||||
- EMUR
|
||||
- EMUL
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/tegra20-car.h>
|
||||
#include <dt-bindings/soc/tegra-pmc.h>
|
||||
sound {
|
||||
compatible = "motorola,tegra-audio-cpcap-olympus",
|
||||
"nvidia,tegra-audio-cpcap";
|
||||
nvidia,model = "Motorola Atrix 4G (MB860) CPCAP";
|
||||
|
||||
nvidia,audio-routing =
|
||||
"Headphones", "HSR",
|
||||
"Headphones", "HSL",
|
||||
"Int Spk", "SPKR",
|
||||
"Int Spk", "SPKL",
|
||||
"Earpiece", "EP",
|
||||
"HSMIC", "Mic Jack",
|
||||
"MICR", "Internal Mic 1",
|
||||
"MICL", "Internal Mic 2";
|
||||
|
||||
nvidia,i2s-controller = <&tegra_i2s1>;
|
||||
nvidia,audio-codec = <&cpcap_audio>;
|
||||
|
||||
clocks = <&tegra_car TEGRA20_CLK_PLL_A>,
|
||||
<&tegra_car TEGRA20_CLK_PLL_A_OUT0>,
|
||||
<&tegra_car TEGRA20_CLK_CDEV1>;
|
||||
clock-names = "pll_a", "pll_a_out0", "mclk";
|
||||
};
|
||||
@@ -35,10 +35,15 @@ properties:
|
||||
items:
|
||||
enum:
|
||||
# Board Connectors
|
||||
- Speakers
|
||||
- Int Spk
|
||||
- Headphone
|
||||
- Headphones
|
||||
- Headphone Jack
|
||||
- Earpiece
|
||||
- Headset Mic
|
||||
- Mic Jack
|
||||
- Int Mic
|
||||
- Internal Mic 1
|
||||
- Internal Mic 2
|
||||
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-wm8962.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NVIDIA Tegra audio complex with WM8962 CODEC
|
||||
|
||||
maintainers:
|
||||
- Svyatoslav Ryhel <clamor95@gmail.com>
|
||||
|
||||
allOf:
|
||||
- $ref: nvidia,tegra-audio-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- pattern: '^[a-z0-9]+,tegra-audio-wm8962(-[a-z0-9]+)+$'
|
||||
- const: nvidia,tegra-audio-wm8962
|
||||
|
||||
nvidia,audio-routing:
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
description:
|
||||
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 for sources and sinks are
|
||||
the pins (documented in the binding document), and the jacks on the
|
||||
board.
|
||||
minItems: 2
|
||||
items:
|
||||
enum:
|
||||
# Board Connectors
|
||||
- Speakers
|
||||
- Int Spk
|
||||
- Earpiece
|
||||
- Int Mic
|
||||
- Headset Mic
|
||||
- Internal Mic 1
|
||||
- Internal Mic 2
|
||||
- Headphone
|
||||
- Headphones
|
||||
- Headphone Jack
|
||||
- Mic Jack
|
||||
|
||||
# CODEC Pins
|
||||
- IN1L
|
||||
- IN1R
|
||||
- IN2L
|
||||
- IN2R
|
||||
- IN3L
|
||||
- IN3R
|
||||
- IN4L
|
||||
- IN4R
|
||||
- DMICDAT
|
||||
- HPOUTL
|
||||
- HPOUTR
|
||||
- SPKOUT
|
||||
- SPKOUTL
|
||||
- SPKOUTR
|
||||
|
||||
required:
|
||||
- nvidia,i2s-controller
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/tegra30-car.h>
|
||||
#include <dt-bindings/soc/tegra-pmc.h>
|
||||
sound {
|
||||
compatible = "microsoft,tegra-audio-wm8962-surface-rt",
|
||||
"nvidia,tegra-audio-wm8962";
|
||||
nvidia,model = "Microsoft Surface RT WM8962";
|
||||
|
||||
nvidia,audio-routing =
|
||||
"Headphone Jack", "HPOUTR",
|
||||
"Headphone Jack", "HPOUTL",
|
||||
"Int Spk", "SPKOUTR",
|
||||
"Int Spk", "SPKOUTL";
|
||||
|
||||
nvidia,i2s-controller = <&tegra_i2s1>;
|
||||
nvidia,audio-codec = <&wm8962>;
|
||||
|
||||
clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
|
||||
<&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
|
||||
<&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
|
||||
clock-names = "pll_a", "pll_a_out0", "mclk";
|
||||
};
|
||||
@@ -126,13 +126,16 @@ patternProperties:
|
||||
reg:
|
||||
contains:
|
||||
# MI2S DAI ID range PRIMARY_MI2S_RX - QUATERNARY_MI2S_TX and
|
||||
# QUINARY_MI2S_RX - QUINARY_MI2S_TX
|
||||
# QUINARY_MI2S_RX - QUINARY_MI2S_TX and
|
||||
# LPI_MI2S_RX_0 - SENARY_MI2S_TX
|
||||
items:
|
||||
oneOf:
|
||||
- minimum: 16
|
||||
maximum: 23
|
||||
- minimum: 127
|
||||
maximum: 128
|
||||
- minimum: 137
|
||||
maximum: 148
|
||||
then:
|
||||
required:
|
||||
- qcom,sd-lines
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
ROCKCHIP with MAX98357A/RT5514/DA7219 codecs on GRU boards
|
||||
|
||||
Required properties:
|
||||
- compatible: "rockchip,rk3399-gru-sound"
|
||||
- rockchip,cpu: The phandle of the Rockchip I2S controller that's
|
||||
connected to the codecs
|
||||
- rockchip,codec: The phandle of the audio codecs
|
||||
|
||||
Optional properties:
|
||||
- dmic-wakeup-delay-ms : specify delay time (ms) for DMIC ready.
|
||||
If this option is specified, which means it's required dmic need
|
||||
delay for DMIC to ready so that rt5514 can avoid recording before
|
||||
DMIC send valid data
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "rockchip,rk3399-gru-sound";
|
||||
rockchip,cpu = <&i2s0>;
|
||||
rockchip,codec = <&max98357a &rt5514 &da7219>;
|
||||
dmic-wakeup-delay-ms = <20>;
|
||||
};
|
||||
@@ -0,0 +1,60 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/rockchip,rk3399-gru-sound.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Rockchip with MAX98357A/RT5514/DA7219 codecs on GRU boards
|
||||
|
||||
maintainers:
|
||||
- Heiko Stuebner <heiko@sntech.de>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: rockchip,rk3399-gru-sound
|
||||
|
||||
rockchip,cpu:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: |
|
||||
List of phandles to the Rockchip CPU DAI controllers connected to codecs
|
||||
minItems: 1
|
||||
items:
|
||||
- items:
|
||||
- description: Phandle to the Rockchip I2S controllers
|
||||
- items:
|
||||
- description: |
|
||||
Phandle to the Rockchip SPDIF controller. Required when a
|
||||
DisplayPort audio codec is referenced in rockchip,codec
|
||||
|
||||
rockchip,codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: |
|
||||
The phandles of the audio codecs connected to the Rockchip CPU DAI
|
||||
controllers
|
||||
minItems: 1
|
||||
maxItems: 6
|
||||
items:
|
||||
maxItems: 1
|
||||
|
||||
dmic-wakeup-delay-ms:
|
||||
description: |
|
||||
specify delay time (ms) for DMIC ready.
|
||||
If this option is specified, a delay is required for DMIC to get ready
|
||||
so that rt5514 can avoid recording before DMIC sends valid data
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- rockchip,cpu
|
||||
- rockchip,codec
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "rockchip,rk3399-gru-sound";
|
||||
rockchip,cpu = <&i2s0 &spdif>;
|
||||
rockchip,codec = <&max98357a &rt5514 &da7219 &cdn_dp>;
|
||||
dmic-wakeup-delay-ms = <20>;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/rockchip,rockchip-audio-max98090.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Rockchip audio complex with MAX98090 codec
|
||||
|
||||
maintainers:
|
||||
- Fabio Estevam <festevam@gmail.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: rockchip,rockchip-audio-max98090
|
||||
|
||||
rockchip,model:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: The user-visible name of this sound complex.
|
||||
|
||||
rockchip,i2s-controller:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Phandle to the Rockchip I2S controller.
|
||||
|
||||
rockchip,audio-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Phandle to the MAX98090 audio codec.
|
||||
|
||||
rockchip,headset-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Phandle to the external chip for jack detection.
|
||||
|
||||
rockchip,hdmi-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: Phandle to the HDMI device for HDMI codec.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- rockchip,model
|
||||
- rockchip,i2s-controller
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
required:
|
||||
- rockchip,audio-codec
|
||||
then:
|
||||
required:
|
||||
- rockchip,headset-codec
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "rockchip,rockchip-audio-max98090";
|
||||
rockchip,model = "ROCKCHIP-I2S";
|
||||
rockchip,i2s-controller = <&i2s>;
|
||||
rockchip,audio-codec = <&max98090>;
|
||||
rockchip,headset-codec = <&headsetcodec>;
|
||||
};
|
||||
@@ -1,42 +0,0 @@
|
||||
ROCKCHIP with MAX98090 CODEC
|
||||
|
||||
Required properties:
|
||||
- compatible: "rockchip,rockchip-audio-max98090"
|
||||
- rockchip,model: The user-visible name of this sound complex
|
||||
- rockchip,i2s-controller: The phandle of the Rockchip I2S controller that's
|
||||
connected to the CODEC
|
||||
|
||||
Optional properties:
|
||||
- rockchip,audio-codec: The phandle of the MAX98090 audio codec.
|
||||
- rockchip,headset-codec: The phandle of Ext chip for jack detection. This is
|
||||
required if there is rockchip,audio-codec.
|
||||
- rockchip,hdmi-codec: The phandle of HDMI device for HDMI codec.
|
||||
|
||||
Example:
|
||||
|
||||
/* For max98090-only board. */
|
||||
sound {
|
||||
compatible = "rockchip,rockchip-audio-max98090";
|
||||
rockchip,model = "ROCKCHIP-I2S";
|
||||
rockchip,i2s-controller = <&i2s>;
|
||||
rockchip,audio-codec = <&max98090>;
|
||||
rockchip,headset-codec = <&headsetcodec>;
|
||||
};
|
||||
|
||||
/* For HDMI-only board. */
|
||||
sound {
|
||||
compatible = "rockchip,rockchip-audio-max98090";
|
||||
rockchip,model = "ROCKCHIP-I2S";
|
||||
rockchip,i2s-controller = <&i2s>;
|
||||
rockchip,hdmi-codec = <&hdmi>;
|
||||
};
|
||||
|
||||
/* For max98090 plus HDMI board. */
|
||||
sound {
|
||||
compatible = "rockchip,rockchip-audio-max98090";
|
||||
rockchip,model = "ROCKCHIP-I2S";
|
||||
rockchip,i2s-controller = <&i2s>;
|
||||
rockchip,audio-codec = <&max98090>;
|
||||
rockchip,headset-codec = <&headsetcodec>;
|
||||
rockchip,hdmi-codec = <&hdmi>;
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user