Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.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   - Sivaprakash Murugesan <sivaprak@codeaurora.org>
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,msm8994-apcs-kpss-global
25       - qcom,msm8996-apcs-hmss-global
26       - qcom,msm8998-apcs-hmss-global
27       - qcom,qcs404-apcs-apps-global
28       - qcom,sc7180-apss-shared
29       - qcom,sc8180x-apss-shared
30       - qcom,sdm660-apcs-hmss-global
31       - qcom,sdm845-apss-shared
32       - qcom,sm6125-apcs-hmss-global
33       - qcom,sm6115-apcs-hmss-global
34       - qcom,sm8150-apss-shared
35
36   reg:
37     maxItems: 1
38
39   clocks:
40     description: phandles to the parent clocks of the clock driver
41     minItems: 2
42     items:
43       - description: primary pll parent of the clock driver
44       - description: auxiliary parent
45       - description: reference clock
46
47   '#mbox-cells':
48     const: 1
49
50   '#clock-cells':
51     const: 0
52
53   clock-names:
54     minItems: 2
55     items:
56       - const: pll
57       - const: aux
58       - const: ref
59
60 required:
61   - compatible
62   - reg
63   - '#mbox-cells'
64
65 additionalProperties: false
66
67 allOf:
68   - if:
69       properties:
70         compatible:
71           enum:
72             - qcom,ipq6018-apcs-apps-global
73             - qcom,ipq8074-apcs-apps-global
74             - qcom,msm8916-apcs-kpss-global
75             - qcom,msm8994-apcs-kpss-global
76             - qcom,msm8996-apcs-hmss-global
77             - qcom,msm8998-apcs-hmss-global
78             - qcom,qcs404-apcs-apps-global
79             - qcom,sc7180-apss-shared
80             - qcom,sdm660-apcs-hmss-global
81             - qcom,sdm845-apss-shared
82             - qcom,sm6125-apcs-hmss-global
83             - qcom,sm8150-apss-shared
84     then:
85       properties:
86         clocks:
87           maxItems: 2
88   - if:
89       properties:
90         compatible:
91           enum:
92             - qcom,sdx55-apcs-gcc
93     then:
94       properties:
95         clocks:
96           maxItems: 3
97 examples:
98
99   # Example apcs with msm8996
100   - |
101     #include <dt-bindings/interrupt-controller/arm-gic.h>
102     apcs_glb: mailbox@9820000 {
103         compatible = "qcom,msm8996-apcs-hmss-global";
104         reg = <0x9820000 0x1000>;
105
106         #mbox-cells = <1>;
107     };
108
109     rpm-glink {
110         compatible = "qcom,glink-rpm";
111         interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
112         qcom,rpm-msg-ram = <&rpm_msg_ram>;
113         mboxes = <&apcs_glb 0>;
114         mbox-names = "rpm_hlos";
115     };
116
117   # Example apcs with qcs404
118   - |
119     #define GCC_APSS_AHB_CLK_SRC  1
120     #define GCC_GPLL0_AO_OUT_MAIN 123
121     apcs: mailbox@b011000 {
122         compatible = "qcom,qcs404-apcs-apps-global";
123         reg = <0x0b011000 0x1000>;
124         #mbox-cells = <1>;
125         clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
126         clock-names = "pll", "aux";
127         #clock-cells = <0>;
128     };