Commit 8f695232 authored by Lokesh Vutla's avatar Lokesh Vutla Committed by Tom Rini
Browse files

memory: Move TI_AEMIF config to KCONFIG



Not all Keystone2 devices has AEMIF NAND controller. So adding Kconfig
entry for CONFIG_TI_AEMIF and enabling it in respective defconfigs on
platforms with AEMIF controller.
Reported-by: default avatarNishanth Menon <nm@ti.com>
Signed-off-by: default avatarLokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: default avatarTom Rini <trini@konsulko.com>
parent 3bfc8152
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
#if defined(CONFIG_TI_AEMIF)
static struct aemif_config aemif_configs[] = { static struct aemif_config aemif_configs[] = {
{ /* CS0 */ { /* CS0 */
.mode = AEMIF_MODE_NAND, .mode = AEMIF_MODE_NAND,
...@@ -33,6 +34,7 @@ static struct aemif_config aemif_configs[] = { ...@@ -33,6 +34,7 @@ static struct aemif_config aemif_configs[] = {
.width = AEMIF_WIDTH_8, .width = AEMIF_WIDTH_8,
}, },
}; };
#endif
int dram_init(void) int dram_init(void)
{ {
...@@ -42,7 +44,10 @@ int dram_init(void) ...@@ -42,7 +44,10 @@ int dram_init(void)
gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE, gd->ram_size = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
CONFIG_MAX_RAM_BANK_SIZE); CONFIG_MAX_RAM_BANK_SIZE);
#if defined(CONFIG_TI_AEMIF)
aemif_init(ARRAY_SIZE(aemif_configs), aemif_configs); aemif_init(ARRAY_SIZE(aemif_configs), aemif_configs);
#endif
if (ddr3_size) if (ddr3_size)
ddr3_init_ecc(KS2_DDR3A_EMIF_CTRL_BASE, ddr3_size); ddr3_init_ecc(KS2_DDR3A_EMIF_CTRL_BASE, ddr3_size);
return 0; return 0;
......
...@@ -15,3 +15,4 @@ CONFIG_SPI_FLASH=y ...@@ -15,3 +15,4 @@ CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_STMICRO=y
CONFIG_DM_ETH=y CONFIG_DM_ETH=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_TI_AEMIF=y
...@@ -15,3 +15,4 @@ CONFIG_SPI_FLASH=y ...@@ -15,3 +15,4 @@ CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_STMICRO=y
CONFIG_DM_ETH=y CONFIG_DM_ETH=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_TI_AEMIF=y
...@@ -15,3 +15,4 @@ CONFIG_SPI_FLASH=y ...@@ -15,3 +15,4 @@ CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_STMICRO=y
CONFIG_DM_ETH=y CONFIG_DM_ETH=y
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_TI_AEMIF=y
...@@ -30,6 +30,8 @@ source "drivers/input/Kconfig" ...@@ -30,6 +30,8 @@ source "drivers/input/Kconfig"
source "drivers/led/Kconfig" source "drivers/led/Kconfig"
source "drivers/memory/Kconfig"
source "drivers/misc/Kconfig" source "drivers/misc/Kconfig"
source "drivers/mmc/Kconfig" source "drivers/mmc/Kconfig"
......
#
# Memory devices
#
menu "Memory Controller drivers"
config TI_AEMIF
tristate "Texas Instruments AEMIF driver"
depends on ARCH_KEYSTONE
help
This driver is for the AEMIF module available in Texas Instruments
SoCs. AEMIF stands for Asynchronous External Memory Interface and
is intended to provide a glue-less interface to a variety of
asynchronuous memory devices like ASRAM, NOR and NAND memory. A total
of 256M bytes of any of these memories can be accessed at a given
time via four chip selects with 64M byte access per chip select.
endmenu
...@@ -145,8 +145,6 @@ ...@@ -145,8 +145,6 @@
/* SerDes */ /* SerDes */
#define CONFIG_TI_KEYSTONE_SERDES #define CONFIG_TI_KEYSTONE_SERDES
/* AEMIF */
#define CONFIG_TI_AEMIF
#define CONFIG_AEMIF_CNTRL_BASE KS2_AEMIF_CNTRL_BASE #define CONFIG_AEMIF_CNTRL_BASE KS2_AEMIF_CNTRL_BASE
/* I2C Configuration */ /* I2C Configuration */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment