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