Message ID | 20191106062511.3262-1-mihailescu2m@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | ARM: dts: exynos5420: add mali dt bindings and enable mali on Odroid XU3/4 | expand |
On Wed, Nov 6, 2019 at 12:25 AM Marian Mihailescu <mihailescu2m@gmail.com> wrote: > > From: memeka <mihailescu2m@gmail.com> > > Add device tree bindings and nodes 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 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@gmail.com> > --- > .../devicetree/bindings/gpu/arm,mali-midgard.yaml | 5 ++- Split to a separate patch. > arch/arm/boot/dts/exynos5420.dtsi | 50 ++++++++++++++++++++++ > arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 6 ++- > 3 files changed, 59 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml > index 47bc1ac36426..e8868cb587de 100644 > --- a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml > +++ b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml > @@ -38,9 +38,12 @@ properties: > - enum: > - samsung,exynos5433-mali > - const: arm,mali-t760 > + - items: > + - enum: > + - samsung,exynis5420-mali exynis? > + - const: arm,mali-t628 > > # "arm,mali-t624" > - # "arm,mali-t628" > # "arm,mali-t830" > # "arm,mali-t880" >
diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml index 47bc1ac36426..e8868cb587de 100644 --- a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml +++ b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.yaml @@ -38,9 +38,12 @@ properties: - enum: - samsung,exynos5433-mali - const: arm,mali-t760 + - items: + - enum: + - samsung,exynis5420-mali + - const: arm,mali-t628 # "arm,mali-t624" - # "arm,mali-t628" # "arm,mali-t830" # "arm,mali-t880" 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,exynos5422-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>;