aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-07-06 07:19:28 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-07-06 07:19:28 -0400
commit7119888df1fd115573616ae43747b2e823b0663e (patch)
treecfe0c769b4e7bf8323d1958c46590d6200516a29 /arch/sh/include
parentc652d780c9cf7f860141de232b37160fe013feca (diff)
parent0f60bb25b4036d30fd795709be09626c58c52464 (diff)
Merge branches 'sh/ftrace' and 'sh/cachetlb'
Diffstat (limited to 'arch/sh/include')
-rw-r--r--arch/sh/include/asm/hwblk.h61
-rw-r--r--arch/sh/include/asm/lmb.h6
-rw-r--r--arch/sh/include/asm/perf_counter.h2
-rw-r--r--arch/sh/include/asm/suspend.h9
-rw-r--r--arch/sh/include/cpu-sh4/cpu/sh7722.h14
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
15struct 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
28struct hwblk {
29 void __iomem *mstp;
30 unsigned char bit;
31 unsigned char area;
32 unsigned long cnt;
33};
34
35struct 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 */
43int arch_hwblk_init(void);
44int arch_hwblk_sleep_mode(void);
45
46int hwblk_register(struct hwblk_info *info);
47int 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
59int 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. */
5static inline void set_perf_counter_pending(void) {} 5static 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
14void sh_mobile_call_standby(unsigned long mode);
15
16#ifdef CONFIG_CPU_IDLE
17void sh_mobile_setup_cpuidle(void);
18#else
19static 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
224enum {
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__ */