ARM: dts: exynos: Add Mali/GPU node on Exynos5420 and enable it on Odroid XU3/4
authorMarian Mihailescu <mihailescu2m@gmail.com>
Thu, 14 Nov 2019 23:42:11 +0000 (10:12 +1030)
committerKrzysztof Kozlowski <krzk@kernel.org>
Mon, 18 Nov 2019 12:45:22 +0000 (13:45 +0100)
Add device tree node for Mali GPU on Exynos 542x SoC family.  GPU is
disabled by default, and is enabled for each board after the regulator
is defined. Tested on Odroid XU4.

Signed-off-by: Marian Mihailescu <mihailescu2m@gmail.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm/boot/dts/exynos5420.dtsi
arch/arm/boot/dts/exynos5422-odroid-core.dtsi

index 2c131ad..c9f7c27 100644 (file)
                        iommus = <&sysmmu_gscl1>;
                };
 
+               gpu: gpu@11800000 {
+                       compatible = "samsung,exynos5420-mali", "arm,mali-t628";
+                       reg = <0x11800000 0x5000>;
+                       interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "job", "mmu", "gpu";
+
+                       clocks = <&clock CLK_G3D>;
+                       clock-names = "core";
+                       power-domains = <&g3d_pd>;
+                       operating-points-v2 = <&gpu_opp_table>;
+
+                       status = "disabled";
+                       #cooling-cells = <2>;
+
+                       gpu_opp_table: opp-table {
+                               compatible = "operating-points-v2";
+
+                               opp-177000000 {
+                                       opp-hz = /bits/ 64 <177000000>;
+                                       opp-microvolt = <812500>;
+                               };
+                               opp-266000000 {
+                                       opp-hz = /bits/ 64 <266000000>;
+                                       opp-microvolt = <862500>;
+                               };
+                               opp-350000000 {
+                                       opp-hz = /bits/ 64 <350000000>;
+                                       opp-microvolt = <912500>;
+                               };
+                               opp-420000000 {
+                                       opp-hz = /bits/ 64 <420000000>;
+                                       opp-microvolt = <962500>;
+                               };
+                               opp-480000000 {
+                                       opp-hz = /bits/ 64 <480000000>;
+                                       opp-microvolt = <1000000>;
+                               };
+                               opp-543000000 {
+                                       opp-hz = /bits/ 64 <543000000>;
+                                       opp-microvolt = <1037500>;
+                               };
+                               opp-600000000 {
+                                       opp-hz = /bits/ 64 <600000000>;
+                                       opp-microvolt = <1150000>;
+                               };
+                       };
+               };
+
                scaler_0: scaler@12800000 {
                        compatible = "samsung,exynos5420-scaler";
                        reg = <0x12800000 0x1294>;
index 829147e..f880aec 100644 (file)
                                regulator-name = "vdd_g3d";
                                regulator-min-microvolt = <800000>;
                                regulator-max-microvolt = <1400000>;
-                               regulator-always-on;
                                regulator-boot-on;
 
                                regulator-state-mem {
        vtmu-supply = <&ldo7_reg>;
 };
 
+&gpu {
+       mali-supply = <&buck4_reg>;
+       status = "okay";
+};
+
 &rtc {
        status = "okay";
        clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;