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