[PATCH v3 2/2] arm64: dts: exynos: Add GPU/Mali Bifrost node to Exynos850
From: Thomas Turner <hidden>
Date: 2026-09-05 17:09:45
Also in:
linux-devicetree, linux-samsung-soc, lkml
Subsystem:
arm/samsung s3c, s5p and exynos arm architectures, samsung exynos850 soc support, the rest · Maintainers:
Krzysztof Kozlowski, Peter Griffin, Sam Protsenko, Linus Torvalds
Add nodes for GPU (Mali Bifrost) to Exynos850. Does not provide support for temperature throttling, DVFS, power domains, governor support, boosting and voltage control. Once PMIC is properly implemented, support will hopefully increase. However, the panfrost driver probes, the Mali-G52 GPU initializes and the core clock is set-up. Testing for this patch was done on a device not currently supported by linux, the Galaxy A21s. After enabling this node for that device locally, I was able to test and confirm basic GPU functionality. As of now, this patch has no users which have tested GPU capabilities and so the node has been set to "disabled". Here are some logs I pulled: panfrost 11500000.gpu: clock rate = 377000000 panfrost 11500000.gpu: mali-g52 id 0x7212 major 0x0 minor 0x0 status 0x0 panfrost 11500000.gpu: features: 00000000,00000df7, issues: 00000000,00000400 panfrost 11500000.gpu: Features: L2:0x07100206 Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002830 AS:0xff JS:0x7 panfrost 11500000.gpu: shader_present=0x1 l2_present=0x1 panfrost 11500000.gpu: [drm] Using Transparent Hugepage [drm] Initialized panfrost 1.6.0 for 11500000.gpu on minor 0 OpenGL core profile vendor: Mesa OpenGL core profile renderer: Mali-G52 MC1 (Panfrost) OpenGL core profile version: 3.1 (Core Profile) Mesa 26.1.6 OpenGL core profile shading language version: 1.40 OpenGL compatibility profile vendor: Mesa OpenGL compatibility profile renderer: Mali-G52 MC1 (Panfrost) OpenGL compatibility profile version: 3.1 (Core Profile) Mesa 26.1.6 OpenGL compatibility profile shading language version: 1.40 OpenGL ES profile vendor: Mesa OpenGL ES profile renderer: Mali-G52 MC1 (Panfrost) OpenGL ES profile version: OpenGL ES 3.1 Mesa 26.1.6 OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.10 Signed-off-by: Thomas Turner <redacted> --- Changes in v3: - Re-word commit message to be less ambiguous - Provide some logs in the commit message - Add a blank line before status property Changes in v2: - Add a patch addressing the samsung,exynos850-mali compatible string arch/arm64/boot/dts/exynos/exynos850.dtsi | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/exynos850.dtsi b/arch/arm64/boot/dts/exynos/exynos850.dtsi
index 911643008b9f..721b2b2c4ffb 100644
--- a/arch/arm64/boot/dts/exynos/exynos850.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos850.dtsi@@ -310,6 +310,19 @@ cmu_g3d: clock-controller@11400000 { clock-names = "oscclk", "dout_g3d_switch"; }; + gpu: gpu@11500000 { + compatible = "samsung,exynos850-mali", "arm,mali-bifrost"; + reg = <0x11500000 0x5000>; + interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "job", "mmu", "gpu"; + clocks = <&cmu_g3d CLK_GOUT_G3D_GPU_CLK>; + clock-names = "core"; + + status = "disabled"; + }; + cmu_apm: clock-controller@11800000 { compatible = "samsung,exynos850-cmu-apm"; reg = <0x11800000 0x8000>;
--
2.47.3