0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: "http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml#"
0005 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0006
0007 title: Qualcomm APCS global block bindings
0008
0009 description:
0010 This binding describes the APCS "global" block found in various Qualcomm
0011 platforms.
0012
0013 maintainers:
0014 - Jassi Brar <jassisinghbrar@gmail.com>
0015
0016 properties:
0017 compatible:
0018 oneOf:
0019 - items:
0020 - enum:
0021 - qcom,ipq6018-apcs-apps-global
0022 - qcom,ipq8074-apcs-apps-global
0023 - qcom,msm8976-apcs-kpss-global
0024 - qcom,msm8996-apcs-hmss-global
0025 - qcom,msm8998-apcs-hmss-global
0026 - qcom,qcm2290-apcs-hmss-global
0027 - qcom,sc7180-apss-shared
0028 - qcom,sc8180x-apss-shared
0029 - qcom,sdm660-apcs-hmss-global
0030 - qcom,sdm845-apss-shared
0031 - qcom,sm6125-apcs-hmss-global
0032 - qcom,sm6115-apcs-hmss-global
0033 - qcom,sm8150-apss-shared
0034 - items:
0035 - enum:
0036 - qcom,msm8916-apcs-kpss-global
0037 - qcom,msm8939-apcs-kpss-global
0038 - qcom,msm8953-apcs-kpss-global
0039 - qcom,msm8994-apcs-kpss-global
0040 - qcom,qcs404-apcs-apps-global
0041 - const: syscon
0042 reg:
0043 maxItems: 1
0044
0045 clocks:
0046 description: phandles to the parent clocks of the clock driver
0047 minItems: 2
0048 items:
0049 - description: primary pll parent of the clock driver
0050 - description: auxiliary parent
0051 - description: reference clock
0052
0053 '#mbox-cells':
0054 const: 1
0055
0056 '#clock-cells':
0057 const: 0
0058
0059 clock-names:
0060 minItems: 2
0061 items:
0062 - const: pll
0063 - const: aux
0064 - const: ref
0065
0066 required:
0067 - compatible
0068 - reg
0069 - '#mbox-cells'
0070
0071 additionalProperties: false
0072
0073 allOf:
0074 - if:
0075 properties:
0076 compatible:
0077 enum:
0078 - qcom,ipq6018-apcs-apps-global
0079 - qcom,ipq8074-apcs-apps-global
0080 - qcom,msm8916-apcs-kpss-global
0081 - qcom,msm8994-apcs-kpss-global
0082 - qcom,msm8996-apcs-hmss-global
0083 - qcom,msm8998-apcs-hmss-global
0084 - qcom,qcs404-apcs-apps-global
0085 - qcom,sc7180-apss-shared
0086 - qcom,sdm660-apcs-hmss-global
0087 - qcom,sdm845-apss-shared
0088 - qcom,sm6125-apcs-hmss-global
0089 - qcom,sm8150-apss-shared
0090 then:
0091 properties:
0092 clocks:
0093 maxItems: 2
0094 - if:
0095 properties:
0096 compatible:
0097 enum:
0098 - qcom,sdx55-apcs-gcc
0099 then:
0100 properties:
0101 clocks:
0102 maxItems: 3
0103 examples:
0104
0105 # Example apcs with msm8996
0106 - |
0107 #include <dt-bindings/interrupt-controller/arm-gic.h>
0108 apcs_glb: mailbox@9820000 {
0109 compatible = "qcom,msm8996-apcs-hmss-global";
0110 reg = <0x9820000 0x1000>;
0111
0112 #mbox-cells = <1>;
0113 };
0114
0115 rpm-glink {
0116 compatible = "qcom,glink-rpm";
0117 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
0118 qcom,rpm-msg-ram = <&rpm_msg_ram>;
0119 mboxes = <&apcs_glb 0>;
0120 mbox-names = "rpm_hlos";
0121 };
0122
0123 # Example apcs with qcs404
0124 - |
0125 #define GCC_APSS_AHB_CLK_SRC 1
0126 #define GCC_GPLL0_AO_OUT_MAIN 123
0127 apcs: mailbox@b011000 {
0128 compatible = "qcom,qcs404-apcs-apps-global", "syscon";
0129 reg = <0x0b011000 0x1000>;
0130 #mbox-cells = <1>;
0131 clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
0132 clock-names = "pll", "aux";
0133 #clock-cells = <0>;
0134 };