Add a node for the CAMSS on the SM6350 SoC.

Signed-off-by: Luca Weiss <[email protected]>
---
 arch/arm64/boot/dts/qcom/sm6350.dtsi | 233 +++++++++++++++++++++++++++++++++++
 1 file changed, 233 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm6350.dtsi 
b/arch/arm64/boot/dts/qcom/sm6350.dtsi
index 9f9b9f9af0da..07887a07644f 100644
--- a/arch/arm64/boot/dts/qcom/sm6350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6350.dtsi
@@ -2161,6 +2161,239 @@ cci1_i2c0: i2c-bus@0 {
                        /* SM6350 seems to have cci1_i2c1 on gpio2 & gpio3 but 
unused downstream */
                };
 
+               camss: isp@acb3000 {
+                       compatible = "qcom,sm6350-camss";
+
+                       reg = <0x0 0x0acb3000 0x0 0x1000>,
+                             <0x0 0x0acba000 0x0 0x1000>,
+                             <0x0 0x0acc1000 0x0 0x1000>,
+                             <0x0 0x0acc8000 0x0 0x1000>,
+                             <0x0 0x0ac65000 0x0 0x1000>,
+                             <0x0 0x0ac66000 0x0 0x1000>,
+                             <0x0 0x0ac67000 0x0 0x1000>,
+                             <0x0 0x0ac68000 0x0 0x1000>,
+                             <0x0 0x0acaf000 0x0 0x4000>,
+                             <0x0 0x0acb6000 0x0 0x4000>,
+                             <0x0 0x0acbd000 0x0 0x4000>,
+                             <0x0 0x0acc4000 0x0 0x4000>,
+                             <0x0 0x0ac18000 0x0 0x3000>,
+                             <0x0 0x0ac00000 0x0 0x6000>,
+                             <0x0 0x0ac10000 0x0 0x8000>,
+                             <0x0 0x0ac6f000 0x0 0x8000>,
+                             <0x0 0x0ac42000 0x0 0x4600>,
+                             <0x0 0x01fc0000 0x0 0x40000>,
+                             <0x0 0x0ac48000 0x0 0x1000>,
+                             <0x0 0x0ac40000 0x0 0x1000>,
+                             <0x0 0x0ac87000 0x0 0xa000>,
+                             <0x0 0x0ac52000 0x0 0x4000>,
+                             <0x0 0x0ac4e000 0x0 0x4000>,
+                             <0x0 0x0ac6b000 0x0 0xa00>;
+                       reg-names = "csid0",
+                                   "csid1",
+                                   "csid2",
+                                   "csid_lite",
+                                   "csiphy0",
+                                   "csiphy1",
+                                   "csiphy2",
+                                   "csiphy3",
+                                   "vfe0",
+                                   "vfe1",
+                                   "vfe2",
+                                   "vfe_lite",
+                                   "a5_csr",
+                                   "a5_qgic",
+                                   "a5_sierra",
+                                   "bps",
+                                   "camnoc",
+                                   "core_top_csr_tcsr",
+                                   "cpas_cdm",
+                                   "cpas_top",
+                                   "ipe",
+                                   "jpeg_dma",
+                                   "jpeg_enc",
+                                   "lrme";
+
+                       clocks = <&gcc GCC_CAMERA_AXI_CLK>,
+                                <&camcc CAMCC_SOC_AHB_CLK>,
+                                <&camcc CAMCC_CAMNOC_AXI_CLK>,
+                                <&camcc CAMCC_CORE_AHB_CLK>,
+                                <&camcc CAMCC_CPAS_AHB_CLK>,
+                                <&camcc CAMCC_CSIPHY0_CLK>,
+                                <&camcc CAMCC_CSI0PHYTIMER_CLK>,
+                                <&camcc CAMCC_CSIPHY1_CLK>,
+                                <&camcc CAMCC_CSI1PHYTIMER_CLK>,
+                                <&camcc CAMCC_CSIPHY2_CLK>,
+                                <&camcc CAMCC_CSI2PHYTIMER_CLK>,
+                                <&camcc CAMCC_CSIPHY3_CLK>,
+                                <&camcc CAMCC_CSI3PHYTIMER_CLK>,
+                                <&camcc CAMCC_IFE_0_AXI_CLK>,
+                                <&camcc CAMCC_IFE_0_CLK>,
+                                <&camcc CAMCC_IFE_0_CPHY_RX_CLK>,
+                                <&camcc CAMCC_IFE_0_CSID_CLK>,
+                                <&camcc CAMCC_IFE_1_AXI_CLK>,
+                                <&camcc CAMCC_IFE_1_CLK>,
+                                <&camcc CAMCC_IFE_1_CPHY_RX_CLK>,
+                                <&camcc CAMCC_IFE_1_CSID_CLK>,
+                                <&camcc CAMCC_IFE_2_AXI_CLK>,
+                                <&camcc CAMCC_IFE_2_CLK>,
+                                <&camcc CAMCC_IFE_2_CPHY_RX_CLK>,
+                                <&camcc CAMCC_IFE_2_CSID_CLK>,
+                                <&camcc CAMCC_IFE_LITE_CLK>,
+                                <&camcc CAMCC_IFE_LITE_CPHY_RX_CLK>,
+                                <&camcc CAMCC_IFE_LITE_CSID_CLK>,
+                                <&camcc CAMCC_BPS_CLK>,
+                                <&camcc CAMCC_BPS_AHB_CLK>,
+                                <&camcc CAMCC_BPS_AREG_CLK>,
+                                <&camcc CAMCC_BPS_AXI_CLK>,
+                                <&camcc CAMCC_ICP_CLK>,
+                                <&camcc CAMCC_IPE_0_CLK>,
+                                <&camcc CAMCC_IPE_0_AHB_CLK>,
+                                <&camcc CAMCC_IPE_0_AREG_CLK>,
+                                <&camcc CAMCC_IPE_0_AXI_CLK>,
+                                <&camcc CAMCC_JPEG_CLK>,
+                                <&camcc CAMCC_LRME_CLK>;
+                       clock-names = "cam_axi",
+                                     "soc_ahb",
+                                     "camnoc_axi",
+                                     "core_ahb",
+                                     "cpas_ahb",
+                                     "csiphy0",
+                                     "csiphy0_timer",
+                                     "csiphy1",
+                                     "csiphy1_timer",
+                                     "csiphy2",
+                                     "csiphy2_timer",
+                                     "csiphy3",
+                                     "csiphy3_timer",
+                                     "vfe0_axi",
+                                     "vfe0",
+                                     "vfe0_cphy_rx",
+                                     "vfe0_csid",
+                                     "vfe1_axi",
+                                     "vfe1",
+                                     "vfe1_cphy_rx",
+                                     "vfe1_csid",
+                                     "vfe2_axi",
+                                     "vfe2",
+                                     "vfe2_cphy_rx",
+                                     "vfe2_csid",
+                                     "vfe_lite",
+                                     "vfe_lite_cphy_rx",
+                                     "vfe_lite_csid",
+                                     "bps",
+                                     "bps_ahb",
+                                     "bps_areg",
+                                     "bps_axi",
+                                     "icp",
+                                     "ipe0",
+                                     "ipe0_ahb",
+                                     "ipe0_areg",
+                                     "ipe0_axi",
+                                     "jpeg",
+                                     "lrme";
+
+                       interrupts = <GIC_SPI 464 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 466 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 717 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 473 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 477 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 478 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 479 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 461 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 465 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 467 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 718 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 472 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 463 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 459 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 469 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 475 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 474 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 476 IRQ_TYPE_EDGE_RISING>;
+                       interrupt-names = "csid0",
+                                         "csid1",
+                                         "csid2",
+                                         "csid_lite",
+                                         "csiphy0",
+                                         "csiphy1",
+                                         "csiphy2",
+                                         "csiphy3",
+                                         "vfe0",
+                                         "vfe1",
+                                         "vfe2",
+                                         "vfe_lite",
+                                         "a5",
+                                         "cpas",
+                                         "cpas_cdm",
+                                         "jpeg_dma",
+                                         "jpeg_enc",
+                                         "lrme";
+
+                       interconnects = <&gem_noc MASTER_AMPSS_M0 
QCOM_ICC_TAG_ACTIVE_ONLY
+                                        &config_noc SLAVE_CAMERA_CFG 
QCOM_ICC_TAG_ACTIVE_ONLY>,
+                                       <&mmss_noc MASTER_CAMNOC_HF 
QCOM_ICC_TAG_ALWAYS
+                                        &clk_virt SLAVE_EBI_CH0 
QCOM_ICC_TAG_ALWAYS>,
+                                       <&mmss_noc MASTER_CAMNOC_SF 
QCOM_ICC_TAG_ALWAYS
+                                        &clk_virt SLAVE_EBI_CH0 
QCOM_ICC_TAG_ALWAYS>,
+                                       <&mmss_noc MASTER_CAMNOC_ICP 
QCOM_ICC_TAG_ALWAYS
+                                        &clk_virt SLAVE_EBI_CH0 
QCOM_ICC_TAG_ALWAYS>;
+                       interconnect-names = "ahb",
+                                            "hf_mnoc",
+                                            "sf_mnoc",
+                                            "sf_icp_mnoc";
+
+                       iommus = <&apps_smmu 0x820 0xc0>,
+                                <&apps_smmu 0x840 0x0>,
+                                <&apps_smmu 0x860 0xc0>,
+                                <&apps_smmu 0x880 0x0>,
+                                <&apps_smmu 0xc40 0x20>,
+                                <&apps_smmu 0xc60 0x20>,
+                                <&apps_smmu 0xc80 0x0>,
+                                <&apps_smmu 0xca2 0x0>,
+                                <&apps_smmu 0xcc0 0x20>,
+                                <&apps_smmu 0xce0 0x20>,
+                                <&apps_smmu 0xd00 0x20>,
+                                <&apps_smmu 0xd20 0x20>,
+                                <&apps_smmu 0xd40 0x20>,
+                                <&apps_smmu 0xd60 0x20>;
+
+                       power-domains = <&camcc BPS_GDSC>,
+                                       <&camcc IFE_0_GDSC>,
+                                       <&camcc IFE_1_GDSC>,
+                                       <&camcc IFE_2_GDSC>,
+                                       <&camcc IPE_0_GDSC>,
+                                       <&camcc TITAN_TOP_GDSC>;
+                       power-domain-names = "bps",
+                                            "ife0",
+                                            "ife1",
+                                            "ife2",
+                                            "ipe",
+                                            "top";
+
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+                               };
+
+                               port@3 {
+                                       reg = <3>;
+                               };
+                       };
+               };
+
                camcc: clock-controller@ad00000 {
                        compatible = "qcom,sm6350-camcc";
                        reg = <0x0 0x0ad00000 0x0 0x16000>;

-- 
2.53.0


Reply via email to