Skip to content
  • Thomas Gleixner's avatar
    spl: Lightweight UBI and UBI fastmap support · 6f4e7d3c
    Thomas Gleixner authored and Tom Rini's avatar Tom Rini committed
    Booting a payload out of NAND FLASH from the SPL is a crux today, as
    it requires hard partioned FLASH. Not a brilliant idea with the
    reliability of todays NAND FLASH chips.
    
    The upstream UBI + UBI fastmap implementation which is about to
    brought to u-boot is too heavy weight for SPLs as it provides way more
    functionality than needed for a SPL and does not even fit into the
    restricted SPL areas which are loaded from the SoC boot ROM.
    
    So this provides a fast and lightweight implementation of UBI scanning
    and UBI fastmap attach. The scan and logical to physical block mapping
    code is developed from scratch, while the fastmap implementation is
    lifted from the linux kernel source and stripped down to fit the SPL
    needs.
    
    The text foot print on the board which I used for development is:
    
    6854	0	0	6854	1abd
    drivers/mtd/ubispl/built-in.o
    
    Attaching a NAND chip with 4096 physical eraseblocks (4 blocks are
    reserved for the SPL) takes:
    
    In full scan mode:      1172ms
    In fa...
    6f4e7d3c