diff options
25 files changed, 114 insertions, 61 deletions
diff --git a/arch/arm/configs/n8x0_defconfig b/arch/arm/configs/n8x0_defconfig index 8da75dede52e..264f52b5c52d 100644 --- a/arch/arm/configs/n8x0_defconfig +++ b/arch/arm/configs/n8x0_defconfig | |||
| @@ -304,7 +304,7 @@ CONFIG_ALIGNMENT_TRAP=y | |||
| 304 | CONFIG_ZBOOT_ROM_TEXT=0x10C08000 | 304 | CONFIG_ZBOOT_ROM_TEXT=0x10C08000 |
| 305 | CONFIG_ZBOOT_ROM_BSS=0x10200000 | 305 | CONFIG_ZBOOT_ROM_BSS=0x10200000 |
| 306 | # CONFIG_ZBOOT_ROM is not set | 306 | # CONFIG_ZBOOT_ROM is not set |
| 307 | CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 console=ttyS0,115200n8" | 307 | CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 console=ttyS2,115200n8" |
| 308 | # CONFIG_XIP_KERNEL is not set | 308 | # CONFIG_XIP_KERNEL is not set |
| 309 | # CONFIG_KEXEC is not set | 309 | # CONFIG_KEXEC is not set |
| 310 | 310 | ||
diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c index 42920f9c1a11..8ad5cc3e83e3 100644 --- a/arch/arm/mach-omap1/board-ams-delta.c +++ b/arch/arm/mach-omap1/board-ams-delta.c | |||
| @@ -219,6 +219,10 @@ static struct platform_device *ams_delta_devices[] __initdata = { | |||
| 219 | 219 | ||
| 220 | static void __init ams_delta_init(void) | 220 | static void __init ams_delta_init(void) |
| 221 | { | 221 | { |
| 222 | /* mux pins for uarts */ | ||
| 223 | omap_cfg_reg(UART1_TX); | ||
| 224 | omap_cfg_reg(UART1_RTS); | ||
| 225 | |||
| 222 | iotable_init(ams_delta_io_desc, ARRAY_SIZE(ams_delta_io_desc)); | 226 | iotable_init(ams_delta_io_desc, ARRAY_SIZE(ams_delta_io_desc)); |
| 223 | 227 | ||
| 224 | omap_board_config = ams_delta_config; | 228 | omap_board_config = ams_delta_config; |
| @@ -231,6 +235,8 @@ static void __init ams_delta_init(void) | |||
| 231 | 235 | ||
| 232 | omap_usb_init(&ams_delta_usb_config); | 236 | omap_usb_init(&ams_delta_usb_config); |
| 233 | platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices)); | 237 | platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices)); |
| 238 | |||
| 239 | omap_writew(omap_readw(ARM_RSTCT1) | 0x0004, ARM_RSTCT1); | ||
| 234 | } | 240 | } |
| 235 | 241 | ||
| 236 | static struct plat_serial8250_port ams_delta_modem_ports[] = { | 242 | static struct plat_serial8250_port ams_delta_modem_ports[] = { |
diff --git a/arch/arm/mach-omap1/board-generic.c b/arch/arm/mach-omap1/board-generic.c index fb47239da72f..6c8a41f20e51 100644 --- a/arch/arm/mach-omap1/board-generic.c +++ b/arch/arm/mach-omap1/board-generic.c | |||
| @@ -64,6 +64,14 @@ static void __init omap_generic_init(void) | |||
| 64 | { | 64 | { |
| 65 | #ifdef CONFIG_ARCH_OMAP15XX | 65 | #ifdef CONFIG_ARCH_OMAP15XX |
| 66 | if (cpu_is_omap15xx()) { | 66 | if (cpu_is_omap15xx()) { |
| 67 | /* mux pins for uarts */ | ||
| 68 | omap_cfg_reg(UART1_TX); | ||
| 69 | omap_cfg_reg(UART1_RTS); | ||
| 70 | omap_cfg_reg(UART2_TX); | ||
| 71 | omap_cfg_reg(UART2_RTS); | ||
| 72 | omap_cfg_reg(UART3_TX); | ||
| 73 | omap_cfg_reg(UART3_RX); | ||
| 74 | |||
| 67 | omap_usb_init(&generic1510_usb_config); | 75 | omap_usb_init(&generic1510_usb_config); |
| 68 | } | 76 | } |
| 69 | #endif | 77 | #endif |
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c index cc2abbb2d0f4..cd6c39514826 100644 --- a/arch/arm/mach-omap1/board-innovator.c +++ b/arch/arm/mach-omap1/board-innovator.c | |||
| @@ -376,6 +376,26 @@ static void __init innovator_init(void) | |||
| 376 | { | 376 | { |
| 377 | #ifdef CONFIG_ARCH_OMAP15XX | 377 | #ifdef CONFIG_ARCH_OMAP15XX |
| 378 | if (cpu_is_omap1510()) { | 378 | if (cpu_is_omap1510()) { |
| 379 | unsigned char reg; | ||
| 380 | |||
| 381 | /* mux pins for uarts */ | ||
| 382 | omap_cfg_reg(UART1_TX); | ||
| 383 | omap_cfg_reg(UART1_RTS); | ||
| 384 | omap_cfg_reg(UART2_TX); | ||
| 385 | omap_cfg_reg(UART2_RTS); | ||
| 386 | omap_cfg_reg(UART3_TX); | ||
| 387 | omap_cfg_reg(UART3_RX); | ||
| 388 | |||
| 389 | reg = fpga_read(OMAP1510_FPGA_POWER); | ||
| 390 | reg |= OMAP1510_FPGA_PCR_COM1_EN; | ||
| 391 | fpga_write(reg, OMAP1510_FPGA_POWER); | ||
| 392 | udelay(10); | ||
| 393 | |||
| 394 | reg = fpga_read(OMAP1510_FPGA_POWER); | ||
| 395 | reg |= OMAP1510_FPGA_PCR_COM2_EN; | ||
| 396 | fpga_write(reg, OMAP1510_FPGA_POWER); | ||
| 397 | udelay(10); | ||
| 398 | |||
| 379 | platform_add_devices(innovator1510_devices, ARRAY_SIZE(innovator1510_devices)); | 399 | platform_add_devices(innovator1510_devices, ARRAY_SIZE(innovator1510_devices)); |
| 380 | spi_register_board_info(innovator1510_boardinfo, | 400 | spi_register_board_info(innovator1510_boardinfo, |
| 381 | ARRAY_SIZE(innovator1510_boardinfo)); | 401 | ARRAY_SIZE(innovator1510_boardinfo)); |
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c index 90dd0431b0dc..4de258420f39 100644 --- a/arch/arm/mach-omap1/board-palmte.c +++ b/arch/arm/mach-omap1/board-palmte.c | |||
| @@ -342,6 +342,14 @@ static void __init palmte_misc_gpio_setup(void) | |||
| 342 | 342 | ||
| 343 | static void __init omap_palmte_init(void) | 343 | static void __init omap_palmte_init(void) |
| 344 | { | 344 | { |
| 345 | /* mux pins for uarts */ | ||
| 346 | omap_cfg_reg(UART1_TX); | ||
| 347 | omap_cfg_reg(UART1_RTS); | ||
| 348 | omap_cfg_reg(UART2_TX); | ||
| 349 | omap_cfg_reg(UART2_RTS); | ||
| 350 | omap_cfg_reg(UART3_TX); | ||
| 351 | omap_cfg_reg(UART3_RX); | ||
| 352 | |||
| 345 | omap_board_config = palmte_config; | 353 | omap_board_config = palmte_config; |
| 346 | omap_board_config_size = ARRAY_SIZE(palmte_config); | 354 | omap_board_config_size = ARRAY_SIZE(palmte_config); |
| 347 | 355 | ||
diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c index 8256139891ff..d972cf941b76 100644 --- a/arch/arm/mach-omap1/board-palmtt.c +++ b/arch/arm/mach-omap1/board-palmtt.c | |||
| @@ -289,6 +289,14 @@ static void __init omap_mpu_wdt_mode(int mode) { | |||
| 289 | 289 | ||
| 290 | static void __init omap_palmtt_init(void) | 290 | static void __init omap_palmtt_init(void) |
| 291 | { | 291 | { |
| 292 | /* mux pins for uarts */ | ||
| 293 | omap_cfg_reg(UART1_TX); | ||
| 294 | omap_cfg_reg(UART1_RTS); | ||
| 295 | omap_cfg_reg(UART2_TX); | ||
| 296 | omap_cfg_reg(UART2_RTS); | ||
| 297 | omap_cfg_reg(UART3_TX); | ||
| 298 | omap_cfg_reg(UART3_RX); | ||
| 299 | |||
| 292 | omap_mpu_wdt_mode(0); | 300 | omap_mpu_wdt_mode(0); |
| 293 | 301 | ||
| 294 | omap_board_config = palmtt_config; | 302 | omap_board_config = palmtt_config; |
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c index 81b6bde1c5a3..986bd4df0e97 100644 --- a/arch/arm/mach-omap1/board-palmz71.c +++ b/arch/arm/mach-omap1/board-palmz71.c | |||
| @@ -307,6 +307,14 @@ palmz71_gpio_setup(int early) | |||
| 307 | static void __init | 307 | static void __init |
| 308 | omap_palmz71_init(void) | 308 | omap_palmz71_init(void) |
| 309 | { | 309 | { |
| 310 | /* mux pins for uarts */ | ||
| 311 | omap_cfg_reg(UART1_TX); | ||
| 312 | omap_cfg_reg(UART1_RTS); | ||
| 313 | omap_cfg_reg(UART2_TX); | ||
| 314 | omap_cfg_reg(UART2_RTS); | ||
| 315 | omap_cfg_reg(UART3_TX); | ||
| 316 | omap_cfg_reg(UART3_RX); | ||
| 317 | |||
| 310 | palmz71_gpio_setup(1); | 318 | palmz71_gpio_setup(1); |
| 311 | omap_mpu_wdt_mode(0); | 319 | omap_mpu_wdt_mode(0); |
| 312 | 320 | ||
diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c index 02c85ca2e1df..056ae64e0f55 100644 --- a/arch/arm/mach-omap1/board-sx1.c +++ b/arch/arm/mach-omap1/board-sx1.c | |||
| @@ -377,6 +377,14 @@ static struct omap_board_config_kernel sx1_config[] __initdata = { | |||
| 377 | 377 | ||
| 378 | static void __init omap_sx1_init(void) | 378 | static void __init omap_sx1_init(void) |
| 379 | { | 379 | { |
| 380 | /* mux pins for uarts */ | ||
| 381 | omap_cfg_reg(UART1_TX); | ||
| 382 | omap_cfg_reg(UART1_RTS); | ||
| 383 | omap_cfg_reg(UART2_TX); | ||
| 384 | omap_cfg_reg(UART2_RTS); | ||
| 385 | omap_cfg_reg(UART3_TX); | ||
| 386 | omap_cfg_reg(UART3_RX); | ||
| 387 | |||
| 380 | platform_add_devices(sx1_devices, ARRAY_SIZE(sx1_devices)); | 388 | platform_add_devices(sx1_devices, ARRAY_SIZE(sx1_devices)); |
| 381 | 389 | ||
| 382 | omap_board_config = sx1_config; | 390 | omap_board_config = sx1_config; |
diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c index c06e7a553472..07b07522d5bf 100644 --- a/arch/arm/mach-omap1/board-voiceblue.c +++ b/arch/arm/mach-omap1/board-voiceblue.c | |||
| @@ -152,6 +152,14 @@ static void __init voiceblue_init_irq(void) | |||
| 152 | 152 | ||
| 153 | static void __init voiceblue_init(void) | 153 | static void __init voiceblue_init(void) |
| 154 | { | 154 | { |
| 155 | /* mux pins for uarts */ | ||
| 156 | omap_cfg_reg(UART1_TX); | ||
| 157 | omap_cfg_reg(UART1_RTS); | ||
| 158 | omap_cfg_reg(UART2_TX); | ||
| 159 | omap_cfg_reg(UART2_RTS); | ||
| 160 | omap_cfg_reg(UART3_TX); | ||
| 161 | omap_cfg_reg(UART3_RX); | ||
| 162 | |||
| 155 | /* Watchdog */ | 163 | /* Watchdog */ |
| 156 | gpio_request(0, "Watchdog"); | 164 | gpio_request(0, "Watchdog"); |
| 157 | /* smc91x reset */ | 165 | /* smc91x reset */ |
diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c index d496e50fec40..d23979bc0fd5 100644 --- a/arch/arm/mach-omap1/serial.c +++ b/arch/arm/mach-omap1/serial.c | |||
| @@ -131,8 +131,6 @@ void __init omap_serial_init(void) | |||
| 131 | } | 131 | } |
| 132 | 132 | ||
| 133 | for (i = 0; i < OMAP_MAX_NR_PORTS; i++) { | 133 | for (i = 0; i < OMAP_MAX_NR_PORTS; i++) { |
| 134 | unsigned char reg; | ||
| 135 | |||
| 136 | switch (i) { | 134 | switch (i) { |
| 137 | case 0: | 135 | case 0: |
| 138 | uart1_ck = clk_get(NULL, "uart1_ck"); | 136 | uart1_ck = clk_get(NULL, "uart1_ck"); |
| @@ -143,16 +141,6 @@ void __init omap_serial_init(void) | |||
| 143 | if (cpu_is_omap15xx()) | 141 | if (cpu_is_omap15xx()) |
| 144 | clk_set_rate(uart1_ck, 12000000); | 142 | clk_set_rate(uart1_ck, 12000000); |
| 145 | } | 143 | } |
| 146 | if (cpu_is_omap15xx()) { | ||
| 147 | omap_cfg_reg(UART1_TX); | ||
| 148 | omap_cfg_reg(UART1_RTS); | ||
| 149 | if (machine_is_omap_innovator()) { | ||
| 150 | reg = fpga_read(OMAP1510_FPGA_POWER); | ||
| 151 | reg |= OMAP1510_FPGA_PCR_COM1_EN; | ||
| 152 | fpga_write(reg, OMAP1510_FPGA_POWER); | ||
| 153 | udelay(10); | ||
| 154 | } | ||
| 155 | } | ||
| 156 | break; | 144 | break; |
| 157 | case 1: | 145 | case 1: |
| 158 | uart2_ck = clk_get(NULL, "uart2_ck"); | 146 | uart2_ck = clk_get(NULL, "uart2_ck"); |
| @@ -165,16 +153,6 @@ void __init omap_serial_init(void) | |||
| 165 | else | 153 | else |
| 166 | clk_set_rate(uart2_ck, 48000000); | 154 | clk_set_rate(uart2_ck, 48000000); |
| 167 | } | 155 | } |
| 168 | if (cpu_is_omap15xx()) { | ||
| 169 | omap_cfg_reg(UART2_TX); | ||
| 170 | omap_cfg_reg(UART2_RTS); | ||
| 171 | if (machine_is_omap_innovator()) { | ||
| 172 | reg = fpga_read(OMAP1510_FPGA_POWER); | ||
| 173 | reg |= OMAP1510_FPGA_PCR_COM2_EN; | ||
| 174 | fpga_write(reg, OMAP1510_FPGA_POWER); | ||
| 175 | udelay(10); | ||
| 176 | } | ||
| 177 | } | ||
| 178 | break; | 156 | break; |
| 179 | case 2: | 157 | case 2: |
| 180 | uart3_ck = clk_get(NULL, "uart3_ck"); | 158 | uart3_ck = clk_get(NULL, "uart3_ck"); |
| @@ -185,10 +163,6 @@ void __init omap_serial_init(void) | |||
| 185 | if (cpu_is_omap15xx()) | 163 | if (cpu_is_omap15xx()) |
| 186 | clk_set_rate(uart3_ck, 12000000); | 164 | clk_set_rate(uart3_ck, 12000000); |
| 187 | } | 165 | } |
| 188 | if (cpu_is_omap15xx()) { | ||
| 189 | omap_cfg_reg(UART3_TX); | ||
| 190 | omap_cfg_reg(UART3_RX); | ||
| 191 | } | ||
| 192 | break; | 166 | break; |
| 193 | } | 167 | } |
| 194 | omap_serial_reset(&serial_platform_data[i]); | 168 | omap_serial_reset(&serial_platform_data[i]); |
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 75b1c7efae7e..aad194f61a33 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
| @@ -73,9 +73,21 @@ config MACH_OMAP_3430SDP | |||
| 73 | bool "OMAP 3430 SDP board" | 73 | bool "OMAP 3430 SDP board" |
| 74 | depends on ARCH_OMAP3 && ARCH_OMAP34XX | 74 | depends on ARCH_OMAP3 && ARCH_OMAP34XX |
| 75 | 75 | ||
| 76 | config MACH_NOKIA_N800 | ||
| 77 | bool | ||
| 78 | |||
| 79 | config MACH_NOKIA_N810 | ||
| 80 | bool | ||
| 81 | |||
| 82 | config MACH_NOKIA_N810_WIMAX | ||
| 83 | bool | ||
| 84 | |||
| 76 | config MACH_NOKIA_N8X0 | 85 | config MACH_NOKIA_N8X0 |
| 77 | bool "Nokia N800/N810" | 86 | bool "Nokia N800/N810" |
| 78 | depends on ARCH_OMAP2420 | 87 | depends on ARCH_OMAP2420 |
| 88 | select MACH_NOKIA_N800 | ||
| 89 | select MACH_NOKIA_N810 | ||
| 90 | select MACH_NOKIA_N810_WIMAX | ||
| 79 | 91 | ||
| 80 | config MACH_NOKIA_RX51 | 92 | config MACH_NOKIA_RX51 |
| 81 | bool "Nokia RX-51 board" | 93 | bool "Nokia RX-51 board" |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index efaf053eba85..0acb5560229c 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
| 18 | #include <linux/delay.h> | 18 | #include <linux/delay.h> |
| 19 | #include <linux/input.h> | 19 | #include <linux/input.h> |
| 20 | #include <linux/input/matrix_keypad.h> | ||
| 20 | #include <linux/spi/spi.h> | 21 | #include <linux/spi/spi.h> |
| 21 | #include <linux/spi/ads7846.h> | 22 | #include <linux/spi/ads7846.h> |
| 22 | #include <linux/i2c/twl4030.h> | 23 | #include <linux/i2c/twl4030.h> |
| @@ -38,7 +39,6 @@ | |||
| 38 | #include <mach/gpmc.h> | 39 | #include <mach/gpmc.h> |
| 39 | 40 | ||
| 40 | #include <mach/control.h> | 41 | #include <mach/control.h> |
| 41 | #include <mach/keypad.h> | ||
| 42 | #include <mach/gpmc-smc91x.h> | 42 | #include <mach/gpmc-smc91x.h> |
| 43 | 43 | ||
| 44 | #include "sdram-qimonda-hyb18m512160af-6.h" | 44 | #include "sdram-qimonda-hyb18m512160af-6.h" |
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index eb37c40ea83a..609a5a4a7e29 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
| @@ -58,6 +58,8 @@ static void __init gic_init_irq(void) | |||
| 58 | 58 | ||
| 59 | static void __init omap_4430sdp_init_irq(void) | 59 | static void __init omap_4430sdp_init_irq(void) |
| 60 | { | 60 | { |
| 61 | omap_board_config = sdp4430_config; | ||
| 62 | omap_board_config_size = ARRAY_SIZE(sdp4430_config); | ||
| 61 | omap2_init_common_hw(NULL, NULL); | 63 | omap2_init_common_hw(NULL, NULL); |
| 62 | #ifdef CONFIG_OMAP_32K_TIMER | 64 | #ifdef CONFIG_OMAP_32K_TIMER |
| 63 | omap2_gp_clockevent_set_gptimer(1); | 65 | omap2_gp_clockevent_set_gptimer(1); |
| @@ -70,8 +72,6 @@ static void __init omap_4430sdp_init_irq(void) | |||
| 70 | static void __init omap_4430sdp_init(void) | 72 | static void __init omap_4430sdp_init(void) |
| 71 | { | 73 | { |
| 72 | platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices)); | 74 | platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices)); |
| 73 | omap_board_config = sdp4430_config; | ||
| 74 | omap_board_config_size = ARRAY_SIZE(sdp4430_config); | ||
| 75 | omap_serial_init(); | 75 | omap_serial_init(); |
| 76 | } | 76 | } |
| 77 | 77 | ||
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index d110a7fdfbd8..d57ec2f4d0a9 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | #include <linux/platform_device.h> | 16 | #include <linux/platform_device.h> |
| 17 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
| 18 | #include <linux/input.h> | 18 | #include <linux/input.h> |
| 19 | #include <linux/input/matrix_keypad.h> | ||
| 19 | #include <linux/gpio_keys.h> | 20 | #include <linux/gpio_keys.h> |
| 20 | #include <linux/workqueue.h> | 21 | #include <linux/workqueue.h> |
| 21 | #include <linux/err.h> | 22 | #include <linux/err.h> |
| @@ -41,7 +42,6 @@ | |||
| 41 | #include <asm/delay.h> | 42 | #include <asm/delay.h> |
| 42 | #include <mach/control.h> | 43 | #include <mach/control.h> |
| 43 | #include <mach/usb.h> | 44 | #include <mach/usb.h> |
| 44 | #include <mach/keypad.h> | ||
| 45 | 45 | ||
| 46 | #include "mmc-twl4030.h" | 46 | #include "mmc-twl4030.h" |
| 47 | 47 | ||
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index e4ec0c591216..4c4d7f8dbd72 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | #include <linux/clk.h> | 20 | #include <linux/clk.h> |
| 21 | #include <linux/gpio.h> | 21 | #include <linux/gpio.h> |
| 22 | #include <linux/input.h> | 22 | #include <linux/input.h> |
| 23 | #include <linux/input/matrix_keypad.h> | ||
| 23 | #include <linux/leds.h> | 24 | #include <linux/leds.h> |
| 24 | 25 | ||
| 25 | #include <linux/spi/spi.h> | 26 | #include <linux/spi/spi.h> |
| @@ -37,7 +38,6 @@ | |||
| 37 | #include <mach/usb.h> | 38 | #include <mach/usb.h> |
| 38 | #include <mach/common.h> | 39 | #include <mach/common.h> |
| 39 | #include <mach/mcspi.h> | 40 | #include <mach/mcspi.h> |
| 40 | #include <mach/keypad.h> | ||
| 41 | 41 | ||
| 42 | #include "sdram-micron-mt46h32m32lf-6.h" | 42 | #include "sdram-micron-mt46h32m32lf-6.h" |
| 43 | #include "mmc-twl4030.h" | 43 | #include "mmc-twl4030.h" |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 7f6bf8772af7..5326e0d61597 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
| @@ -27,6 +27,7 @@ | |||
| 27 | #include <linux/i2c/twl4030.h> | 27 | #include <linux/i2c/twl4030.h> |
| 28 | #include <linux/leds.h> | 28 | #include <linux/leds.h> |
| 29 | #include <linux/input.h> | 29 | #include <linux/input.h> |
| 30 | #include <linux/input/matrix_keypad.h> | ||
| 30 | #include <linux/gpio_keys.h> | 31 | #include <linux/gpio_keys.h> |
| 31 | 32 | ||
| 32 | #include <asm/mach-types.h> | 33 | #include <asm/mach-types.h> |
| @@ -39,7 +40,6 @@ | |||
| 39 | #include <mach/hardware.h> | 40 | #include <mach/hardware.h> |
| 40 | #include <mach/mcspi.h> | 41 | #include <mach/mcspi.h> |
| 41 | #include <mach/usb.h> | 42 | #include <mach/usb.h> |
| 42 | #include <mach/keypad.h> | ||
| 43 | #include <mach/mux.h> | 43 | #include <mach/mux.h> |
| 44 | 44 | ||
| 45 | #include "sdram-micron-mt46h32m32lf-6.h" | 45 | #include "sdram-micron-mt46h32m32lf-6.h" |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 2b0eb1ba5d7f..e34d96a825e3 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
| 13 | #include <linux/platform_device.h> | 13 | #include <linux/platform_device.h> |
| 14 | #include <linux/input.h> | 14 | #include <linux/input.h> |
| 15 | #include <linux/input/matrix_keypad.h> | ||
| 15 | #include <linux/spi/spi.h> | 16 | #include <linux/spi/spi.h> |
| 16 | #include <linux/i2c.h> | 17 | #include <linux/i2c.h> |
| 17 | #include <linux/i2c/twl4030.h> | 18 | #include <linux/i2c/twl4030.h> |
| @@ -27,7 +28,6 @@ | |||
| 27 | #include <mach/common.h> | 28 | #include <mach/common.h> |
| 28 | #include <mach/dma.h> | 29 | #include <mach/dma.h> |
| 29 | #include <mach/gpmc.h> | 30 | #include <mach/gpmc.h> |
| 30 | #include <mach/keypad.h> | ||
| 31 | #include <mach/onenand.h> | 31 | #include <mach/onenand.h> |
| 32 | #include <mach/gpmc-smc91x.h> | 32 | #include <mach/gpmc-smc91x.h> |
| 33 | 33 | ||
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c index f9196c3b1a7b..78869a9a1cc2 100644 --- a/arch/arm/mach-omap2/board-rx51.c +++ b/arch/arm/mach-omap2/board-rx51.c | |||
| @@ -26,7 +26,6 @@ | |||
| 26 | #include <mach/mux.h> | 26 | #include <mach/mux.h> |
| 27 | #include <mach/board.h> | 27 | #include <mach/board.h> |
| 28 | #include <mach/common.h> | 28 | #include <mach/common.h> |
| 29 | #include <mach/keypad.h> | ||
| 30 | #include <mach/dma.h> | 29 | #include <mach/dma.h> |
| 31 | #include <mach/gpmc.h> | 30 | #include <mach/gpmc.h> |
| 32 | #include <mach/usb.h> | 31 | #include <mach/usb.h> |
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c index fd3369d5e5cb..ea00486a5e53 100644 --- a/arch/arm/mach-omap2/board-zoom2.c +++ b/arch/arm/mach-omap2/board-zoom2.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
| 14 | #include <linux/platform_device.h> | 14 | #include <linux/platform_device.h> |
| 15 | #include <linux/input.h> | 15 | #include <linux/input.h> |
| 16 | #include <linux/input/matrix_keypad.h> | ||
| 16 | #include <linux/gpio.h> | 17 | #include <linux/gpio.h> |
| 17 | #include <linux/i2c/twl4030.h> | 18 | #include <linux/i2c/twl4030.h> |
| 18 | #include <linux/regulator/machine.h> | 19 | #include <linux/regulator/machine.h> |
| @@ -22,7 +23,6 @@ | |||
| 22 | 23 | ||
| 23 | #include <mach/common.h> | 24 | #include <mach/common.h> |
| 24 | #include <mach/usb.h> | 25 | #include <mach/usb.h> |
| 25 | #include <mach/keypad.h> | ||
| 26 | 26 | ||
| 27 | #include "mmc-twl4030.h" | 27 | #include "mmc-twl4030.h" |
| 28 | #include "sdram-micron-mt46h32m32lf-6.h" | 28 | #include "sdram-micron-mt46h32m32lf-6.h" |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index e3a3bad1d84f..56be87d13edb 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
| @@ -302,7 +302,9 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, | |||
| 302 | pwrdm_init(powerdomains_omap); | 302 | pwrdm_init(powerdomains_omap); |
| 303 | clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps); | 303 | clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps); |
| 304 | omap2_clk_init(); | 304 | omap2_clk_init(); |
| 305 | #endif | ||
| 305 | omap_serial_early_init(); | 306 | omap_serial_early_init(); |
| 307 | #ifndef CONFIG_ARCH_OMAP4 | ||
| 306 | omap_hwmod_late_init(); | 308 | omap_hwmod_late_init(); |
| 307 | omap_pm_if_init(); | 309 | omap_pm_if_init(); |
| 308 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); | 310 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); |
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 378c2f618358..89463190923a 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c | |||
| @@ -639,14 +639,15 @@ static void __init prcm_setup_regs(void) | |||
| 639 | prm_write_mod_reg(OMAP3430_IO_EN | OMAP3430_WKUP_EN, | 639 | prm_write_mod_reg(OMAP3430_IO_EN | OMAP3430_WKUP_EN, |
| 640 | OCP_MOD, OMAP3_PRM_IRQENABLE_MPU_OFFSET); | 640 | OCP_MOD, OMAP3_PRM_IRQENABLE_MPU_OFFSET); |
| 641 | 641 | ||
| 642 | /* Enable GPIO wakeups in PER */ | 642 | /* Enable wakeups in PER */ |
| 643 | prm_write_mod_reg(OMAP3430_EN_GPIO2 | OMAP3430_EN_GPIO3 | | 643 | prm_write_mod_reg(OMAP3430_EN_GPIO2 | OMAP3430_EN_GPIO3 | |
| 644 | OMAP3430_EN_GPIO4 | OMAP3430_EN_GPIO5 | | 644 | OMAP3430_EN_GPIO4 | OMAP3430_EN_GPIO5 | |
| 645 | OMAP3430_EN_GPIO6, OMAP3430_PER_MOD, PM_WKEN); | 645 | OMAP3430_EN_GPIO6 | OMAP3430_EN_UART3, |
| 646 | OMAP3430_PER_MOD, PM_WKEN); | ||
| 646 | /* and allow them to wake up MPU */ | 647 | /* and allow them to wake up MPU */ |
| 647 | prm_write_mod_reg(OMAP3430_GRPSEL_GPIO2 | OMAP3430_EN_GPIO3 | | 648 | prm_write_mod_reg(OMAP3430_GRPSEL_GPIO2 | OMAP3430_EN_GPIO3 | |
| 648 | OMAP3430_GRPSEL_GPIO4 | OMAP3430_EN_GPIO5 | | 649 | OMAP3430_GRPSEL_GPIO4 | OMAP3430_EN_GPIO5 | |
| 649 | OMAP3430_GRPSEL_GPIO6, | 650 | OMAP3430_GRPSEL_GPIO6 | OMAP3430_EN_UART3, |
| 650 | OMAP3430_PER_MOD, OMAP3430_PM_MPUGRPSEL); | 651 | OMAP3430_PER_MOD, OMAP3430_PM_MPUGRPSEL); |
| 651 | 652 | ||
| 652 | /* Don't attach IVA interrupts */ | 653 | /* Don't attach IVA interrupts */ |
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index ae2186892c85..54dfeb5d5667 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
| @@ -109,16 +109,6 @@ static struct plat_serial8250_port serial_platform_data2[] = { | |||
| 109 | .regshift = 2, | 109 | .regshift = 2, |
| 110 | .uartclk = OMAP24XX_BASE_BAUD * 16, | 110 | .uartclk = OMAP24XX_BASE_BAUD * 16, |
| 111 | }, { | 111 | }, { |
| 112 | #ifdef CONFIG_ARCH_OMAP4 | ||
| 113 | .membase = OMAP2_IO_ADDRESS(OMAP_UART4_BASE), | ||
| 114 | .mapbase = OMAP_UART4_BASE, | ||
| 115 | .irq = 70, | ||
| 116 | .flags = UPF_BOOT_AUTOCONF, | ||
| 117 | .iotype = UPIO_MEM, | ||
| 118 | .regshift = 2, | ||
| 119 | .uartclk = OMAP24XX_BASE_BAUD * 16, | ||
| 120 | }, { | ||
| 121 | #endif | ||
| 122 | .flags = 0 | 112 | .flags = 0 |
| 123 | } | 113 | } |
| 124 | }; | 114 | }; |
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 0eb676d7e807..b53125f41293 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
| @@ -978,6 +978,14 @@ void omap_stop_dma(int lch) | |||
| 978 | { | 978 | { |
| 979 | u32 l; | 979 | u32 l; |
| 980 | 980 | ||
| 981 | /* Disable all interrupts on the channel */ | ||
| 982 | if (cpu_class_is_omap1()) | ||
| 983 | dma_write(0, CICR(lch)); | ||
| 984 | |||
| 985 | l = dma_read(CCR(lch)); | ||
| 986 | l &= ~OMAP_DMA_CCR_EN; | ||
| 987 | dma_write(l, CCR(lch)); | ||
| 988 | |||
| 981 | if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { | 989 | if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { |
| 982 | int next_lch, cur_lch = lch; | 990 | int next_lch, cur_lch = lch; |
| 983 | char dma_chan_link_map[OMAP_DMA4_LOGICAL_DMA_CH_COUNT]; | 991 | char dma_chan_link_map[OMAP_DMA4_LOGICAL_DMA_CH_COUNT]; |
| @@ -995,18 +1003,8 @@ void omap_stop_dma(int lch) | |||
| 995 | next_lch = dma_chan[cur_lch].next_lch; | 1003 | next_lch = dma_chan[cur_lch].next_lch; |
| 996 | cur_lch = next_lch; | 1004 | cur_lch = next_lch; |
| 997 | } while (next_lch != -1); | 1005 | } while (next_lch != -1); |
| 998 | |||
| 999 | return; | ||
| 1000 | } | 1006 | } |
| 1001 | 1007 | ||
| 1002 | /* Disable all interrupts on the channel */ | ||
| 1003 | if (cpu_class_is_omap1()) | ||
| 1004 | dma_write(0, CICR(lch)); | ||
| 1005 | |||
| 1006 | l = dma_read(CCR(lch)); | ||
| 1007 | l &= ~OMAP_DMA_CCR_EN; | ||
| 1008 | dma_write(l, CCR(lch)); | ||
| 1009 | |||
| 1010 | dma_chan[lch].flags &= ~OMAP_DMA_ACTIVE; | 1008 | dma_chan[lch].flags &= ~OMAP_DMA_ACTIVE; |
| 1011 | } | 1009 | } |
| 1012 | EXPORT_SYMBOL(omap_stop_dma); | 1010 | EXPORT_SYMBOL(omap_stop_dma); |
diff --git a/arch/arm/plat-omap/include/mach/keypad.h b/arch/arm/plat-omap/include/mach/keypad.h index d91b9be334ff..3ae52ccc793c 100644 --- a/arch/arm/plat-omap/include/mach/keypad.h +++ b/arch/arm/plat-omap/include/mach/keypad.h | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | #ifndef ASMARM_ARCH_KEYPAD_H | 10 | #ifndef ASMARM_ARCH_KEYPAD_H |
| 11 | #define ASMARM_ARCH_KEYPAD_H | 11 | #define ASMARM_ARCH_KEYPAD_H |
| 12 | 12 | ||
| 13 | #include <linux/input/matrix_keypad.h> | 13 | #warning: Please update the board to use matrix_keypad.h instead |
| 14 | 14 | ||
| 15 | struct omap_kp_platform_data { | 15 | struct omap_kp_platform_data { |
| 16 | int rows; | 16 | int rows; |
| @@ -37,6 +37,9 @@ struct omap_kp_platform_data { | |||
| 37 | 37 | ||
| 38 | #define KEY_PERSISTENT 0x00800000 | 38 | #define KEY_PERSISTENT 0x00800000 |
| 39 | #define KEYNUM_MASK 0x00EFFFFF | 39 | #define KEYNUM_MASK 0x00EFFFFF |
| 40 | #define KEY(col, row, val) (((col) << 28) | ((row) << 24) | (val)) | ||
| 41 | #define PERSISTENT_KEY(col, row) (((col) << 28) | ((row) << 24) | \ | ||
| 42 | KEY_PERSISTENT) | ||
| 40 | 43 | ||
| 41 | #endif | 44 | #endif |
| 42 | 45 | ||
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c index 4b6012707307..94584f167a82 100644 --- a/arch/arm/plat-omap/iommu.c +++ b/arch/arm/plat-omap/iommu.c | |||
| @@ -664,7 +664,7 @@ static size_t iopgtable_clear_entry_core(struct iommu *obj, u32 da) | |||
| 664 | nent = 1; /* for the next L1 entry */ | 664 | nent = 1; /* for the next L1 entry */ |
| 665 | } else { | 665 | } else { |
| 666 | bytes = IOPGD_SIZE; | 666 | bytes = IOPGD_SIZE; |
| 667 | if (*iopgd & IOPGD_SUPER) { | 667 | if ((*iopgd & IOPGD_SUPER) == IOPGD_SUPER) { |
| 668 | nent *= 16; | 668 | nent *= 16; |
| 669 | /* rewind to the 1st entry */ | 669 | /* rewind to the 1st entry */ |
| 670 | iopgd = (u32 *)((u32)iopgd & IOSUPER_MASK); | 670 | iopgd = (u32 *)((u32)iopgd & IOSUPER_MASK); |
