-
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.
Merge series from Svyatoslav Ryhel <clamor95@gmail.com>: - add quirk for headset detection used by some T30 devices (ASUS Transformers, LG Optimus 4X HD and Vu); - add RT5631 and MAX9808x machine drivers - update bindings --- Changes from v1 - fm34 dropped for re-work - quirk for headset detection and rt5631 bringup splitted - minor adjustments in binding updates - improvement of rt5631 rate asignment --- David Heidelberg (1): dt-bindings: sound: nvidia,tegra-audio: add RT5631 CODEC Svyatoslav Ryhel (7): dt-bindings: sound: nvidia,tegra-audio-common: add coupled-mic-hp-detect property ASoC: tegra: Support coupled mic-hp detection ARM: tegra: transformers: update sound nodes ASoC: tegra: Support RT5631 by machine driver ARM: tegra: transformers: bind RT5631 sound nodes dt-bindings: sound: nvidia,tegra-audio: add MAX9808x CODEC ASoC: tegra: Support MAX9808x by machine driver .../sound/nvidia,tegra-audio-common.yaml | 4 + .../sound/nvidia,tegra-audio-max9808x.yaml | 90 +++++++++++++ .../sound/nvidia,tegra-audio-rt5631.yaml | 85 ++++++++++++ arch/arm/boot/dts/tegra20-asus-tf101.dts | 7 +- arch/arm/boot/dts/tegra30-asus-tf201.dts | 17 +++ arch/arm/boot/dts/tegra30-asus-tf300t.dts | 5 +- arch/arm/boot/dts/tegra30-asus-tf300tg.dts | 17 +++ arch/arm/boot/dts/tegra30-asus-tf700t.dts | 17 +++ .../dts/tegra30-asus-transformer-common.dtsi | 9 +- sound/soc/tegra/Kconfig | 18 +++ sound/soc/tegra/tegra_asoc_machine.c | 125 +++++++++++++++++- 11 files changed, 380 insertions(+), 14 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max9808x.yaml create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5631.yaml -- 2.37.2
- Loading branch information
Showing
5 changed files
with
318 additions
and
4 deletions.
There are no files selected for viewing
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
90 changes: 90 additions & 0 deletions
90
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max9808x.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,90 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-max9808x.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: NVIDIA Tegra audio complex with MAX9808x 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-max98088(-[a-z0-9]+)+$' | ||
- const: nvidia,tegra-audio-max98088 | ||
- items: | ||
- pattern: '^[a-z0-9]+,tegra-audio-max98089(-[a-z0-9]+)+$' | ||
- const: nvidia,tegra-audio-max98089 | ||
|
||
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 | ||
- "Int Spk" | ||
- "Headphone Jack" | ||
- "Earpiece" | ||
- "Headset Mic" | ||
- "Internal Mic 1" | ||
- "Internal Mic 2" | ||
|
||
# CODEC Pins | ||
- HPL | ||
- HPR | ||
- SPKL | ||
- SPKR | ||
- RECL | ||
- RECR | ||
- INA1 | ||
- INA2 | ||
- INB1 | ||
- INB2 | ||
- MIC1 | ||
- MIC2 | ||
- MICBIAS | ||
|
||
unevaluatedProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/clock/tegra30-car.h> | ||
#include <dt-bindings/soc/tegra-pmc.h> | ||
sound { | ||
compatible = "lge,tegra-audio-max98089-p895", | ||
"nvidia,tegra-audio-max98089"; | ||
nvidia,model = "LG Optimus Vu MAX98089"; | ||
nvidia,audio-routing = | ||
"Headphone Jack", "HPL", | ||
"Headphone Jack", "HPR", | ||
"Int Spk", "SPKL", | ||
"Int Spk", "SPKR", | ||
"Earpiece", "RECL", | ||
"Earpiece", "RECR", | ||
"INA1", "Headset Mic", | ||
"MIC1", "MICBIAS", | ||
"MICBIAS", "Internal Mic 1", | ||
"MIC2", "Internal Mic 2"; | ||
nvidia,i2s-controller = <&tegra_i2s0>; | ||
nvidia,audio-codec = <&codec>; | ||
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"; | ||
}; |
85 changes: 85 additions & 0 deletions
85
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5631.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,85 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-rt5631.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: NVIDIA Tegra audio complex with RT5631 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-rt5631(-[a-z0-9]+)+$' | ||
- const: nvidia,tegra-audio-rt5631 | ||
|
||
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 | ||
- "Int Spk" | ||
- "Headphone Jack" | ||
- "Mic Jack" | ||
- "Int Mic" | ||
|
||
# CODEC Pins | ||
- MIC1 | ||
- MIC2 | ||
- AXIL | ||
- AXIR | ||
- MONOIN_RXN | ||
- MONOIN_RXP | ||
- DMIC | ||
- MIC Bias1 | ||
- MIC Bias2 | ||
- MONO_IN | ||
- AUXO1 | ||
- AUXO2 | ||
- SPOL | ||
- SPOR | ||
- HPOL | ||
- HPOR | ||
- MONO | ||
|
||
unevaluatedProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/clock/tegra30-car.h> | ||
#include <dt-bindings/soc/tegra-pmc.h> | ||
sound { | ||
compatible = "asus,tegra-audio-rt5631-tf700t", | ||
"nvidia,tegra-audio-rt5631"; | ||
nvidia,model = "Asus Transformer Infinity TF700T RT5631"; | ||
nvidia,audio-routing = | ||
"Headphone Jack", "HPOL", | ||
"Headphone Jack", "HPOR", | ||
"Int Spk", "SPOL", | ||
"Int Spk", "SPOR", | ||
"MIC1", "MIC Bias1", | ||
"MIC Bias1", "Mic Jack", | ||
"DMIC", "Int Mic"; | ||
nvidia,i2s-controller = <&tegra_i2s1>; | ||
nvidia,audio-codec = <&rt5631>; | ||
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"; | ||
}; |
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
Oops, something went wrong.