Skip to content
  • Fabio Estevam's avatar
    mtd: nand: mxc_nand: Fix is_16bit_nand() · a430e916
    Fabio Estevam authored
    
    
    Currently is_16bit_nand() is a per SoC function and it decides the bus nand
    width by reading some boot related registers.
    
    This method works when NAND is the boot medium, but does not work if another
    boot medium is used. For example: booting from a SD card and then using NAND
    to store the environment variables, would lead to the following error:
    
    NAND bus width 16 instead 8 bit
    No NAND device found!!!
    0 MiB
    
    Use CONFIG_SYS_NAND_BUSWIDTH_16BIT symbol to decide the bus width.
    
    If it is defined in the board file, then consider 16-bit NAND bus-width,
    otherwise assume 8-bit NAND is used.
    
    This also aligns with Documentation/devicetree/bindings/mtd/nand.txt, which
    states:
    
    nand-bus-width : 8 or 16 bus width if not present 8
    
    Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
    Acked-by: default avatarScott Wood <scottwood@freescale.com>
    Reviewed-by: default avatarBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
    a430e916