1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/sound/qcom,lpass-tx-macro.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: LPASS(Low Power Audio Subsystem) TX Macro audio codec 8 9maintainers: 10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11 12properties: 13 compatible: 14 oneOf: 15 - enum: 16 - qcom,sc7280-lpass-tx-macro 17 - qcom,sm6115-lpass-tx-macro 18 - qcom,sm8250-lpass-tx-macro 19 - qcom,sm8450-lpass-tx-macro 20 - qcom,sm8550-lpass-tx-macro 21 - qcom,sc8280xp-lpass-tx-macro 22 - items: 23 - enum: 24 - qcom,sm8650-lpass-tx-macro 25 - qcom,x1e80100-lpass-tx-macro 26 - const: qcom,sm8550-lpass-tx-macro 27 28 reg: 29 maxItems: 1 30 31 "#sound-dai-cells": 32 const: 1 33 34 '#clock-cells': 35 const: 0 36 37 clocks: 38 minItems: 3 39 maxItems: 5 40 41 clock-names: 42 minItems: 3 43 maxItems: 5 44 45 clock-output-names: 46 maxItems: 1 47 48 power-domains: 49 maxItems: 2 50 51 power-domain-names: 52 items: 53 - const: macro 54 - const: dcodec 55 56 qcom,dmic-sample-rate: 57 description: dmic sample rate 58 $ref: /schemas/types.yaml#/definitions/uint32 59 60required: 61 - compatible 62 - reg 63 - "#sound-dai-cells" 64 65allOf: 66 - $ref: dai-common.yaml# 67 - if: 68 properties: 69 compatible: 70 enum: 71 - qcom,sc7280-lpass-tx-macro 72 then: 73 properties: 74 clock-names: 75 oneOf: 76 - items: # for ADSP based platforms 77 - const: mclk 78 - const: npl 79 - const: macro 80 - const: dcodec 81 - const: fsgen 82 - items: # for ADSP bypass based platforms 83 - const: mclk 84 - const: npl 85 - const: fsgen 86 87 - if: 88 properties: 89 compatible: 90 enum: 91 - qcom,sc8280xp-lpass-tx-macro 92 - qcom,sm8250-lpass-tx-macro 93 - qcom,sm8450-lpass-tx-macro 94 then: 95 properties: 96 clocks: 97 minItems: 5 98 maxItems: 5 99 clock-names: 100 items: 101 - const: mclk 102 - const: npl 103 - const: macro 104 - const: dcodec 105 - const: fsgen 106 107 - if: 108 properties: 109 compatible: 110 enum: 111 - qcom,sm6115-lpass-tx-macro 112 then: 113 properties: 114 clocks: 115 minItems: 4 116 maxItems: 4 117 clock-names: 118 items: 119 - const: mclk 120 - const: npl 121 - const: dcodec 122 - const: fsgen 123 124 - if: 125 properties: 126 compatible: 127 contains: 128 enum: 129 - qcom,sm8550-lpass-tx-macro 130 then: 131 properties: 132 clocks: 133 minItems: 4 134 maxItems: 4 135 clock-names: 136 items: 137 - const: mclk 138 - const: macro 139 - const: dcodec 140 - const: fsgen 141 142unevaluatedProperties: false 143 144examples: 145 - | 146 #include <dt-bindings/sound/qcom,q6afe.h> 147 codec@3220000 { 148 compatible = "qcom,sm8250-lpass-tx-macro"; 149 reg = <0x3220000 0x1000>; 150 #sound-dai-cells = <1>; 151 #clock-cells = <0>; 152 clocks = <&aoncc 0>, 153 <&aoncc 1>, 154 <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 155 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 156 <&vamacro>; 157 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen"; 158 clock-output-names = "mclk"; 159 qcom,dmic-sample-rate = <600000>; 160 }; 161