|
@@ -1164,3 +1164,59 @@ static void __init eva_init(void)
|
|
|
|
|
|
#ifdef CONFIG_CACHE_L2X0
|
|
|
/* Early BRESP enable, Shared attribute override enable, 32K*8way */
|
|
|
+ l2x0_init(IOMEM(0xf0002000), 0x40440000, 0x82000fff);
|
|
|
+#endif
|
|
|
+
|
|
|
+ i2c_register_board_info(0, i2c0_devices, ARRAY_SIZE(i2c0_devices));
|
|
|
+ i2c_register_board_info(2, i2c2_devices, ARRAY_SIZE(i2c2_devices));
|
|
|
+
|
|
|
+ r8a7740_add_standard_devices();
|
|
|
+
|
|
|
+ platform_add_devices(eva_devices,
|
|
|
+ ARRAY_SIZE(eva_devices));
|
|
|
+
|
|
|
+ eva_clock_init();
|
|
|
+
|
|
|
+ rmobile_add_device_to_domain("A4LC", &lcdc0_device);
|
|
|
+ rmobile_add_device_to_domain("A4LC", &hdmi_lcdc_device);
|
|
|
+ if (usb)
|
|
|
+ rmobile_add_device_to_domain("A3SP", usb);
|
|
|
+}
|
|
|
+
|
|
|
+static void __init eva_earlytimer_init(void)
|
|
|
+{
|
|
|
+ r8a7740_clock_init(MD_CK0 | MD_CK2);
|
|
|
+ shmobile_earlytimer_init();
|
|
|
+}
|
|
|
+
|
|
|
+static void __init eva_add_early_devices(void)
|
|
|
+{
|
|
|
+ r8a7740_add_early_devices();
|
|
|
+
|
|
|
+ /* override timer setup with board-specific code */
|
|
|
+ shmobile_timer.init = eva_earlytimer_init;
|
|
|
+}
|
|
|
+
|
|
|
+#define RESCNT2 IOMEM(0xe6188020)
|
|
|
+static void eva_restart(char mode, const char *cmd)
|
|
|
+{
|
|
|
+ /* Do soft power on reset */
|
|
|
+ writel((1 << 31), RESCNT2);
|
|
|
+}
|
|
|
+
|
|
|
+static const char *eva_boards_compat_dt[] __initdata = {
|
|
|
+ "renesas,armadillo800eva",
|
|
|
+ NULL,
|
|
|
+};
|
|
|
+
|
|
|
+DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva")
|
|
|
+ .map_io = r8a7740_map_io,
|
|
|
+ .init_early = eva_add_early_devices,
|
|
|
+ .init_irq = r8a7740_init_irq,
|
|
|
+ .handle_irq = shmobile_handle_irq_intc,
|
|
|
+ .init_machine = eva_init,
|
|
|
+ .init_late = shmobile_init_late,
|
|
|
+ .timer = &shmobile_timer,
|
|
|
+ .dt_compat = eva_boards_compat_dt,
|
|
|
+ .restart = eva_restart,
|
|
|
+MACHINE_END
|