-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ASoC: nvidia,tegra-audio: Convert multiple txt bindings to yaml
Convert Tegra audio complex with the * ALC5632 * MAX98090 * RT5640 * RT5677 * SGTL5000 * TrimSlice * WM8753 * WM8903 * WM9712 codec to the YAML format. Additional changes: - added missing HPOUTL to the WM9712 codec. - extended rt5677 codec with multiple pins Reviewed-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: David Heidelberg <david@ixit.cz> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20211211224946.79875-1-david@ixit.cz Signed-off-by: Mark Brown <broonie@kernel.org>
- Loading branch information
David Heidelberg
authored and
Mark Brown
committed
Dec 15, 2021
1 parent
2167c0b
commit 88dffe4
Showing
19 changed files
with
790 additions
and
445 deletions.
There are no files selected for viewing
48 changes: 0 additions & 48 deletions
48
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt
This file was deleted.
Oops, something went wrong.
74 changes: 74 additions & 0 deletions
74
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-alc5632.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: NVIDIA Tegra audio complex with ALC5632 CODEC | ||
|
||
maintainers: | ||
- Jon Hunter <jonathanh@nvidia.com> | ||
- Thierry Reding <thierry.reding@gmail.com> | ||
|
||
allOf: | ||
- $ref: nvidia,tegra-audio-common.yaml# | ||
|
||
properties: | ||
compatible: | ||
items: | ||
- pattern: '^[a-z0-9]+,tegra-audio-alc5632(-[a-z0-9]+)+$' | ||
- const: nvidia,tegra-audio-alc5632 | ||
|
||
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 | ||
- "Headset Stereophone" | ||
- "Int Spk" | ||
- "Headset Mic" | ||
- "Digital Mic" | ||
|
||
# CODEC Pins | ||
- SPKOUT | ||
- SPKOUTN | ||
- MICBIAS1 | ||
- MIC1 | ||
- HPR | ||
- HPL | ||
- DMICDAT | ||
|
||
required: | ||
- nvidia,i2s-controller | ||
|
||
unevaluatedProperties: false | ||
|
||
examples: | ||
- | | ||
sound { | ||
compatible = "nvidia,tegra-audio-alc5632-paz00", | ||
"nvidia,tegra-audio-alc5632"; | ||
nvidia,model = "Compal PAZ00"; | ||
nvidia,audio-routing = "Int Spk", "SPKOUT", | ||
"Int Spk", "SPKOUTN", | ||
"Headset Mic", "MICBIAS1", | ||
"MIC1", "Headset Mic", | ||
"Headset Stereophone", "HPR", | ||
"Headset Stereophone", "HPL", | ||
"DMICDAT", "Digital Mic"; | ||
nvidia,i2s-controller = <&i2s>; | ||
nvidia,audio-codec = <&codec>; | ||
clocks = <&clk 112>, <&clk 113>, <&clk 93>; | ||
clock-names = "pll_a", "pll_a_out0", "mclk"; | ||
}; |
83 changes: 83 additions & 0 deletions
83
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-common.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: "http://devicetree.org/schemas/sound/nvidia,tegra-audio-common.yaml#" | ||
$schema: "http://devicetree.org/meta-schemas/core.yaml#" | ||
|
||
title: Common properties for NVIDIA Tegra audio complexes | ||
|
||
maintainers: | ||
- Jon Hunter <jonathanh@nvidia.com> | ||
- Thierry Reding <thierry.reding@gmail.com> | ||
|
||
properties: | ||
clocks: | ||
items: | ||
- description: PLL A clock | ||
- description: PLL A OUT0 clock | ||
- description: The Tegra cdev1/extern1 clock, which feeds the card's mclk | ||
|
||
clock-names: | ||
items: | ||
- const: pll_a | ||
- const: pll_a_out0 | ||
- const: mclk | ||
|
||
nvidia,model: | ||
$ref: /schemas/types.yaml#/definitions/string | ||
description: The user-visible name of this sound complex. | ||
|
||
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. | ||
nvidia,ac97-controller: | ||
$ref: /schemas/types.yaml#/definitions/phandle | ||
description: The phandle of the AC97 controller | ||
|
||
nvidia,i2s-controller: | ||
$ref: /schemas/types.yaml#/definitions/phandle | ||
description: The phandle of the Tegra I2S controller | ||
|
||
nvidia,audio-codec: | ||
$ref: /schemas/types.yaml#/definitions/phandle | ||
description: The phandle of audio codec | ||
|
||
nvidia,spkr-en-gpios: | ||
maxItems: 1 | ||
description: The GPIO that enables the speakers | ||
|
||
nvidia,hp-mute-gpios: | ||
maxItems: 1 | ||
description: The GPIO that mutes the headphones | ||
|
||
nvidia,hp-det-gpios: | ||
maxItems: 1 | ||
description: The GPIO that detect headphones are plugged in | ||
|
||
nvidia,mic-det-gpios: | ||
maxItems: 1 | ||
description: The GPIO that detect microphone is plugged in | ||
|
||
nvidia,ear-sel-gpios: | ||
maxItems: 1 | ||
description: The GPIO that switch between the microphones | ||
|
||
nvidia,int-mic-en-gpios: | ||
maxItems: 1 | ||
description: The GPIO that enables the internal microphone | ||
|
||
nvidia,ext-mic-en-gpios: | ||
maxItems: 1 | ||
description: The GPIO that enables the external microphone | ||
|
||
nvidia,headset: | ||
type: boolean | ||
description: The Mic Jack represents state of the headset microphone pin | ||
|
||
additionalProperties: true |
53 changes: 0 additions & 53 deletions
53
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max98090.txt
This file was deleted.
Oops, something went wrong.
97 changes: 97 additions & 0 deletions
97
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max98090.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-max98090.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: NVIDIA Tegra audio complex with MAX98090 CODEC | ||
|
||
maintainers: | ||
- Jon Hunter <jonathanh@nvidia.com> | ||
- Thierry Reding <thierry.reding@gmail.com> | ||
|
||
allOf: | ||
- $ref: nvidia,tegra-audio-common.yaml# | ||
|
||
properties: | ||
compatible: | ||
oneOf: | ||
- items: | ||
- pattern: '^[a-z0-9]+,tegra-audio-max98090(-[a-z0-9]+)+$' | ||
- const: nvidia,tegra-audio-max98090 | ||
- items: | ||
- enum: | ||
- nvidia,tegra-audio-max98090-nyan-big | ||
- nvidia,tegra-audio-max98090-nyan-blaze | ||
- const: nvidia,tegra-audio-max98090-nyan | ||
- const: nvidia,tegra-audio-max98090 | ||
|
||
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 | ||
- "Headphones" | ||
- "Speakers" | ||
- "Mic Jack" | ||
- "Int Mic" | ||
|
||
# CODEC Pins | ||
- MIC1 | ||
- MIC2 | ||
- DMICL | ||
- DMICR | ||
- IN1 | ||
- IN2 | ||
- IN3 | ||
- IN4 | ||
- IN5 | ||
- IN6 | ||
- IN12 | ||
- IN34 | ||
- IN56 | ||
- HPL | ||
- HPR | ||
- SPKL | ||
- SPKR | ||
- RCVL | ||
- RCVR | ||
- MICBIAS | ||
|
||
required: | ||
- nvidia,i2s-controller | ||
|
||
unevaluatedProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/clock/tegra124-car.h> | ||
sound { | ||
compatible = "nvidia,tegra-audio-max98090-venice2", | ||
"nvidia,tegra-audio-max98090"; | ||
nvidia,model = "NVIDIA Tegra Venice2"; | ||
nvidia,audio-routing = | ||
"Headphones", "HPR", | ||
"Headphones", "HPL", | ||
"Speakers", "SPKR", | ||
"Speakers", "SPKL", | ||
"Mic Jack", "MICBIAS", | ||
"IN34", "Mic Jack"; | ||
nvidia,i2s-controller = <&tegra_i2s1>; | ||
nvidia,audio-codec = <&acodec>; | ||
clocks = <&tegra_car TEGRA124_CLK_PLL_A>, | ||
<&tegra_car TEGRA124_CLK_PLL_A_OUT0>, | ||
<&tegra_car TEGRA124_CLK_EXTERN1>; | ||
clock-names = "pll_a", "pll_a_out0", "mclk"; | ||
}; |
Oops, something went wrong.