aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Roese2015-09-01 11:27:52 +0200
committerLuka Perkov2015-10-21 02:25:01 +0200
commit9cffb2335c16ab51c3bef7735ff4e0ec4c8f6035 (patch)
tree73be3c0069673313f491cde3799cb8950c0942aa
parent39a230aad317a1be01c5f1cb2a7d3a30c4881ed4 (diff)
arm: mvebu: Add DM (driver model) support
This patch adds driver model support for some Marvell MVEBU SoC's. Including Armada XP and 38x. All 3 currently mainlined boards are converted. DM is now selected automatically for MVEBU platforms. With this DM support now available for MVEBU, hardcoding the base addresses and other information is not necessary any more. Probing should be done by using the values provided via the device tree now instead. For this the driver also need to be converted to DM. Patches for some of the drivers will follow. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Luka Perkov <luka.perkov@sartura.hr>
-rw-r--r--Makefile4
-rw-r--r--arch/arm/Kconfig3
-rw-r--r--arch/arm/mach-mvebu/spl.c3
-rw-r--r--configs/db-88f6820-gp_defconfig1
-rw-r--r--configs/db-mv784mp-gp_defconfig1
-rw-r--r--configs/maxbcm_defconfig1
6 files changed, 8 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 3b2eebf4b72..0f6a60c4f80 100644
--- a/Makefile
+++ b/Makefile
@@ -915,10 +915,10 @@ u-boot.img u-boot.kwb u-boot.pbl: u-boot.bin FORCE
# U-Boot image. So we need to combine SPL and u-boot.bin instead of
# u-boot.img in this case.
ifdef CONFIG_MVEBU_BOOTROM_UARTBOOT
-u-boot-spl.kwb: u-boot.bin spl/u-boot-spl.bin FORCE
+u-boot-spl.kwb: u-boot-dtb.bin spl/u-boot-spl.bin FORCE
$(call if_changed,mkimage)
else
-u-boot-spl.kwb: u-boot.img spl/u-boot-spl.bin FORCE
+u-boot-spl.kwb: u-boot-dtb.img spl/u-boot-spl.bin FORCE
$(call if_changed,mkimage)
endif
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 29abdcc695e..50322c41583 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -109,6 +109,9 @@ config ARCH_MVEBU
bool "Marvell MVEBU family (Armada XP/38x)"
select CPU_V7
select SUPPORT_SPL
+ select OF_CONTROL
+ select OF_SEPARATE
+ select DM
config TARGET_DEVKIT3250
bool "Support devkit3250"
diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c
index e273339648f..0ab729aa5d8 100644
--- a/arch/arm/mach-mvebu/spl.c
+++ b/arch/arm/mach-mvebu/spl.c
@@ -31,9 +31,6 @@ u32 spl_boot_mode(void)
void board_init_f(ulong dummy)
{
- /* Set global data pointer */
- gd = &gdata;
-
#ifndef CONFIG_MVEBU_BOOTROM_UARTBOOT
/*
* Only call arch_cpu_init() when not returning to the
diff --git a/configs/db-88f6820-gp_defconfig b/configs/db-88f6820-gp_defconfig
index 24647cea4f7..f2b1126689d 100644
--- a/configs/db-88f6820-gp_defconfig
+++ b/configs/db-88f6820-gp_defconfig
@@ -1,6 +1,7 @@
CONFIG_ARM=y
CONFIG_ARCH_MVEBU=y
CONFIG_TARGET_DB_88F6820_GP=y
+CONFIG_DEFAULT_DEVICE_TREE="armada-388-gp"
CONFIG_SPL=y
# CONFIG_CMD_IMLS is not set
# CONFIG_CMD_FLASH is not set
diff --git a/configs/db-mv784mp-gp_defconfig b/configs/db-mv784mp-gp_defconfig
index 4e4da3c3053..df17dba53ae 100644
--- a/configs/db-mv784mp-gp_defconfig
+++ b/configs/db-mv784mp-gp_defconfig
@@ -1,6 +1,7 @@
CONFIG_ARM=y
CONFIG_ARCH_MVEBU=y
CONFIG_TARGET_DB_MV784MP_GP=y
+CONFIG_DEFAULT_DEVICE_TREE="armada-xp-gp"
CONFIG_SPL=y
# CONFIG_CMD_IMLS is not set
# CONFIG_CMD_FLASH is not set
diff --git a/configs/maxbcm_defconfig b/configs/maxbcm_defconfig
index 59579976a38..d49def1beaa 100644
--- a/configs/maxbcm_defconfig
+++ b/configs/maxbcm_defconfig
@@ -1,6 +1,7 @@
CONFIG_ARM=y
CONFIG_ARCH_MVEBU=y
CONFIG_TARGET_MAXBCM=y
+CONFIG_DEFAULT_DEVICE_TREE="armada-xp-gp"
CONFIG_SPL=y
# CONFIG_CMD_IMLS is not set
# CONFIG_CMD_FLASH is not set