GNU Linux-libre 4.19.314-gnu1
[releases.git] / arch / arm / mach-sa1100 / generic.h
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 irda_platform_data;
34 void sa11x0_register_irda(struct irda_platform_data *irda);
35
36 struct mcp_plat_data;
37 void sa11x0_ppc_configure_mcp(void);
38 void sa11x0_register_mcp(struct mcp_plat_data *data);
39
40 struct sa1100fb_mach_info;
41 void sa11x0_register_lcd(struct sa1100fb_mach_info *inf);
42
43 #ifdef CONFIG_PM
44 int sa11x0_pm_init(void);
45 #else
46 static inline int sa11x0_pm_init(void) { return 0; }
47 #endif
48
49 int sa11xx_clk_init(void);
50
51 struct gpiod_lookup_table;
52 void sa11x0_register_pcmcia(int socket, struct gpiod_lookup_table *);
53
54 struct fixed_voltage_config;
55 struct regulator_consumer_supply;
56 int sa11x0_register_fixed_regulator(int n, struct fixed_voltage_config *cfg,
57         struct regulator_consumer_supply *supplies, unsigned num_supplies);