* [PATCH 03/03] ARM: mach-shmobile: sh73a0 generic board support via DT
@ 2012-03-07 5:54 Magnus Damm
0 siblings, 0 replies; only message in thread
From: Magnus Damm @ 2012-03-07 5:54 UTC (permalink / raw)
To: linux-sh
From: Magnus Damm <damm@opensource.se>
Add generic DT board support for the sh73a0 SoC.
SCIF serial ports and timers are kept as regular
platform devices. Other on-chip and on-board devices
should be configured via the device tree.
Tested on the kota2 board via kexec using a zImage
kernel with an appended dtb.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
arch/arm/mach-shmobile/setup-sh73a0.c | 41 +++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
--- 0037/arch/arm/mach-shmobile/setup-sh73a0.c
+++ work/arch/arm/mach-shmobile/setup-sh73a0.c 2012-03-07 13:34:29.000000000 +0900
@@ -37,6 +37,7 @@
#include <asm/mach/map.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>
+#include <asm/hardware/gic.h>
static struct map_desc sh73a0_io_desc[] __initdata = {
/* create a 1:1 entity map for 0xe6xxxxxx
@@ -704,3 +705,43 @@ void __init sh73a0_add_early_devices(voi
/* override timer setup with soc-specific code */
shmobile_timer.init = sh73a0_earlytimer_init;
}
+
+#ifdef CONFIG_USE_OF
+
+void __init sh73a0_add_early_devices_dt(void)
+{
+ shmobile_setup_delay(1196, 1, 3); /* Cortex-A9 @ 1196MHz */
+
+ early_platform_add_devices(sh73a0_early_devices,
+ ARRAY_SIZE(sh73a0_early_devices));
+
+ /* setup early console here as well */
+ shmobile_setup_console();
+}
+
+void __init sh73a0_add_standard_devices_dt(void)
+{
+ /* clocks are setup late during boot in the case of DT */
+ sh73a0_clock_init();
+
+ platform_add_devices(sh73a0_early_devices,
+ ARRAY_SIZE(sh73a0_early_devices));
+}
+
+static const char *sh73a0_boards_compat_dt[] __initdata = {
+ "renesas,sh73a0",
+ NULL,
+};
+
+DT_MACHINE_START(SH73A0_DT, "Generic SH73A0 (Flattened Device Tree)")
+ .map_io = sh73a0_map_io,
+ .init_early = sh73a0_add_early_devices_dt,
+ .nr_irqs = NR_IRQS_LEGACY,
+ .init_irq = sh73a0_init_irq,
+ .handle_irq = gic_handle_irq,
+ .init_machine = sh73a0_add_standard_devices_dt,
+ .timer = &shmobile_timer,
+ .dt_compat = sh73a0_boards_compat_dt,
+MACHINE_END
+
+#endif /* CONFIG_USE_OF */
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-03-07 5:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-07 5:54 [PATCH 03/03] ARM: mach-shmobile: sh73a0 generic board support via DT Magnus Damm
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.