| 
									
										
										
										
											2010-02-05 11:14:49 +00:00
										 |  |  | #ifndef __ARCH_MACH_COMMON_H
 | 
					
						
							|  |  |  | #define __ARCH_MACH_COMMON_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-03-06 17:36:14 +09:00
										 |  |  | extern void shmobile_earlytimer_init(void); | 
					
						
							| 
									
										
										
										
											2012-11-08 12:40:59 -07:00
										 |  |  | extern void shmobile_timer_init(void); | 
					
						
							| 
									
										
										
										
											2012-03-28 19:22:30 +09:00
										 |  |  | extern void shmobile_setup_delay(unsigned int max_cpu_core_mhz, | 
					
						
							| 
									
										
										
										
											2011-09-08 13:15:22 +01:00
										 |  |  | 			 unsigned int mult, unsigned int div); | 
					
						
							| 
									
										
										
										
											2012-01-10 19:44:19 +00:00
										 |  |  | struct twd_local_timer; | 
					
						
							| 
									
										
										
										
											2010-02-08 11:02:54 +00:00
										 |  |  | extern void shmobile_setup_console(void); | 
					
						
							| 
									
										
										
										
											2010-12-14 16:56:55 +09:00
										 |  |  | extern void shmobile_secondary_vector(void); | 
					
						
							| 
									
										
										
										
											2010-05-20 14:45:03 +00:00
										 |  |  | struct clk; | 
					
						
							| 
									
										
										
										
											2012-02-29 21:41:30 +09:00
										 |  |  | extern int shmobile_clk_init(void); | 
					
						
							| 
									
										
										
										
											2010-12-28 08:27:01 +00:00
										 |  |  | extern void shmobile_handle_irq_intc(struct pt_regs *); | 
					
						
							| 
									
										
										
										
											2011-04-29 02:23:28 +09:00
										 |  |  | extern struct platform_suspend_ops shmobile_suspend_ops; | 
					
						
							| 
									
										
										
										
											2011-11-11 14:01:30 +09:00
										 |  |  | struct cpuidle_driver; | 
					
						
							| 
									
										
										
										
											2012-08-15 20:58:19 +02:00
										 |  |  | struct cpuidle_device; | 
					
						
							|  |  |  | extern int shmobile_enter_wfi(struct cpuidle_device *dev, | 
					
						
							|  |  |  | 			      struct cpuidle_driver *drv, int index); | 
					
						
							|  |  |  | extern void shmobile_cpuidle_set_driver(struct cpuidle_driver *drv); | 
					
						
							| 
									
										
										
										
											2010-05-12 14:21:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-05 11:14:58 +00:00
										 |  |  | extern void sh7372_init_irq(void); | 
					
						
							| 
									
										
										
										
											2012-02-29 21:37:19 +09:00
										 |  |  | extern void sh7372_map_io(void); | 
					
						
							| 
									
										
										
										
											2012-11-08 12:40:59 -07:00
										 |  |  | extern void sh7372_earlytimer_init(void); | 
					
						
							| 
									
										
										
										
											2010-02-05 11:14:58 +00:00
										 |  |  | extern void sh7372_add_early_devices(void); | 
					
						
							|  |  |  | extern void sh7372_add_standard_devices(void); | 
					
						
							| 
									
										
										
										
											2012-12-31 11:23:50 +00:00
										 |  |  | extern void sh7372_add_early_devices_dt(void); | 
					
						
							|  |  |  | extern void sh7372_add_standard_devices_dt(void); | 
					
						
							| 
									
										
										
										
											2010-05-12 14:21:34 +00:00
										 |  |  | extern void sh7372_clock_init(void); | 
					
						
							| 
									
										
										
										
											2010-02-17 09:39:10 +00:00
										 |  |  | extern void sh7372_pinmux_init(void); | 
					
						
							| 
									
										
										
										
											2011-04-29 02:28:08 +09:00
										 |  |  | extern void sh7372_pm_init(void); | 
					
						
							| 
									
										
										
										
											2011-12-23 01:23:07 +01:00
										 |  |  | extern void sh7372_resume_core_standby_sysc(void); | 
					
						
							|  |  |  | extern int sh7372_do_idle_sysc(unsigned long sleep_mode); | 
					
						
							| 
									
										
										
										
											2010-05-20 14:45:03 +00:00
										 |  |  | extern struct clk sh7372_extal1_clk; | 
					
						
							|  |  |  | extern struct clk sh7372_extal2_clk; | 
					
						
							| 
									
										
										
										
											2010-02-05 11:14:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-21 08:37:32 +00:00
										 |  |  | extern void sh73a0_init_irq(void); | 
					
						
							| 
									
										
										
										
											2012-11-21 21:12:43 +09:00
										 |  |  | extern void sh73a0_init_irq_dt(void); | 
					
						
							| 
									
										
										
										
											2012-02-29 21:37:27 +09:00
										 |  |  | extern void sh73a0_map_io(void); | 
					
						
							| 
									
										
										
										
											2012-11-08 12:40:59 -07:00
										 |  |  | extern void sh73a0_earlytimer_init(void); | 
					
						
							| 
									
										
										
										
											2010-11-17 10:59:31 +00:00
										 |  |  | extern void sh73a0_add_early_devices(void); | 
					
						
							| 
									
										
										
										
											2012-11-21 22:00:15 +09:00
										 |  |  | extern void sh73a0_add_early_devices_dt(void); | 
					
						
							| 
									
										
										
										
											2010-11-17 10:59:31 +00:00
										 |  |  | extern void sh73a0_add_standard_devices(void); | 
					
						
							| 
									
										
										
										
											2012-11-21 22:00:15 +09:00
										 |  |  | extern void sh73a0_add_standard_devices_dt(void); | 
					
						
							| 
									
										
										
										
											2010-11-17 10:59:31 +00:00
										 |  |  | extern void sh73a0_clock_init(void); | 
					
						
							| 
									
										
										
										
											2010-11-19 16:47:16 +09:00
										 |  |  | extern void sh73a0_pinmux_init(void); | 
					
						
							| 
									
										
										
										
											2012-12-05 12:13:06 +00:00
										 |  |  | extern void sh73a0_pm_init(void); | 
					
						
							| 
									
										
										
										
											2013-01-09 19:41:51 +00:00
										 |  |  | extern void sh73a0_secondary_vector(void); | 
					
						
							| 
									
										
										
										
											2010-12-03 07:22:31 +00:00
										 |  |  | extern struct clk sh73a0_extal1_clk; | 
					
						
							|  |  |  | extern struct clk sh73a0_extal2_clk; | 
					
						
							| 
									
										
										
										
											2011-12-05 22:29:15 -08:00
										 |  |  | extern struct clk sh73a0_extcki_clk; | 
					
						
							|  |  |  | extern struct clk sh73a0_extalr_clk; | 
					
						
							| 
									
										
										
										
											2010-11-17 10:59:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-10 18:45:52 -08:00
										 |  |  | extern void r8a7740_init_irq(void); | 
					
						
							| 
									
										
										
										
											2012-02-29 21:37:35 +09:00
										 |  |  | extern void r8a7740_map_io(void); | 
					
						
							| 
									
										
										
										
											2011-11-10 18:45:52 -08:00
										 |  |  | extern void r8a7740_add_early_devices(void); | 
					
						
							|  |  |  | extern void r8a7740_add_standard_devices(void); | 
					
						
							|  |  |  | extern void r8a7740_clock_init(u8 md_ck); | 
					
						
							|  |  |  | extern void r8a7740_pinmux_init(void); | 
					
						
							| 
									
										
										
										
											2012-12-05 12:13:07 +00:00
										 |  |  | extern void r8a7740_pm_init(void); | 
					
						
							| 
									
										
										
										
											2011-11-10 18:45:52 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-14 01:36:12 +09:00
										 |  |  | extern void r8a7779_init_irq(void); | 
					
						
							| 
									
										
										
										
											2012-02-29 21:37:43 +09:00
										 |  |  | extern void r8a7779_map_io(void); | 
					
						
							| 
									
										
										
										
											2012-11-08 12:40:59 -07:00
										 |  |  | extern void r8a7779_earlytimer_init(void); | 
					
						
							| 
									
										
										
										
											2011-12-14 01:36:12 +09:00
										 |  |  | extern void r8a7779_add_early_devices(void); | 
					
						
							|  |  |  | extern void r8a7779_add_standard_devices(void); | 
					
						
							|  |  |  | extern void r8a7779_clock_init(void); | 
					
						
							| 
									
										
										
										
											2011-12-14 01:36:22 +09:00
										 |  |  | extern void r8a7779_pinmux_init(void); | 
					
						
							| 
									
										
										
										
											2012-01-10 15:50:01 +09:00
										 |  |  | extern void r8a7779_pm_init(void); | 
					
						
							| 
									
										
										
										
											2012-06-12 02:36:21 -07:00
										 |  |  | extern void r8a7740_meram_workaround(void); | 
					
						
							| 
									
										
										
										
											2011-12-14 01:36:12 +09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-10 14:57:22 +09:00
										 |  |  | extern void r8a7779_register_twd(void); | 
					
						
							| 
									
										
										
										
											2012-01-10 17:44:39 +09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-04-26 21:58:41 +08:00
										 |  |  | #ifdef CONFIG_SUSPEND
 | 
					
						
							|  |  |  | int shmobile_suspend_init(void); | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | static inline int shmobile_suspend_init(void) { return 0; } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_CPU_IDLE
 | 
					
						
							|  |  |  | int shmobile_cpuidle_init(void); | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | static inline int shmobile_cpuidle_init(void) { return 0; } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-08 13:15:22 +01:00
										 |  |  | extern void shmobile_cpu_die(unsigned int cpu); | 
					
						
							|  |  |  | extern int shmobile_cpu_disable(unsigned int cpu); | 
					
						
							| 
									
										
										
										
											2013-01-10 11:16:43 +01:00
										 |  |  | extern int shmobile_cpu_disable_any(unsigned int cpu); | 
					
						
							| 
									
										
										
										
											2011-09-08 13:15:22 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_HOTPLUG_CPU
 | 
					
						
							|  |  |  | extern int shmobile_cpu_is_dead(unsigned int cpu); | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | static inline int shmobile_cpu_is_dead(unsigned int cpu) { return 1; } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern void shmobile_smp_init_cpus(unsigned int ncores); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-23 22:36:35 +00:00
										 |  |  | static inline void __init shmobile_init_late(void) | 
					
						
							| 
									
										
										
										
											2012-08-15 20:57:27 +02:00
										 |  |  | { | 
					
						
							|  |  |  | 	shmobile_suspend_init(); | 
					
						
							|  |  |  | 	shmobile_cpuidle_init(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-05 11:14:49 +00:00
										 |  |  | #endif /* __ARCH_MACH_COMMON_H */
 |