# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

%YAML 1.2
---
$id: http://devicetree.org/schemas/media/qcom,sdm845-camss.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm CAMSS ISP

maintainers:
  - Robert Foss <robert.foss@linaro.org>

description: |
  The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms

properties:
  compatible:
    const: qcom,sdm845-camss

  clocks:
    minItems: 36
    maxItems: 36

  clock-names:
    items:
      - const: camnoc_axi
      - const: cpas_ahb
      - const: cphy_rx_src
      - const: csi0
      - const: csi0_src
      - const: csi1
      - const: csi1_src
      - const: csi2
      - const: csi2_src
      - const: csiphy0
      - const: csiphy0_timer
      - const: csiphy0_timer_src
      - const: csiphy1
      - const: csiphy1_timer
      - const: csiphy1_timer_src
      - const: csiphy2
      - const: csiphy2_timer
      - const: csiphy2_timer_src
      - const: csiphy3
      - const: csiphy3_timer
      - const: csiphy3_timer_src
      - const: gcc_camera_ahb
      - const: gcc_camera_axi
      - const: slow_ahb_src
      - const: soc_ahb
      - const: vfe0_axi
      - const: vfe0
      - const: vfe0_cphy_rx
      - const: vfe0_src
      - const: vfe1_axi
      - const: vfe1
      - const: vfe1_cphy_rx
      - const: vfe1_src
      - const: vfe_lite
      - const: vfe_lite_cphy_rx
      - const: vfe_lite_src

  interrupts:
    minItems: 10
    maxItems: 10

  interrupt-names:
    items:
      - const: csid0
      - const: csid1
      - const: csid2
      - const: csiphy0
      - const: csiphy1
      - const: csiphy2
      - const: csiphy3
      - const: vfe0
      - const: vfe1
      - const: vfe_lite

  iommus:
    maxItems: 4

  power-domains:
    items:
      - description: IFE0 GDSC - Image Front End, Global Distributed Switch Controller.
      - description: IFE1 GDSC - Image Front End, Global Distributed Switch Controller.
      - description: Titan GDSC - Titan ISP Block, Global Distributed Switch Controller.

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    description:
      CSI input ports.

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description:
          Input port for receiving CSI data.

        properties:
          endpoint:
            $ref: video-interfaces.yaml#
            unevaluatedProperties: false

            properties:
              data-lanes:
                minItems: 1
                maxItems: 4

            required:
              - data-lanes

      port@1:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description:
          Input port for receiving CSI data.

        properties:
          endpoint:
            $ref: video-interfaces.yaml#
            unevaluatedProperties: false

            properties:
              data-lanes:
                minItems: 1
                maxItems: 4

            required:
              - data-lanes

      port@2:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description:
          Input port for receiving CSI data.

        properties:
          endpoint:
            $ref: video-interfaces.yaml#
            unevaluatedProperties: false

            properties:
              data-lanes:
                minItems: 1
                maxItems: 4

            required:
              - data-lanes

      port@3:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description:
          Input port for receiving CSI data.

        properties:
          endpoint:
            $ref: video-interfaces.yaml#
            unevaluatedProperties: false

            properties:
              data-lanes:
                minItems: 1
                maxItems: 4

            required:
              - data-lanes

  reg:
    minItems: 10
    maxItems: 10

  reg-names:
    items:
      - const: csid0
      - const: csid1
      - const: csid2
      - const: csiphy0
      - const: csiphy1
      - const: csiphy2
      - const: csiphy3
      - const: vfe0
      - const: vfe1
      - const: vfe_lite

  vdda-phy-supply:
    description:
      Phandle to a regulator supply to PHY core block.

  vdda-pll-supply:
    description:
      Phandle to 1.8V regulator supply to PHY refclk pll block.

required:
  - clock-names
  - clocks
  - compatible
  - interrupt-names
  - interrupts
  - iommus
  - power-domains
  - reg
  - reg-names
  - vdda-phy-supply
  - vdda-pll-supply

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/qcom,camcc-sdm845.h>
    #include <dt-bindings/clock/qcom,gcc-sdm845.h>

    soc {
      #address-cells = <2>;
      #size-cells = <2>;

      camss: camss@acb3000 {
        compatible = "qcom,sdm845-camss";

        clocks = <&clock_camcc CAM_CC_CAMNOC_AXI_CLK>,
          <&clock_camcc CAM_CC_CPAS_AHB_CLK>,
          <&clock_camcc CAM_CC_CPHY_RX_CLK_SRC>,
          <&clock_camcc CAM_CC_IFE_0_CSID_CLK>,
          <&clock_camcc CAM_CC_IFE_0_CSID_CLK_SRC>,
          <&clock_camcc CAM_CC_IFE_1_CSID_CLK>,
          <&clock_camcc CAM_CC_IFE_1_CSID_CLK_SRC>,
          <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK>,
          <&clock_camcc CAM_CC_IFE_LITE_CSID_CLK_SRC>,
          <&clock_camcc CAM_CC_CSIPHY0_CLK>,
          <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK>,
          <&clock_camcc CAM_CC_CSI0PHYTIMER_CLK_SRC>,
          <&clock_camcc CAM_CC_CSIPHY1_CLK>,
          <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK>,
          <&clock_camcc CAM_CC_CSI1PHYTIMER_CLK_SRC>,
          <&clock_camcc CAM_CC_CSIPHY2_CLK>,
          <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK>,
          <&clock_camcc CAM_CC_CSI2PHYTIMER_CLK_SRC>,
          <&clock_camcc CAM_CC_CSIPHY3_CLK>,
          <&clock_camcc CAM_CC_CSI3PHYTIMER_CLK>,
          <&clock_camcc CAM_CC_CSI3PHYTIMER_CLK_SRC>,
          <&gcc GCC_CAMERA_AHB_CLK>,
          <&gcc GCC_CAMERA_AXI_CLK>,
          <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>,
          <&clock_camcc CAM_CC_SOC_AHB_CLK>,
          <&clock_camcc CAM_CC_IFE_0_AXI_CLK>,
          <&clock_camcc CAM_CC_IFE_0_CLK>,
          <&clock_camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
          <&clock_camcc CAM_CC_IFE_0_CLK_SRC>,
          <&clock_camcc CAM_CC_IFE_1_AXI_CLK>,
          <&clock_camcc CAM_CC_IFE_1_CLK>,
          <&clock_camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
          <&clock_camcc CAM_CC_IFE_1_CLK_SRC>,
          <&clock_camcc CAM_CC_IFE_LITE_CLK>,
          <&clock_camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>,
          <&clock_camcc CAM_CC_IFE_LITE_CLK_SRC>;

        clock-names = "camnoc_axi",
          "cpas_ahb",
          "cphy_rx_src",
          "csi0",
          "csi0_src",
          "csi1",
          "csi1_src",
          "csi2",
          "csi2_src",
          "csiphy0",
          "csiphy0_timer",
          "csiphy0_timer_src",
          "csiphy1",
          "csiphy1_timer",
          "csiphy1_timer_src",
          "csiphy2",
          "csiphy2_timer",
          "csiphy2_timer_src",
          "csiphy3",
          "csiphy3_timer",
          "csiphy3_timer_src",
          "gcc_camera_ahb",
          "gcc_camera_axi",
          "slow_ahb_src",
          "soc_ahb",
          "vfe0_axi",
          "vfe0",
          "vfe0_cphy_rx",
          "vfe0_src",
          "vfe1_axi",
          "vfe1",
          "vfe1_cphy_rx",
          "vfe1_src",
          "vfe_lite",
          "vfe_lite_cphy_rx",
          "vfe_lite_src";

        interrupts = <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 477 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 478 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 479 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
          <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>;

        interrupt-names = "csid0",
          "csid1",
          "csid2",
          "csiphy0",
          "csiphy1",
          "csiphy2",
          "csiphy3",
          "vfe0",
          "vfe1",
          "vfe_lite";

        iommus = <&apps_smmu 0x0808 0x0>,
          <&apps_smmu 0x0810 0x8>,
          <&apps_smmu 0x0c08 0x0>,
          <&apps_smmu 0x0c10 0x8>;

        power-domains = <&clock_camcc IFE_0_GDSC>,
          <&clock_camcc IFE_1_GDSC>,
          <&clock_camcc TITAN_TOP_GDSC>;

        reg = <0 0xacb3000 0 0x1000>,
          <0 0xacba000 0 0x1000>,
          <0 0xacc8000 0 0x1000>,
          <0 0xac65000 0 0x1000>,
          <0 0xac66000 0 0x1000>,
          <0 0xac67000 0 0x1000>,
          <0 0xac68000 0 0x1000>,
          <0 0xacaf000 0 0x4000>,
          <0 0xacb6000 0 0x4000>,
          <0 0xacc4000 0 0x4000>;

        reg-names = "csid0",
          "csid1",
          "csid2",
          "csiphy0",
          "csiphy1",
          "csiphy2",
          "csiphy3",
          "vfe0",
          "vfe1",
          "vfe_lite";

        vdda-phy-supply = <&vreg_l1a_0p875>;
        vdda-pll-supply = <&vreg_l26a_1p2>;

        ports {
          #address-cells = <1>;
          #size-cells = <0>;
        };
      };
    };
