]>
Commit | Line | Data |
---|---|---|
f411fade MD |
1 | #ifndef __ASM_R8A7779_H__ |
2 | #define __ASM_R8A7779_H__ | |
3 | ||
a662c082 MD |
4 | #include <linux/sh_clk.h> |
5 | #include <linux/pm_domain.h> | |
dace48d0 | 6 | #include <linux/sh_eth.h> |
4714a025 | 7 | #include <linux/platform_data/camera-rcar.h> |
a662c082 | 8 | |
a662c082 MD |
9 | struct platform_device; |
10 | ||
11 | struct r8a7779_pm_ch { | |
12 | unsigned long chan_offs; | |
13 | unsigned int chan_bit; | |
14 | unsigned int isr_bit; | |
15 | }; | |
16 | ||
17 | struct r8a7779_pm_domain { | |
18 | struct generic_pm_domain genpd; | |
19 | struct r8a7779_pm_ch ch; | |
20 | }; | |
21 | ||
22 | static inline struct r8a7779_pm_ch *to_r8a7779_ch(struct generic_pm_domain *d) | |
23 | { | |
24 | return &container_of(d, struct r8a7779_pm_domain, genpd)->ch; | |
25 | } | |
26 | ||
60e3a566 | 27 | extern void r8a7779_init_delay(void); |
60e3a566 KM |
28 | extern void r8a7779_init_irq_extpin(int irlm); |
29 | extern void r8a7779_init_irq_dt(void); | |
30 | extern void r8a7779_map_io(void); | |
31 | extern void r8a7779_earlytimer_init(void); | |
32 | extern void r8a7779_add_early_devices(void); | |
33 | extern void r8a7779_add_standard_devices(void); | |
34 | extern void r8a7779_add_standard_devices_dt(void); | |
dace48d0 | 35 | extern void r8a7779_add_ether_device(struct sh_eth_plat_data *pdata); |
4714a025 VB |
36 | extern void r8a7779_add_vin_device(int idx, |
37 | struct rcar_vin_platform_data *pdata); | |
2c8788bf | 38 | extern void r8a7779_init_late(void); |
60e3a566 KM |
39 | extern void r8a7779_clock_init(void); |
40 | extern void r8a7779_pinmux_init(void); | |
41 | extern void r8a7779_pm_init(void); | |
42 | extern void r8a7779_register_twd(void); | |
f40aaf6d MD |
43 | extern int r8a7779_sysc_power_down(struct r8a7779_pm_ch *r8a7779_ch); |
44 | extern int r8a7779_sysc_power_up(struct r8a7779_pm_ch *r8a7779_ch); | |
45 | ||
a662c082 | 46 | #ifdef CONFIG_PM |
45e5ca57 | 47 | extern void __init r8a7779_init_pm_domains(void); |
a662c082 | 48 | #else |
45e5ca57 | 49 | static inline void r8a7779_init_pm_domains(void) {} |
a662c082 MD |
50 | #endif /* CONFIG_PM */ |
51 | ||
a62580e5 MZ |
52 | extern struct smp_operations r8a7779_smp_ops; |
53 | ||
f411fade | 54 | #endif /* __ASM_R8A7779_H__ */ |