Implementing State-of-the-Art U-Boot Port, 2018 Edition
summary
Practical step‑by‑step for a new U‑Boot port that reaches mainline: implements device tree + driver model usage, shows concrete driver code (driver macro, probe/remove, preallocated platform data, OF match table), explains fdt vs. devicetree helpers, and demonstrates lazy probing across clock, pinmux, serial and block subsystems. Covers size strategies SPL/TPL and stripping DT nodes, CI with Travis, EFI and multi‑DTB/overlay support, and recommends starting with a minimal serial console then iteratively replacing board glue with drivers.
AI-written summary · about
chapters (28)
- 0:00Introduction
- 0:46Outline
- 1:50What is UBoot
- 2:46Older UBoot
- 4:17UBoot News
- 7:23Getting UBoot Sources
- 8:17Building UBoot Sources
- 9:59Directory Structure
- 12:00Config Options
- 14:30Device 3 Data Structure
- 15:43Device 3 Sources
- 17:30Device 3 Capable
- 23:05Device 3 Access
- 24:38UBoot Driver Model
- 30:30UBoot Driver Functions
- 32:03How to Implement UBoot Port
- 33:37Adding Architecture Support
- 35:26UBoot Driver Macro
- 38:10UBoot Probe
- 39:02Serial Ops
- 39:55Serial Console
- 40:47Clock Framework
- 42:13Pin Control Framework
- 43:09Pin Control Select State
- 44:24UBoot SPL
- 46:12Reducing UBoot size
- 47:05Wrap up
- 47:51Questions
related talks
50mRethinking U-Boot Devicetree Story
30mWhat's New with U-Boot?
40mRecent Advances in U-Boot
20mUsing DTB overlays in OP-TEE
40mSecond Source Component Probing on Device Tree Platforms
01h 13mDevice Tree for Dummies!
29mChallenges in Device Tree Sync - kernel, Zephyr, U-boot, System DT
39mFrom Hardware to Linux
