1# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/clock/qcom,lcc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm LPASS Clock & Reset Controller
8
9maintainers:
10  - Bjorn Andersson <andersson@kernel.org>
11
12properties:
13  compatible:
14    enum:
15      - qcom,lcc-apq8064
16      - qcom,lcc-ipq8064
17      - qcom,lcc-mdm9615
18      - qcom,lcc-msm8960
19
20  clocks:
21    maxItems: 8
22
23  clock-names:
24    maxItems: 8
25
26  '#clock-cells':
27    const: 1
28
29  '#reset-cells':
30    const: 1
31
32  reg:
33    maxItems: 1
34
35required:
36  - compatible
37  - reg
38  - '#clock-cells'
39  - '#reset-cells'
40
41additionalProperties: false
42
43allOf:
44  - if:
45      properties:
46        compatible:
47          contains:
48            enum:
49              - qcom,lcc-apq8064
50              - qcom,lcc-msm8960
51    then:
52      properties:
53        clocks:
54          items:
55            - description: Board PXO source
56            - description: PLL 4 Vote clock
57            - description: MI2S codec clock
58            - description: Mic I2S codec clock
59            - description: Mic I2S spare clock
60            - description: Speaker I2S codec clock
61            - description: Speaker I2S spare clock
62            - description: PCM codec clock
63
64        clock-names:
65          items:
66            - const: pxo
67            - const: pll4_vote
68            - const: mi2s_codec_clk
69            - const: codec_i2s_mic_codec_clk
70            - const: spare_i2s_mic_codec_clk
71            - const: codec_i2s_spkr_codec_clk
72            - const: spare_i2s_spkr_codec_clk
73            - const: pcm_codec_clk
74
75      required:
76        - clocks
77        - clock-names
78
79  - if:
80      properties:
81        compatible:
82          contains:
83            enum:
84              - qcom,lcc-mdm9615
85    then:
86      properties:
87        clocks:
88          items:
89            - description: Board CXO source
90            - description: PLL 4 Vote clock
91            - description: MI2S codec clock
92            - description: Mic I2S codec clock
93            - description: Mic I2S spare clock
94            - description: Speaker I2S codec clock
95            - description: Speaker I2S spare clock
96            - description: PCM codec clock
97
98        clock-names:
99          items:
100            - const: cxo
101            - const: pll4_vote
102            - const: mi2s_codec_clk
103            - const: codec_i2s_mic_codec_clk
104            - const: spare_i2s_mic_codec_clk
105            - const: codec_i2s_spkr_codec_clk
106            - const: spare_i2s_spkr_codec_clk
107            - const: pcm_codec_clk
108
109      required:
110        - clocks
111        - clock-names
112
113examples:
114  - |
115    clock-controller@28000000 {
116        compatible = "qcom,lcc-ipq8064";
117        reg = <0x28000000 0x1000>;
118        #clock-cells = <1>;
119        #reset-cells = <1>;
120    };
121