arm64: dts: qcom: sc7280: Add required-opps for i2c
authorRajendra Nayak <quic_rjendra@quicinc.com>
Tue, 27 Sep 2022 10:42:33 +0000 (16:12 +0530)
committerBjorn Andersson <andersson@kernel.org>
Mon, 17 Oct 2022 18:16:45 +0000 (13:16 -0500)
qup-i2c devices on sc7280 are clocked with a fixed clock (19.2 MHz)
Though qup-i2c does not support DVFS, it still needs to vote for a
performance state on 'CX' to satisfy the 19.2 Mhz clock frequency
requirement.

Use 'required-opps' to pass this information from
device tree, and also add the power-domains property to specify
the CX power-domain.

Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220927104233.29376-1-quic_rjendra@quicinc.com
arch/arm64/boot/dts/qcom/sc7280.dtsi

index 63af16966d43af405413a7e16f26469101d72ce1..909706ee86f5a76938c1759708f5c8cc1f8807e1 100644 (file)
@@ -967,6 +967,8 @@ i2c0: i2c@980000 {
                                                <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
                                       <&gpi_dma0 1 0 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1025,6 +1027,8 @@ i2c1: i2c@984000 {
                                                <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
                                       <&gpi_dma0 1 1 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1083,6 +1087,8 @@ i2c2: i2c@988000 {
                                                <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
                                       <&gpi_dma0 1 2 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1141,6 +1147,8 @@ i2c3: i2c@98c000 {
                                                <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
                                       <&gpi_dma0 1 3 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1199,6 +1207,8 @@ i2c4: i2c@990000 {
                                                <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
                                       <&gpi_dma0 1 4 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1257,6 +1267,8 @@ i2c5: i2c@994000 {
                                                <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
                                       <&gpi_dma0 1 5 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1315,6 +1327,8 @@ i2c6: i2c@998000 {
                                                <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
                                       <&gpi_dma0 1 6 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1373,6 +1387,8 @@ i2c7: i2c@99c000 {
                                                <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>,
                                       <&gpi_dma0 1 7 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1466,6 +1482,8 @@ i2c8: i2c@a80000 {
                                                <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
                                       <&gpi_dma1 1 0 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1524,6 +1542,8 @@ i2c9: i2c@a84000 {
                                                <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
                                       <&gpi_dma1 1 1 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1582,6 +1602,8 @@ i2c10: i2c@a88000 {
                                                <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
                                       <&gpi_dma1 1 2 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1640,6 +1662,8 @@ i2c11: i2c@a8c000 {
                                                <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
                                       <&gpi_dma1 1 3 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1698,6 +1722,8 @@ i2c12: i2c@a90000 {
                                                <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
                                       <&gpi_dma1 1 4 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1756,6 +1782,8 @@ i2c13: i2c@a94000 {
                                                <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
                                       <&gpi_dma1 1 5 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1814,6 +1842,8 @@ i2c14: i2c@a98000 {
                                                <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
                                       <&gpi_dma1 1 6 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";
@@ -1872,6 +1902,8 @@ i2c15: i2c@a9c000 {
                                                <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
                                interconnect-names = "qup-core", "qup-config",
                                                        "qup-memory";
+                               power-domains = <&rpmhpd SC7280_CX>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
                                dmas = <&gpi_dma1 0 7 QCOM_GPI_I2C>,
                                       <&gpi_dma1 1 7 QCOM_GPI_I2C>;
                                dma-names = "tx", "rx";