How robertferanec/imx6tinyrex_uboot_v2014_10 works
This repository is a U-Boot 2014.10 firmware tree customized for Voipac TinyRex i.MX6 Solo, DualLite, and Quad boards. Its principal workflow is platform startup and hardware initialization, followed by U-Boot runtime services that let an operator select and boot an image. A separate documented runtime feature exposes a block device over USB mass storage. The tree also includes other CPU and SoC implementations; sampled code supports the USB flow and selected hardware components, but does not establish the complete boot-command call chain.
Main entry points: cmd_usb_mass_storage.c UMS command · f_mass_storage.c USB gadget transport · spl.c Early boot · common U-Boot runtime
Components 19
Platform startup
- i.MX6 CPU setup
arch/arm/cpu/armv7/mx6/soc.c - i.MX6 clocks
arch/arm/cpu/armv7/mx6/clock.c - i.MX6 DDR
arch/arm/cpu/armv7/mx6/ddr.c - Early boot
arch/arm/imx-common/spl.c
Boot services
- U-Boot runtime
common - Boot image
- Application API
api/api.c - Storage enumeration
api/api_storage.c
USB mass storage
- UMS command
common/cmd_usb_mass_storage.c - USB gadget transport
drivers/usb/gadget/f_mass_storage.c - SCSI definitions
drivers/usb/gadget/storage_common.c - Block callbacks
common/cmd_usb_mass_storage.c
Hardware support
- Block device
- SoCFPGA support
arch/arm/cpu/armv7/socfpga - Freescale DDR
drivers/ddr/fsl/main.c - USB storage driver
common/usb_storage.c
Other components
- Board power-on
- Operator
- USB host
Connections 20
- Board power-on → Early boot: starts
- Early boot → i.MX6 CPU setup: initializes
- Early boot → i.MX6 clocks: initializes
- Early boot → i.MX6 DDR: initializes
- Operator → U-Boot runtime: uses
- U-Boot runtime → Boot image: boots
- U-Boot runtime → Application API: provides
- Application API → Storage enumeration: enumerates
- Operator → UMS command: invokes
- UMS command → Block device: selects
- UMS command → USB gadget transport: initializes
- UMS command → USB host: initializes device mode
- UMS command → USB gadget transport: dispatches
- USB gadget transport → SCSI definitions: uses definitions
- USB gadget transport → Block callbacks: reads and writes
- Block callbacks → Block device: reads and writes
- USB host → USB gadget transport: transfers commands
- USB host → USB storage driver: connects
- SoCFPGA support → Board power-on: configures platform hardware
- Freescale DDR → Block device: supports memory setup