Back to home page

OSCL-LXR

 
 

    


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     };