summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/ddramc.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-at91/ddramc.c')
-rw-r--r--arch/arm/mach-at91/ddramc.c24
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,