目前Fuchsia源码中支持的Amlogic芯片有六款,除了A113主要面向音频设备不带GPU外,其他几款芯片的GPU信息如下:
Amlogic A311D - ARM Mali-G52 MP4 GPU
Amlogic T931 - ARM Mali-G52 MP4 GPU
Amlogic S912 - ARM Mali-T820 MP3 GPU
Amlogic S905D3 - ARM Mali-G31 MP2 GPU
Amlogic S905D2 - ARM Mali-G31 MP2 GPU
ARM的Mali GPU分三种架构:
可以看到G52和G31都属于Bifrost架构,而T820属于Midgard架构。所以移植A311D的GPU驱动最好基于T931(同架构同型号)的代码,其次基于S905D2(同架构)的代码。
Fuchsia中使用T931的设备主要是sherlock,而T931基本上就是一个加了NPU的S922X,所以可以参考sherlock的代码和S922X的datasheet来实现A311D的GPU驱动。