diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2009-01-05 04:50:33 -0500 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-01-05 04:50:33 -0500 |
commit | 353816f43d1fb340ff2d9a911dd5d0799c09f6a5 (patch) | |
tree | 517290fd884d286fe2971137ac89f89e3567785a /arch/sh/include/mach-se/mach | |
parent | 160bbab3000dafccbe43688e48208cecf4deb879 (diff) | |
parent | fe0bdec68b77020281dc814805edfe594ae89e0f (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:
arch/arm/mach-pxa/corgi.c
arch/arm/mach-pxa/poodle.c
arch/arm/mach-pxa/spitz.c
Diffstat (limited to 'arch/sh/include/mach-se/mach')
-rw-r--r-- | arch/sh/include/mach-se/mach/mrshpc.h | 52 | ||||
-rw-r--r-- | arch/sh/include/mach-se/mach/se.h | 18 | ||||
-rw-r--r-- | arch/sh/include/mach-se/mach/se7343.h | 9 |
3 files changed, 75 insertions, 4 deletions
diff --git a/arch/sh/include/mach-se/mach/mrshpc.h b/arch/sh/include/mach-se/mach/mrshpc.h new file mode 100644 index 00000000000..56287ee8563 --- /dev/null +++ b/arch/sh/include/mach-se/mach/mrshpc.h | |||
@@ -0,0 +1,52 @@ | |||
1 | #ifndef __MACH_SE_MRSHPC_H | ||
2 | #define __MACH_SE_MRSHPC_H | ||
3 | |||
4 | #include <linux/io.h> | ||
5 | |||
6 | static inline void __init mrshpc_setup_windows(void) | ||
7 | { | ||
8 | if ((__raw_readw(MRSHPC_CSR) & 0x000c) != 0) | ||
9 | return; /* Not detected */ | ||
10 | |||
11 | if ((__raw_readw(MRSHPC_CSR) & 0x0080) == 0) { | ||
12 | __raw_writew(0x0674, MRSHPC_CPWCR); /* Card Vcc is 3.3v? */ | ||
13 | } else { | ||
14 | __raw_writew(0x0678, MRSHPC_CPWCR); /* Card Vcc is 5V */ | ||
15 | } | ||
16 | |||
17 | /* | ||
18 | * PC-Card window open | ||
19 | * flag == COMMON/ATTRIBUTE/IO | ||
20 | */ | ||
21 | /* common window open */ | ||
22 | __raw_writew(0x8a84, MRSHPC_MW0CR1); | ||
23 | if((__raw_readw(MRSHPC_CSR) & 0x4000) != 0) | ||
24 | /* common mode & bus width 16bit SWAP = 1*/ | ||
25 | __raw_writew(0x0b00, MRSHPC_MW0CR2); | ||
26 | else | ||
27 | /* common mode & bus width 16bit SWAP = 0*/ | ||
28 | __raw_writew(0x0300, MRSHPC_MW0CR2); | ||
29 | |||
30 | /* attribute window open */ | ||
31 | __raw_writew(0x8a85, MRSHPC_MW1CR1); | ||
32 | if ((__raw_readw(MRSHPC_CSR) & 0x4000) != 0) | ||
33 | /* attribute mode & bus width 16bit SWAP = 1*/ | ||
34 | __raw_writew(0x0a00, MRSHPC_MW1CR2); | ||
35 | else | ||
36 | /* attribute mode & bus width 16bit SWAP = 0*/ | ||
37 | __raw_writew(0x0200, MRSHPC_MW1CR2); | ||
38 | |||
39 | /* I/O window open */ | ||
40 | __raw_writew(0x8a86, MRSHPC_IOWCR1); | ||
41 | __raw_writew(0x0008, MRSHPC_CDCR); /* I/O card mode */ | ||
42 | if ((__raw_readw(MRSHPC_CSR) & 0x4000) != 0) | ||
43 | __raw_writew(0x0a00, MRSHPC_IOWCR2); /* bus width 16bit SWAP = 1*/ | ||
44 | else | ||
45 | __raw_writew(0x0200, MRSHPC_IOWCR2); /* bus width 16bit SWAP = 0*/ | ||
46 | |||
47 | __raw_writew(0x2000, MRSHPC_ICR); | ||
48 | __raw_writeb(0x00, PA_MRSHPC_MW2 + 0x206); | ||
49 | __raw_writeb(0x42, PA_MRSHPC_MW2 + 0x200); | ||
50 | } | ||
51 | |||
52 | #endif /* __MACH_SE_MRSHPC_H */ | ||
diff --git a/arch/sh/include/mach-se/mach/se.h b/arch/sh/include/mach-se/mach/se.h index eb23000e1bb..14be91c5a2f 100644 --- a/arch/sh/include/mach-se/mach/se.h +++ b/arch/sh/include/mach-se/mach/se.h | |||
@@ -68,6 +68,24 @@ | |||
68 | #define BCR_ILCRF (PA_BCR + 10) | 68 | #define BCR_ILCRF (PA_BCR + 10) |
69 | #define BCR_ILCRG (PA_BCR + 12) | 69 | #define BCR_ILCRG (PA_BCR + 12) |
70 | 70 | ||
71 | #if defined(CONFIG_CPU_SUBTYPE_SH7709) | ||
72 | #define INTC_IRR0 0xa4000004UL | ||
73 | #define INTC_IRR1 0xa4000006UL | ||
74 | #define INTC_IRR2 0xa4000008UL | ||
75 | |||
76 | #define INTC_ICR0 0xfffffee0UL | ||
77 | #define INTC_ICR1 0xa4000010UL | ||
78 | #define INTC_ICR2 0xa4000012UL | ||
79 | #define INTC_INTER 0xa4000014UL | ||
80 | |||
81 | #define INTC_IPRC 0xa4000016UL | ||
82 | #define INTC_IPRD 0xa4000018UL | ||
83 | #define INTC_IPRE 0xa400001aUL | ||
84 | |||
85 | #define IRQ0_IRQ 32 | ||
86 | #define IRQ1_IRQ 33 | ||
87 | #endif | ||
88 | |||
71 | #if defined(CONFIG_CPU_SUBTYPE_SH7705) | 89 | #if defined(CONFIG_CPU_SUBTYPE_SH7705) |
72 | #define IRQ_STNIC 12 | 90 | #define IRQ_STNIC 12 |
73 | #define IRQ_CFCARD 14 | 91 | #define IRQ_CFCARD 14 |
diff --git a/arch/sh/include/mach-se/mach/se7343.h b/arch/sh/include/mach-se/mach/se7343.h index 98458460e63..749914b400f 100644 --- a/arch/sh/include/mach-se/mach/se7343.h +++ b/arch/sh/include/mach-se/mach/se7343.h | |||
@@ -118,9 +118,6 @@ | |||
118 | #define FPGA_IN 0xb1400000 | 118 | #define FPGA_IN 0xb1400000 |
119 | #define FPGA_OUT 0xb1400002 | 119 | #define FPGA_OUT 0xb1400002 |
120 | 120 | ||
121 | #define __IO_PREFIX sh7343se | ||
122 | #include <asm/io_generic.h> | ||
123 | |||
124 | #define IRQ0_IRQ 32 | 121 | #define IRQ0_IRQ 32 |
125 | #define IRQ1_IRQ 33 | 122 | #define IRQ1_IRQ 33 |
126 | #define IRQ4_IRQ 36 | 123 | #define IRQ4_IRQ 36 |
@@ -132,8 +129,10 @@ | |||
132 | #define SE7343_FPGA_IRQ_MRSHPC3 3 | 129 | #define SE7343_FPGA_IRQ_MRSHPC3 3 |
133 | #define SE7343_FPGA_IRQ_SMC 6 /* EXT_IRQ2 */ | 130 | #define SE7343_FPGA_IRQ_SMC 6 /* EXT_IRQ2 */ |
134 | #define SE7343_FPGA_IRQ_USB 8 | 131 | #define SE7343_FPGA_IRQ_USB 8 |
132 | #define SE7343_FPGA_IRQ_UARTA 10 | ||
133 | #define SE7343_FPGA_IRQ_UARTB 11 | ||
135 | 134 | ||
136 | #define SE7343_FPGA_IRQ_NR 11 | 135 | #define SE7343_FPGA_IRQ_NR 12 |
137 | #define SE7343_FPGA_IRQ_BASE 120 | 136 | #define SE7343_FPGA_IRQ_BASE 120 |
138 | 137 | ||
139 | #define MRSHPC_IRQ3 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC3) | 138 | #define MRSHPC_IRQ3 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC3) |
@@ -142,6 +141,8 @@ | |||
142 | #define MRSHPC_IRQ0 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC0) | 141 | #define MRSHPC_IRQ0 (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_MRSHPC0) |
143 | #define SMC_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_SMC) | 142 | #define SMC_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_SMC) |
144 | #define USB_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_USB) | 143 | #define USB_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_USB) |
144 | #define UARTA_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_UARTA) | ||
145 | #define UARTB_IRQ (SE7343_FPGA_IRQ_BASE + SE7343_FPGA_IRQ_UARTB) | ||
145 | 146 | ||
146 | /* arch/sh/boards/se/7343/irq.c */ | 147 | /* arch/sh/boards/se/7343/irq.c */ |
147 | void init_7343se_IRQ(void); | 148 | void init_7343se_IRQ(void); |