The Intel Edison image is assembled by a board config.mk hack that prepends a 4KB alignment gap to u-boot.bin, plus a static OSIP-header blob checked into the tree. This series is a cleanup of that, not a boot fix: the mainline boot regression from the Kbuild-6.1 bump is fixed directly by the 'Repair boards broken by the 6.1 kbuild bump' series, which this one applies on top of.
Assemble the whole image with binman instead. A new intel-osip entry generates the OSIP header (with the GPT-protective MBR the mask ROM needs) and a fill provides the 4KB gap that the mask ROM's load/entry offset requires. The gap and U-Boot are emitted together as u-boot-edison-dfu.bin, the ready-to-flash payload for the u-boot0 partition, so a DFU update no longer needs a hand-rolled prepend. The OSIP load address and entry point come from CONFIG_TEXT_BASE rather than hard-coded magic numbers. It also widens the DFU auto-probe window so an automated flash has time to start, adds the board to the sjg-lab CI and rewrites the documentation to separate a normal DFU update from xFSTK recovery. Tested on real hardware: a bricked board recovers via xFSTK, takes a fresh U-Boot over DFU and boots the result. Changes in v3: - Update the copyright line - Drop trailing space in ftest.py - Round U-Boot's size up to a 4KB boundary - Drop the manual 'truncate -s %4096' step which is no longer needed Changes in v2: - Drop Bay Trail from the SoC list and add Moorefield (it is not an Intel MID part) - Refer to the board as the Intel Edison in the MBR sector comment - Write the 0x55aa boot signature as a single 16-bit value - Derive the Edison OSIP load address and entry point from CONFIG_TEXT_BASE instead of hard-coding them - Require intel,load-address and intel,entry-point rather than defaulting to Edison's addresses - Reframe as a binman conversion (the boot fix is now a precursor) and drop the duplicate 'Fixes' tag - Wrap the gap and U-Boot in a section emitted as u-boot-edison-dfu.bin, the ready-to-flash DFU payload - Keep a reference to the stock U-Boot v2014.04 the board ships with - Flash the binman-built u-boot-edison-dfu.bin over DFU instead of prepending the 4KB gap to u-boot.bin by hand - Restore the xFSTK progress output and the note that the reconnection attempts are normal - Refer to the board as the Intel Edison Simon Glass (5): binman: Add an entry type for the Intel OSIP header edison: Widen the DFU auto-probe window for flashing U-Boot x86: edison: Move U-Boot alignment into binman CI: Add an sjg-lab job for the Intel Edison doc: edison: Rewrite the update instructions .gitlab-ci.yml | 6 + arch/x86/dts/edison.dts | 35 ++++- board/intel/edison/config.mk | 10 -- board/intel/edison/edison-environment.txt | 2 +- board/intel/edison/edison-osip.dat | 0 doc/board/intel/edison.rst | 182 ++++++++++------------ tools/binman/etype/intel_osip.py | 120 ++++++++++++++ tools/binman/ftest.py | 25 +++ tools/binman/test/entry/intel_osip.dts | 17 ++ 9 files changed, 277 insertions(+), 120 deletions(-) delete mode 100644 board/intel/edison/edison-osip.dat create mode 100644 tools/binman/etype/intel_osip.py create mode 100644 tools/binman/test/entry/intel_osip.dts --- base-commit: 2569e25ddd5aa323cd87c7a3819c3a4f4b32302f branch: edison-us3 -- 2.43.0

