Skip to content
Snippets Groups Projects
Forked from Reform / reform-boundary-uboot
Source project has a limited visibility.
  • Khoronzhuk, Ivan's avatar
    67ac6ffa
    mtd: nand: davinci: add opportunity to write keystone U-boot image · 67ac6ffa
    Khoronzhuk, Ivan authored
    
    The Keystone SoCs use the same NAND driver as Davinci.
    This patch adds opportunity to write Keystone U-boot image to NAND
    device using appropriate RBL ECC layout. This is needed only if RBL
    boots U-boot from NAND device and that's supposed that raw u-boot
    partition is used only for writing image.
    
    The main problem is that default Davinci ECC layout is different from
    Keystone RBL layout. To read U-boot image the RBL needs that image was
    written using RBL ECC layout.
    
    The BBT table is written using default Davinci layout and has to
    be updated using one. The BBT can be updated only while erasing
    chip or by forced bad block assigning, so erase function has to
    use native ecc layout in order to be able to write BBT correctly.
    So if we're writing to NAND U-boot address we use RBL layout for
    others we use default ECC layout.
    
    Also remove definition for CONFIG_CMD_NAND_ECCLAYOUT as there is no
    reasons to use ECC layout commands. It was added by mistake.
    
    Signed-off-by: default avatarIvan Khoronzhuk <ivan.khoronzhuk@ti.com>
    67ac6ffa
    History
    mtd: nand: davinci: add opportunity to write keystone U-boot image
    Khoronzhuk, Ivan authored
    
    The Keystone SoCs use the same NAND driver as Davinci.
    This patch adds opportunity to write Keystone U-boot image to NAND
    device using appropriate RBL ECC layout. This is needed only if RBL
    boots U-boot from NAND device and that's supposed that raw u-boot
    partition is used only for writing image.
    
    The main problem is that default Davinci ECC layout is different from
    Keystone RBL layout. To read U-boot image the RBL needs that image was
    written using RBL ECC layout.
    
    The BBT table is written using default Davinci layout and has to
    be updated using one. The BBT can be updated only while erasing
    chip or by forced bad block assigning, so erase function has to
    use native ecc layout in order to be able to write BBT correctly.
    So if we're writing to NAND U-boot address we use RBL layout for
    others we use default ECC layout.
    
    Also remove definition for CONFIG_CMD_NAND_ECCLAYOUT as there is no
    reasons to use ECC layout commands. It was added by mistake.
    
    Signed-off-by: default avatarIvan Khoronzhuk <ivan.khoronzhuk@ti.com>