1
2
3
4
5
6
7 #ifndef __SOC_RENESAS_RCAR_SYSC_H__
8 #define __SOC_RENESAS_RCAR_SYSC_H__
9
10 #include <linux/types.h>
11
12
13
14
15
16 #define PD_CPU BIT(0)
17 #define PD_SCU BIT(1)
18 #define PD_NO_CR BIT(2)
19
20 #define PD_CPU_CR PD_CPU
21 #define PD_CPU_NOCR PD_CPU | PD_NO_CR
22 #define PD_ALWAYS_ON PD_NO_CR
23
24
25
26
27
28
29 struct rcar_sysc_area {
30 const char *name;
31 u16 chan_offs;
32 u8 chan_bit;
33 u8 isr_bit;
34 int parent;
35 unsigned int flags;
36 };
37
38
39
40
41
42
43 struct rcar_sysc_info {
44 int (*init)(void);
45 const struct rcar_sysc_area *areas;
46 unsigned int num_areas;
47 };
48
49 extern const struct rcar_sysc_info r8a7743_sysc_info;
50 extern const struct rcar_sysc_info r8a7745_sysc_info;
51 extern const struct rcar_sysc_info r8a77470_sysc_info;
52 extern const struct rcar_sysc_info r8a774a1_sysc_info;
53 extern const struct rcar_sysc_info r8a774c0_sysc_info;
54 extern const struct rcar_sysc_info r8a7779_sysc_info;
55 extern const struct rcar_sysc_info r8a7790_sysc_info;
56 extern const struct rcar_sysc_info r8a7791_sysc_info;
57 extern const struct rcar_sysc_info r8a7792_sysc_info;
58 extern const struct rcar_sysc_info r8a7794_sysc_info;
59 extern const struct rcar_sysc_info r8a7795_sysc_info;
60 extern const struct rcar_sysc_info r8a7796_sysc_info;
61 extern const struct rcar_sysc_info r8a77965_sysc_info;
62 extern const struct rcar_sysc_info r8a77970_sysc_info;
63 extern const struct rcar_sysc_info r8a77980_sysc_info;
64 extern const struct rcar_sysc_info r8a77990_sysc_info;
65 extern const struct rcar_sysc_info r8a77995_sysc_info;
66
67
68
69
70
71
72 extern void rcar_sysc_nullify(struct rcar_sysc_area *areas,
73 unsigned int num_areas, u8 id);
74
75 #endif