arm: mvebu: Move SoC selection (A38X vs AXP) into Kconfig
authorStefan Roese <sr@denx.de>
Mon, 21 Dec 2015 12:56:33 +0000 (13:56 +0100)
committerStefan Roese <sr@denx.de>
Thu, 14 Jan 2016 13:08:59 +0000 (14:08 +0100)
Until now, the SoC selection for the ARCH_MVEBU platforms has been done
in the config header. Using CONFIG_ARMADA_XP in a non-clear way. As
it needed to get selected for AXP and A38x based boards. This patch
now changes this to move the SoC selection to Kconfig. And also
uses CONFIG_ARCH_MVEBU as a common define for both AXP and A38x.
This makes things a bit clearer - especially for new board additions.

Additionally the defines CONFIG_SYS_MVEBU_DDR_AXP and
CONFIG_SYS_MVEBU_DDR_A38X are replaced with the already available
CONFIG_ARMADA_38X and CONFIG_ARMADA_XP.

And CONFIG_DDR3 is removed, as its not referenced anywhere.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Luka Perkov <luka.perkov@sartura.hr>
15 files changed:
arch/arm/Makefile
arch/arm/mach-mvebu/Kconfig
arch/arm/mach-mvebu/Makefile
arch/arm/mach-mvebu/dram.c
arch/arm/mach-mvebu/include/mach/config.h
arch/arm/mach-mvebu/mbus.c
arch/arm/mach-mvebu/timer.c
drivers/Makefile
drivers/block/mvsata_ide.c
drivers/i2c/mvtwsi.c
include/configs/clearfog.h
include/configs/db-88f6820-gp.h
include/configs/db-mv784mp-gp.h
include/configs/maxbcm.h
tools/Makefile

index 18283d1d359fd1f860dc5d2545ce30849fa00bae..3d156732139e5de1f847a12a0dc6b49f5825d2c1 100644 (file)
@@ -49,7 +49,7 @@ machine-$(CONFIG_ARCH_HIGHBANK)               += highbank
 machine-$(CONFIG_ARCH_KEYSTONE)                += keystone
 # TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD
 machine-$(CONFIG_KIRKWOOD)             += kirkwood
-machine-$(CONFIG_ARMADA_XP)            += mvebu
+machine-$(CONFIG_ARCH_MVEBU)           += mvebu
 # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA
 # TODO: rename CONFIG_ORION5X -> CONFIG_ARCH_ORION5X
 machine-$(CONFIG_ORION5X)              += orion5x
index 9f4d46bacf12960f27d2d3716e625c03773362ab..d96b2ae540af591adf199715e2f108ef354316ca 100644 (file)
@@ -1,20 +1,30 @@
 if ARCH_MVEBU
 
+config ARMADA_38X
+       bool
+
+config ARMADA_XP
+       bool
+
 choice
        prompt "Marvell MVEBU (Armada XP/38x) board select"
        optional
 
 config TARGET_CLEARFOG
        bool "Support ClearFog"
+       select ARMADA_38X
 
 config TARGET_DB_88F6820_GP
        bool "Support DB-88F6820-GP"
+       select ARMADA_38X
 
 config TARGET_DB_MV784MP_GP
        bool "Support db-mv784mp-gp"
+       select ARMADA_XP
 
 config TARGET_MAXBCM
        bool "Support maxbcm"
+       select ARMADA_XP
 
 endchoice
 
index 21c56a4d969889a054467a1cba134efac70edf20..b96b81bd3933eeb2a404a46a0d61146fc1094738 100644 (file)
@@ -15,8 +15,8 @@ else
 obj-y  = cpu.o
 obj-y  += dram.o
 ifndef CONFIG_SPL_BUILD
-obj-$(CONFIG_SYS_MVEBU_DDR_A38X) += ../../../drivers/ddr/marvell/a38x/xor.o
-obj-$(CONFIG_SYS_MVEBU_DDR_AXP) += ../../../drivers/ddr/marvell/axp/xor.o
+obj-$(CONFIG_ARMADA_38X) += ../../../drivers/ddr/marvell/a38x/xor.o
+obj-$(CONFIG_ARMADA_XP) += ../../../drivers/ddr/marvell/axp/xor.o
 endif
 obj-y  += gpio.o
 obj-y  += mbus.o
@@ -24,7 +24,7 @@ obj-y += timer.o
 obj-$(CONFIG_SPL_BUILD) += spl.o
 obj-$(CONFIG_SPL_BUILD) += lowlevel_spl.o
 
-obj-$(CONFIG_SYS_MVEBU_DDR_A38X) += serdes/a38x/
-obj-$(CONFIG_SYS_MVEBU_DDR_AXP)        += serdes/axp/
+obj-$(CONFIG_ARMADA_38X) += serdes/a38x/
+obj-$(CONFIG_ARMADA_XP) += serdes/axp/
 
 endif
index 059151a4b57264ed280079b946bd82cc7aa81e27..a8ec5ea21b6fe2e58a04be7b573ac0eef4e548b3 100644 (file)
 #include <asm/arch/cpu.h>
 #include <asm/arch/soc.h>
 
-#ifdef CONFIG_SYS_MVEBU_DDR_A38X
-#include "../../../drivers/ddr/marvell/axp/xor.h"
-#include "../../../drivers/ddr/marvell/axp/xor_regs.h"
-#endif
-#ifdef CONFIG_SYS_MVEBU_DDR_AXP
+#if defined(CONFIG_ARCH_MVEBU)
+/* Use common XOR definitions for A3x and AXP */
 #include "../../../drivers/ddr/marvell/axp/xor.h"
 #include "../../../drivers/ddr/marvell/axp/xor_regs.h"
 #endif
@@ -112,7 +109,7 @@ void mvebu_sdram_size_adjust(enum memory_bank bank)
        mvebu_sdram_bs_set(bank, size);
 }
 
-#if defined(CONFIG_SYS_MVEBU_DDR_A38X) || defined(CONFIG_SYS_MVEBU_DDR_AXP)
+#if defined(CONFIG_ARCH_MVEBU)
 static u32 xor_ctrl_save;
 static u32 xor_base_save;
 static u32 xor_mask_save;
@@ -292,7 +289,7 @@ void dram_init_banksize(void)
        }
 }
 
-#if defined(CONFIG_ARMADA_XP)
+#if defined(CONFIG_ARCH_MVEBU)
 void board_add_ram_info(int use_default)
 {
        struct sar_freq_modes sar_freq;
index c282fcbfcba6a37abd298c79b9cecdc61d5298a8..cc1fc5f9d4b1842141068095b5a668c97a0e3346 100644 (file)
 
 #include <asm/arch/soc.h>
 
-#if defined(CONFIG_ARMADA_XP)
+#if defined(CONFIG_ARMADA_XP) || defined(CONFIG_ARMADA_38X)
+/*
+ * Set this for the common xor register definitions needed in dram.c
+ * for A38x as well here.
+ */
 #define MV88F78X60 /* for the DDR training bin_hdr code */
 #endif
 
index 346278e1beeb4919202b563686c908b1cea3c7ba..df263bc3b3997f5267fdd15822fcac1180ea6859 100644 (file)
@@ -491,7 +491,7 @@ int mvebu_mbus_probe(struct mbus_win windows[], int count)
 #if defined(CONFIG_KIRKWOOD)
        mbus_state.soc = &kirkwood_mbus_data;
 #endif
-#if defined(CONFIG_ARMADA_XP)
+#if defined(CONFIG_ARCH_MVEBU)
        mbus_state.soc = &armada_370_xp_mbus_data;
 #endif
 
index aef2df2f7a07390169c4b56f78081ded9f9ac4ea..f5c2eaa808a3a0ccf7c0fbf22e06a4204d3908df 100644 (file)
@@ -31,7 +31,7 @@ int timer_init(void)
        writel(TIMER_LOAD_VAL, MVEBU_TIMER_BASE + 0x10);
        writel(TIMER_LOAD_VAL, MVEBU_TIMER_BASE + 0x14);
 
-#if defined(CONFIG_ARMADA_XP)
+#if defined(CONFIG_ARCH_MVEBU)
        /* On Armada XP / 38x ..., the 25MHz clock source needs to be enabled */
        setbits_le32(MVEBU_TIMER_BASE + 0x00, BIT(11));
 #endif
index c9031f2ce877842fd02d3446d9b1fe159ba0a2e1..00da40b704a705c2ac4645b68b61b294f7dcddc8 100644 (file)
@@ -14,8 +14,8 @@ obj-$(CONFIG_SPL_I2C_SUPPORT) += i2c/
 obj-$(CONFIG_SPL_GPIO_SUPPORT) += gpio/
 obj-$(CONFIG_SPL_MMC_SUPPORT) += mmc/
 obj-$(CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT) += ddr/fsl/
-obj-$(CONFIG_SYS_MVEBU_DDR_A38X) += ddr/marvell/a38x/
-obj-$(CONFIG_SYS_MVEBU_DDR_AXP) += ddr/marvell/axp/
+obj-$(CONFIG_ARMADA_38X) += ddr/marvell/a38x/
+obj-$(CONFIG_ARMADA_XP) += ddr/marvell/axp/
 obj-$(CONFIG_ALTERA_SDRAM) += ddr/altera/
 obj-$(CONFIG_SPL_SERIAL_SUPPORT) += serial/
 obj-$(CONFIG_SPL_SPI_FLASH_SUPPORT) += mtd/spi/
index 52c16025f8987e352f259befae07a8fb2b5d65ae..2c6d42410cb2dbf2ed28898b05457baced780ef2 100644 (file)
@@ -13,7 +13,7 @@
 #include <asm/arch/orion5x.h>
 #elif defined(CONFIG_KIRKWOOD)
 #include <asm/arch/soc.h>
-#elif defined(CONFIG_ARMADA_XP)
+#elif defined(CONFIG_ARCH_MVEBU)
 #include <linux/mbus.h>
 #endif
 
@@ -102,7 +102,7 @@ struct mvsata_port_registers {
  * Initialize SATA memory windows for Armada XP
  */
 
-#ifdef CONFIG_ARMADA_XP
+#ifdef CONFIG_ARCH_MVEBU
 static void mvsata_ide_conf_mbus_windows(void)
 {
        const struct mbus_dram_target_info *dram;
@@ -174,7 +174,7 @@ int ide_preinit(void)
        int ret = MVSATA_STATUS_TIMEOUT;
        int status;
 
-#ifdef CONFIG_ARMADA_XP
+#ifdef CONFIG_ARCH_MVEBU
        mvsata_ide_conf_mbus_windows();
 #endif
 
index f20d1b229154d93b530245f2bf935df0e6f32fae..5dc4fbba1fe8c254b99f6f3bf06ddeda5e74ee60 100644 (file)
@@ -20,7 +20,7 @@
 
 #if defined(CONFIG_ORION5X)
 #include <asm/arch/orion5x.h>
-#elif (defined(CONFIG_KIRKWOOD) || defined(CONFIG_ARMADA_XP))
+#elif (defined(CONFIG_KIRKWOOD) || defined(CONFIG_ARCH_MVEBU))
 #include <asm/arch/soc.h>
 #elif defined(CONFIG_SUNXI)
 #include <asm/arch/i2c.h>
index c74415d82ba34930d7a6d1d8cc2623ce72e83381..6c5356b35d66f76db0eba9da0d7e7b5efb2cc581 100644 (file)
@@ -10,8 +10,6 @@
 /*
  * High Level Configuration Options (easy to change)
  */
-#define CONFIG_ARMADA_XP               /* SOC Family Name */
-#define CONFIG_ARMADA_38X
 #define CONFIG_DB_88F6820_GP           /* Board target name for DDR training */
 
 #define CONFIG_DISPLAY_BOARDINFO_LATE
 #endif
 #endif
 
-/* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
-#define CONFIG_SYS_MVEBU_DDR_A38X
-#define CONFIG_DDR3
-
 /*
  * mv-common.h should be defined after CMD configs since it used them
  * to enable certain macros
index d76ceb72b0b0d9a056b4f0f98a308505a9a756a2..03a3d316f2487a0a16c684aad0ffc733b89fecad 100644 (file)
@@ -10,8 +10,6 @@
 /*
  * High Level Configuration Options (easy to change)
  */
-#define CONFIG_ARMADA_XP               /* SOC Family Name */
-#define CONFIG_ARMADA_38X
 #define CONFIG_DB_88F6820_GP           /* Board target name for DDR training */
 
 #define CONFIG_DISPLAY_BOARDINFO_LATE
 #endif
 #endif
 
-/* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
-#define CONFIG_SYS_MVEBU_DDR_A38X
-#define CONFIG_DDR3
-
 /*
  * mv-common.h should be defined after CMD configs since it used them
  * to enable certain macros
index c354e6f0d82389d7db4f4c6f4e56b733a2b59083..c8b03441855f0798fc18c6133d2dba298e942b24 100644 (file)
@@ -10,7 +10,6 @@
 /*
  * High Level Configuration Options (easy to change)
  */
-#define CONFIG_ARMADA_XP               /* SOC Family Name */
 #define CONFIG_DB_784MP_GP             /* Board target name for DDR training */
 
 #define CONFIG_DISPLAY_BOARDINFO_LATE
 #define CONFIG_SYS_U_BOOT_OFFS         CONFIG_SYS_SPI_U_BOOT_OFFS
 
 /* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
-#define CONFIG_SYS_MVEBU_DDR_AXP
 #define CONFIG_SPD_EEPROM              0x4e
 #define CONFIG_BOARD_ECC_SUPPORT       /* this board supports ECC */
 
index 23e552646dca81796f6ec83f6183db3343b7ff16..43d7fd03a3402254f8706e4e1ee5afa43b139b79 100644 (file)
@@ -10,7 +10,6 @@
 /*
  * High Level Configuration Options (easy to change)
  */
-#define CONFIG_ARMADA_XP               /* SOC Family Name */
 #define CONFIG_DISPLAY_BOARDINFO_LATE
 
 /*
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x20000
 
 /* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
-#define CONFIG_SYS_MVEBU_DDR_AXP
 #define CONFIG_DDR_FIXED_SIZE          (1 << 20)       /* 1GiB */
 #define CONFIG_BOARD_ECC_SUPPORT       /* this board supports ECC */
 
index d49e40dd56175962cebac31864f57e261ed42bde..1382b0562e569950f994a1e9e83f2d0652218804 100644 (file)
@@ -156,7 +156,7 @@ ubsha1-objs := os_support.o ubsha1.o lib/sha1.o
 HOSTCFLAGS_ubsha1.o := -pedantic
 
 hostprogs-$(CONFIG_KIRKWOOD) += kwboot
-hostprogs-$(CONFIG_ARMADA_XP) += kwboot
+hostprogs-$(CONFIG_ARCH_MVEBU) += kwboot
 hostprogs-y += proftool
 hostprogs-$(CONFIG_STATIC_RELA) += relocate-rela