summaryrefslogtreecommitdiff
path: root/arch/arm/mach-realview/realview-dt.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2014-10-01 09:29:22 +0200
committerLinus Walleij <linus.walleij@linaro.org>2014-10-22 13:48:20 +0200
commitfa6e2eec15a58ce6a47ad7e8a3ccf3ef917cca35 (patch)
tree63ae33b7c42ab9f89feb9fc30f0997f64ccfa23e /arch/arm/mach-realview/realview-dt.c
parentf114040e3ea6e07372334ade75d1ee0775c355e1 (diff)
downloadlinux-fa6e2eec15a58ce6a47ad7e8a3ccf3ef917cca35.tar.gz
ARM: realview: basic device tree implementation
This implements basic device tree boot support for the RealView platforms, with a basic device tree for ARM PB1176 as an example. The implementation is done with a new DT-specific board file using only pre-existing bindings for the basic IRQ, timer and serial port drivers. A new compatible type is added to the GIC for the ARM1176. This implementation uses the MFD syscon handle from day one to access the system controller registers, and register the devices using the SoC bus. Cc: Arnd Bergmann <arnd@arndb.de> Cc: Rob Herring <robh@kernel.org> Acked-by: Jason Cooper <jason@lakedaemon.net> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-realview/realview-dt.c')
-rw-r--r--arch/arm/mach-realview/realview-dt.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-realview/realview-dt.c b/arch/arm/mach-realview/realview-dt.c
new file mode 100644
index 000000000000..cc28b89dd48f
--- /dev/null
+++ b/arch/arm/mach-realview/realview-dt.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2014 Linaro Ltd.
+ *
+ * Author: Linus Walleij <linus.walleij@linaro.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2, as
+ * published by the Free Software Foundation.
+ *
+ */
+#include <linux/of_platform.h>
+#include <asm/mach/arch.h>
+#include <asm/hardware/cache-l2x0.h>
+#include "core.h"
+
+static const char *realview_dt_platform_compat[] __initconst = {
+ "arm,realview-eb",
+ "arm,realview-pb1176",
+ "arm,realview-pb11mp",
+ "arm,realview-pba8",
+ "arm,realview-pbx",
+ NULL,
+};
+
+DT_MACHINE_START(REALVIEW_DT, "ARM RealView Machine (Device Tree Support)")
+#ifdef CONFIG_ZONE_DMA
+ .dma_zone_size = SZ_256M,
+#endif
+ .dt_compat = realview_dt_platform_compat,
+ .l2c_aux_val = 0x0,
+ .l2c_aux_mask = ~0x0,
+MACHINE_END