]> git.ipfire.org Git - people/ms/linux.git/blobdiff - arch/arm64/boot/dts/qcom/sm8250.dtsi
Merge tag 'usb-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[people/ms/linux.git] / arch / arm64 / boot / dts / qcom / sm8250.dtsi
index 72189f348d3cfac6a9605885cccf785b255f6399..cf0c97bd5ad3e763e7d14e6fb99c99f8b451c0c5 100644 (file)
@@ -18,6 +18,7 @@
 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
 #include <dt-bindings/sound/qcom,q6afe.h>
 #include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/clock/qcom,camcc-sm8250.h>
 #include <dt-bindings/clock/qcom,videocc-sm8250.h>
 
 / {
                        pinctrl-0 = <&rx_swr_active>;
                        compatible = "qcom,sm8250-lpass-rx-macro";
                        reg = <0 0x3200000 0 0x1000>;
+                       status = "disabled";
 
                        clocks = <&q6afecc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
                                <&q6afecc LPASS_CLK_ID_TX_CORE_NPL_MCLK  LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
                swr1: soundwire-controller@3210000 {
                        reg = <0 0x3210000 0 0x2000>;
                        compatible = "qcom,soundwire-v1.5.1";
+                       status = "disabled";
                        interrupts = <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&rxmacro>;
                        clock-names = "iface";
                        pinctrl-0 = <&tx_swr_active>;
                        compatible = "qcom,sm8250-lpass-tx-macro";
                        reg = <0 0x3220000 0 0x1000>;
+                       status = "disabled";
 
                        clocks = <&q6afecc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
                                 <&q6afecc LPASS_CLK_ID_TX_CORE_NPL_MCLK  LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
                        compatible = "qcom,soundwire-v1.5.1";
                        interrupts-extended = <&intc GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-names = "core";
+                       status = "disabled";
 
                        clocks = <&txmacro>;
                        clock-names = "iface";
                        #power-domain-cells = <1>;
                };
 
+               cci0: cci@ac4f000 {
+                       compatible = "qcom,sm8250-cci";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       reg = <0 0x0ac4f000 0 0x1000>;
+                       interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;
+                       power-domains = <&camcc TITAN_TOP_GDSC>;
+
+                       clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+                                <&camcc CAM_CC_SLOW_AHB_CLK_SRC>,
+                                <&camcc CAM_CC_CPAS_AHB_CLK>,
+                                <&camcc CAM_CC_CCI_0_CLK>,
+                                <&camcc CAM_CC_CCI_0_CLK_SRC>;
+                       clock-names = "camnoc_axi",
+                                     "slow_ahb_src",
+                                     "cpas_ahb",
+                                     "cci",
+                                     "cci_src";
+
+                       pinctrl-0 = <&cci0_default>;
+                       pinctrl-1 = <&cci0_sleep>;
+                       pinctrl-names = "default", "sleep";
+
+                       status = "disabled";
+
+                       cci0_i2c0: i2c-bus@0 {
+                               reg = <0>;
+                               clock-frequency = <1000000>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+
+                       cci0_i2c1: i2c-bus@1 {
+                               reg = <1>;
+                               clock-frequency = <1000000>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+
+               cci1: cci@ac50000 {
+                       compatible = "qcom,sm8250-cci";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       reg = <0 0x0ac50000 0 0x1000>;
+                       interrupts = <GIC_SPI 271 IRQ_TYPE_EDGE_RISING>;
+                       power-domains = <&camcc TITAN_TOP_GDSC>;
+
+                       clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+                                <&camcc CAM_CC_SLOW_AHB_CLK_SRC>,
+                                <&camcc CAM_CC_CPAS_AHB_CLK>,
+                                <&camcc CAM_CC_CCI_1_CLK>,
+                                <&camcc CAM_CC_CCI_1_CLK_SRC>;
+                       clock-names = "camnoc_axi",
+                                     "slow_ahb_src",
+                                     "cpas_ahb",
+                                     "cci",
+                                     "cci_src";
+
+                       pinctrl-0 = <&cci1_default>;
+                       pinctrl-1 = <&cci1_sleep>;
+                       pinctrl-names = "default", "sleep";
+
+                       status = "disabled";
+
+                       cci1_i2c0: i2c-bus@0 {
+                               reg = <0>;
+                               clock-frequency = <1000000>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+
+                       cci1_i2c1: i2c-bus@1 {
+                               reg = <1>;
+                               clock-frequency = <1000000>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+
+               camss: camss@ac6a000 {
+                       compatible = "qcom,sm8250-camss";
+                       status = "disabled";
+
+                       reg = <0 0xac6a000 0 0x2000>,
+                             <0 0xac6c000 0 0x2000>,
+                             <0 0xac6e000 0 0x1000>,
+                             <0 0xac70000 0 0x1000>,
+                             <0 0xac72000 0 0x1000>,
+                             <0 0xac74000 0 0x1000>,
+                             <0 0xacb4000 0 0xd000>,
+                             <0 0xacc3000 0 0xd000>,
+                             <0 0xacd9000 0 0x2200>,
+                             <0 0xacdb200 0 0x2200>;
+                       reg-names = "csiphy0",
+                                   "csiphy1",
+                                   "csiphy2",
+                                   "csiphy3",
+                                   "csiphy4",
+                                   "csiphy5",
+                                   "vfe0",
+                                   "vfe1",
+                                   "vfe_lite0",
+                                   "vfe_lite1";
+
+                       interrupts = <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 86 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 359 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>,
+                                    <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "csiphy0",
+                                         "csiphy1",
+                                         "csiphy2",
+                                         "csiphy3",
+                                         "csiphy4",
+                                         "csiphy5",
+                                         "csid0",
+                                         "csid1",
+                                         "csid2",
+                                         "csid3",
+                                         "vfe0",
+                                         "vfe1",
+                                         "vfe_lite0",
+                                         "vfe_lite1";
+
+                       power-domains = <&camcc IFE_0_GDSC>,
+                                       <&camcc IFE_1_GDSC>,
+                                       <&camcc TITAN_TOP_GDSC>;
+
+                       clocks = <&gcc GCC_CAMERA_AHB_CLK>,
+                                <&gcc GCC_CAMERA_HF_AXI_CLK>,
+                                <&gcc GCC_CAMERA_SF_AXI_CLK>,
+                                <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+                                <&camcc CAM_CC_CAMNOC_AXI_CLK_SRC>,
+                                <&camcc CAM_CC_CORE_AHB_CLK>,
+                                <&camcc CAM_CC_CPAS_AHB_CLK>,
+                                <&camcc CAM_CC_CSIPHY0_CLK>,
+                                <&camcc CAM_CC_CSI0PHYTIMER_CLK>,
+                                <&camcc CAM_CC_CSIPHY1_CLK>,
+                                <&camcc CAM_CC_CSI1PHYTIMER_CLK>,
+                                <&camcc CAM_CC_CSIPHY2_CLK>,
+                                <&camcc CAM_CC_CSI2PHYTIMER_CLK>,
+                                <&camcc CAM_CC_CSIPHY3_CLK>,
+                                <&camcc CAM_CC_CSI3PHYTIMER_CLK>,
+                                <&camcc CAM_CC_CSIPHY4_CLK>,
+                                <&camcc CAM_CC_CSI4PHYTIMER_CLK>,
+                                <&camcc CAM_CC_CSIPHY5_CLK>,
+                                <&camcc CAM_CC_CSI5PHYTIMER_CLK>,
+                                <&camcc CAM_CC_SLOW_AHB_CLK_SRC>,
+                                <&camcc CAM_CC_IFE_0_AHB_CLK>,
+                                <&camcc CAM_CC_IFE_0_AXI_CLK>,
+                                <&camcc CAM_CC_IFE_0_CLK>,
+                                <&camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
+                                <&camcc CAM_CC_IFE_0_CSID_CLK>,
+                                <&camcc CAM_CC_IFE_0_AREG_CLK>,
+                                <&camcc CAM_CC_IFE_1_AHB_CLK>,
+                                <&camcc CAM_CC_IFE_1_AXI_CLK>,
+                                <&camcc CAM_CC_IFE_1_CLK>,
+                                <&camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
+                                <&camcc CAM_CC_IFE_1_CSID_CLK>,
+                                <&camcc CAM_CC_IFE_1_AREG_CLK>,
+                                <&camcc CAM_CC_IFE_LITE_AHB_CLK>,
+                                <&camcc CAM_CC_IFE_LITE_AXI_CLK>,
+                                <&camcc CAM_CC_IFE_LITE_CLK>,
+                                <&camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>,
+                                <&camcc CAM_CC_IFE_LITE_CSID_CLK>;
+
+                       clock-names = "cam_ahb_clk",
+                                     "cam_hf_axi",
+                                     "cam_sf_axi",
+                                     "camnoc_axi",
+                                     "camnoc_axi_src",
+                                     "core_ahb",
+                                     "cpas_ahb",
+                                     "csiphy0",
+                                     "csiphy0_timer",
+                                     "csiphy1",
+                                     "csiphy1_timer",
+                                     "csiphy2",
+                                     "csiphy2_timer",
+                                     "csiphy3",
+                                     "csiphy3_timer",
+                                     "csiphy4",
+                                     "csiphy4_timer",
+                                     "csiphy5",
+                                     "csiphy5_timer",
+                                     "slow_ahb_src",
+                                     "vfe0_ahb",
+                                     "vfe0_axi",
+                                     "vfe0",
+                                     "vfe0_cphy_rx",
+                                     "vfe0_csid",
+                                     "vfe0_areg",
+                                     "vfe1_ahb",
+                                     "vfe1_axi",
+                                     "vfe1",
+                                     "vfe1_cphy_rx",
+                                     "vfe1_csid",
+                                     "vfe1_areg",
+                                     "vfe_lite_ahb",
+                                     "vfe_lite_axi",
+                                     "vfe_lite",
+                                     "vfe_lite_cphy_rx",
+                                     "vfe_lite_csid";
+
+                       iommus = <&apps_smmu 0x800 0x400>,
+                                <&apps_smmu 0x801 0x400>,
+                                <&apps_smmu 0x840 0x400>,
+                                <&apps_smmu 0x841 0x400>,
+                                <&apps_smmu 0xc00 0x400>,
+                                <&apps_smmu 0xc01 0x400>,
+                                <&apps_smmu 0xc40 0x400>,
+                                <&apps_smmu 0xc41 0x400>;
+
+                       interconnects = <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_CAMERA_CFG>,
+                                       <&mmss_noc MASTER_CAMNOC_HF &mc_virt SLAVE_EBI_CH0>,
+                                       <&mmss_noc MASTER_CAMNOC_SF &mc_virt SLAVE_EBI_CH0>,
+                                       <&mmss_noc MASTER_CAMNOC_ICP &mc_virt SLAVE_EBI_CH0>;
+                       interconnect-names = "cam_ahb",
+                                            "cam_hf_0_mnoc",
+                                            "cam_sf_0_mnoc",
+                                            "cam_sf_icp_mnoc";
+               };
+
+               camcc: clock-controller@ad00000 {
+                       compatible = "qcom,sm8250-camcc";
+                       reg = <0 0x0ad00000 0 0x10000>;
+                       clocks = <&gcc GCC_CAMERA_AHB_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK_A>,
+                                <&sleep_clk>;
+                       clock-names = "iface", "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
+                       power-domains = <&rpmhpd SM8250_MMCX>;
+                       required-opps = <&rpmhpd_opp_low_svs>;
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+                       #power-domain-cells = <1>;
+               };
+
                mdss: mdss@ae00000 {
                        compatible = "qcom,sm8250-mdss";
                        reg = <0 0x0ae00000 0 0x1000>;
                                power-domains = <&rpmhpd SM8250_MMCX>;
 
                                interrupt-parent = <&mdss>;
-                               interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <0>;
 
                                ports {
                                        #address-cells = <1>;
                                reg-names = "dsi_ctrl";
 
                                interrupt-parent = <&mdss>;
-                               interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <4>;
 
                                clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
                                         <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
                                reg-names = "dsi_ctrl";
 
                                interrupt-parent = <&mdss>;
-                               interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <5>;
 
                                clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
                                         <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
                        gpio-ranges = <&tlmm 0 0 181>;
                        wakeup-parent = <&pdc>;
 
+                       cci0_default: cci0-default {
+                               cci0_i2c0_default: cci0-i2c0-default {
+                                       /* SDA, SCL */
+                                       pins = "gpio101", "gpio102";
+                                       function = "cci_i2c";
+
+                                       bias-pull-up;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+
+                               cci0_i2c1_default: cci0-i2c1-default {
+                                       /* SDA, SCL */
+                                       pins = "gpio103", "gpio104";
+                                       function = "cci_i2c";
+
+                                       bias-pull-up;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+                       };
+
+                       cci0_sleep: cci0-sleep {
+                               cci0_i2c0_sleep: cci0-i2c0-sleep {
+                                       /* SDA, SCL */
+                                       pins = "gpio101", "gpio102";
+                                       function = "cci_i2c";
+
+                                       drive-strength = <2>; /* 2 mA */
+                                       bias-pull-down;
+                               };
+
+                               cci0_i2c1_sleep: cci0-i2c1-sleep {
+                                       /* SDA, SCL */
+                                       pins = "gpio103", "gpio104";
+                                       function = "cci_i2c";
+
+                                       drive-strength = <2>; /* 2 mA */
+                                       bias-pull-down;
+                               };
+                       };
+
+                       cci1_default: cci1-default {
+                               cci1_i2c0_default: cci1-i2c0-default {
+                                       /* SDA, SCL */
+                                       pins = "gpio105","gpio106";
+                                       function = "cci_i2c";
+
+                                       bias-pull-up;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+
+                               cci1_i2c1_default: cci1-i2c1-default {
+                                       /* SDA, SCL */
+                                       pins = "gpio107","gpio108";
+                                       function = "cci_i2c";
+
+                                       bias-pull-up;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+                       };
+
+                       cci1_sleep: cci1-sleep {
+                               cci1_i2c0_sleep: cci1-i2c0-sleep {
+                                       /* SDA, SCL */
+                                       pins = "gpio105","gpio106";
+                                       function = "cci_i2c";
+
+                                       bias-pull-down;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+
+                               cci1_i2c1_sleep: cci1-i2c1-sleep {
+                                       /* SDA, SCL */
+                                       pins = "gpio107","gpio108";
+                                       function = "cci_i2c";
+
+                                       bias-pull-down;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+                       };
+
                        pri_mi2s_active: pri-mi2s-active {
                                sclk {
                                        pins = "gpio138";
                                };
                        };
 
-                       apps_bcm_voter: bcm_voter {
+                       apps_bcm_voter: bcm-voter {
                                compatible = "qcom,bcm-voter";
                        };
                };