15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25def4c47SEmmanuel Vadot%YAML 1.2 35def4c47SEmmanuel Vadot--- 45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/qcom,lpass-tx-macro.yaml# 55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65def4c47SEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: LPASS(Low Power Audio Subsystem) TX Macro audio codec 85def4c47SEmmanuel Vadot 95def4c47SEmmanuel Vadotmaintainers: 105def4c47SEmmanuel Vadot - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 115def4c47SEmmanuel Vadot 125def4c47SEmmanuel Vadotproperties: 135def4c47SEmmanuel Vadot compatible: 14*8d13bc63SEmmanuel Vadot oneOf: 15*8d13bc63SEmmanuel Vadot - enum: 168cc087a1SEmmanuel Vadot - qcom,sc7280-lpass-tx-macro 1784943d6fSEmmanuel Vadot - qcom,sm6115-lpass-tx-macro 188cc087a1SEmmanuel Vadot - qcom,sm8250-lpass-tx-macro 197ef62cebSEmmanuel Vadot - qcom,sm8450-lpass-tx-macro 20fac71e4eSEmmanuel Vadot - qcom,sm8550-lpass-tx-macro 217ef62cebSEmmanuel Vadot - qcom,sc8280xp-lpass-tx-macro 22*8d13bc63SEmmanuel Vadot - items: 23*8d13bc63SEmmanuel Vadot - enum: 24*8d13bc63SEmmanuel Vadot - qcom,sm8650-lpass-tx-macro 25*8d13bc63SEmmanuel Vadot - qcom,x1e80100-lpass-tx-macro 26*8d13bc63SEmmanuel Vadot - const: qcom,sm8550-lpass-tx-macro 275def4c47SEmmanuel Vadot 285def4c47SEmmanuel Vadot reg: 295def4c47SEmmanuel Vadot maxItems: 1 305def4c47SEmmanuel Vadot 315def4c47SEmmanuel Vadot "#sound-dai-cells": 325def4c47SEmmanuel Vadot const: 1 335def4c47SEmmanuel Vadot 345def4c47SEmmanuel Vadot '#clock-cells': 355def4c47SEmmanuel Vadot const: 0 365def4c47SEmmanuel Vadot 375def4c47SEmmanuel Vadot clocks: 38fac71e4eSEmmanuel Vadot minItems: 3 39fac71e4eSEmmanuel Vadot maxItems: 5 405def4c47SEmmanuel Vadot 415def4c47SEmmanuel Vadot clock-names: 42fac71e4eSEmmanuel Vadot minItems: 3 43fac71e4eSEmmanuel Vadot maxItems: 5 445def4c47SEmmanuel Vadot 455def4c47SEmmanuel Vadot clock-output-names: 468bab661aSEmmanuel Vadot maxItems: 1 475def4c47SEmmanuel Vadot 48c9ccf3a3SEmmanuel Vadot power-domains: 49c9ccf3a3SEmmanuel Vadot maxItems: 2 50c9ccf3a3SEmmanuel Vadot 51c9ccf3a3SEmmanuel Vadot power-domain-names: 52c9ccf3a3SEmmanuel Vadot items: 53c9ccf3a3SEmmanuel Vadot - const: macro 54c9ccf3a3SEmmanuel Vadot - const: dcodec 55c9ccf3a3SEmmanuel Vadot 565def4c47SEmmanuel Vadot qcom,dmic-sample-rate: 575def4c47SEmmanuel Vadot description: dmic sample rate 585def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 595def4c47SEmmanuel Vadot 605def4c47SEmmanuel Vadotrequired: 615def4c47SEmmanuel Vadot - compatible 625def4c47SEmmanuel Vadot - reg 635def4c47SEmmanuel Vadot - "#sound-dai-cells" 645def4c47SEmmanuel Vadot 65fac71e4eSEmmanuel VadotallOf: 66fac71e4eSEmmanuel Vadot - $ref: dai-common.yaml# 67fac71e4eSEmmanuel Vadot - if: 68fac71e4eSEmmanuel Vadot properties: 69fac71e4eSEmmanuel Vadot compatible: 70fac71e4eSEmmanuel Vadot enum: 71fac71e4eSEmmanuel Vadot - qcom,sc7280-lpass-tx-macro 72fac71e4eSEmmanuel Vadot then: 73fac71e4eSEmmanuel Vadot properties: 74fac71e4eSEmmanuel Vadot clock-names: 75fac71e4eSEmmanuel Vadot oneOf: 76fac71e4eSEmmanuel Vadot - items: # for ADSP based platforms 77fac71e4eSEmmanuel Vadot - const: mclk 78fac71e4eSEmmanuel Vadot - const: npl 79fac71e4eSEmmanuel Vadot - const: macro 80fac71e4eSEmmanuel Vadot - const: dcodec 81fac71e4eSEmmanuel Vadot - const: fsgen 82fac71e4eSEmmanuel Vadot - items: # for ADSP bypass based platforms 83fac71e4eSEmmanuel Vadot - const: mclk 84fac71e4eSEmmanuel Vadot - const: npl 85fac71e4eSEmmanuel Vadot - const: fsgen 86fac71e4eSEmmanuel Vadot 87fac71e4eSEmmanuel Vadot - if: 88fac71e4eSEmmanuel Vadot properties: 89fac71e4eSEmmanuel Vadot compatible: 90fac71e4eSEmmanuel Vadot enum: 91fac71e4eSEmmanuel Vadot - qcom,sc8280xp-lpass-tx-macro 92fac71e4eSEmmanuel Vadot - qcom,sm8250-lpass-tx-macro 93fac71e4eSEmmanuel Vadot - qcom,sm8450-lpass-tx-macro 94fac71e4eSEmmanuel Vadot then: 95fac71e4eSEmmanuel Vadot properties: 96fac71e4eSEmmanuel Vadot clocks: 97fac71e4eSEmmanuel Vadot minItems: 5 98fac71e4eSEmmanuel Vadot maxItems: 5 99fac71e4eSEmmanuel Vadot clock-names: 100fac71e4eSEmmanuel Vadot items: 101fac71e4eSEmmanuel Vadot - const: mclk 102fac71e4eSEmmanuel Vadot - const: npl 103fac71e4eSEmmanuel Vadot - const: macro 104fac71e4eSEmmanuel Vadot - const: dcodec 105fac71e4eSEmmanuel Vadot - const: fsgen 106fac71e4eSEmmanuel Vadot 107fac71e4eSEmmanuel Vadot - if: 108fac71e4eSEmmanuel Vadot properties: 109fac71e4eSEmmanuel Vadot compatible: 110fac71e4eSEmmanuel Vadot enum: 11184943d6fSEmmanuel Vadot - qcom,sm6115-lpass-tx-macro 11284943d6fSEmmanuel Vadot then: 11384943d6fSEmmanuel Vadot properties: 11484943d6fSEmmanuel Vadot clocks: 11584943d6fSEmmanuel Vadot minItems: 4 11684943d6fSEmmanuel Vadot maxItems: 4 11784943d6fSEmmanuel Vadot clock-names: 11884943d6fSEmmanuel Vadot items: 11984943d6fSEmmanuel Vadot - const: mclk 12084943d6fSEmmanuel Vadot - const: npl 12184943d6fSEmmanuel Vadot - const: dcodec 12284943d6fSEmmanuel Vadot - const: fsgen 12384943d6fSEmmanuel Vadot 12484943d6fSEmmanuel Vadot - if: 12584943d6fSEmmanuel Vadot properties: 12684943d6fSEmmanuel Vadot compatible: 127*8d13bc63SEmmanuel Vadot contains: 12884943d6fSEmmanuel Vadot enum: 129fac71e4eSEmmanuel Vadot - qcom,sm8550-lpass-tx-macro 130fac71e4eSEmmanuel Vadot then: 131fac71e4eSEmmanuel Vadot properties: 132fac71e4eSEmmanuel Vadot clocks: 133fac71e4eSEmmanuel Vadot minItems: 4 134fac71e4eSEmmanuel Vadot maxItems: 4 135fac71e4eSEmmanuel Vadot clock-names: 136fac71e4eSEmmanuel Vadot items: 137fac71e4eSEmmanuel Vadot - const: mclk 138fac71e4eSEmmanuel Vadot - const: macro 139fac71e4eSEmmanuel Vadot - const: dcodec 140fac71e4eSEmmanuel Vadot - const: fsgen 141fac71e4eSEmmanuel Vadot 1428bab661aSEmmanuel VadotunevaluatedProperties: false 1435def4c47SEmmanuel Vadot 1445def4c47SEmmanuel Vadotexamples: 1455def4c47SEmmanuel Vadot - | 1465def4c47SEmmanuel Vadot #include <dt-bindings/sound/qcom,q6afe.h> 1475def4c47SEmmanuel Vadot codec@3220000 { 1485def4c47SEmmanuel Vadot compatible = "qcom,sm8250-lpass-tx-macro"; 1495def4c47SEmmanuel Vadot reg = <0x3220000 0x1000>; 1505def4c47SEmmanuel Vadot #sound-dai-cells = <1>; 1515def4c47SEmmanuel Vadot #clock-cells = <0>; 1525def4c47SEmmanuel Vadot clocks = <&aoncc 0>, 1535def4c47SEmmanuel Vadot <&aoncc 1>, 1545def4c47SEmmanuel Vadot <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 1555def4c47SEmmanuel Vadot <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 1565def4c47SEmmanuel Vadot <&vamacro>; 1575def4c47SEmmanuel Vadot clock-names = "mclk", "npl", "macro", "dcodec", "fsgen"; 1585def4c47SEmmanuel Vadot clock-output-names = "mclk"; 1595def4c47SEmmanuel Vadot qcom,dmic-sample-rate = <600000>; 1605def4c47SEmmanuel Vadot }; 161