1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: "http://devicetree.org/schemas/sound/qcom,q6dsp-lpass-ports.yaml#" 5$schema: "http://devicetree.org/meta-schemas/core.yaml#" 6 7title: Qualcomm DSP LPASS(Low Power Audio SubSystem) Audio Ports binding 8 9maintainers: 10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11 12description: | 13 This binding describes the Qualcomm DSP LPASS Audio ports 14 15properties: 16 compatible: 17 enum: 18 - qcom,q6afe-dais 19 - qcom,q6apm-lpass-dais 20 21 '#sound-dai-cells': 22 const: 1 23 24 '#address-cells': 25 const: 1 26 27 '#size-cells': 28 const: 0 29 30#Digital Audio Interfaces 31patternProperties: 32 '^dai@[0-9]+$': 33 type: object 34 description: 35 Q6DSP Digital Audio Interfaces. 36 37 properties: 38 reg: 39 description: 40 Digital Audio Interface ID 41 42 qcom,sd-lines: 43 $ref: /schemas/types.yaml#/definitions/uint32-array 44 description: 45 List of serial data lines used by this dai.should be one or more of the 0-3 sd lines. 46 minItems: 1 47 maxItems: 4 48 uniqueItems: true 49 items: 50 minimum: 0 51 maximum: 3 52 53 qcom,tdm-sync-mode: 54 $ref: /schemas/types.yaml#/definitions/uint32 55 enum: [0, 1, 2] 56 description: 57 TDM Synchronization mode 58 0 = Short sync bit mode 59 1 = Long sync mode 60 2 = Short sync slot mode 61 62 qcom,tdm-sync-src: 63 $ref: /schemas/types.yaml#/definitions/uint32 64 enum: [0, 1] 65 description: 66 TDM Synchronization source 67 0 = External source 68 1 = Internal source 69 70 qcom,tdm-data-out: 71 $ref: /schemas/types.yaml#/definitions/uint32 72 enum: [0, 1] 73 description: 74 TDM Data out signal to drive with other masters 75 0 = Disable 76 1 = Enable 77 78 qcom,tdm-invert-sync: 79 $ref: /schemas/types.yaml#/definitions/uint32 80 enum: [0, 1] 81 description: 82 TDM Invert the sync 83 0 = Normal 84 1 = Invert 85 86 qcom,tdm-data-delay: 87 $ref: /schemas/types.yaml#/definitions/uint32 88 enum: [0, 1, 2] 89 description: 90 TDM Number of bit clock to delay data 91 0 = 0 bit clock cycle 92 1 = 1 bit clock cycle 93 2 = 2 bit clock cycle 94 95 qcom,tdm-data-align: 96 $ref: /schemas/types.yaml#/definitions/uint32 97 enum: [0, 1] 98 description: 99 Indicate how data is packed within the slot. For example, 32 slot 100 width in case of sample bit width is 24TDM Invert the sync. 101 0 = MSB 102 1 = LSB 103 104 required: 105 - reg 106 107 allOf: 108 - if: 109 properties: 110 reg: 111 contains: 112 # TDM DAI ID range from PRIMARY_TDM_RX_0 - QUINARY_TDM_TX_7 113 items: 114 minimum: 24 115 maximum: 103 116 then: 117 required: 118 - qcom,tdm-sync-mode 119 - qcom,tdm-sync-src 120 - qcom,tdm-data-out 121 - qcom,tdm-invert-sync 122 - qcom,tdm-data-delay 123 - qcom,tdm-data-align 124 125 - if: 126 properties: 127 reg: 128 contains: 129 # MI2S DAI ID range PRIMARY_MI2S_RX - QUATERNARY_MI2S_TX and 130 # QUINARY_MI2S_RX - QUINARY_MI2S_TX 131 items: 132 oneOf: 133 - minimum: 16 134 maximum: 23 135 - minimum: 127 136 maximum: 128 137 then: 138 required: 139 - qcom,sd-lines 140 141 additionalProperties: false 142 143required: 144 - compatible 145 - "#sound-dai-cells" 146 - "#address-cells" 147 - "#size-cells" 148 149additionalProperties: false 150 151examples: 152 - | 153 #include <dt-bindings/soc/qcom,apr.h> 154 #include <dt-bindings/sound/qcom,q6afe.h> 155 apr { 156 compatible = "qcom,apr-v2"; 157 #address-cells = <1>; 158 #size-cells = <0>; 159 qcom,domain = <APR_DOMAIN_ADSP>; 160 161 service@4 { 162 compatible = "qcom,q6afe"; 163 reg = <APR_SVC_AFE>; 164 qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 165 166 dais { 167 compatible = "qcom,q6afe-dais"; 168 #address-cells = <1>; 169 #size-cells = <0>; 170 #sound-dai-cells = <1>; 171 172 dai@22 { 173 reg = <QUATERNARY_MI2S_RX>; 174 qcom,sd-lines = <0 1 2 3>; 175 }; 176 }; 177 }; 178 }; 179 - | 180 #include <dt-bindings/soc/qcom,gpr.h> 181 gpr { 182 compatible = "qcom,gpr"; 183 #address-cells = <1>; 184 #size-cells = <0>; 185 qcom,domain = <GPR_DOMAIN_ID_ADSP>; 186 187 service@1 { 188 compatible = "qcom,q6apm"; 189 reg = <GPR_APM_MODULE_IID>; 190 191 dais { 192 compatible = "qcom,q6apm-lpass-dais"; 193 #address-cells = <1>; 194 #size-cells = <0>; 195 #sound-dai-cells = <1>; 196 197 dai@22 { 198 reg = <QUATERNARY_MI2S_RX>; 199 qcom,sd-lines = <0 1 2 3>; 200 }; 201 }; 202 }; 203 }; 204