How linux-goxceed/u-boot works
U-Boot is an embedded boot loader and hardware monitor. Its principal workflow is to initialize board hardware, let an operator or boot policy select a source, load an image, and transfer control to it; the README also documents network and ATA/SCSI boot. The tree and sampled files show architecture-specific initialization, storage interfaces, USB mass storage, and a firmware API. Several runtime relationships are documented only at a high level, so those links are dashed; sampled storage and USB excerpts do not establish a complete boot pipeline.
Main entry points: cmd Monitor Commands · main.c Monitor Loop · arm Board / SoC Init · usb_mass_storage.c USB Mass Storage Command
Components 16
Monitor Runtime
- Monitor Loop
common/main.c - Monitor Commands
cmd - Image Boot
arch/arm/lib
Platform Initialization
- Board / SoC Init
arch/arm - DDR Training
drivers/ddr/marvell/a38x/ddr3_training_ip_engine.c - SoCFPGA Clocks
arch/arm/mach-socfpga/clock_manager_arria10.c
Boot I/O
- Network Boot
net - Block Storage
common/usb_storage.c - USB Mass Storage Command
cmd/usb_mass_storage.c - USB Gadget Storage
drivers/usb/gadget/f_mass_storage.c - Storage Protocol Common
drivers/usb/gadget/storage_common.c
Firmware Interfaces
- Firmware API
api/api.c - API Storage
api/api_storage.c
Other components
- Operator / Boot Policy
- Linux / Loaded Program
- USB Host
Connections 14
- Operator / Boot Policy → Monitor Loop: invokes
README - Monitor Loop → Monitor Commands: dispatches
README - Monitor Loop → Board / SoC Init: initializes hardware
README - Board / SoC Init → DDR Training: may configure memory
- Board / SoC Init → SoCFPGA Clocks: may configure clocks
- Monitor Commands → Network Boot: supports network boot
README - Monitor Commands → Block Storage: supports disk boot
README - Monitor Commands → USB Mass Storage Command: offers USB mass storage
- USB Mass Storage Command → USB Gadget Storage: configures function
- USB Gadget Storage → Storage Protocol Common: uses definitions
drivers/usb/gadget/f_mass_storage.c - USB Host → USB Mass Storage Command: initiates transfer
- Monitor Commands → Image Boot: selects image boot
README - Image Boot → Linux / Loaded Program: transfers control
README - Firmware API → API Storage: delegates storage calls