Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • early-display
  • variant-emmc-nvme-boot
  • 2023-01-25
  • v3
  • variant-emmc-nvme-boot
  • 2020-06-01
7 results

omap_gpmc.c

Forked from Reform / reform-boundary-uboot
Source project has a limited visibility.
  • pekon gupta's avatar
    b80a6603
    mtd: nand: omap: add CONFIG_SYS_NAND_BUSWIDTH_16BIT to indicate NAND device bus-width · b80a6603
    pekon gupta authored
    
    GPMC controller needs to be configured based on bus-width of the NAND device
    connected to it. Also, dynamic detection of NAND bus-width from on-chip ONFI
    parameters is not possible in following situations:
    SPL:    SPL NAND drivers does not support ONFI parameter reading.
    U-boot: GPMC controller iniitalization is done in omap_gpmc.c:board_nand_init()
            which is called before probing for devices, hence any ONFI parameter
            information is not available during GPMC initialization.
    
    Thus, OMAP NAND driver expected board developers to explicitely write GPMC
    configurations specific to NAND device attached on board in board files itself.
    But this was troublesome for board manufacturers as they need to dive into
    lengthy platform & SoC documents to find details of GPMC registers and
    appropriate configurations to get NAND device working.
    
    This patch instead adds existing CONFIG_SYS_NAND_BUSWIDTH_16BIT to board config
    hich indicates that connected NAND device has x16 bus-width. And then based on
    this config GPMC driver itself initializes itself based on NAND bus-width. This
    keeps board developers free from knowing GPMC controller specific internals.
    
    Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
    b80a6603
    History
    mtd: nand: omap: add CONFIG_SYS_NAND_BUSWIDTH_16BIT to indicate NAND device bus-width
    pekon gupta authored
    
    GPMC controller needs to be configured based on bus-width of the NAND device
    connected to it. Also, dynamic detection of NAND bus-width from on-chip ONFI
    parameters is not possible in following situations:
    SPL:    SPL NAND drivers does not support ONFI parameter reading.
    U-boot: GPMC controller iniitalization is done in omap_gpmc.c:board_nand_init()
            which is called before probing for devices, hence any ONFI parameter
            information is not available during GPMC initialization.
    
    Thus, OMAP NAND driver expected board developers to explicitely write GPMC
    configurations specific to NAND device attached on board in board files itself.
    But this was troublesome for board manufacturers as they need to dive into
    lengthy platform & SoC documents to find details of GPMC registers and
    appropriate configurations to get NAND device working.
    
    This patch instead adds existing CONFIG_SYS_NAND_BUSWIDTH_16BIT to board config
    hich indicates that connected NAND device has x16 bus-width. And then based on
    this config GPMC driver itself initializes itself based on NAND bus-width. This
    keeps board developers free from knowing GPMC controller specific internals.
    
    Signed-off-by: default avatarPekon Gupta <pekon@ti.com>