arm64: dts: sc7180: Add OPP table for all qup devices
authorRajendra Nayak <rnayak@codeaurora.org>
Tue, 30 Jun 2020 08:45:10 +0000 (14:15 +0530)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 13 Jul 2020 23:43:21 +0000 (16:43 -0700)
qup has a requirement to vote on the performance state of the CX domain
in sc7180 devices. Add OPP tables for these and also add power-domains
property for all qup instances for uart and spi.
i2c does not support scaling and uses a fixed clock.

Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
Link: https://lore.kernel.org/r/1593506712-24557-3-git-send-email-rnayak@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/sc7180.dtsi

index 34a6d83..725a47a 100644 (file)
                        status = "disabled";
                };
 
+               qup_opp_table: qup-opp-table {
+                       compatible = "operating-points-v2";
+
+                       opp-75000000 {
+                               opp-hz = /bits/ 64 <75000000>;
+                               required-opps = <&rpmhpd_opp_low_svs>;
+                       };
+
+                       opp-100000000 {
+                               opp-hz = /bits/ 64 <100000000>;
+                               required-opps = <&rpmhpd_opp_svs>;
+                       };
+
+                       opp-128000000 {
+                               opp-hz = /bits/ 64 <128000000>;
+                               required-opps = <&rpmhpd_opp_nom>;
+                       };
+               };
+
                qupv3_id_0: geniqup@8c0000 {
                        compatible = "qcom,geni-se-qup";
                        reg = <0 0x008c0000 0 0x6000>;
                                interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart0_default>;
                                interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>;
                                interconnect-names = "qup-core", "qup-config";
                                interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart1_default>;
                                interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart2_default>;
                                interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>;
                                interconnect-names = "qup-core", "qup-config";
                                interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart3_default>;
                                interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart4_default>;
                                interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>;
                                interconnect-names = "qup-core", "qup-config";
                                interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart5_default>;
                                interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>;
                                interconnect-names = "qup-core", "qup-config";
                                interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart6_default>;
                                interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart7_default>;
                                interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>;
                                interconnect-names = "qup-core", "qup-config";
                                interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart8_default>;
                                interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart9_default>;
                                interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>;
                                interconnect-names = "qup-core", "qup-config";
                                interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart10_default>;
                                interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>;
                                interconnect-names = "qup-core", "qup-config";
                                interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>;
                                interconnect-names = "qup-core", "qup-config";
                                pinctrl-names = "default";
                                pinctrl-0 = <&qup_uart11_default>;
                                interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
+                               power-domains = <&rpmhpd SC7180_CX>;
+                               operating-points-v2 = <&qup_opp_table>;
                                interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>,
                                                <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>;
                                interconnect-names = "qup-core", "qup-config";