Hello,
We are working with MediaTek Genio-520 EVK (MT8371) 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 MT8371.
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: MT8371
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
└─ mt8371/apusys.sig.img
No cam_vpu*.img for MT8371
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_devfreq is not created
request_firmware(cam_vpu*) is never triggered
Questions / Clarification Needed
Does MT8371 (Genio-520) require cam_vpu*.img firmware similar to MT8370?
If yes, where can we obtain the correct MT8371 VPU firmware?
Is VPU camera/codec firmware intentionally not provided for MT8371 in current BSP?
Are additional device-tree nodes required to enable VPU firmware loading on MT8371?
If possible, could you share the required DT bindings or reference DTS?
Is mvpu + VCU support sufficient for video decode on MT8371, or is classic vpu_core not 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 MT8371
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.
