Skip to content
  • pekon gupta's avatar
    ARM: omap: merge GPMC initialization code for all platform · a0a37183
    pekon gupta authored
    
    
    GPMC controller on TI's OMAP SoC is general purpose controller to interface
    with different types of external devices like;
     - parallel NOR flash
     - parallel NAND flash
     - OneNand flash
     - SDR RAM
     - Ethernet Devices like LAN9220
    
    Though GPMC configurations may be different for each platform depending on
    clock-frequency and external device interfacing with controller. But
    initialization sequence remains common across all platfoms.
    
    Thus this patch merges gpmc_init() scattered in different arch-xx/mem.c
    files into single omap-common/mem-common.c
    
    However, actual platforms specific register config values are still sourced
    from corresponding platform specific headers like;
     AM33xx: arch/arm/include/asm/arch-am33xx/mem.h
     OMAP3:  arch/arm/include/asm/arch-omap3/mem.h
     OMAP4:  arch/arm/include/asm/arch-omap4/mem.h
     OMAP4:  arch/arm/include/asm/arch-omap5/mem.h
    
    Also, CONFIG_xx passed by board-profile decide config for which set of macros
    need to be used for initialization
     CONFIG_NAND:    initialize GPMC for NAND device
     CONFIG_NOR:     initialize GPMC for NOR device
     CONFIG_ONENAND: initialize GPMC for ONENAND device
    
    Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
    [trini: define GPMC_SIZE_256M for omap3]
    Signed-off-by: default avatarTom Rini <trini@ti.com>
    a0a37183