diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-07-06 07:19:28 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-07-06 07:19:28 -0400 |
commit | 7119888df1fd115573616ae43747b2e823b0663e (patch) | |
tree | cfe0c769b4e7bf8323d1958c46590d6200516a29 /arch/sh/include | |
parent | c652d780c9cf7f860141de232b37160fe013feca (diff) | |
parent | 0f60bb25b4036d30fd795709be09626c58c52464 (diff) |
Merge branches 'sh/ftrace' and 'sh/cachetlb'
Diffstat (limited to 'arch/sh/include')
-rw-r--r-- | arch/sh/include/asm/hwblk.h | 61 | ||||
-rw-r--r-- | arch/sh/include/asm/lmb.h | 6 | ||||
-rw-r--r-- | arch/sh/include/asm/perf_counter.h | 2 | ||||
-rw-r--r-- | arch/sh/include/asm/suspend.h | 9 | ||||
-rw-r--r-- | arch/sh/include/cpu-sh4/cpu/sh7722.h | 14 |
5 files changed, 92 insertions, 0 deletions
diff --git a/arch/sh/include/asm/hwblk.h b/arch/sh/include/asm/hwblk.h new file mode 100644 index 000000000000..51a46f496639 --- /dev/null +++ b/arch/sh/include/asm/hwblk.h | |||
@@ -0,0 +1,61 @@ | |||
1 | #ifndef __ASM_SH_HWBLK_H | ||
2 | #define __ASM_SH_HWBLK_H | ||
3 | |||
4 | #include <asm/clock.h> | ||
5 | #include <asm/io.h> | ||
6 | |||
7 | #define HWBLK_AREA_FLAG_PARENT (1 << 0) /* valid parent */ | ||
8 | |||
9 | #define HWBLK_AREA(_flags, _parent) \ | ||
10 | { \ | ||
11 | .flags = _flags, \ | ||
12 | .parent = _parent, \ | ||
13 | } | ||
14 | |||
15 | struct hwblk_area { | ||
16 | unsigned long cnt; | ||
17 | unsigned char parent; | ||
18 | unsigned char flags; | ||
19 | }; | ||
20 | |||
21 | #define HWBLK(_mstp, _bit, _area) \ | ||
22 | { \ | ||
23 | .mstp = (void __iomem *)_mstp, \ | ||
24 | .bit = _bit, \ | ||
25 | .area = _area, \ | ||
26 | } | ||
27 | |||
28 | struct hwblk { | ||
29 | void __iomem *mstp; | ||
30 | unsigned char bit; | ||
31 | unsigned char area; | ||
32 | unsigned long cnt; | ||
33 | }; | ||
34 | |||
35 | struct hwblk_info { | ||
36 | struct hwblk_area *areas; | ||
37 | int nr_areas; | ||
38 | struct hwblk *hwblks; | ||
39 | int nr_hwblks; | ||
40 | }; | ||
41 | |||
42 | /* Should be defined by processor-specific code */ | ||
43 | int arch_hwblk_init(void); | ||
44 | int arch_hwblk_sleep_mode(void); | ||
45 | |||
46 | int hwblk_register(struct hwblk_info *info); | ||
47 | int hwblk_init(void); | ||
48 | |||
49 | /* allow clocks to enable and disable hardware blocks */ | ||
50 | #define SH_HWBLK_CLK(_name, _id, _parent, _hwblk, _flags) \ | ||
51 | { \ | ||
52 | .name = _name, \ | ||
53 | .id = _id, \ | ||
54 | .parent = _parent, \ | ||
55 | .arch_flags = _hwblk, \ | ||
56 | .flags = _flags, \ | ||
57 | } | ||
58 | |||
59 | int sh_hwblk_clk_register(struct clk *clks, int nr); | ||
60 | |||
61 | #endif /* __ASM_SH_HWBLK_H */ | ||
diff --git a/arch/sh/include/asm/lmb.h b/arch/sh/include/asm/lmb.h new file mode 100644 index 000000000000..9b437f657ffa --- /dev/null +++ b/arch/sh/include/asm/lmb.h | |||
@@ -0,0 +1,6 @@ | |||
1 | #ifndef __ASM_SH_LMB_H | ||
2 | #define __ASM_SH_LMB_H | ||
3 | |||
4 | #define LMB_REAL_LIMIT 0 | ||
5 | |||
6 | #endif /* __ASM_SH_LMB_H */ | ||
diff --git a/arch/sh/include/asm/perf_counter.h b/arch/sh/include/asm/perf_counter.h index 61c2b40c802c..d8e6bb9c0ccc 100644 --- a/arch/sh/include/asm/perf_counter.h +++ b/arch/sh/include/asm/perf_counter.h | |||
@@ -4,4 +4,6 @@ | |||
4 | /* SH only supports software counters through this interface. */ | 4 | /* SH only supports software counters through this interface. */ |
5 | static inline void set_perf_counter_pending(void) {} | 5 | static inline void set_perf_counter_pending(void) {} |
6 | 6 | ||
7 | #define PERF_COUNTER_INDEX_OFFSET 0 | ||
8 | |||
7 | #endif /* __ASM_SH_PERF_COUNTER_H */ | 9 | #endif /* __ASM_SH_PERF_COUNTER_H */ |
diff --git a/arch/sh/include/asm/suspend.h b/arch/sh/include/asm/suspend.h index b1b995370e79..5c8ea28ff7a4 100644 --- a/arch/sh/include/asm/suspend.h +++ b/arch/sh/include/asm/suspend.h | |||
@@ -10,6 +10,15 @@ struct swsusp_arch_regs { | |||
10 | struct pt_regs user_regs; | 10 | struct pt_regs user_regs; |
11 | unsigned long bank1_regs[8]; | 11 | unsigned long bank1_regs[8]; |
12 | }; | 12 | }; |
13 | |||
14 | void sh_mobile_call_standby(unsigned long mode); | ||
15 | |||
16 | #ifdef CONFIG_CPU_IDLE | ||
17 | void sh_mobile_setup_cpuidle(void); | ||
18 | #else | ||
19 | static inline void sh_mobile_setup_cpuidle(void) {} | ||
20 | #endif | ||
21 | |||
13 | #endif | 22 | #endif |
14 | 23 | ||
15 | /* flags passed to assembly suspend code */ | 24 | /* flags passed to assembly suspend code */ |
diff --git a/arch/sh/include/cpu-sh4/cpu/sh7722.h b/arch/sh/include/cpu-sh4/cpu/sh7722.h index 738ea43c5038..48560407cbe1 100644 --- a/arch/sh/include/cpu-sh4/cpu/sh7722.h +++ b/arch/sh/include/cpu-sh4/cpu/sh7722.h | |||
@@ -221,4 +221,18 @@ enum { | |||
221 | GPIO_FN_KEYOUT3, GPIO_FN_KEYOUT4_IN6, GPIO_FN_KEYOUT5_IN5, | 221 | GPIO_FN_KEYOUT3, GPIO_FN_KEYOUT4_IN6, GPIO_FN_KEYOUT5_IN5, |
222 | }; | 222 | }; |
223 | 223 | ||
224 | enum { | ||
225 | HWBLK_UNKNOWN = 0, | ||
226 | HWBLK_TLB, HWBLK_IC, HWBLK_OC, HWBLK_URAM, HWBLK_XYMEM, | ||
227 | HWBLK_INTC, HWBLK_DMAC, HWBLK_SHYWAY, HWBLK_HUDI, | ||
228 | HWBLK_UBC, HWBLK_TMU, HWBLK_CMT, HWBLK_RWDT, HWBLK_FLCTL, | ||
229 | HWBLK_SCIF0, HWBLK_SCIF1, HWBLK_SCIF2, HWBLK_SIO, | ||
230 | HWBLK_SIOF0, HWBLK_SIOF1, HWBLK_IIC, HWBLK_RTC, | ||
231 | HWBLK_TPU, HWBLK_IRDA, HWBLK_SDHI, HWBLK_SIM, HWBLK_KEYSC, | ||
232 | HWBLK_TSIF, HWBLK_USBF, HWBLK_2DG, HWBLK_SIU, HWBLK_VOU, | ||
233 | HWBLK_JPU, HWBLK_BEU, HWBLK_CEU, HWBLK_VEU, HWBLK_VPU, | ||
234 | HWBLK_LCDC, | ||
235 | HWBLK_NR, | ||
236 | }; | ||
237 | |||
224 | #endif /* __ASM_SH7722_H__ */ | 238 | #endif /* __ASM_SH7722_H__ */ |