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