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 | |
441f7502 MF |
9 | /* HPB-DMA slave IDs */ |
10 | enum { | |
11 | HPBDMA_SLAVE_DUMMY, | |
12 | HPBDMA_SLAVE_SDHI0_TX, | |
13 | HPBDMA_SLAVE_SDHI0_RX, | |
14 | }; | |
15 | ||
a662c082 MD |
16 | struct platform_device; |
17 | ||
18 | struct r8a7779_pm_ch { | |
19 | unsigned long chan_offs; | |
20 | unsigned int chan_bit; | |
21 | unsigned int isr_bit; | |
22 | }; | |
23 | ||
24 | struct r8a7779_pm_domain { | |
25 | struct generic_pm_domain genpd; | |
26 | struct r8a7779_pm_ch ch; | |
27 | }; | |
28 | ||
29 | static inline struct r8a7779_pm_ch *to_r8a7779_ch(struct generic_pm_domain *d) | |
30 | { | |
31 | return &container_of(d, struct r8a7779_pm_domain, genpd)->ch; | |
32 | } | |
33 | ||
60e3a566 | 34 | extern void r8a7779_init_delay(void); |
60e3a566 KM |
35 | extern void r8a7779_init_irq_extpin(int irlm); |
36 | extern void r8a7779_init_irq_dt(void); | |
37 | extern void r8a7779_map_io(void); | |
38 | extern void r8a7779_earlytimer_init(void); | |
39 | extern void r8a7779_add_early_devices(void); | |
40 | extern void r8a7779_add_standard_devices(void); | |
41 | extern void r8a7779_add_standard_devices_dt(void); | |
dace48d0 | 42 | extern void r8a7779_add_ether_device(struct sh_eth_plat_data *pdata); |
4714a025 VB |
43 | extern void r8a7779_add_vin_device(int idx, |
44 | struct rcar_vin_platform_data *pdata); | |
2c8788bf | 45 | extern void r8a7779_init_late(void); |
60e3a566 KM |
46 | extern void r8a7779_clock_init(void); |
47 | extern void r8a7779_pinmux_init(void); | |
48 | extern void r8a7779_pm_init(void); | |
49 | extern void r8a7779_register_twd(void); | |
f40aaf6d MD |
50 | extern int r8a7779_sysc_power_down(struct r8a7779_pm_ch *r8a7779_ch); |
51 | extern int r8a7779_sysc_power_up(struct r8a7779_pm_ch *r8a7779_ch); | |
52 | ||
a662c082 | 53 | #ifdef CONFIG_PM |
45e5ca57 | 54 | extern void __init r8a7779_init_pm_domains(void); |
a662c082 | 55 | #else |
45e5ca57 | 56 | static inline void r8a7779_init_pm_domains(void) {} |
a662c082 MD |
57 | #endif /* CONFIG_PM */ |
58 | ||
a62580e5 MZ |
59 | extern struct smp_operations r8a7779_smp_ops; |
60 | ||
f411fade | 61 | #endif /* __ASM_R8A7779_H__ */ |