GNU Linux-libre 5.19-rc6-gnu
[releases.git] / Documentation / devicetree / bindings / mailbox / qcom,apcs-kpss-global.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: "http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7 title: Qualcomm APCS global block bindings
8
9 description:
10   This binding describes the APCS "global" block found in various Qualcomm
11   platforms.
12
13 maintainers:
14   - Jassi Brar <jassisinghbrar@gmail.com>
15
16 properties:
17   compatible:
18     enum:
19       - qcom,ipq6018-apcs-apps-global
20       - qcom,ipq8074-apcs-apps-global
21       - qcom,msm8916-apcs-kpss-global
22       - qcom,msm8939-apcs-kpss-global
23       - qcom,msm8953-apcs-kpss-global
24       - qcom,msm8976-apcs-kpss-global
25       - qcom,msm8994-apcs-kpss-global
26       - qcom,msm8996-apcs-hmss-global
27       - qcom,msm8998-apcs-hmss-global
28       - qcom,qcm2290-apcs-hmss-global
29       - qcom,qcs404-apcs-apps-global
30       - qcom,sc7180-apss-shared
31       - qcom,sc8180x-apss-shared
32       - qcom,sdm660-apcs-hmss-global
33       - qcom,sdm845-apss-shared
34       - qcom,sm6125-apcs-hmss-global
35       - qcom,sm6115-apcs-hmss-global
36       - qcom,sm8150-apss-shared
37
38   reg:
39     maxItems: 1
40
41   clocks:
42     description: phandles to the parent clocks of the clock driver
43     minItems: 2
44     items:
45       - description: primary pll parent of the clock driver
46       - description: auxiliary parent
47       - description: reference clock
48
49   '#mbox-cells':
50     const: 1
51
52   '#clock-cells':
53     const: 0
54
55   clock-names:
56     minItems: 2
57     items:
58       - const: pll
59       - const: aux
60       - const: ref
61
62 required:
63   - compatible
64   - reg
65   - '#mbox-cells'
66
67 additionalProperties: false
68
69 allOf:
70   - if:
71       properties:
72         compatible:
73           enum:
74             - qcom,ipq6018-apcs-apps-global
75             - qcom,ipq8074-apcs-apps-global
76             - qcom,msm8916-apcs-kpss-global
77             - qcom,msm8994-apcs-kpss-global
78             - qcom,msm8996-apcs-hmss-global
79             - qcom,msm8998-apcs-hmss-global
80             - qcom,qcs404-apcs-apps-global
81             - qcom,sc7180-apss-shared
82             - qcom,sdm660-apcs-hmss-global
83             - qcom,sdm845-apss-shared
84             - qcom,sm6125-apcs-hmss-global
85             - qcom,sm8150-apss-shared
86     then:
87       properties:
88         clocks:
89           maxItems: 2
90   - if:
91       properties:
92         compatible:
93           enum:
94             - qcom,sdx55-apcs-gcc
95     then:
96       properties:
97         clocks:
98           maxItems: 3
99 examples:
100
101   # Example apcs with msm8996
102   - |
103     #include <dt-bindings/interrupt-controller/arm-gic.h>
104     apcs_glb: mailbox@9820000 {
105         compatible = "qcom,msm8996-apcs-hmss-global";
106         reg = <0x9820000 0x1000>;
107
108         #mbox-cells = <1>;
109     };
110
111     rpm-glink {
112         compatible = "qcom,glink-rpm";
113         interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
114         qcom,rpm-msg-ram = <&rpm_msg_ram>;
115         mboxes = <&apcs_glb 0>;
116         mbox-names = "rpm_hlos";
117     };
118
119   # Example apcs with qcs404
120   - |
121     #define GCC_APSS_AHB_CLK_SRC  1
122     #define GCC_GPLL0_AO_OUT_MAIN 123
123     apcs: mailbox@b011000 {
124         compatible = "qcom,qcs404-apcs-apps-global";
125         reg = <0x0b011000 0x1000>;
126         #mbox-cells = <1>;
127         clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
128         clock-names = "pll", "aux";
129         #clock-cells = <0>;
130     };