rpi-open-firmware is a small firmware for the RPi VPU, capable of initializing UART, VPU PLL (PLLC), and ARM itself. It's intended as a libre replacement for the stock bootcode.bin normally loaded from the SD card. A UART cable is highly recommended for the time being, though not strictly necessary. Additionally, there is a second-stage chainloader running on ARM capable of initializing eMMC, FAT, and the Linux kernel.
Technical discussion occurs in #raspberrypi-internals on libera. Please come on IRC before randomly hacking on the codebase :-)
All Broadcom headers are licensed under 3-Clause BSD License while our code is under GPLv2+. See LICENSE for more information. Various external projects are mirrored under a mix of GPL-compatible licenses.
As a prerequisite, Julian Brown's VC4 toolchain is necessary as well as the arm-none-eabi- toolchain (Debian package gcc-arm-none-eabi). You can tweak the VC4 toolchain path in CROSS_COMPILE in Makefile and the ARM path in arm_chainloader/Makefile if necessary. Contributors should not commit their personal paths. After configuration, run buildall.sh. The binary is at build/bootcode.bin, ready to be copied to an SD card.