diff options
Diffstat (limited to 'arch/arm/mach-at91/ddramc.c')
-rw-r--r-- | arch/arm/mach-at91/ddramc.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/arch/arm/mach-at91/ddramc.c b/arch/arm/mach-at91/ddramc.c index 0aece5345f..4d0637b487 100644 --- a/arch/arm/mach-at91/ddramc.c +++ b/arch/arm/mach-at91/ddramc.c @@ -5,11 +5,11 @@ #include <common.h> #include <init.h> -#include <mach/ddramc.h> -#include <mach/hardware.h> +#include <mach/at91/ddramc.h> +#include <mach/at91/hardware.h> #include <asm/barebox-arm.h> -#include <mach/at91_ddrsdrc.h> -#include <mach/sama5_bootsource.h> +#include <mach/at91/at91_ddrsdrc.h> +#include <mach/at91/sama5_bootsource.h> #include <asm/memory.h> #include <pbl.h> #include <io.h> @@ -33,8 +33,15 @@ void __noreturn sama5d3_barebox_entry(unsigned int r4, void *boarddata) barebox_arm_entry(SAMA5_DDRCS, at91sama5d3_get_ddram_size(), boarddata); } +void __noreturn sama5d4_barebox_entry(unsigned int r4, void *boarddata) +{ + __sama5d4_stashed_bootrom_r4 = r4; -static int sama5_ddr_probe(struct device_d *dev) + barebox_arm_entry(SAMA5_DDRCS, at91sama5d4_get_ddram_size(), + boarddata); +} + +static int sama5_ddr_probe(struct device *dev) { struct resource *iores; void __iomem *base; @@ -44,17 +51,16 @@ static int sama5_ddr_probe(struct device_d *dev) return PTR_ERR(iores); base = IOMEM(iores->start); - arm_add_mem_device("ram0", SAMA5_DDRCS, sama5_ramsize(base)); - - return 0; + return arm_add_mem_device("ram0", SAMA5_DDRCS, sama5_ramsize(base)); } static struct of_device_id sama5_ddr_dt_ids[] = { { .compatible = "atmel,sama5d3-ddramc" }, { /* sentinel */ } }; +MODULE_DEVICE_TABLE(of, sama5_ddr_dt_ids); -static struct driver_d sama5_ddr_driver = { +static struct driver sama5_ddr_driver = { .name = "sama5-ddramc", .probe = sama5_ddr_probe, .of_compatible = sama5_ddr_dt_ids, |