diff options
Diffstat (limited to 'arch/sh/boards/board-magicpanelr2.c')
-rw-r--r-- | arch/sh/boards/board-magicpanelr2.c | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/arch/sh/boards/board-magicpanelr2.c b/arch/sh/boards/board-magicpanelr2.c index 99ffc5f1c0dd..efba450a0518 100644 --- a/arch/sh/boards/board-magicpanelr2.c +++ b/arch/sh/boards/board-magicpanelr2.c | |||
@@ -23,7 +23,7 @@ | |||
23 | #include <asm/heartbeat.h> | 23 | #include <asm/heartbeat.h> |
24 | #include <cpu/sh7720.h> | 24 | #include <cpu/sh7720.h> |
25 | 25 | ||
26 | #define LAN9115_READY (ctrl_inl(0xA8000084UL) & 0x00000001UL) | 26 | #define LAN9115_READY (__raw_readl(0xA8000084UL) & 0x00000001UL) |
27 | 27 | ||
28 | /* Prefer cmdline over RedBoot */ | 28 | /* Prefer cmdline over RedBoot */ |
29 | static const char *probes[] = { "cmdlinepart", "RedBoot", NULL }; | 29 | static const char *probes[] = { "cmdlinepart", "RedBoot", NULL }; |
@@ -60,33 +60,33 @@ static void __init setup_chip_select(void) | |||
60 | { | 60 | { |
61 | /* CS2: LAN (0x08000000 - 0x0bffffff) */ | 61 | /* CS2: LAN (0x08000000 - 0x0bffffff) */ |
62 | /* no idle cycles, normal space, 8 bit data bus */ | 62 | /* no idle cycles, normal space, 8 bit data bus */ |
63 | ctrl_outl(0x36db0400, CS2BCR); | 63 | __raw_writel(0x36db0400, CS2BCR); |
64 | /* (SW:1.5 WR:3 HW:1.5), ext. wait */ | 64 | /* (SW:1.5 WR:3 HW:1.5), ext. wait */ |
65 | ctrl_outl(0x000003c0, CS2WCR); | 65 | __raw_writel(0x000003c0, CS2WCR); |
66 | 66 | ||
67 | /* CS4: CAN1 (0xb0000000 - 0xb3ffffff) */ | 67 | /* CS4: CAN1 (0xb0000000 - 0xb3ffffff) */ |
68 | /* no idle cycles, normal space, 8 bit data bus */ | 68 | /* no idle cycles, normal space, 8 bit data bus */ |
69 | ctrl_outl(0x00000200, CS4BCR); | 69 | __raw_writel(0x00000200, CS4BCR); |
70 | /* (SW:1.5 WR:3 HW:1.5), ext. wait */ | 70 | /* (SW:1.5 WR:3 HW:1.5), ext. wait */ |
71 | ctrl_outl(0x00100981, CS4WCR); | 71 | __raw_writel(0x00100981, CS4WCR); |
72 | 72 | ||
73 | /* CS5a: CAN2 (0xb4000000 - 0xb5ffffff) */ | 73 | /* CS5a: CAN2 (0xb4000000 - 0xb5ffffff) */ |
74 | /* no idle cycles, normal space, 8 bit data bus */ | 74 | /* no idle cycles, normal space, 8 bit data bus */ |
75 | ctrl_outl(0x00000200, CS5ABCR); | 75 | __raw_writel(0x00000200, CS5ABCR); |
76 | /* (SW:1.5 WR:3 HW:1.5), ext. wait */ | 76 | /* (SW:1.5 WR:3 HW:1.5), ext. wait */ |
77 | ctrl_outl(0x00100981, CS5AWCR); | 77 | __raw_writel(0x00100981, CS5AWCR); |
78 | 78 | ||
79 | /* CS5b: CAN3 (0xb6000000 - 0xb7ffffff) */ | 79 | /* CS5b: CAN3 (0xb6000000 - 0xb7ffffff) */ |
80 | /* no idle cycles, normal space, 8 bit data bus */ | 80 | /* no idle cycles, normal space, 8 bit data bus */ |
81 | ctrl_outl(0x00000200, CS5BBCR); | 81 | __raw_writel(0x00000200, CS5BBCR); |
82 | /* (SW:1.5 WR:3 HW:1.5), ext. wait */ | 82 | /* (SW:1.5 WR:3 HW:1.5), ext. wait */ |
83 | ctrl_outl(0x00100981, CS5BWCR); | 83 | __raw_writel(0x00100981, CS5BWCR); |
84 | 84 | ||
85 | /* CS6a: Rotary (0xb8000000 - 0xb9ffffff) */ | 85 | /* CS6a: Rotary (0xb8000000 - 0xb9ffffff) */ |
86 | /* no idle cycles, normal space, 8 bit data bus */ | 86 | /* no idle cycles, normal space, 8 bit data bus */ |
87 | ctrl_outl(0x00000200, CS6ABCR); | 87 | __raw_writel(0x00000200, CS6ABCR); |
88 | /* (SW:1.5 WR:3 HW:1.5), no ext. wait */ | 88 | /* (SW:1.5 WR:3 HW:1.5), no ext. wait */ |
89 | ctrl_outl(0x001009C1, CS6AWCR); | 89 | __raw_writel(0x001009C1, CS6AWCR); |
90 | } | 90 | } |
91 | 91 | ||
92 | static void __init setup_port_multiplexing(void) | 92 | static void __init setup_port_multiplexing(void) |
@@ -94,71 +94,71 @@ static void __init setup_port_multiplexing(void) | |||
94 | /* A7 GPO(LED8); A6 GPO(LED7); A5 GPO(LED6); A4 GPO(LED5); | 94 | /* A7 GPO(LED8); A6 GPO(LED7); A5 GPO(LED6); A4 GPO(LED5); |
95 | * A3 GPO(LED4); A2 GPO(LED3); A1 GPO(LED2); A0 GPO(LED1); | 95 | * A3 GPO(LED4); A2 GPO(LED3); A1 GPO(LED2); A0 GPO(LED1); |
96 | */ | 96 | */ |
97 | ctrl_outw(0x5555, PORT_PACR); /* 01 01 01 01 01 01 01 01 */ | 97 | __raw_writew(0x5555, PORT_PACR); /* 01 01 01 01 01 01 01 01 */ |
98 | 98 | ||
99 | /* B7 GPO(RST4); B6 GPO(RST3); B5 GPO(RST2); B4 GPO(RST1); | 99 | /* B7 GPO(RST4); B6 GPO(RST3); B5 GPO(RST2); B4 GPO(RST1); |
100 | * B3 GPO(PB3); B2 GPO(PB2); B1 GPO(PB1); B0 GPO(PB0); | 100 | * B3 GPO(PB3); B2 GPO(PB2); B1 GPO(PB1); B0 GPO(PB0); |
101 | */ | 101 | */ |
102 | ctrl_outw(0x5555, PORT_PBCR); /* 01 01 01 01 01 01 01 01 */ | 102 | __raw_writew(0x5555, PORT_PBCR); /* 01 01 01 01 01 01 01 01 */ |
103 | 103 | ||
104 | /* C7 GPO(PC7); C6 GPO(PC6); C5 GPO(PC5); C4 GPO(PC4); | 104 | /* C7 GPO(PC7); C6 GPO(PC6); C5 GPO(PC5); C4 GPO(PC4); |
105 | * C3 LCD_DATA3; C2 LCD_DATA2; C1 LCD_DATA1; C0 LCD_DATA0; | 105 | * C3 LCD_DATA3; C2 LCD_DATA2; C1 LCD_DATA1; C0 LCD_DATA0; |
106 | */ | 106 | */ |
107 | ctrl_outw(0x5500, PORT_PCCR); /* 01 01 01 01 00 00 00 00 */ | 107 | __raw_writew(0x5500, PORT_PCCR); /* 01 01 01 01 00 00 00 00 */ |
108 | 108 | ||
109 | /* D7 GPO(PD7); D6 GPO(PD6); D5 GPO(PD5); D4 GPO(PD4); | 109 | /* D7 GPO(PD7); D6 GPO(PD6); D5 GPO(PD5); D4 GPO(PD4); |
110 | * D3 GPO(PD3); D2 GPO(PD2); D1 GPO(PD1); D0 GPO(PD0); | 110 | * D3 GPO(PD3); D2 GPO(PD2); D1 GPO(PD1); D0 GPO(PD0); |
111 | */ | 111 | */ |
112 | ctrl_outw(0x5555, PORT_PDCR); /* 01 01 01 01 01 01 01 01 */ | 112 | __raw_writew(0x5555, PORT_PDCR); /* 01 01 01 01 01 01 01 01 */ |
113 | 113 | ||
114 | /* E7 (x); E6 GPI(nu); E5 GPI(nu); E4 LCD_M_DISP; | 114 | /* E7 (x); E6 GPI(nu); E5 GPI(nu); E4 LCD_M_DISP; |
115 | * E3 LCD_CL1; E2 LCD_CL2; E1 LCD_DON; E0 LCD_FLM; | 115 | * E3 LCD_CL1; E2 LCD_CL2; E1 LCD_DON; E0 LCD_FLM; |
116 | */ | 116 | */ |
117 | ctrl_outw(0x3C00, PORT_PECR); /* 00 11 11 00 00 00 00 00 */ | 117 | __raw_writew(0x3C00, PORT_PECR); /* 00 11 11 00 00 00 00 00 */ |
118 | 118 | ||
119 | /* F7 (x); F6 DA1(VLCD); F5 DA0(nc); F4 AN3; | 119 | /* F7 (x); F6 DA1(VLCD); F5 DA0(nc); F4 AN3; |
120 | * F3 AN2(MID_AD); F2 AN1(EARTH_AD); F1 AN0(TEMP); F0 GPI+(nc); | 120 | * F3 AN2(MID_AD); F2 AN1(EARTH_AD); F1 AN0(TEMP); F0 GPI+(nc); |
121 | */ | 121 | */ |
122 | ctrl_outw(0x0002, PORT_PFCR); /* 00 00 00 00 00 00 00 10 */ | 122 | __raw_writew(0x0002, PORT_PFCR); /* 00 00 00 00 00 00 00 10 */ |
123 | 123 | ||
124 | /* G7 (x); G6 IRQ5(TOUCH_BUSY); G5 IRQ4(TOUCH_IRQ); G4 GPI(KEY2); | 124 | /* G7 (x); G6 IRQ5(TOUCH_BUSY); G5 IRQ4(TOUCH_IRQ); G4 GPI(KEY2); |
125 | * G3 GPI(KEY1); G2 GPO(LED11); G1 GPO(LED10); G0 GPO(LED9); | 125 | * G3 GPI(KEY1); G2 GPO(LED11); G1 GPO(LED10); G0 GPO(LED9); |
126 | */ | 126 | */ |
127 | ctrl_outw(0x03D5, PORT_PGCR); /* 00 00 00 11 11 01 01 01 */ | 127 | __raw_writew(0x03D5, PORT_PGCR); /* 00 00 00 11 11 01 01 01 */ |
128 | 128 | ||
129 | /* H7 (x); H6 /RAS(BRAS); H5 /CAS(BCAS); H4 CKE(BCKE); | 129 | /* H7 (x); H6 /RAS(BRAS); H5 /CAS(BCAS); H4 CKE(BCKE); |
130 | * H3 GPO(EARTH_OFF); H2 GPO(EARTH_TEST); H1 USB2_PWR; H0 USB1_PWR; | 130 | * H3 GPO(EARTH_OFF); H2 GPO(EARTH_TEST); H1 USB2_PWR; H0 USB1_PWR; |
131 | */ | 131 | */ |
132 | ctrl_outw(0x0050, PORT_PHCR); /* 00 00 00 00 01 01 00 00 */ | 132 | __raw_writew(0x0050, PORT_PHCR); /* 00 00 00 00 01 01 00 00 */ |
133 | 133 | ||
134 | /* J7 (x); J6 AUDCK; J5 ASEBRKAK; J4 AUDATA3; | 134 | /* J7 (x); J6 AUDCK; J5 ASEBRKAK; J4 AUDATA3; |
135 | * J3 AUDATA2; J2 AUDATA1; J1 AUDATA0; J0 AUDSYNC; | 135 | * J3 AUDATA2; J2 AUDATA1; J1 AUDATA0; J0 AUDSYNC; |
136 | */ | 136 | */ |
137 | ctrl_outw(0x0000, PORT_PJCR); /* 00 00 00 00 00 00 00 00 */ | 137 | __raw_writew(0x0000, PORT_PJCR); /* 00 00 00 00 00 00 00 00 */ |
138 | 138 | ||
139 | /* K7 (x); K6 (x); K5 (x); K4 (x); | 139 | /* K7 (x); K6 (x); K5 (x); K4 (x); |
140 | * K3 PINT7(/PWR2); K2 PINT6(/PWR1); K1 PINT5(nu); K0 PINT4(FLASH_READY) | 140 | * K3 PINT7(/PWR2); K2 PINT6(/PWR1); K1 PINT5(nu); K0 PINT4(FLASH_READY) |
141 | */ | 141 | */ |
142 | ctrl_outw(0x00FF, PORT_PKCR); /* 00 00 00 00 11 11 11 11 */ | 142 | __raw_writew(0x00FF, PORT_PKCR); /* 00 00 00 00 11 11 11 11 */ |
143 | 143 | ||
144 | /* L7 TRST; L6 TMS; L5 TDO; L4 TDI; | 144 | /* L7 TRST; L6 TMS; L5 TDO; L4 TDI; |
145 | * L3 TCK; L2 (x); L1 (x); L0 (x); | 145 | * L3 TCK; L2 (x); L1 (x); L0 (x); |
146 | */ | 146 | */ |
147 | ctrl_outw(0x0000, PORT_PLCR); /* 00 00 00 00 00 00 00 00 */ | 147 | __raw_writew(0x0000, PORT_PLCR); /* 00 00 00 00 00 00 00 00 */ |
148 | 148 | ||
149 | /* M7 GPO(CURRENT_SINK); M6 GPO(PWR_SWITCH); M5 GPO(LAN_SPEED); | 149 | /* M7 GPO(CURRENT_SINK); M6 GPO(PWR_SWITCH); M5 GPO(LAN_SPEED); |
150 | * M4 GPO(LAN_RESET); M3 GPO(BUZZER); M2 GPO(LCD_BL); | 150 | * M4 GPO(LAN_RESET); M3 GPO(BUZZER); M2 GPO(LCD_BL); |
151 | * M1 CS5B(CAN3_CS); M0 GPI+(nc); | 151 | * M1 CS5B(CAN3_CS); M0 GPI+(nc); |
152 | */ | 152 | */ |
153 | ctrl_outw(0x5552, PORT_PMCR); /* 01 01 01 01 01 01 00 10 */ | 153 | __raw_writew(0x5552, PORT_PMCR); /* 01 01 01 01 01 01 00 10 */ |
154 | 154 | ||
155 | /* CURRENT_SINK=off, PWR_SWITCH=off, LAN_SPEED=100MBit, | 155 | /* CURRENT_SINK=off, PWR_SWITCH=off, LAN_SPEED=100MBit, |
156 | * LAN_RESET=off, BUZZER=off, LCD_BL=off | 156 | * LAN_RESET=off, BUZZER=off, LCD_BL=off |
157 | */ | 157 | */ |
158 | #if CONFIG_SH_MAGIC_PANEL_R2_VERSION == 2 | 158 | #if CONFIG_SH_MAGIC_PANEL_R2_VERSION == 2 |
159 | ctrl_outb(0x30, PORT_PMDR); | 159 | __raw_writeb(0x30, PORT_PMDR); |
160 | #elif CONFIG_SH_MAGIC_PANEL_R2_VERSION == 3 | 160 | #elif CONFIG_SH_MAGIC_PANEL_R2_VERSION == 3 |
161 | ctrl_outb(0xF0, PORT_PMDR); | 161 | __raw_writeb(0xF0, PORT_PMDR); |
162 | #else | 162 | #else |
163 | #error Unknown revision of PLATFORM_MP_R2 | 163 | #error Unknown revision of PLATFORM_MP_R2 |
164 | #endif | 164 | #endif |
@@ -167,8 +167,8 @@ static void __init setup_port_multiplexing(void) | |||
167 | * P4 GPO(nu); P3 IRQ3(LAN_IRQ); P2 IRQ2(CAN3_IRQ); | 167 | * P4 GPO(nu); P3 IRQ3(LAN_IRQ); P2 IRQ2(CAN3_IRQ); |
168 | * P1 IRQ1(CAN2_IRQ); P0 IRQ0(CAN1_IRQ) | 168 | * P1 IRQ1(CAN2_IRQ); P0 IRQ0(CAN1_IRQ) |
169 | */ | 169 | */ |
170 | ctrl_outw(0x0100, PORT_PPCR); /* 00 00 00 01 00 00 00 00 */ | 170 | __raw_writew(0x0100, PORT_PPCR); /* 00 00 00 01 00 00 00 00 */ |
171 | ctrl_outb(0x10, PORT_PPDR); | 171 | __raw_writeb(0x10, PORT_PPDR); |
172 | 172 | ||
173 | /* R7 A25; R6 A24; R5 A23; R4 A22; | 173 | /* R7 A25; R6 A24; R5 A23; R4 A22; |
174 | * R3 A21; R2 A20; R1 A19; R0 A0; | 174 | * R3 A21; R2 A20; R1 A19; R0 A0; |
@@ -185,22 +185,22 @@ static void __init setup_port_multiplexing(void) | |||
185 | /* S7 (x); S6 (x); S5 (x); S4 GPO(EEPROM_CS2); | 185 | /* S7 (x); S6 (x); S5 (x); S4 GPO(EEPROM_CS2); |
186 | * S3 GPO(EEPROM_CS1); S2 SIOF0_TXD; S1 SIOF0_RXD; S0 SIOF0_SCK; | 186 | * S3 GPO(EEPROM_CS1); S2 SIOF0_TXD; S1 SIOF0_RXD; S0 SIOF0_SCK; |
187 | */ | 187 | */ |
188 | ctrl_outw(0x0140, PORT_PSCR); /* 00 00 00 01 01 00 00 00 */ | 188 | __raw_writew(0x0140, PORT_PSCR); /* 00 00 00 01 01 00 00 00 */ |
189 | 189 | ||
190 | /* T7 (x); T6 (x); T5 (x); T4 COM1_CTS; | 190 | /* T7 (x); T6 (x); T5 (x); T4 COM1_CTS; |
191 | * T3 COM1_RTS; T2 COM1_TXD; T1 COM1_RXD; T0 GPO(WDOG) | 191 | * T3 COM1_RTS; T2 COM1_TXD; T1 COM1_RXD; T0 GPO(WDOG) |
192 | */ | 192 | */ |
193 | ctrl_outw(0x0001, PORT_PTCR); /* 00 00 00 00 00 00 00 01 */ | 193 | __raw_writew(0x0001, PORT_PTCR); /* 00 00 00 00 00 00 00 01 */ |
194 | 194 | ||
195 | /* U7 (x); U6 (x); U5 (x); U4 GPI+(/AC_FAULT); | 195 | /* U7 (x); U6 (x); U5 (x); U4 GPI+(/AC_FAULT); |
196 | * U3 GPO(TOUCH_CS); U2 TOUCH_TXD; U1 TOUCH_RXD; U0 TOUCH_SCK; | 196 | * U3 GPO(TOUCH_CS); U2 TOUCH_TXD; U1 TOUCH_RXD; U0 TOUCH_SCK; |
197 | */ | 197 | */ |
198 | ctrl_outw(0x0240, PORT_PUCR); /* 00 00 00 10 01 00 00 00 */ | 198 | __raw_writew(0x0240, PORT_PUCR); /* 00 00 00 10 01 00 00 00 */ |
199 | 199 | ||
200 | /* V7 (x); V6 (x); V5 (x); V4 GPO(MID2); | 200 | /* V7 (x); V6 (x); V5 (x); V4 GPO(MID2); |
201 | * V3 GPO(MID1); V2 CARD_TxD; V1 CARD_RxD; V0 GPI+(/BAT_FAULT); | 201 | * V3 GPO(MID1); V2 CARD_TxD; V1 CARD_RxD; V0 GPI+(/BAT_FAULT); |
202 | */ | 202 | */ |
203 | ctrl_outw(0x0142, PORT_PVCR); /* 00 00 00 01 01 00 00 10 */ | 203 | __raw_writew(0x0142, PORT_PVCR); /* 00 00 00 01 01 00 00 10 */ |
204 | } | 204 | } |
205 | 205 | ||
206 | static void __init mpr2_setup(char **cmdline_p) | 206 | static void __init mpr2_setup(char **cmdline_p) |
@@ -209,24 +209,24 @@ static void __init mpr2_setup(char **cmdline_p) | |||
209 | * /PCC_CD1, /PCC_CD2, PCC_BVD1, PCC_BVD2, | 209 | * /PCC_CD1, /PCC_CD2, PCC_BVD1, PCC_BVD2, |
210 | * /IOIS16, IRQ4, IRQ5, USB1d_SUSPEND | 210 | * /IOIS16, IRQ4, IRQ5, USB1d_SUSPEND |
211 | */ | 211 | */ |
212 | ctrl_outw(0xAABC, PORT_PSELA); | 212 | __raw_writew(0xAABC, PORT_PSELA); |
213 | /* set Pin Select Register B: | 213 | /* set Pin Select Register B: |
214 | * /SCIF0_RTS, /SCIF0_CTS, LCD_VCPWC, | 214 | * /SCIF0_RTS, /SCIF0_CTS, LCD_VCPWC, |
215 | * LCD_VEPWC, IIC_SDA, IIC_SCL, Reserved | 215 | * LCD_VEPWC, IIC_SDA, IIC_SCL, Reserved |
216 | */ | 216 | */ |
217 | ctrl_outw(0x3C00, PORT_PSELB); | 217 | __raw_writew(0x3C00, PORT_PSELB); |
218 | /* set Pin Select Register C: | 218 | /* set Pin Select Register C: |
219 | * SIOF1_SCK, SIOF1_RxD, SCIF1_RxD, SCIF1_TxD, Reserved | 219 | * SIOF1_SCK, SIOF1_RxD, SCIF1_RxD, SCIF1_TxD, Reserved |
220 | */ | 220 | */ |
221 | ctrl_outw(0x0000, PORT_PSELC); | 221 | __raw_writew(0x0000, PORT_PSELC); |
222 | /* set Pin Select Register D: Reserved, SIOF1_TxD, Reserved, SIOF1_MCLK, | 222 | /* set Pin Select Register D: Reserved, SIOF1_TxD, Reserved, SIOF1_MCLK, |
223 | * Reserved, SIOF1_SYNC, Reserved, SCIF1_SCK, Reserved | 223 | * Reserved, SIOF1_SYNC, Reserved, SCIF1_SCK, Reserved |
224 | */ | 224 | */ |
225 | ctrl_outw(0x0000, PORT_PSELD); | 225 | __raw_writew(0x0000, PORT_PSELD); |
226 | /* set USB TxRx Control: Reserved, DRV, Reserved, USB_TRANS, USB_SEL */ | 226 | /* set USB TxRx Control: Reserved, DRV, Reserved, USB_TRANS, USB_SEL */ |
227 | ctrl_outw(0x0101, PORT_UTRCTL); | 227 | __raw_writew(0x0101, PORT_UTRCTL); |
228 | /* set USB Clock Control: USSCS, USSTB, Reserved (HighByte always A5) */ | 228 | /* set USB Clock Control: USSCS, USSTB, Reserved (HighByte always A5) */ |
229 | ctrl_outw(0xA5C0, PORT_UCLKCR_W); | 229 | __raw_writew(0xA5C0, PORT_UCLKCR_W); |
230 | 230 | ||
231 | setup_chip_select(); | 231 | setup_chip_select(); |
232 | 232 | ||