149 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 | |
| %YAML 1.2
 | |
| ---
 | |
| $id: http://devicetree.org/schemas/sound/qcom,lpass-va-macro.yaml#
 | |
| $schema: http://devicetree.org/meta-schemas/core.yaml#
 | |
| 
 | |
| title: LPASS(Low Power Audio Subsystem) VA Macro audio codec
 | |
| 
 | |
| maintainers:
 | |
|   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 | |
| 
 | |
| properties:
 | |
|   compatible:
 | |
|     enum:
 | |
|       - qcom,sc7280-lpass-va-macro
 | |
|       - qcom,sm8250-lpass-va-macro
 | |
|       - qcom,sm8450-lpass-va-macro
 | |
|       - qcom,sm8550-lpass-va-macro
 | |
|       - qcom,sc8280xp-lpass-va-macro
 | |
| 
 | |
|   reg:
 | |
|     maxItems: 1
 | |
| 
 | |
|   "#sound-dai-cells":
 | |
|     const: 1
 | |
| 
 | |
|   '#clock-cells':
 | |
|     const: 0
 | |
| 
 | |
|   clocks:
 | |
|     minItems: 1
 | |
|     maxItems: 4
 | |
| 
 | |
|   clock-names:
 | |
|     minItems: 1
 | |
|     maxItems: 4
 | |
| 
 | |
|   clock-output-names:
 | |
|     maxItems: 1
 | |
| 
 | |
|   power-domains:
 | |
|     maxItems: 2
 | |
| 
 | |
|   power-domain-names:
 | |
|     items:
 | |
|       - const: macro
 | |
|       - const: dcodec
 | |
| 
 | |
|   qcom,dmic-sample-rate:
 | |
|     description: dmic sample rate
 | |
|     $ref: /schemas/types.yaml#/definitions/uint32
 | |
| 
 | |
|   vdd-micb-supply:
 | |
|     description: phandle to voltage regulator of MIC Bias
 | |
| 
 | |
| required:
 | |
|   - compatible
 | |
|   - reg
 | |
|   - "#sound-dai-cells"
 | |
|   - clock-names
 | |
|   - clocks
 | |
| 
 | |
| allOf:
 | |
|   - $ref: dai-common.yaml#
 | |
| 
 | |
|   - if:
 | |
|       properties:
 | |
|         compatible:
 | |
|           contains:
 | |
|             const: qcom,sc7280-lpass-va-macro
 | |
|     then:
 | |
|       properties:
 | |
|         clocks:
 | |
|           maxItems: 1
 | |
|         clock-names:
 | |
|           items:
 | |
|             - const: mclk
 | |
| 
 | |
|   - if:
 | |
|       properties:
 | |
|         compatible:
 | |
|           contains:
 | |
|             const: qcom,sm8250-lpass-va-macro
 | |
|     then:
 | |
|       properties:
 | |
|         clocks:
 | |
|           minItems: 3
 | |
|           maxItems: 3
 | |
|         clock-names:
 | |
|           items:
 | |
|             - const: mclk
 | |
|             - const: macro
 | |
|             - const: dcodec
 | |
| 
 | |
|   - if:
 | |
|       properties:
 | |
|         compatible:
 | |
|           contains:
 | |
|             enum:
 | |
|               - qcom,sc8280xp-lpass-va-macro
 | |
|               - qcom,sm8450-lpass-va-macro
 | |
|     then:
 | |
|       properties:
 | |
|         clocks:
 | |
|           minItems: 4
 | |
|           maxItems: 4
 | |
|         clock-names:
 | |
|           items:
 | |
|             - const: mclk
 | |
|             - const: macro
 | |
|             - const: dcodec
 | |
|             - const: npl
 | |
| 
 | |
|   - if:
 | |
|       properties:
 | |
|         compatible:
 | |
|           contains:
 | |
|             enum:
 | |
|               - qcom,sm8550-lpass-va-macro
 | |
|     then:
 | |
|       properties:
 | |
|         clocks:
 | |
|           minItems: 3
 | |
|           maxItems: 3
 | |
|         clock-names:
 | |
|           items:
 | |
|             - const: mclk
 | |
|             - const: macro
 | |
|             - const: dcodec
 | |
| 
 | |
| unevaluatedProperties: false
 | |
| 
 | |
| examples:
 | |
|   - |
 | |
|     #include <dt-bindings/sound/qcom,q6afe.h>
 | |
|     codec@3370000 {
 | |
|       compatible = "qcom,sm8250-lpass-va-macro";
 | |
|       reg = <0x3370000 0x1000>;
 | |
|       #sound-dai-cells = <1>;
 | |
|       #clock-cells = <0>;
 | |
|       clocks = <&aoncc 0>,
 | |
|                <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
 | |
|                <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
 | |
|       clock-names = "mclk", "macro", "dcodec";
 | |
|       clock-output-names = "fsgen";
 | |
|       qcom,dmic-sample-rate = <600000>;
 | |
|       vdd-micb-supply = <&vreg_s4a_1p8>;
 | |
|     };    
 |