
On Thu, May 08, 2014 at 09:43:47PM +0530, pekon gupta wrote:
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: Pekon Gupta pekon@ti.com
After adding GPMC_SIZE_256M to omap3/mem.h, applied to u-boot-ti/master, thanks!
And note that git detect renames got a bit too agressive here so I had to apply it kinda by hand, but I think I did everything right.