| # 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: |
| - 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>; |
| }; |
| }; |
| }; |