The GPU searches for the SD card, loads and parses the config.txt file, sets many of the required options, parses device tree overlays, etc. etc.
It also does the memory controller initialization and refresh logic.
And yes, it loads kernel and initramfs into memory and then resets/enables the main ARM CPU.
A classic Broadcom move 😹
(with the GPU core being a highly proprietary VideoCore IV architecture)
@manawyrm I mean it makes some sense, it's just... Mindboggling.
It feels like how on the PC you need to turn on half your ram through the keyboard controller
Yes. The CPU is just an attachment to the GPU there. Yet another reason to scoff at RPis because they cannot ever be fully open source with brokencom's stance.
Gimme some SBC based off https://www.starfivetech.com/en/site/soc instead...
booting up to screen of rainbow pixels is a very Williamsy thing to do
and then the boot screen happens (which are a recent years addition. I wish this part could be customized a bit more to drop the QR code for something cute and have the VGA font)
Yup the GPU is just a less general purpose CPU which is reponsible to bring up the whole SoC.
Lots of code is running on that CPU, and yes, it is the one that bring up the ARM CPU and load the code for it.