blob: 9a33695c9492d238879a43dd64002a88d878df23 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * linux/arch/arm/mach-sa1100/generic.h
3 *
4 * Author: Nicolas Pitre
5 */
Robin Holt7b6d8642013-07-08 16:01:40 -07006#include <linux/reboot.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07007
Stephen Warren6bb27d72012-11-08 12:40:59 -07008extern void sa1100_timer_init(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -07009extern void __init sa1100_map_io(void);
10extern void __init sa1100_init_irq(void);
Dmitry Baryshkov45528e32008-04-10 13:31:47 +010011extern void __init sa1100_init_gpio(void);
Robin Holt7b6d8642013-07-08 16:01:40 -070012extern void sa11x0_restart(enum reboot_mode, const char *);
Shawn Guo7fea1ba2012-04-26 21:22:45 +080013extern void sa11x0_init_late(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070014
15#define SET_BANK(__nr,__start,__size) \
16 mi->bank[__nr].start = (__start), \
Russell Kingbe370302010-05-07 17:40:33 +010017 mi->bank[__nr].size = (__size)
Linus Torvalds1da177e2005-04-16 15:20:36 -070018
Linus Torvalds1da177e2005-04-16 15:20:36 -070019extern void sa1110_mb_enable(void);
20extern void sa1110_mb_disable(void);
21
22struct cpufreq_policy;
23
24extern unsigned int sa11x0_freq_to_ppcr(unsigned int khz);
25extern int sa11x0_verify_speed(struct cpufreq_policy *policy);
26extern unsigned int sa11x0_getspeed(unsigned int cpu);
27extern unsigned int sa11x0_ppcr_to_freq(unsigned int idx);
28
29struct flash_platform_data;
30struct resource;
31
Russell King7a5b4e12009-10-06 14:55:53 +010032void sa11x0_register_mtd(struct flash_platform_data *flash,
33 struct resource *res, int nr);
Russell King323cdfc2005-08-18 10:10:46 +010034
Linus Torvalds1da177e2005-04-16 15:20:36 -070035struct irda_platform_data;
Russell King7a5b4e12009-10-06 14:55:53 +010036void sa11x0_register_irda(struct irda_platform_data *irda);
Russell King118ec0b2005-09-18 22:16:41 +010037
38struct mcp_plat_data;
Russell Kinge36e26a2012-01-20 22:24:07 +000039void sa11x0_ppc_configure_mcp(void);
Russell King7a5b4e12009-10-06 14:55:53 +010040void sa11x0_register_mcp(struct mcp_plat_data *data);
Russell Kinge1b7a722012-01-14 11:50:04 +000041
42struct sa1100fb_mach_info;
43void sa11x0_register_lcd(struct sa1100fb_mach_info *inf);
Shawn Guo7fea1ba2012-04-26 21:22:45 +080044
45#ifdef CONFIG_PM
46int sa11x0_pm_init(void);
47#else
48static inline int sa11x0_pm_init(void) { return 0; }
49#endif