GPU documentation


Are there plans to release hardware documentation for the GPU (and the sound chip and the NIC)? If I wanted to write my own toy OS that used the GPU as a vector processor, would that be possible?



Imaginaiton have some public informations about their GPU, but most lilkely not what you need. Though they are making open source driver that, I think, do target the GPU in the VF2 for Linux, so you may get infos from there.

I suspect that we will not see any major hardware documentation for the GPU before Imagination Technologies (who have a commitment to open source), publish some source code related to the IMG BXE-4-32 mc1 used inside the JH7110 SoC. It should happen, but it is fully under the control and timetable of Imagination Technologies and not StarFive.

sound chip
I’m guessing that I2S bus is provided by IP from synopsys.
And further guessing that Audio DSP is using HiFi4 provided by IP from cadence.
I’m guessing NDA hell for access to full documentation related to HiFi4. If you search for “hifi4” in the JH7110 Technical Reference Manual, you do find ten references to it.
Although very far form ideal, you could always add an external I2S device (one with full documentation) via the GPIO header using a HAT.

Nothing usable in the JH7110 TRM (yet) and the only documentation I’ve found for the software layer “JH7110 Ethernet Developing and Porting Guide” (part of the Developing and Porting Guides) is related to the Linux driver source code which unfortunately is GPL 2 or later only, which makes it painful to port to BSD (with no access to proper hardware documentation).


hardware revision 1.2A (Super Early Bird board)
GMAC0 Motorcomm YT8531C (U6)  10/100/1000Mbit/sec (supports SyncE)
GMAC1 Motorcomm YT8512C (U39) 10/100Mbit/sec      (supports SyncE)

hardware revision 1.3B (Early Bird board)
GMAC0 Motorcomm YT8531C (U6)  10/100/1000Mbit/sec (supports SyncE)
GMAC1 Motorcomm YT8531C (U7)  10/100/1000Mbit/sec (supports SyncE)

I suspect, even though it is a different chip, that consulting the FreeBSD driver and/or OpenBSD 7.3 driver for the “Motorcomm YT8511C / YT8511H Integrated 10/100/1000 Gigabit Ethernet phy” may help a tiny bit.


Network MAC on JH7110 is dwmac 5.20 according to this:[v5,00/12] Add Ethernet driver for StarFive JH7110 SoC - Patchwork
YT8531/8512 are just phys

1 Like