* [PATCH 0/3] Add Mali GPU support for Mediatek MT8365 SoC
@ 2025-08-13 9:25 Louis-Alexis Eyraud
2025-08-13 9:25 ` [PATCH 1/3] dt-bindings: gpu: mali-bifrost: Add compatible for " Louis-Alexis Eyraud
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Louis-Alexis Eyraud @ 2025-08-13 9:25 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno
Cc: kernel, dri-devel, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek, Louis-Alexis Eyraud
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-20250813).
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.4.0 for 13040000.gpu on minor 1
```
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.0-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.950 ms
[build] use-vbo=true: FPS: 507 FrameTime: 1.976 ms
[texture] texture-filter=nearest: FPS: 484 FrameTime: 2.070 ms
[texture] texture-filter=linear: FPS: 483 FrameTime: 2.074 ms
[texture] texture-filter=mipmap: FPS: 476 FrameTime: 2.105 ms
[shading] shading=gouraud: FPS: 432 FrameTime: 2.318 ms
[shading] shading=blinn-phong-inf: FPS: 389 FrameTime: 2.571 ms
[shading] shading=phong: FPS: 257 FrameTime: 3.903 ms
[shading] shading=cel: FPS: 235 FrameTime: 4.267 ms
[bump] bump-render=high-poly: FPS: 267 FrameTime: 3.756 ms
[bump] bump-render=normals: FPS: 427 FrameTime: 2.344 ms
[bump] bump-render=height: FPS: 349 FrameTime: 2.869 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 134 FrameTime: 7.504 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 46 FrameTime:
22.139 ms
[pulsar] light=false:quads=5:texture=false: FPS: 384 FrameTime: 2.610 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:
FPS: 58 FrameTime: 17.476 ms
[desktop] effect=shadow:windows=4: FPS: 250 FrameTime: 4.001 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction
=0.5:update-method=map: FPS: 80 FrameTime: 12.596 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction
=0.5:update-method=subdata: FPS: 80 FrameTime: 12.536 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: 286 FrameTime: 3.506 ms
[jellyfish] <default>: FPS: 113 FrameTime: 8.878 ms
[terrain] <default>: FPS: 13 FrameTime: 78.283 ms
[shadow] <default>: FPS: 155 FrameTime: 6.457 ms
[refract] <default>: FPS: 29 FrameTime: 35.077 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 528 FrameTime:
1.896 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 333 FrameTime:
3.011 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 533 FrameTime:
1.878 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 471 FrameTime:
2.126 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 232 FrameTime:
4.326 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 468 FrameTime:
2.138 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 469
FrameTime: 2.133 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 231
FrameTime: 4.337 ms
=======================================================
glmark2 Score: 296
=======================================================
```
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
---
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 | 41 +++++++++++++++++++++-
3 files changed, 50 insertions(+), 1 deletion(-)
---
base-commit: b07a7e2e073bce5df5974fb07be06d869149948e
change-id: 20250812-mt8365-enable-gpu-a39835dca7fc
Best regards,
--
Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] dt-bindings: gpu: mali-bifrost: Add compatible for MT8365 SoC
2025-08-13 9:25 [PATCH 0/3] Add Mali GPU support for Mediatek MT8365 SoC Louis-Alexis Eyraud
@ 2025-08-13 9:25 ` Louis-Alexis Eyraud
2025-08-13 17:00 ` Conor Dooley
2025-08-13 9:25 ` [PATCH 2/3] arm64: dts: mediatek: mt8365: Add GPU support Louis-Alexis Eyraud
2025-08-13 9:25 ` [PATCH 3/3] arm64: dts: mediatek: mt8365-evk: Enable " Louis-Alexis Eyraud
2 siblings, 1 reply; 5+ messages in thread
From: Louis-Alexis Eyraud @ 2025-08-13 9:25 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno
Cc: kernel, dri-devel, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek, Louis-Alexis Eyraud
Add a compatible for the MediaTek MT8365 SoC, that has an integrated
ARM Mali G52 MC1 GPU and compatible with arm,mali-bifrost.
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
---
Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml b/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml
index be198182dbfe0dba61176f7205b08be131f4845c..db49b8ff8c74864afb25fdde40174d521c72c6e7 100644
--- a/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml
+++ b/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml
@@ -22,6 +22,7 @@ properties:
- mediatek,mt8183-mali
- mediatek,mt8183b-mali
- mediatek,mt8186-mali
+ - mediatek,mt8365-mali
- realtek,rtd1619-mali
- renesas,r9a07g044-mali
- renesas,r9a07g054-mali
--
2.50.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] arm64: dts: mediatek: mt8365: Add GPU support
2025-08-13 9:25 [PATCH 0/3] Add Mali GPU support for Mediatek MT8365 SoC Louis-Alexis Eyraud
2025-08-13 9:25 ` [PATCH 1/3] dt-bindings: gpu: mali-bifrost: Add compatible for " Louis-Alexis Eyraud
@ 2025-08-13 9:25 ` Louis-Alexis Eyraud
2025-08-13 9:25 ` [PATCH 3/3] arm64: dts: mediatek: mt8365-evk: Enable " Louis-Alexis Eyraud
2 siblings, 0 replies; 5+ messages in thread
From: Louis-Alexis Eyraud @ 2025-08-13 9:25 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno
Cc: kernel, dri-devel, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek, Louis-Alexis Eyraud
The Mediatek MT8365 SoC has an integrated Arm Mali G52 MC1 GPU
(Bifrost).
Add gpu, OPP table, and MFG clock driver nodes in mt8365.dtsi to support
it using the Panfrost driver.
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
---
arch/arm64/boot/dts/mediatek/mt8365.dtsi | 41 +++++++++++++++++++++++++++++++-
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt8365.dtsi b/arch/arm64/boot/dts/mediatek/mt8365.dtsi
index e6d2b3221a3b7a855129258b379ae4bc2fd05449..6a7b4f58918b22f51b792f3a99bd777acf72df9d 100644
--- a/arch/arm64/boot/dts/mediatek/mt8365.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8365.dtsi
@@ -267,6 +267,24 @@ clk26m: oscillator {
clock-output-names = "clk26m";
};
+ gpu_opp_table: opp-table-gpu {
+ compatible = "operating-points-v2";
+ opp-shared;
+
+ opp-450000000 {
+ opp-hz = /bits/ 64 <450000000>;
+ opp-microvolt = <650000>;
+ };
+ opp-560000000 {
+ opp-hz = /bits/ 64 <560000000>;
+ opp-microvolt = <700000>;
+ };
+ opp-800000000 {
+ opp-hz = /bits/ 64 <800000000>;
+ opp-microvolt = <800000>;
+ };
+ };
+
psci {
compatible = "arm,psci-1.0";
method = "smc";
@@ -292,6 +310,27 @@ gic: interrupt-controller@c000000 {
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
};
+ mfgcfg: syscon@13000000 {
+ compatible = "mediatek,mt8365-mfgcfg", "syscon";
+ reg = <0 0x13000000 0 0x1000>;
+ #clock-cells = <1>;
+ };
+
+ gpu: gpu@13040000 {
+ compatible = "mediatek,mt8365-mali", "arm,mali-bifrost";
+ reg = <0 0x13040000 0 0x4000>;
+
+ clocks = <&mfgcfg CLK_MFG_BG3D>;
+ interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 202 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 201 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 204 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-names = "job", "mmu", "gpu", "event";
+ operating-points-v2 = <&gpu_opp_table>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MFG>;
+ status = "disabled";
+ };
+
topckgen: syscon@10000000 {
compatible = "mediatek,mt8365-topckgen", "syscon";
reg = <0 0x10000000 0 0x1000>;
@@ -398,7 +437,7 @@ power-domain@MT8365_POWER_DOMAIN_CONN {
mediatek,infracfg = <&infracfg>;
};
- power-domain@MT8365_POWER_DOMAIN_MFG {
+ mfg: power-domain@MT8365_POWER_DOMAIN_MFG {
reg = <MT8365_POWER_DOMAIN_MFG>;
clocks = <&topckgen CLK_TOP_MFG_SEL>;
clock-names = "mfg";
--
2.50.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] arm64: dts: mediatek: mt8365-evk: Enable GPU support
2025-08-13 9:25 [PATCH 0/3] Add Mali GPU support for Mediatek MT8365 SoC Louis-Alexis Eyraud
2025-08-13 9:25 ` [PATCH 1/3] dt-bindings: gpu: mali-bifrost: Add compatible for " Louis-Alexis Eyraud
2025-08-13 9:25 ` [PATCH 2/3] arm64: dts: mediatek: mt8365: Add GPU support Louis-Alexis Eyraud
@ 2025-08-13 9:25 ` Louis-Alexis Eyraud
2 siblings, 0 replies; 5+ messages in thread
From: Louis-Alexis Eyraud @ 2025-08-13 9:25 UTC (permalink / raw)
To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno
Cc: kernel, dri-devel, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek, Louis-Alexis Eyraud
Enable for the Mediatek Genio 350-EVK board the support of the
Arm Mali G52 MC1 GPU integrated in the MT8365 SoC.
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
---
arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8365-evk.dts b/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
index c8418888268d982875b3aa1aff5551f7c6b5e339..b5dd5ef9fa11ae1d54aa754325bac2e184b90dd3 100644
--- a/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
@@ -284,6 +284,11 @@ eth_phy: ethernet-phy@0 {
};
};
+&gpu {
+ mali-supply = <&mt6357_vcore_reg>;
+ status = "okay";
+};
+
&i2c0 {
clock-frequency = <100000>;
pinctrl-0 = <&i2c0_pins>;
@@ -353,6 +358,10 @@ touchscreen@5d {
};
};
+&mfg {
+ domain-supply = <&mt6357_vsram_others_reg>;
+};
+
&mmc0 {
assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL>;
assigned-clocks = <&topckgen CLK_TOP_MSDC50_0_SEL>;
--
2.50.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] dt-bindings: gpu: mali-bifrost: Add compatible for MT8365 SoC
2025-08-13 9:25 ` [PATCH 1/3] dt-bindings: gpu: mali-bifrost: Add compatible for " Louis-Alexis Eyraud
@ 2025-08-13 17:00 ` Conor Dooley
0 siblings, 0 replies; 5+ messages in thread
From: Conor Dooley @ 2025-08-13 17:00 UTC (permalink / raw)
To: Louis-Alexis Eyraud
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Matthias Brugger, AngeloGioacchino Del Regno, kernel, dri-devel,
devicetree, linux-kernel, linux-arm-kernel, linux-mediatek
[-- Attachment #1: Type: text/plain, Size: 338 bytes --]
On Wed, Aug 13, 2025 at 11:25:42AM +0200, Louis-Alexis Eyraud wrote:
> Add a compatible for the MediaTek MT8365 SoC, that has an integrated
> ARM Mali G52 MC1 GPU and compatible with arm,mali-bifrost.
>
> Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-08-13 18:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-13 9:25 [PATCH 0/3] Add Mali GPU support for Mediatek MT8365 SoC Louis-Alexis Eyraud
2025-08-13 9:25 ` [PATCH 1/3] dt-bindings: gpu: mali-bifrost: Add compatible for " Louis-Alexis Eyraud
2025-08-13 17:00 ` Conor Dooley
2025-08-13 9:25 ` [PATCH 2/3] arm64: dts: mediatek: mt8365: Add GPU support Louis-Alexis Eyraud
2025-08-13 9:25 ` [PATCH 3/3] arm64: dts: mediatek: mt8365-evk: Enable " Louis-Alexis Eyraud
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).