aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1/board-nokia770.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap1/board-nokia770.c')
-rw-r--r--arch/arm/mach-omap1/board-nokia770.c34
1 files changed, 12 insertions, 22 deletions
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c
index 02789c5d3703..6798b8488315 100644
--- a/arch/arm/mach-omap1/board-nokia770.c
+++ b/arch/arm/mach-omap1/board-nokia770.c
@@ -38,21 +38,6 @@
38 38
39#define ADS7846_PENDOWN_GPIO 15 39#define ADS7846_PENDOWN_GPIO 15
40 40
41static void __init omap_nokia770_init_irq(void)
42{
43 /* On Nokia 770, the SleepX signal is masked with an
44 * MPUIO line by default. It has to be unmasked for it
45 * to become functional */
46
47 /* SleepX mask direction */
48 omap_writew((omap_readw(0xfffb5008) & ~2), 0xfffb5008);
49 /* Unmask SleepX signal */
50 omap_writew((omap_readw(0xfffb5004) & ~2), 0xfffb5004);
51
52 omap1_init_common_hw();
53 omap1_init_irq();
54}
55
56static const unsigned int nokia770_keymap[] = { 41static const unsigned int nokia770_keymap[] = {
57 KEY(1, 0, GROUP_0 | KEY_UP), 42 KEY(1, 0, GROUP_0 | KEY_UP),
58 KEY(2, 0, GROUP_1 | KEY_F5), 43 KEY(2, 0, GROUP_1 | KEY_F5),
@@ -245,6 +230,15 @@ static inline void nokia770_mmc_init(void)
245 230
246static void __init omap_nokia770_init(void) 231static void __init omap_nokia770_init(void)
247{ 232{
233 /* On Nokia 770, the SleepX signal is masked with an
234 * MPUIO line by default. It has to be unmasked for it
235 * to become functional */
236
237 /* SleepX mask direction */
238 omap_writew((omap_readw(0xfffb5008) & ~2), 0xfffb5008);
239 /* Unmask SleepX signal */
240 omap_writew((omap_readw(0xfffb5004) & ~2), 0xfffb5004);
241
248 platform_add_devices(nokia770_devices, ARRAY_SIZE(nokia770_devices)); 242 platform_add_devices(nokia770_devices, ARRAY_SIZE(nokia770_devices));
249 spi_register_board_info(nokia770_spi_board_info, 243 spi_register_board_info(nokia770_spi_board_info,
250 ARRAY_SIZE(nokia770_spi_board_info)); 244 ARRAY_SIZE(nokia770_spi_board_info));
@@ -257,16 +251,12 @@ static void __init omap_nokia770_init(void)
257 nokia770_mmc_init(); 251 nokia770_mmc_init();
258} 252}
259 253
260static void __init omap_nokia770_map_io(void)
261{
262 omap1_map_common_io();
263}
264
265MACHINE_START(NOKIA770, "Nokia 770") 254MACHINE_START(NOKIA770, "Nokia 770")
266 .atag_offset = 0x100, 255 .atag_offset = 0x100,
267 .map_io = omap_nokia770_map_io, 256 .map_io = omap16xx_map_io,
257 .init_early = omap1_init_early,
268 .reserve = omap_reserve, 258 .reserve = omap_reserve,
269 .init_irq = omap_nokia770_init_irq, 259 .init_irq = omap1_init_irq,
270 .init_machine = omap_nokia770_init, 260 .init_machine = omap_nokia770_init,
271 .timer = &omap1_timer, 261 .timer = &omap1_timer,
272MACHINE_END 262MACHINE_END