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