This patchset adds the support of the ARM Mali G52 MC1 GPU (Bifrost),
integrated to the Mediatek MT8365 SoC, and its enablement to the
Mediatek Genio 350-EVK board.
I've tested this patchset on a Mediatek Genio 350-EVK board,
with a kernel based on linux-next (tag: next-20251021).
The panfrost driver probed with the following messages:
```
panfrost 13040000.gpu: clock rate = 450000031
panfrost 13040000.gpu: mali-g52 id 0x7402 major 0x1 minor 0x0 status
0x0
panfrost 13040000.gpu: features: 00000000,00000df7, issues: 00000000,
00000400
panfrost 13040000.gpu: Features: L2:0x07110206 Shader:0x00000003
Tiler:0x00000209 Mem:0x1 MMU:0x00002823 AS:0xff JS:0x7
panfrost 13040000.gpu: shader_present=0x1 l2_present=0x1
[drm] Initialized panfrost 1.5.0 for 13040000.gpu on minor 0
```
Running glmark2-es2-drm with MESA 25.2 is also OK:
```
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: Mesa
GL_RENDERER: Mali-G52 r1 (Panfrost)
GL_VERSION: OpenGL ES 3.1 Mesa 25.2.5-1
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 1200x1920 fullscreen
=======================================================
[build] use-vbo=false: FPS: 513 FrameTime: 1.952 ms
[build] use-vbo=true: FPS: 514 FrameTime: 1.947 ms
[texture] texture-filter=nearest: FPS: 489 FrameTime: 2.046 ms
[texture] texture-filter=linear: FPS: 486 FrameTime: 2.061 ms
[texture] texture-filter=mipmap: FPS: 476 FrameTime: 2.101 ms
[shading] shading=gouraud: FPS: 436 FrameTime: 2.296 ms
[shading] shading=blinn-phong-inf: FPS: 387 FrameTime: 2.585 ms
[shading] shading=phong: FPS: 253 FrameTime: 3.955 ms
[shading] shading=cel: FPS: 232 FrameTime: 4.328 ms
[bump] bump-render=high-poly: FPS: 266 FrameTime: 3.765 ms
[bump] bump-render=normals: FPS: 421 FrameTime: 2.376 ms
[bump] bump-render=height: FPS: 343 FrameTime: 2.922 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 133 FrameTime: 7.521 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 46 FrameTime:
21.990 ms
[pulsar] light=false:quads=5:texture=false: FPS: 379 FrameTime: 2.645 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:
FPS: 57 FrameTime: 17.735 ms
[desktop] effect=shadow:windows=4: FPS: 249 FrameTime: 4.018 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction
=0.5:update-method=map: FPS: 81 FrameTime: 12.447 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction
=0.5:update-method=subdata: FPS: 81 FrameTime: 12.388 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction
=0.5:update-method=map: FPS: 99 FrameTime: 10.127 ms
[ideas] speed=duration: FPS: 287 FrameTime: 3.492 ms
[jellyfish] <default>: FPS: 114 FrameTime: 8.842 ms
[terrain] <default>: FPS: 14 FrameTime: 76.911 ms
[shadow] <default>: FPS: 156 FrameTime: 6.432 ms
[refract] <default>: FPS: 29 FrameTime: 34.791 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 529 FrameTime: 1.890 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 326 FrameTime: 3.076 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 532 FrameTime: 1.880 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 475 FrameTime:
2.106 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 227
FrameTime: 4.417 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 475
FrameTime: 2.108 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 474
FrameTime: 2.110 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 226
FrameTime: 4.428 ms
=======================================================
glmark2 Score: 296
=======================================================
```
Signed-off-by: Louis-Alexis Eyraud <[email protected]>
---
Changes in v2:
- Rebased on next-20251021 tag
- Fixed missing blank lines in 'arm64: dts: mediatek: mt8365: Add GPU
support' patch
- Added reviewed-by and acked-by trailers
- Updated cover letter
- Link to v1:
https://lore.kernel.org/r/[email protected]
---
Louis-Alexis Eyraud (3):
dt-bindings: gpu: mali-bifrost: Add compatible for MT8365 SoC
arm64: dts: mediatek: mt8365: Add GPU support
arm64: dts: mediatek: mt8365-evk: Enable GPU support
.../devicetree/bindings/gpu/arm,mali-bifrost.yaml | 1 +
arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 9 +++++
arch/arm64/boot/dts/mediatek/mt8365.dtsi | 43 +++++++++++++++++++++-
3 files changed, 52 insertions(+), 1 deletion(-)
---
base-commit: 853c202e4aec8006c2c1367b052c9f8949db019a
change-id: 20250812-mt8365-enable-gpu-a39835dca7fc
Best regards,
--
Louis-Alexis Eyraud <[email protected]>