On Thu, Nov 07, 2019 at 09:25:27AM +1030, Marian Mihailescu wrote: > Add device tree node for Mali GPU for Exynos 542x SoC. > GPU is disabled by default, and is enabled for each board after the > regulator is defined. Tested on Odroid-XU4. > > Changes since v3: > - fixed compatible to match bindings Changelog does not go to commit message. Put it after msg separator (---). Except this looks good so I will fix it up while applying. Best regards, Krzysztof > > Changes since v2: > - separate patch for bindings > - fixed bindings typo > > Changes since v1: > - used generic node and label for GPU > - added bindings for compatible > - fixed irq indentation > - fixed interrupt-names to match bindings > - added cooling cells for future TMU connection > - used generic node and label for GPU opp table > - removed always-on from SoC GPU regulator > > Signed-off-by: Marian Mihailescu <mihailescu2m@xxxxxxxxx> > --- > arch/arm/boot/dts/exynos5420.dtsi | 50 +++++++++++++++++++++++++++ > arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 6 +++- > 2 files changed, 55 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi > index 7d51e0f4ab79..31b5f7ba0e3b 100644 > --- a/arch/arm/boot/dts/exynos5420.dtsi > +++ b/arch/arm/boot/dts/exynos5420.dtsi > @@ -670,6 +670,56 @@ > 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>; > diff --git a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi > index 422692b20c46..ce774f7b2ce0 100644 > --- a/arch/arm/boot/dts/exynos5422-odroid-core.dtsi > +++ b/arch/arm/boot/dts/exynos5422-odroid-core.dtsi > @@ -522,7 +522,6 @@ > regulator-name = "vdd_g3d"; > regulator-min-microvolt = <800000>; > regulator-max-microvolt = <1400000>; > - regulator-always-on; > regulator-boot-on; > > regulator-state-mem { > @@ -659,6 +658,11 @@ > status = "okay"; > }; > > +&gpu { > + mali-supply = <&buck4_reg>; > + status = "okay"; > +}; > + > &rtc { > status = "okay"; > clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>; > -- > 2.14.1 >