Genio-520 (MT8391) VPU hardware decode not working – firmware / DT support clarification needed
Hello
We are working with MediaTek Genio-520 EVK (MT8391) and facing an issue where VPU hardware decoding is not functional, while the same software stack works correctly on Genio-510 (MT8370).
Below are the observations and differences we found. We would appreciate your guidance on what is missing or needs to be enabled for MT8391.
Working Platform
- Board: Genio-510 EVK
- SoC: MT8370
- Kernel: 6.6.37-mtk
- Result: VPU hardware decoding works
G510 – dmesg output
read_img: vpu_fw request_firmware cam_vpu1 success
read_img: vpu_fw request_firmware cam_vpu2 success
read_img: vpu_fw request_firmware cam_vpu3 success
apusys_load_image: vpu_fw request_firmware mediatek/mt8370/apusys.sig.img success
vpu_probe: succeed
G510 – runtime
/sys/class/devfreq/soc:vpu_devfreq
G510 – firmware present
/lib/firmware/mediatek/mt8370/
├─ cam_vpu1.img
├─ cam_vpu2.img
├─ cam_vpu3.img
└─ apusys.sig.img
Non-working Platform
- Board: Genio-520 EVK
- SoC: MT8391
- Kernel: 6.6.37-mtk
- Result: Hardware decoder not used (software decode only)
G520 – dmesg output
mvpu_init: register platform driver pass
mtk-apu: creating channel mvpu-tx-rpmsg
[VCU] mtk_vcu_open name: vpud
Missing on G520
- No
vpu_fw request_firmware - No
vpu_probe: succeed - No
soc:vpu_devfreq
G520 – firmware check
/lib/firmware/mediatek/
├─ apusys.sig.img
└─ mt8391/apusys.sig.img
No cam_vpu*.img for MT8391
Kernel Configuration
The following options are enabled in kernel:
CONFIG_MTK_VPU=y
CONFIG_MTK_VPU_FW=y
CONFIG_MTK_VPU_DEVFREQ=y
However:
/sys/class/devfreq/soc:vpu_devfreqis not createdrequest_firmware(cam_vpu*)is never triggered
Questions / Clarification Needed
-
Does MT8391 (Genio-520) require
cam_vpu*.imgfirmware similar to MT8370?- If yes, where can we obtain the correct MT8391 VPU firmware?
-
Is VPU camera/codec firmware intentionally not provided for MT8391 in current BSP?
-
Are additional device-tree nodes required to enable VPU firmware loading on MT8391?
- If possible, could you share the required DT bindings or reference DTS?
-
Is
mvpu + VCUsupport sufficient for video decode on MT8391, or is classicvpu_corenot supported? -
Is hardware video decode officially supported on Genio-520 in the current Linux BSP?
- If yes, which components must be enabled (firmware / DT / userspace)?
Summary
- VPU hardware exists on MT8391
- Kernel driver loads (
mvpu_init) - But firmware is not loaded
- No devfreq node is created
- Hardware decoder is not used
We would appreciate clarification on missing firmware, DT requirements, or BSP limitations for enabling VPU hardware decoding on Genio-520.
Thank you for your support.