xref: /freebsd/sys/contrib/device-tree/Bindings/sound/qcom,lpass-wsa-macro.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/qcom,lpass-wsa-macro.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: LPASS(Low Power Audio Subsystem) VA Macro audio codec
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
105def4c47SEmmanuel Vadot  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
115def4c47SEmmanuel Vadot
125def4c47SEmmanuel Vadotproperties:
135def4c47SEmmanuel Vadot  compatible:
14*8d13bc63SEmmanuel Vadot    oneOf:
15*8d13bc63SEmmanuel Vadot      - enum:
168cc087a1SEmmanuel Vadot          - qcom,sc7280-lpass-wsa-macro
178cc087a1SEmmanuel Vadot          - qcom,sm8250-lpass-wsa-macro
187ef62cebSEmmanuel Vadot          - qcom,sm8450-lpass-wsa-macro
19fac71e4eSEmmanuel Vadot          - qcom,sm8550-lpass-wsa-macro
207ef62cebSEmmanuel Vadot          - qcom,sc8280xp-lpass-wsa-macro
21*8d13bc63SEmmanuel Vadot      - items:
22*8d13bc63SEmmanuel Vadot          - enum:
23*8d13bc63SEmmanuel Vadot              - qcom,sm8650-lpass-wsa-macro
24*8d13bc63SEmmanuel Vadot              - qcom,x1e80100-lpass-wsa-macro
25*8d13bc63SEmmanuel Vadot          - const: qcom,sm8550-lpass-wsa-macro
265def4c47SEmmanuel Vadot
275def4c47SEmmanuel Vadot  reg:
285def4c47SEmmanuel Vadot    maxItems: 1
295def4c47SEmmanuel Vadot
305def4c47SEmmanuel Vadot  "#sound-dai-cells":
315def4c47SEmmanuel Vadot    const: 1
325def4c47SEmmanuel Vadot
335def4c47SEmmanuel Vadot  '#clock-cells':
345def4c47SEmmanuel Vadot    const: 0
355def4c47SEmmanuel Vadot
365def4c47SEmmanuel Vadot  clocks:
37fac71e4eSEmmanuel Vadot    minItems: 4
388bab661aSEmmanuel Vadot    maxItems: 6
395def4c47SEmmanuel Vadot
405def4c47SEmmanuel Vadot  clock-names:
41fac71e4eSEmmanuel Vadot    minItems: 4
428bab661aSEmmanuel Vadot    maxItems: 6
435def4c47SEmmanuel Vadot
445def4c47SEmmanuel Vadot  clock-output-names:
458bab661aSEmmanuel Vadot    maxItems: 1
465def4c47SEmmanuel Vadot
475def4c47SEmmanuel Vadot  qcom,dmic-sample-rate:
485def4c47SEmmanuel Vadot    description: dmic sample rate
495def4c47SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
505def4c47SEmmanuel Vadot
515def4c47SEmmanuel Vadot  vdd-micb-supply:
525def4c47SEmmanuel Vadot    description: phandle to voltage regulator of MIC Bias
535def4c47SEmmanuel Vadot
545def4c47SEmmanuel Vadotrequired:
555def4c47SEmmanuel Vadot  - compatible
565def4c47SEmmanuel Vadot  - reg
575def4c47SEmmanuel Vadot  - "#sound-dai-cells"
585def4c47SEmmanuel Vadot
598bab661aSEmmanuel VadotallOf:
608bab661aSEmmanuel Vadot  - $ref: dai-common.yaml#
618bab661aSEmmanuel Vadot
628bab661aSEmmanuel Vadot  - if:
638bab661aSEmmanuel Vadot      properties:
648bab661aSEmmanuel Vadot        compatible:
658bab661aSEmmanuel Vadot          enum:
668bab661aSEmmanuel Vadot            - qcom,sc7280-lpass-wsa-macro
678bab661aSEmmanuel Vadot            - qcom,sm8450-lpass-wsa-macro
688bab661aSEmmanuel Vadot            - qcom,sc8280xp-lpass-wsa-macro
698bab661aSEmmanuel Vadot    then:
708bab661aSEmmanuel Vadot      properties:
718bab661aSEmmanuel Vadot        clocks:
72fac71e4eSEmmanuel Vadot          minItems: 5
738bab661aSEmmanuel Vadot          maxItems: 5
748bab661aSEmmanuel Vadot        clock-names:
758bab661aSEmmanuel Vadot          items:
768bab661aSEmmanuel Vadot            - const: mclk
778bab661aSEmmanuel Vadot            - const: npl
788bab661aSEmmanuel Vadot            - const: macro
798bab661aSEmmanuel Vadot            - const: dcodec
808bab661aSEmmanuel Vadot            - const: fsgen
818bab661aSEmmanuel Vadot
828bab661aSEmmanuel Vadot  - if:
838bab661aSEmmanuel Vadot      properties:
848bab661aSEmmanuel Vadot        compatible:
858bab661aSEmmanuel Vadot          enum:
868bab661aSEmmanuel Vadot            - qcom,sm8250-lpass-wsa-macro
878bab661aSEmmanuel Vadot    then:
888bab661aSEmmanuel Vadot      properties:
898bab661aSEmmanuel Vadot        clocks:
908bab661aSEmmanuel Vadot          minItems: 6
918bab661aSEmmanuel Vadot        clock-names:
928bab661aSEmmanuel Vadot          items:
938bab661aSEmmanuel Vadot            - const: mclk
948bab661aSEmmanuel Vadot            - const: npl
958bab661aSEmmanuel Vadot            - const: macro
968bab661aSEmmanuel Vadot            - const: dcodec
978bab661aSEmmanuel Vadot            - const: va
988bab661aSEmmanuel Vadot            - const: fsgen
998bab661aSEmmanuel Vadot
100fac71e4eSEmmanuel Vadot  - if:
101fac71e4eSEmmanuel Vadot      properties:
102fac71e4eSEmmanuel Vadot        compatible:
103*8d13bc63SEmmanuel Vadot          contains:
104fac71e4eSEmmanuel Vadot            enum:
105fac71e4eSEmmanuel Vadot              - qcom,sm8550-lpass-wsa-macro
106fac71e4eSEmmanuel Vadot    then:
107fac71e4eSEmmanuel Vadot      properties:
108fac71e4eSEmmanuel Vadot        clocks:
109fac71e4eSEmmanuel Vadot          minItems: 4
110fac71e4eSEmmanuel Vadot          maxItems: 4
111fac71e4eSEmmanuel Vadot        clock-names:
112fac71e4eSEmmanuel Vadot          items:
113fac71e4eSEmmanuel Vadot            - const: mclk
114fac71e4eSEmmanuel Vadot            - const: macro
115fac71e4eSEmmanuel Vadot            - const: dcodec
116fac71e4eSEmmanuel Vadot            - const: fsgen
117fac71e4eSEmmanuel Vadot
1188bab661aSEmmanuel VadotunevaluatedProperties: false
1195def4c47SEmmanuel Vadot
1205def4c47SEmmanuel Vadotexamples:
1215def4c47SEmmanuel Vadot  - |
1228bab661aSEmmanuel Vadot    #include <dt-bindings/clock/qcom,sm8250-lpass-aoncc.h>
1235def4c47SEmmanuel Vadot    #include <dt-bindings/sound/qcom,q6afe.h>
1245def4c47SEmmanuel Vadot    codec@3240000 {
1255def4c47SEmmanuel Vadot      compatible = "qcom,sm8250-lpass-wsa-macro";
1265def4c47SEmmanuel Vadot      reg = <0x3240000 0x1000>;
1275def4c47SEmmanuel Vadot      #sound-dai-cells = <1>;
1285def4c47SEmmanuel Vadot      #clock-cells = <0>;
1295def4c47SEmmanuel Vadot      clocks = <&audiocc 1>,
1305def4c47SEmmanuel Vadot               <&audiocc 0>,
1315def4c47SEmmanuel Vadot               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
1325def4c47SEmmanuel Vadot               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
1338bab661aSEmmanuel Vadot               <&aoncc LPASS_CDC_VA_MCLK>,
1345def4c47SEmmanuel Vadot               <&vamacro>;
1358bab661aSEmmanuel Vadot      clock-names = "mclk", "npl", "macro", "dcodec", "va", "fsgen";
1365def4c47SEmmanuel Vadot      clock-output-names = "mclk";
1375def4c47SEmmanuel Vadot    };
138