]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
ARM: dts: exynos: Add GPU/Mali 400 node to Exynos4
authorKrzysztof Kozlowski <krzk@kernel.org>
Fri, 21 Jun 2019 18:02:03 +0000 (20:02 +0200)
committerKrzysztof Kozlowski <krzk@kernel.org>
Mon, 24 Jun 2019 18:03:42 +0000 (20:03 +0200)
Add nodes for GPU (Mali 400) to Exynos4210 and Exynos4412.  Describe the
GPU as much as possible however still few elements are missing:
1. Exynos4210 bus clock is not described in hardware manual therefore
   the IP gate clock was provided,
2. Exynos4412: Not sure what to do with CLK_G3D clock responsible for
   gating entire IP block (it is now being disabled as unused),
3. Regulator supplies on Trats board.

Limited testing on Odroid U3 (Exynos4412).

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm/boot/dts/exynos4.dtsi
arch/arm/boot/dts/exynos4210-origen.dts
arch/arm/boot/dts/exynos4210-trats.dts
arch/arm/boot/dts/exynos4210-universal_c210.dts
arch/arm/boot/dts/exynos4210.dtsi
arch/arm/boot/dts/exynos4412-itop-scp-core.dtsi
arch/arm/boot/dts/exynos4412-midas.dtsi
arch/arm/boot/dts/exynos4412-odroid-common.dtsi
arch/arm/boot/dts/exynos4412-prime.dtsi
arch/arm/boot/dts/exynos4412.dtsi

index dde27451faa8b2f029f028ba7401054bc024fd18..6005cfbbed89c31a42b745171de4feccf8c16408 100644 (file)
                serial3 = &serial_3;
        };
 
+       gpu: gpu@13000000 {
+               compatible = "samsung,exynos4210-mali", "arm,mali-400";
+               reg = <0x13000000 0x10000>;
+               interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "gp",
+                                 "gpmmu",
+                                 "pp0",
+                                 "ppmmu0",
+                                 "pp1",
+                                 "ppmmu1",
+                                 "pp2",
+                                 "ppmmu2",
+                                 "pp3",
+                                 "ppmmu3",
+                                 "pmu";
+               /*
+                * CLK_G3D is not actually bus clock but a IP-level clock.
+                * The bus clock is not described in hardware manual.
+                */
+               clocks = <&clock CLK_G3D>,
+                        <&clock CLK_SCLK_G3D>;
+               clock-names = "bus", "core";
+               power-domains = <&pd_g3d>;
+               status = "disabled";
+       };
+
        pmu: pmu {
                compatible = "arm,cortex-a9-pmu";
                interrupt-parent = <&combiner>;
index 36b1edea254a80e411531fde19d3305b1eb252e4..0d1e1a9c2f6e0b5a6ad62109b1a486c3da55184e 100644 (file)
        status = "okay";
 };
 
+&gpu {
+       mali-supply = <&buck3_reg>;
+       status = "okay";
+};
+
 &hsotg {
        vusb_d-supply = <&ldo3_reg>;
        vusb_a-supply = <&ldo8_reg>;
index 6882480dbaf7a50ea08cc9e67db6bef5072ae2bf..7c39dd1c4d3a4580e2232b5ad0b9413d854c3d75 100644 (file)
        status = "okay";
 };
 
+&gpu {
+       status = "okay";
+};
+
 &hsotg {
        vusb_d-supply = <&vusb_reg>;
        vusb_a-supply = <&vusbdac_reg>;
index bf092e97e14f043f7fce322a17150087d6b39e16..82a8b5449978a166d4fd1e2d120e54deee98d852 100644 (file)
        };
 };
 
+&gpu {
+       mali-supply = <&buck2_reg>;
+       status = "okay";
+};
+
 &hdmi {
        hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
index 67c1b0174294f77fc7cbefc25db825009b8753ad..6122da368092cbe1aa501198d1dd79f151f7e126 100644 (file)
        samsung,lcd-wb;
 };
 
+&gpu {
+       operating-points-v2 = <&gpu_opp_table>;
+
+       gpu_opp_table: opp_table {
+               compatible = "operating-points-v2";
+
+               opp-160000000 {
+                       opp-hz = /bits/ 64 <160000000>;
+                       opp-microvolt = <950000>;
+               };
+               opp-267000000 {
+                       opp-hz = /bits/ 64 <267000000>;
+                       opp-microvolt = <1050000>;
+               };
+       };
+};
+
 &mdma1 {
        power-domains = <&pd_lcd0>;
 };
index 0038465f38f19e217eb565d474f0bb87b0669a9b..462a5409b1de3e3cf47191ecb6835c8d8b62a6cf 100644 (file)
        cpu0-supply = <&buck2_reg>;
 };
 
+&gpu {
+       mali-supply = <&buck4_reg>;
+       status = "okay";
+};
+
 &hsotg {
        vusb_d-supply = <&ldo15_reg>;
        vusb_a-supply = <&ldo12_reg>;
index 4c15cb616cdf214bc901877715e222873c755041..83be3a797411eaf82ff728cb2505ea6740b3f902 100644 (file)
        status = "okay";
 };
 
+&gpu {
+       mali-supply = <&buck4_reg>;
+       status = "okay";
+};
+
 &hdmi {
        hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
index 08d3a0a7b4eb32476e0824216dbc71a67134bfd3..ea55f377d17c003bad44f7f4d538cbb21dae53f8 100644 (file)
        assigned-clock-rates = <0>, <176000000>;
 };
 
+&gpu {
+       mali-supply = <&buck4_reg>;
+       status = "okay";
+};
+
 &hdmi {
        hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
        pinctrl-names = "default";
index d83fbd4e434c905692f4ba6877617e94f0dcca71..3731a225f77913306a8330ee088e2b56678642a2 100644 (file)
        cooling-device = <&cpu0 15 15>, <&cpu1 15 15>,
                         <&cpu2 15 15>, <&cpu3 15 15>;
 };
+
+&gpu_opp_table {
+       opp-533000000 {
+               opp-hz = /bits/ 64 <533000000>;
+               opp-microvolt = <1075000>;
+       };
+};
index 4a58b70df1257bd1efec5c02f8c2975adb5934fe..7bed6842575aa582cf1b739c5d096312d0f00d83 100644 (file)
        cpu-offset = <0x4000>;
 };
 
+&gpu {
+       operating-points-v2 = <&gpu_opp_table>;
+
+       gpu_opp_table: opp_table {
+               compatible = "operating-points-v2";
+
+               opp-160000000 {
+                       opp-hz = /bits/ 64 <160000000>;
+                       opp-microvolt = <875000>;
+               };
+               opp-267000000 {
+                       opp-hz = /bits/ 64 <267000000>;
+                       opp-microvolt = <900000>;
+               };
+               opp-350000000 {
+                       opp-hz = /bits/ 64 <350000000>;
+                       opp-microvolt = <950000>;
+               };
+               opp-440000000 {
+                       opp-hz = /bits/ 64 <440000000>;
+                       opp-microvolt = <1025000>;
+               };
+       };
+};
+
 &hdmi {
        compatible = "samsung,exynos4212-hdmi";
 };