# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm APCS global block

description:
  This binding describes the APCS "global" block found in various Qualcomm
  platforms.

maintainers:
  - Jassi Brar <jassisinghbrar@gmail.com>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - qcom,ipq5018-apcs-apps-global
              - qcom,ipq5332-apcs-apps-global
              - qcom,ipq8074-apcs-apps-global
              - qcom,ipq9574-apcs-apps-global
          - const: qcom,ipq6018-apcs-apps-global
      - items:
          - enum:
              - qcom,qcs404-apcs-apps-global
          - const: qcom,msm8916-apcs-kpss-global
          - const: syscon
      - items:
          - enum:
              - qcom,msm8976-apcs-kpss-global
          - const: qcom,msm8994-apcs-kpss-global
          - const: syscon
      - items:
          - enum:
              - qcom,msm8998-apcs-hmss-global
              - qcom,sdm660-apcs-hmss-global
              - qcom,sm4250-apcs-hmss-global
              - qcom,sm6115-apcs-hmss-global
              - qcom,sm6125-apcs-hmss-global
          - const: qcom,msm8994-apcs-kpss-global
      - items:
          - enum:
              - qcom,sc7180-apss-shared
              - qcom,sc8180x-apss-shared
              - qcom,sm8150-apss-shared
          - const: qcom,sdm845-apss-shared
      - items:
          - enum:
              - qcom,msm8916-apcs-kpss-global
              - qcom,msm8939-apcs-kpss-global
              - qcom,msm8953-apcs-kpss-global
              - qcom,msm8994-apcs-kpss-global
              - qcom,sdx55-apcs-gcc
          - const: syscon
      - enum:
          - qcom,ipq6018-apcs-apps-global
          - qcom,msm8996-apcs-hmss-global
          - qcom,qcm2290-apcs-hmss-global
          - qcom,sdm845-apss-shared

  reg:
    maxItems: 1

  clocks:
    description: phandles to the parent clocks of the clock driver
    minItems: 2
    maxItems: 3

  '#mbox-cells':
    const: 1

  '#clock-cells':
    enum: [0, 1]

  clock-names:
    minItems: 2
    maxItems: 3

required:
  - compatible
  - reg
  - '#mbox-cells'

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,msm8916-apcs-kpss-global
    then:
      properties:
        clocks:
          items:
            - description: primary pll parent of the clock driver
            - description: auxiliary parent
        clock-names:
          items:
            - const: pll
            - const: aux

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,msm8939-apcs-kpss-global
    then:
      properties:
        clocks:
          items:
            - description: primary pll parent of the clock driver
            - description: auxiliary parent
            - description: reference clock
        clock-names:
          items:
            - const: pll
            - const: aux
            - const: ref

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sdx55-apcs-gcc
    then:
      properties:
        clocks:
          items:
            - description: reference clock
            - description: primary pll parent of the clock driver
            - description: auxiliary parent
        clock-names:
          items:
            - const: ref
            - const: pll
            - const: aux

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq6018-apcs-apps-global
    then:
      properties:
        clocks:
          items:
            - description: primary pll parent of the clock driver
            - description: XO clock
            - description: GCC GPLL0 clock source
        clock-names:
          items:
            - const: pll
            - const: xo
            - const: gpll0

  - if:
      properties:
        compatible:
          enum:
            - qcom,msm8953-apcs-kpss-global
            - qcom,msm8994-apcs-kpss-global
            - qcom,msm8996-apcs-hmss-global
            - qcom,qcm2290-apcs-hmss-global
            - qcom,sdm845-apss-shared
    then:
      properties:
        clocks: false
        clock-names: false

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq6018-apcs-apps-global
    then:
      properties:
        '#clock-cells':
          const: 1
    else:
      properties:
        '#clock-cells':
          const: 0

examples:

  # Example apcs with msm8996
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    apcs_glb: mailbox@9820000 {
        compatible = "qcom,msm8996-apcs-hmss-global";
        reg = <0x9820000 0x1000>;

        #mbox-cells = <1>;
        #clock-cells = <0>;
    };

    rpm-glink {
        compatible = "qcom,glink-rpm";
        interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
        qcom,rpm-msg-ram = <&rpm_msg_ram>;
        mboxes = <&apcs_glb 0>;
    };

  # Example apcs with qcs404
  - |
    #define GCC_APSS_AHB_CLK_SRC  1
    #define GCC_GPLL0_AO_OUT_MAIN 123
    apcs: mailbox@b011000 {
        compatible = "qcom,qcs404-apcs-apps-global",
                     "qcom,msm8916-apcs-kpss-global", "syscon";
        reg = <0x0b011000 0x1000>;
        #mbox-cells = <1>;
        clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
        clock-names = "pll", "aux";
        #clock-cells = <0>;
    };
