From 9cffb2335c16ab51c3bef7735ff4e0ec4c8f6035 Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Tue, 1 Sep 2015 11:27:52 +0200 Subject: [PATCH] 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 Cc: Simon Glass Cc: Luka Perkov --- Makefile | 4 ++-- arch/arm/Kconfig | 3 +++ arch/arm/mach-mvebu/spl.c | 3 --- configs/db-88f6820-gp_defconfig | 1 + configs/db-mv784mp-gp_defconfig | 1 + configs/maxbcm_defconfig | 1 + 6 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 3b2eebf..0f6a60c 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 29abdcc..50322c4 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 e273339..0ab729a 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 24647ce..f2b1126 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 4e4da3c..df17dba 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 5957997..d49def1 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