# 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,msm8974-apcs-kpss-global
              - 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>;
    };
