# 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. allOf: - $ref: sound-card-common.yaml# properties: compatible: enum: - google,sc7280-herobrine "#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 platform: description: Holds subnode which includes the phandle of q6apm platform device. type: object properties: sound-dai: maxItems: 1 required: - sound-dai additionalProperties: false required: - link-name - cpu - codec - reg additionalProperties: false required: - compatible - "#address-cells" - "#size-cells" unevaluatedProperties: 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>; }; }; };