|
@@ -484,3 +484,32 @@ static void __init bonito_earlytimer_init(void)
|
|
|
u8 md_ck = 0;
|
|
|
|
|
|
/* read MD_CK value */
|
|
|
+ val = bonito_fpga_read(A1MDSR);
|
|
|
+ if (val & (1 << 10))
|
|
|
+ md_ck |= MD_CK2;
|
|
|
+ if (val & (1 << 9))
|
|
|
+ md_ck |= MD_CK1;
|
|
|
+ if (val & (1 << 8))
|
|
|
+ md_ck |= MD_CK0;
|
|
|
+
|
|
|
+ r8a7740_clock_init(md_ck);
|
|
|
+ shmobile_earlytimer_init();
|
|
|
+}
|
|
|
+
|
|
|
+static void __init bonito_add_early_devices(void)
|
|
|
+{
|
|
|
+ r8a7740_add_early_devices();
|
|
|
+
|
|
|
+ /* override timer setup with board-specific code */
|
|
|
+ shmobile_timer.init = bonito_earlytimer_init;
|
|
|
+}
|
|
|
+
|
|
|
+MACHINE_START(BONITO, "bonito")
|
|
|
+ .map_io = bonito_map_io,
|
|
|
+ .init_early = bonito_add_early_devices,
|
|
|
+ .init_irq = r8a7740_init_irq,
|
|
|
+ .handle_irq = shmobile_handle_irq_intc,
|
|
|
+ .init_machine = bonito_init,
|
|
|
+ .init_late = shmobile_init_late,
|
|
|
+ .timer = &shmobile_timer,
|
|
|
+MACHINE_END
|