181 lines
4.3 KiB
YAML
181 lines
4.3 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/sound/google,sc7280-herobrine.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Google SC7280-Herobrine ASoC sound card driver
|
|
|
|
maintainers:
|
|
- Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
|
|
- Judy Hsiao <judyhsiao@chromium.org>
|
|
|
|
description:
|
|
This binding describes the SC7280 sound card which uses LPASS for audio.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- google,sc7280-herobrine
|
|
|
|
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.
|
|
|
|
model:
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
description: User specified audio sound card name
|
|
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 0
|
|
|
|
patternProperties:
|
|
"^dai-link@[0-9a-f]$":
|
|
description:
|
|
Each subnode represents a dai link. Subnodes of each dai links would be
|
|
cpu/codec dais.
|
|
|
|
type: object
|
|
|
|
properties:
|
|
link-name:
|
|
description: Indicates dai-link name and PCM stream name.
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
maxItems: 1
|
|
|
|
reg:
|
|
maxItems: 1
|
|
description: dai link address.
|
|
|
|
cpu:
|
|
description: Holds subnode which indicates cpu dai.
|
|
type: object
|
|
properties:
|
|
sound-dai: true
|
|
|
|
required:
|
|
- sound-dai
|
|
|
|
additionalProperties: false
|
|
|
|
codec:
|
|
description: Holds subnode which indicates codec dai.
|
|
type: object
|
|
properties:
|
|
sound-dai: true
|
|
|
|
required:
|
|
- sound-dai
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- link-name
|
|
- cpu
|
|
- codec
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- model
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
|
|
- |
|
|
#include <dt-bindings/sound/qcom,lpass.h>
|
|
sound {
|
|
compatible = "google,sc7280-herobrine";
|
|
model = "sc7280-wcd938x-max98360a-4dmic";
|
|
|
|
audio-routing =
|
|
"IN1_HPHL", "HPHL_OUT",
|
|
"IN2_HPHR", "HPHR_OUT",
|
|
"AMIC1", "MIC BIAS1",
|
|
"AMIC2", "MIC BIAS2",
|
|
"VA DMIC0", "MIC BIAS3",
|
|
"VA DMIC1", "MIC BIAS3",
|
|
"VA DMIC2", "MIC BIAS4",
|
|
"VA DMIC3", "MIC BIAS4",
|
|
"TX SWR_ADC0", "ADC1_OUTPUT",
|
|
"TX SWR_ADC1", "ADC2_OUTPUT",
|
|
"TX SWR_ADC2", "ADC3_OUTPUT",
|
|
"TX SWR_DMIC0", "DMIC1_OUTPUT",
|
|
"TX SWR_DMIC1", "DMIC2_OUTPUT",
|
|
"TX SWR_DMIC2", "DMIC3_OUTPUT",
|
|
"TX SWR_DMIC3", "DMIC4_OUTPUT";
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
dai-link@0 {
|
|
link-name = "WCD Playback";
|
|
reg = <LPASS_CDC_DMA_RX0>;
|
|
cpu {
|
|
sound-dai = <&lpass_cpu LPASS_CDC_DMA_RX0>;
|
|
};
|
|
|
|
codec {
|
|
sound-dai = <&wcd938x 0>, <&swr0 0>, <&rxmacro 0>;
|
|
};
|
|
};
|
|
dai-link@1 {
|
|
link-name = "WCD Capture";
|
|
reg = <LPASS_CDC_DMA_TX3>;
|
|
cpu {
|
|
sound-dai = <&lpass_cpu LPASS_CDC_DMA_TX3>;
|
|
};
|
|
|
|
codec {
|
|
sound-dai = <&wcd938x 1>, <&swr1 0>, <&txmacro 0>;
|
|
};
|
|
};
|
|
|
|
dai-link@2 {
|
|
link-name = "MI2S Playback";
|
|
reg = <MI2S_SECONDARY>;
|
|
cpu {
|
|
sound-dai = <&lpass_cpu MI2S_SECONDARY>;
|
|
};
|
|
|
|
codec {
|
|
sound-dai = <&max98360a>;
|
|
};
|
|
};
|
|
|
|
dai-link@3 {
|
|
link-name = "DMIC Capture";
|
|
reg = <LPASS_CDC_DMA_VA_TX0>;
|
|
cpu {
|
|
sound-dai = <&lpass_cpu LPASS_CDC_DMA_VA_TX0>;
|
|
};
|
|
|
|
codec {
|
|
sound-dai = <&vamacro 0>;
|
|
};
|
|
};
|
|
|
|
dai-link@5 {
|
|
link-name = "DP Playback";
|
|
reg = <LPASS_DP_RX>;
|
|
cpu {
|
|
sound-dai = <&lpass_cpu LPASS_DP_RX>;
|
|
};
|
|
|
|
codec {
|
|
sound-dai = <&mdss_dp>;
|
|
};
|
|
};
|
|
};
|