<story><title>Minimal Raspberry Pi VPU firmware</title><url>https://github.com/christinaa/rpi-open-firmware/blob/master/README.md</url></story><parent_chain></parent_chain><comment><author>mrlambchop</author><text>I wrote the BootROM and 2nd stage loader used in VC3 and VC4 - way back in ~2005. And the interrupt controller, VPU sync block and various other things used in this open FW.&lt;p&gt;This is pretty awesome to see how much context the community has reverse engineered from the design - I remember making the first BCM2835 based project (the Roku 2) and spending _A LOT_ of time getting the ARM to startup reliably and boot into Linux as fast as possible. I&amp;#x27;ve spotted 2 concepts in the open FW so far that misunderstood the implementation of the HW but are still working which is fun!&lt;p&gt;One advantage of the having the GPU start first (maybe the only advantage :) is that it can play a video for a splash screen instead of a static image. If you&amp;#x27;ve ever used a Roku 2&amp;#x2F;3 or newer, this is a feature I hacked together for a demo to hide boot-up latency - now its a standard part of RokuOS (and is quite hard to replicate on traditional ARM&amp;#x2F;MIPS SoC&amp;#x27;s).</text></comment>
<story><title>Minimal Raspberry Pi VPU firmware</title><url>https://github.com/christinaa/rpi-open-firmware/blob/master/README.md</url></story><parent_chain></parent_chain><comment><author>erikb</author><text>What can one do with it? Is it like a bootloader? Sorry really not enough know-how.</text></comment>