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,sm8750-lpass-rx-macro 25 - qcom,x1e80100-lpass-rx-macro 26 - const: qcom,sm8550-lpass-rx-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 56required: 57 - compatible 58 - reg 59 - "#sound-dai-cells" 60 61allOf: 62 - $ref: dai-common.yaml# 63 - if: 64 properties: 65 compatible: 66 enum: 67 - qcom,sc7280-lpass-rx-macro 68 then: 69 properties: 70 clock-names: 71 oneOf: 72 - items: # for ADSP based platforms 73 - const: mclk 74 - const: npl 75 - const: macro 76 - const: dcodec 77 - const: fsgen 78 - items: # for ADSP bypass based platforms 79 - const: mclk 80 - const: npl 81 - const: fsgen 82 83 - if: 84 properties: 85 compatible: 86 enum: 87 - qcom,sc8280xp-lpass-rx-macro 88 - qcom,sm8250-lpass-rx-macro 89 - qcom,sm8450-lpass-rx-macro 90 then: 91 properties: 92 clocks: 93 minItems: 5 94 maxItems: 5 95 clock-names: 96 items: 97 - const: mclk 98 - const: npl 99 - const: macro 100 - const: dcodec 101 - const: fsgen 102 103 - if: 104 properties: 105 compatible: 106 contains: 107 enum: 108 - qcom,sm8550-lpass-rx-macro 109 then: 110 properties: 111 clocks: 112 minItems: 4 113 maxItems: 4 114 clock-names: 115 items: 116 - const: mclk 117 - const: macro 118 - const: dcodec 119 - const: fsgen 120 121unevaluatedProperties: false 122 123examples: 124 - | 125 #include <dt-bindings/sound/qcom,q6afe.h> 126 codec@3200000 { 127 compatible = "qcom,sm8250-lpass-rx-macro"; 128 reg = <0x3200000 0x1000>; 129 #sound-dai-cells = <1>; 130 #clock-cells = <0>; 131 clocks = <&audiocc 0>, 132 <&audiocc 1>, 133 <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 134 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>, 135 <&vamacro>; 136 clock-names = "mclk", "npl", "macro", "dcodec", "fsgen"; 137 clock-output-names = "mclk"; 138 }; 139