Howto
- Mount a UART on your XG6846B. This is exactly the same UART as used by the predessor Inteno XG6846.
- Set up a TFTP server on your host computer
- Get u-boot-0x03000000.bin
- Get latest zImage that I cooked up
- Plug local ethernet into one of the LAN ports (yellow)
- Power on the device
- Break into CFE on the UART (just hammer ENTER when the memory test is scrolling by)
- Wait for any screen noise to settle while ethernet plugs are detected etc
-
loadb n 0x03000000 192.168.1.2:uboot-0x03000000.bin go 0x03000000 loady
- Then send the kernel zImage using ymodem (such as Ctrl+A S in minicom)
- You will see that U-Boot has been preconfigured to load the kernel at 0x00200000 (we have some reserved memory at 0x00000000 for things like PSCI so we can't load the kernel there).
- Wait for the 6.8 MB to upload to target...
- go 0x00200000 to execute the kernel.
Status
- 2024-09-17 Enabled MTD NAND and poked around in the NAND flash using U-Boot
- 2024-09-10 Managed to boot a very stripped-down Linux (just one CPU) from U-Boot
- 2024-09-08 Managed to execute U-Boot at 0x03000000
Links
- BCM96846 hack branch for U-Boot - subject to constant change and including all my uglyhacks
- bcm6846-uboot.mak the Makefile that I use to reconfigure and build U-Boot
- Linux kernel sources - subject to constant change and including all my uglyhacks
- bcm6846.mak the Makefile that I use to reconfigure and build the kernel
- Source code to some Broadcom drivers that are used in this SoC/device