Add a GPU node and a opp-table for the Mali-450 MP2 in the RK3528 SoC.

Signed-off-by: Jonas Karlman <jo...@kwiboo.se>
---
 arch/arm64/boot/dts/rockchip/rk3528.dtsi | 58 ++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi 
b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
index 791cb9b1e8f1..548ac6d4793f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
@@ -96,6 +96,36 @@ scmi_clk: protocol@14 {
                };
        };
 
+       gpu_opp_table: opp-table-gpu {
+               compatible = "operating-points-v2";
+
+               opp-300000000 {
+                       opp-hz = /bits/ 64 <300000000>;
+                       opp-microvolt = <875000 875000 1000000>;
+                       opp-suspend;
+               };
+
+               opp-500000000 {
+                       opp-hz = /bits/ 64 <500000000>;
+                       opp-microvolt = <875000 875000 1000000>;
+               };
+
+               opp-600000000 {
+                       opp-hz = /bits/ 64 <600000000>;
+                       opp-microvolt = <875000 875000 1000000>;
+               };
+
+               opp-700000000 {
+                       opp-hz = /bits/ 64 <700000000>;
+                       opp-microvolt = <900000 900000 1000000>;
+               };
+
+               opp-800000000 {
+                       opp-hz = /bits/ 64 <800000000>;
+                       opp-microvolt = <950000 950000 1000000>;
+               };
+       };
+
        psci {
                compatible = "arm,psci-1.0", "arm,psci-0.2";
                method = "smc";
@@ -433,6 +463,34 @@ power-domain@RK3528_PD_VPU {
                        };
                };
 
+               gpu: gpu@ff700000 {
+                       compatible = "rockchip,rk3528-mali", "arm,mali-450";
+                       reg = <0x0 0xff700000 0x0 0x40000>;
+                       assigned-clocks = <&cru ACLK_GPU_MALI>,
+                                         <&scmi_clk SCMI_CLK_GPU>;
+                       assigned-clock-rates = <297000000>, <300000000>;
+                       clocks = <&cru ACLK_GPU_MALI>, <&scmi_clk SCMI_CLK_GPU>;
+                       clock-names = "bus", "core";
+                       interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "gp",
+                                         "gpmmu",
+                                         "pp",
+                                         "pp0",
+                                         "ppmmu0",
+                                         "pp1",
+                                         "ppmmu1";
+                       operating-points-v2 = <&gpu_opp_table>;
+                       power-domains = <&power RK3528_PD_GPU>;
+                       resets = <&cru SRST_A_GPU>;
+                       status = "disabled";
+               };
+
                uart0: serial@ff9f0000 {
                        compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
                        reg = <0x0 0xff9f0000 0x0 0x100>;
-- 
2.49.0

Reply via email to