# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/sound/qcom,lpass-tx-macro.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: LPASS(Low Power Audio Subsystem) TX Macro audio codec maintainers: - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> properties: compatible: enum: - qcom,sc7280-lpass-tx-macro - qcom,sm8250-lpass-tx-macro - qcom,sm8450-lpass-tx-macro - qcom,sm8550-lpass-tx-macro - qcom,sc8280xp-lpass-tx-macro reg: maxItems: 1 "#sound-dai-cells": const: 1 '#clock-cells': const: 0 clocks: minItems: 3 maxItems: 5 clock-names: minItems: 3 maxItems: 5 clock-output-names: maxItems: 1 power-domains: maxItems: 2 power-domain-names: items: - const: macro - const: dcodec qcom,dmic-sample-rate: description: dmic sample rate $ref: /schemas/types.yaml#/definitions/uint32 required: - compatible - reg - "#sound-dai-cells" allOf: - $ref: dai-common.yaml# - if: properties: compatible: enum: - qcom,sc7280-lpass-tx-macro then: properties: clock-names: oneOf: - items: # for ADSP based platforms - const: mclk - const: npl - const: macro - const: dcodec - const: fsgen - items: # for ADSP bypass based platforms - const: mclk - const: npl - const: fsgen - if: properties: compatible: enum: - qcom,sc8280xp-lpass-tx-macro - qcom,sm8250-lpass-tx-macro - qcom,sm8450-lpass-tx-macro then: properties: clocks: minItems: 5 maxItems: 5 clock-names: items: - const: mclk - const: npl - const: macro - const: dcodec - const: fsgen - if: properties: compatible: enum: - qcom,sm8550-lpass-tx-macro then: properties: clocks: minItems: 4 maxItems: 4 clock-names: items: - const: mclk - const: macro - const: dcodec - const: fsgen unevaluatedProperties: false examples: - | #include <dt-bindings/sound/qcom,q6afe.h> codec@3220000 { compatible = "qcom,sm8250-lpass-tx-macro"; reg = <0x3220000 0x1000>; #sound-dai-cells = <1>; #clock-cells = <0>; clocks = <&aoncc 0>, <&aoncc 1>, <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, <&vamacro>; clock-names = "mclk", "npl", "macro", "dcodec", "fsgen"; clock-output-names = "mclk"; qcom,dmic-sample-rate = <600000>; };