On Tue, Dec 2, 2014 at 8:10 AM, erik quanstrom <[email protected]> wrote: >> One of the functions u-boot performs is configuring the various subsystems >> in the SoC (individual clocks and power settings for subcomponents, gpio >> pin functions, ...) -- things a BIOS would do in a more old-timey computer. >> In my experience these are typically undocumented (or worse, incorrectly >> documented), so doing this initialisation in Plan 9 would require reverse >> engineering of u-boot to figure out what to do. It's easier just to be >> lazy and let u-boot do it. > > that's interesting. with the marvell chip and board i had, there was almost > no > setup code required. and what setup code there was, the hardware guy had got > wrong.
That project was a little different. Off the shelf SoC's (particularly those targeted for mobile) usually have firmware blobs that have to be loaded at specific addresses, (undocumented) clock trees, signed stage 1 loaders, and other bits. Many times, using u-boot is your only choice. You can pick apart the source if you like, but honestly why do the work? I'm more interested in porting the kernel than writing a bootloader. Frankly, purity in a software system only exists if you've also designed the hardware. Steve
