1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * linux/arch/arm/mach-sa1100/generic.h
4  *
5  * Author: Nicolas Pitre
6  */
7 #include <linux/cpufreq.h>
8 #include <linux/reboot.h>
9 
10 extern void sa1100_timer_init(void);
11 extern void __init sa1100_map_io(void);
12 extern void __init sa1100_init_irq(void);
13 extern void __init sa1100_init_gpio(void);
14 extern void sa11x0_restart(enum reboot_mode, const char *);
15 extern void sa11x0_init_late(void);
16 
17 #define SET_BANK(__nr,__start,__size) \
18 	mi->bank[__nr].start = (__start), \
19 	mi->bank[__nr].size = (__size)
20 
21 extern void sa1110_mb_enable(void);
22 extern void sa1110_mb_disable(void);
23 
24 extern struct cpufreq_frequency_table sa11x0_freq_table[];
25 extern unsigned int sa11x0_getspeed(unsigned int cpu);
26 
27 struct flash_platform_data;
28 struct resource;
29 
30 void sa11x0_register_mtd(struct flash_platform_data *flash,
31 			 struct resource *res, int nr);
32 
33 struct mcp_plat_data;
34 void sa11x0_ppc_configure_mcp(void);
35 void sa11x0_register_mcp(struct mcp_plat_data *data);
36 
37 struct sa1100fb_mach_info;
38 void sa11x0_register_lcd(struct sa1100fb_mach_info *inf);
39 
40 #ifdef CONFIG_PM
41 int sa11x0_pm_init(void);
42 #else
sa11x0_pm_init(void)43 static inline int sa11x0_pm_init(void) { return 0; }
44 #endif
45 
46 int sa11xx_clk_init(void);
47 
48 struct gpiod_lookup_table;
49 void sa11x0_register_pcmcia(int socket, struct gpiod_lookup_table *);
50 
51 struct fixed_voltage_config;
52 struct regulator_consumer_supply;
53 int sa11x0_register_fixed_regulator(int n, struct fixed_voltage_config *cfg,
54 	struct regulator_consumer_supply *supplies, unsigned num_supplies,
55 	bool uses_gpio);
56