diff options
Diffstat (limited to 'arch/arm/mach-omap2')
33 files changed, 229 insertions, 121 deletions
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index 8538e4131d27..b857ce484510 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c | |||
@@ -253,8 +253,6 @@ static void __init omap_2430sdp_map_io(void) | |||
253 | 253 | ||
254 | MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board") | 254 | MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board") |
255 | /* Maintainer: Syed Khasim - Texas Instruments Inc */ | 255 | /* Maintainer: Syed Khasim - Texas Instruments Inc */ |
256 | .phys_io = 0x48000000, | ||
257 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
258 | .boot_params = 0x80000100, | 256 | .boot_params = 0x80000100, |
259 | .map_io = omap_2430sdp_map_io, | 257 | .map_io = omap_2430sdp_map_io, |
260 | .reserve = omap_reserve, | 258 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index 67b95b5f1a2f..a5b095cf2adc 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
@@ -817,8 +817,6 @@ static void __init omap_3430sdp_init(void) | |||
817 | 817 | ||
818 | MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board") | 818 | MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board") |
819 | /* Maintainer: Syed Khasim - Texas Instruments Inc */ | 819 | /* Maintainer: Syed Khasim - Texas Instruments Inc */ |
820 | .phys_io = 0x48000000, | ||
821 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
822 | .boot_params = 0x80000100, | 820 | .boot_params = 0x80000100, |
823 | .map_io = omap3_map_io, | 821 | .map_io = omap3_map_io, |
824 | .reserve = omap_reserve, | 822 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c index b359c3f7bb39..fd27ac0860b0 100644 --- a/arch/arm/mach-omap2/board-3630sdp.c +++ b/arch/arm/mach-omap2/board-3630sdp.c | |||
@@ -217,8 +217,6 @@ static void __init omap_sdp_init(void) | |||
217 | } | 217 | } |
218 | 218 | ||
219 | MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board") | 219 | MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board") |
220 | .phys_io = 0x48000000, | ||
221 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
222 | .boot_params = 0x80000100, | 220 | .boot_params = 0x80000100, |
223 | .map_io = omap3_map_io, | 221 | .map_io = omap3_map_io, |
224 | .reserve = omap_reserve, | 222 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 9447644774c2..0b6a65f3a10a 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -458,8 +458,6 @@ static void __init omap_4430sdp_map_io(void) | |||
458 | 458 | ||
459 | MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") | 459 | MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") |
460 | /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */ | 460 | /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */ |
461 | .phys_io = 0x48000000, | ||
462 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
463 | .boot_params = 0x80000100, | 461 | .boot_params = 0x80000100, |
464 | .map_io = omap_4430sdp_map_io, | 462 | .map_io = omap_4430sdp_map_io, |
465 | .reserve = omap_reserve, | 463 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c index 4d0f58592864..d547036aff3f 100644 --- a/arch/arm/mach-omap2/board-am3517evm.c +++ b/arch/arm/mach-omap2/board-am3517evm.c | |||
@@ -375,6 +375,31 @@ static void __init am3517_evm_init_irq(void) | |||
375 | omap_gpio_init(); | 375 | omap_gpio_init(); |
376 | } | 376 | } |
377 | 377 | ||
378 | static struct omap_musb_board_data musb_board_data = { | ||
379 | .interface_type = MUSB_INTERFACE_ULPI, | ||
380 | .mode = MUSB_OTG, | ||
381 | .power = 500, | ||
382 | }; | ||
383 | |||
384 | static __init void am3517_evm_musb_init(void) | ||
385 | { | ||
386 | u32 devconf2; | ||
387 | |||
388 | /* | ||
389 | * Set up USB clock/mode in the DEVCONF2 register. | ||
390 | */ | ||
391 | devconf2 = omap_ctrl_readl(AM35XX_CONTROL_DEVCONF2); | ||
392 | |||
393 | /* USB2.0 PHY reference clock is 13 MHz */ | ||
394 | devconf2 &= ~(CONF2_REFFREQ | CONF2_OTGMODE | CONF2_PHY_GPIOMODE); | ||
395 | devconf2 |= CONF2_REFFREQ_13MHZ | CONF2_SESENDEN | CONF2_VBDTCTEN | ||
396 | | CONF2_DATPOL; | ||
397 | |||
398 | omap_ctrl_writel(devconf2, AM35XX_CONTROL_DEVCONF2); | ||
399 | |||
400 | usb_musb_init(&musb_board_data); | ||
401 | } | ||
402 | |||
378 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 403 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
379 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 404 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
380 | #if defined(CONFIG_PANEL_SHARP_LQ043T1DG01) || \ | 405 | #if defined(CONFIG_PANEL_SHARP_LQ043T1DG01) || \ |
@@ -393,6 +418,8 @@ static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | |||
393 | 418 | ||
394 | #ifdef CONFIG_OMAP_MUX | 419 | #ifdef CONFIG_OMAP_MUX |
395 | static struct omap_board_mux board_mux[] __initdata = { | 420 | static struct omap_board_mux board_mux[] __initdata = { |
421 | /* USB OTG DRVVBUS offset = 0x212 */ | ||
422 | OMAP3_MUX(SAD2D_MCAD23, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
396 | { .reg_offset = OMAP_MUX_TERMINATOR }, | 423 | { .reg_offset = OMAP_MUX_TERMINATOR }, |
397 | }; | 424 | }; |
398 | #else | 425 | #else |
@@ -459,11 +486,12 @@ static void __init am3517_evm_init(void) | |||
459 | ARRAY_SIZE(am3517evm_i2c1_boardinfo)); | 486 | ARRAY_SIZE(am3517evm_i2c1_boardinfo)); |
460 | /*Ethernet*/ | 487 | /*Ethernet*/ |
461 | am3517_evm_ethernet_init(&am3517_evm_emac_pdata); | 488 | am3517_evm_ethernet_init(&am3517_evm_emac_pdata); |
489 | |||
490 | /* MUSB */ | ||
491 | am3517_evm_musb_init(); | ||
462 | } | 492 | } |
463 | 493 | ||
464 | MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM") | 494 | MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM") |
465 | .phys_io = 0x48000000, | ||
466 | .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, | ||
467 | .boot_params = 0x80000100, | 495 | .boot_params = 0x80000100, |
468 | .map_io = omap3_map_io, | 496 | .map_io = omap3_map_io, |
469 | .reserve = omap_reserve, | 497 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index c6421a72514a..68f07f5f441a 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c | |||
@@ -356,8 +356,6 @@ static void __init omap_apollon_map_io(void) | |||
356 | 356 | ||
357 | MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") | 357 | MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") |
358 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ | 358 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ |
359 | .phys_io = 0x48000000, | ||
360 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
361 | .boot_params = 0x80000100, | 359 | .boot_params = 0x80000100, |
362 | .map_io = omap_apollon_map_io, | 360 | .map_io = omap_apollon_map_io, |
363 | .reserve = omap_reserve, | 361 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index e10bc109415c..934d9380c372 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
@@ -809,8 +809,6 @@ static void __init cm_t35_init(void) | |||
809 | } | 809 | } |
810 | 810 | ||
811 | MACHINE_START(CM_T35, "Compulab CM-T35") | 811 | MACHINE_START(CM_T35, "Compulab CM-T35") |
812 | .phys_io = 0x48000000, | ||
813 | .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, | ||
814 | .boot_params = 0x80000100, | 812 | .boot_params = 0x80000100, |
815 | .map_io = omap3_map_io, | 813 | .map_io = omap3_map_io, |
816 | .reserve = omap_reserve, | 814 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index a07086d6a0b2..2205c20a4cdb 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -800,8 +800,6 @@ static void __init devkit8000_init(void) | |||
800 | } | 800 | } |
801 | 801 | ||
802 | MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000") | 802 | MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000") |
803 | .phys_io = 0x48000000, | ||
804 | .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, | ||
805 | .boot_params = 0x80000100, | 803 | .boot_params = 0x80000100, |
806 | .map_io = omap3_map_io, | 804 | .map_io = omap3_map_io, |
807 | .reserve = omap_reserve, | 805 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 3482b99e8c86..69064b1c6a75 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
@@ -54,8 +54,6 @@ static void __init omap_generic_map_io(void) | |||
54 | 54 | ||
55 | MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx") | 55 | MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx") |
56 | /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ | 56 | /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ |
57 | .phys_io = 0x48000000, | ||
58 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
59 | .boot_params = 0x80000100, | 57 | .boot_params = 0x80000100, |
60 | .map_io = omap_generic_map_io, | 58 | .map_io = omap_generic_map_io, |
61 | .reserve = omap_reserve, | 59 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c index e09bd686389f..cc39fc866524 100644 --- a/arch/arm/mach-omap2/board-h4.c +++ b/arch/arm/mach-omap2/board-h4.c | |||
@@ -376,8 +376,6 @@ static void __init omap_h4_map_io(void) | |||
376 | 376 | ||
377 | MACHINE_START(OMAP_H4, "OMAP2420 H4 board") | 377 | MACHINE_START(OMAP_H4, "OMAP2420 H4 board") |
378 | /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ | 378 | /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ |
379 | .phys_io = 0x48000000, | ||
380 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
381 | .boot_params = 0x80000100, | 379 | .boot_params = 0x80000100, |
382 | .map_io = omap_h4_map_io, | 380 | .map_io = omap_h4_map_io, |
383 | .reserve = omap_reserve, | 381 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index 175f04339761..b62a68ba069b 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c | |||
@@ -533,8 +533,6 @@ static void __init igep2_init(void) | |||
533 | } | 533 | } |
534 | 534 | ||
535 | MACHINE_START(IGEP0020, "IGEP v2 board") | 535 | MACHINE_START(IGEP0020, "IGEP v2 board") |
536 | .phys_io = 0x48000000, | ||
537 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
538 | .boot_params = 0x80000100, | 536 | .boot_params = 0x80000100, |
539 | .map_io = omap3_map_io, | 537 | .map_io = omap3_map_io, |
540 | .reserve = omap_reserve, | 538 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index 00d9b13b01c5..f28fd77bceb3 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
@@ -442,8 +442,6 @@ static void __init omap_ldp_init(void) | |||
442 | } | 442 | } |
443 | 443 | ||
444 | MACHINE_START(OMAP_LDP, "OMAP LDP board") | 444 | MACHINE_START(OMAP_LDP, "OMAP LDP board") |
445 | .phys_io = 0x48000000, | ||
446 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
447 | .boot_params = 0x80000100, | 445 | .boot_params = 0x80000100, |
448 | .map_io = omap3_map_io, | 446 | .map_io = omap3_map_io, |
449 | .reserve = omap_reserve, | 447 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c index a3e2b49aa39f..3f7966873507 100644 --- a/arch/arm/mach-omap2/board-n8x0.c +++ b/arch/arm/mach-omap2/board-n8x0.c | |||
@@ -674,8 +674,6 @@ static void __init n8x0_init_machine(void) | |||
674 | } | 674 | } |
675 | 675 | ||
676 | MACHINE_START(NOKIA_N800, "Nokia N800") | 676 | MACHINE_START(NOKIA_N800, "Nokia N800") |
677 | .phys_io = 0x48000000, | ||
678 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
679 | .boot_params = 0x80000100, | 677 | .boot_params = 0x80000100, |
680 | .map_io = n8x0_map_io, | 678 | .map_io = n8x0_map_io, |
681 | .reserve = omap_reserve, | 679 | .reserve = omap_reserve, |
@@ -685,8 +683,6 @@ MACHINE_START(NOKIA_N800, "Nokia N800") | |||
685 | MACHINE_END | 683 | MACHINE_END |
686 | 684 | ||
687 | MACHINE_START(NOKIA_N810, "Nokia N810") | 685 | MACHINE_START(NOKIA_N810, "Nokia N810") |
688 | .phys_io = 0x48000000, | ||
689 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
690 | .boot_params = 0x80000100, | 686 | .boot_params = 0x80000100, |
691 | .map_io = n8x0_map_io, | 687 | .map_io = n8x0_map_io, |
692 | .reserve = omap_reserve, | 688 | .reserve = omap_reserve, |
@@ -696,8 +692,6 @@ MACHINE_START(NOKIA_N810, "Nokia N810") | |||
696 | MACHINE_END | 692 | MACHINE_END |
697 | 693 | ||
698 | MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX") | 694 | MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX") |
699 | .phys_io = 0x48000000, | ||
700 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
701 | .boot_params = 0x80000100, | 695 | .boot_params = 0x80000100, |
702 | .map_io = n8x0_map_io, | 696 | .map_io = n8x0_map_io, |
703 | .reserve = omap_reserve, | 697 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 87969c7df652..9d9f5b881ee8 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -487,8 +487,6 @@ static void __init omap3_beagle_init(void) | |||
487 | 487 | ||
488 | MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") | 488 | MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") |
489 | /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */ | 489 | /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */ |
490 | .phys_io = 0x48000000, | ||
491 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
492 | .boot_params = 0x80000100, | 490 | .boot_params = 0x80000100, |
493 | .map_io = omap3_map_io, | 491 | .map_io = omap3_map_io, |
494 | .reserve = omap_reserve, | 492 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index f76d9c0a47a1..8936e4fba334 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -714,8 +714,6 @@ static void __init omap3_evm_init(void) | |||
714 | 714 | ||
715 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") | 715 | MACHINE_START(OMAP3EVM, "OMAP3 EVM") |
716 | /* Maintainer: Syed Mohammed Khasim - Texas Instruments */ | 716 | /* Maintainer: Syed Mohammed Khasim - Texas Instruments */ |
717 | .phys_io = 0x48000000, | ||
718 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
719 | .boot_params = 0x80000100, | 717 | .boot_params = 0x80000100, |
720 | .map_io = omap3_map_io, | 718 | .map_io = omap3_map_io, |
721 | .reserve = omap_reserve, | 719 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index dd3af2be13be..41d6f549070c 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <linux/spi/ads7846.h> | 25 | #include <linux/spi/ads7846.h> |
26 | #include <linux/regulator/machine.h> | 26 | #include <linux/regulator/machine.h> |
27 | #include <linux/i2c/twl.h> | 27 | #include <linux/i2c/twl.h> |
28 | #include <linux/spi/wl12xx.h> | 28 | #include <linux/wl12xx.h> |
29 | #include <linux/mtd/partitions.h> | 29 | #include <linux/mtd/partitions.h> |
30 | #include <linux/mtd/nand.h> | 30 | #include <linux/mtd/nand.h> |
31 | #include <linux/leds.h> | 31 | #include <linux/leds.h> |
@@ -717,8 +717,6 @@ static void __init omap3pandora_init(void) | |||
717 | } | 717 | } |
718 | 718 | ||
719 | MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console") | 719 | MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console") |
720 | .phys_io = 0x48000000, | ||
721 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
722 | .boot_params = 0x80000100, | 720 | .boot_params = 0x80000100, |
723 | .map_io = omap3_map_io, | 721 | .map_io = omap3_map_io, |
724 | .reserve = omap_reserve, | 722 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c index bcd01d278c65..bc5ac83bd4cf 100644 --- a/arch/arm/mach-omap2/board-omap3stalker.c +++ b/arch/arm/mach-omap2/board-omap3stalker.c | |||
@@ -654,8 +654,6 @@ static void __init omap3_stalker_init(void) | |||
654 | 654 | ||
655 | MACHINE_START(SBC3530, "OMAP3 STALKER") | 655 | MACHINE_START(SBC3530, "OMAP3 STALKER") |
656 | /* Maintainer: Jason Lam -lzg@ema-tech.com */ | 656 | /* Maintainer: Jason Lam -lzg@ema-tech.com */ |
657 | .phys_io = 0x48000000, | ||
658 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
659 | .boot_params = 0x80000100, | 657 | .boot_params = 0x80000100, |
660 | .map_io = omap3_map_io, | 658 | .map_io = omap3_map_io, |
661 | .init_irq = omap3_stalker_init_irq, | 659 | .init_irq = omap3_stalker_init_irq, |
diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c index 663c62d271e8..0e99ce584dbf 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c | |||
@@ -538,8 +538,6 @@ static void __init omap3_touchbook_init(void) | |||
538 | 538 | ||
539 | MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board") | 539 | MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board") |
540 | /* Maintainer: Gregoire Gentil - http://www.alwaysinnovating.com */ | 540 | /* Maintainer: Gregoire Gentil - http://www.alwaysinnovating.com */ |
541 | .phys_io = 0x48000000, | ||
542 | .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, | ||
543 | .boot_params = 0x80000100, | 541 | .boot_params = 0x80000100, |
544 | .map_io = omap3_map_io, | 542 | .map_io = omap3_map_io, |
545 | .reserve = omap_reserve, | 543 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index c03d1d56db56..db69bcadf4c7 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c | |||
@@ -294,8 +294,6 @@ static void __init omap4_panda_map_io(void) | |||
294 | 294 | ||
295 | MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board") | 295 | MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board") |
296 | /* Maintainer: David Anders - Texas Instruments Inc */ | 296 | /* Maintainer: David Anders - Texas Instruments Inc */ |
297 | .phys_io = 0x48000000, | ||
298 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
299 | .boot_params = 0x80000100, | 297 | .boot_params = 0x80000100, |
300 | .map_io = omap4_panda_map_io, | 298 | .map_io = omap4_panda_map_io, |
301 | .init_irq = omap4_panda_init_irq, | 299 | .init_irq = omap4_panda_init_irq, |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 4c4843618350..5e528ca015a1 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -501,8 +501,6 @@ static void __init overo_init(void) | |||
501 | } | 501 | } |
502 | 502 | ||
503 | MACHINE_START(OVERO, "Gumstix Overo") | 503 | MACHINE_START(OVERO, "Gumstix Overo") |
504 | .phys_io = 0x48000000, | ||
505 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
506 | .boot_params = 0x80000100, | 504 | .boot_params = 0x80000100, |
507 | .map_io = omap3_map_io, | 505 | .map_io = omap3_map_io, |
508 | .reserve = omap_reserve, | 506 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 9a5eb87425fc..ce28a851dcd3 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -14,7 +14,7 @@ | |||
14 | #include <linux/input.h> | 14 | #include <linux/input.h> |
15 | #include <linux/input/matrix_keypad.h> | 15 | #include <linux/input/matrix_keypad.h> |
16 | #include <linux/spi/spi.h> | 16 | #include <linux/spi/spi.h> |
17 | #include <linux/spi/wl12xx.h> | 17 | #include <linux/wl12xx.h> |
18 | #include <linux/i2c.h> | 18 | #include <linux/i2c.h> |
19 | #include <linux/i2c/twl.h> | 19 | #include <linux/i2c/twl.h> |
20 | #include <linux/clk.h> | 20 | #include <linux/clk.h> |
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c index a58e8cb1a7fc..36f2cf4efd57 100644 --- a/arch/arm/mach-omap2/board-rx51.c +++ b/arch/arm/mach-omap2/board-rx51.c | |||
@@ -150,8 +150,6 @@ static void __init rx51_map_io(void) | |||
150 | 150 | ||
151 | MACHINE_START(NOKIA_RX51, "Nokia RX-51 board") | 151 | MACHINE_START(NOKIA_RX51, "Nokia RX-51 board") |
152 | /* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */ | 152 | /* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */ |
153 | .phys_io = 0x48000000, | ||
154 | .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc, | ||
155 | .boot_params = 0x80000100, | 153 | .boot_params = 0x80000100, |
156 | .map_io = rx51_map_io, | 154 | .map_io = rx51_map_io, |
157 | .reserve = omap_reserve, | 155 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c index 6b3984964cc5..189a6d1600b2 100644 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c | |||
@@ -16,6 +16,8 @@ | |||
16 | #include <linux/gpio.h> | 16 | #include <linux/gpio.h> |
17 | #include <linux/i2c/twl.h> | 17 | #include <linux/i2c/twl.h> |
18 | #include <linux/regulator/machine.h> | 18 | #include <linux/regulator/machine.h> |
19 | #include <linux/regulator/fixed.h> | ||
20 | #include <linux/wl12xx.h> | ||
19 | 21 | ||
20 | #include <asm/mach-types.h> | 22 | #include <asm/mach-types.h> |
21 | #include <asm/mach/arch.h> | 23 | #include <asm/mach/arch.h> |
@@ -27,6 +29,9 @@ | |||
27 | #include "mux.h" | 29 | #include "mux.h" |
28 | #include "hsmmc.h" | 30 | #include "hsmmc.h" |
29 | 31 | ||
32 | #define OMAP_ZOOM_WLAN_PMENA_GPIO (101) | ||
33 | #define OMAP_ZOOM_WLAN_IRQ_GPIO (162) | ||
34 | |||
30 | /* Zoom2 has Qwerty keyboard*/ | 35 | /* Zoom2 has Qwerty keyboard*/ |
31 | static int board_keymap[] = { | 36 | static int board_keymap[] = { |
32 | KEY(0, 0, KEY_E), | 37 | KEY(0, 0, KEY_E), |
@@ -106,6 +111,11 @@ static struct regulator_consumer_supply zoom_vmmc2_supply = { | |||
106 | .supply = "vmmc", | 111 | .supply = "vmmc", |
107 | }; | 112 | }; |
108 | 113 | ||
114 | static struct regulator_consumer_supply zoom_vmmc3_supply = { | ||
115 | .supply = "vmmc", | ||
116 | .dev_name = "mmci-omap-hs.2", | ||
117 | }; | ||
118 | |||
109 | /* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ | 119 | /* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ |
110 | static struct regulator_init_data zoom_vmmc1 = { | 120 | static struct regulator_init_data zoom_vmmc1 = { |
111 | .constraints = { | 121 | .constraints = { |
@@ -151,6 +161,38 @@ static struct regulator_init_data zoom_vsim = { | |||
151 | .consumer_supplies = &zoom_vsim_supply, | 161 | .consumer_supplies = &zoom_vsim_supply, |
152 | }; | 162 | }; |
153 | 163 | ||
164 | static struct regulator_init_data zoom_vmmc3 = { | ||
165 | .constraints = { | ||
166 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | ||
167 | }, | ||
168 | .num_consumer_supplies = 1, | ||
169 | .consumer_supplies = &zoom_vmmc3_supply, | ||
170 | }; | ||
171 | |||
172 | static struct fixed_voltage_config zoom_vwlan = { | ||
173 | .supply_name = "vwl1271", | ||
174 | .microvolts = 1800000, /* 1.8V */ | ||
175 | .gpio = OMAP_ZOOM_WLAN_PMENA_GPIO, | ||
176 | .startup_delay = 70000, /* 70msec */ | ||
177 | .enable_high = 1, | ||
178 | .enabled_at_boot = 0, | ||
179 | .init_data = &zoom_vmmc3, | ||
180 | }; | ||
181 | |||
182 | static struct platform_device omap_vwlan_device = { | ||
183 | .name = "reg-fixed-voltage", | ||
184 | .id = 1, | ||
185 | .dev = { | ||
186 | .platform_data = &zoom_vwlan, | ||
187 | }, | ||
188 | }; | ||
189 | |||
190 | struct wl12xx_platform_data omap_zoom_wlan_data __initdata = { | ||
191 | .irq = OMAP_GPIO_IRQ(OMAP_ZOOM_WLAN_IRQ_GPIO), | ||
192 | /* ZOOM ref clock is 26 MHz */ | ||
193 | .board_ref_clock = 1, | ||
194 | }; | ||
195 | |||
154 | static struct omap2_hsmmc_info mmc[] __initdata = { | 196 | static struct omap2_hsmmc_info mmc[] __initdata = { |
155 | { | 197 | { |
156 | .name = "external", | 198 | .name = "external", |
@@ -168,6 +210,14 @@ static struct omap2_hsmmc_info mmc[] __initdata = { | |||
168 | .nonremovable = true, | 210 | .nonremovable = true, |
169 | .power_saving = true, | 211 | .power_saving = true, |
170 | }, | 212 | }, |
213 | { | ||
214 | .name = "wl1271", | ||
215 | .mmc = 3, | ||
216 | .caps = MMC_CAP_4_BIT_DATA, | ||
217 | .gpio_wp = -EINVAL, | ||
218 | .gpio_cd = -EINVAL, | ||
219 | .nonremovable = true, | ||
220 | }, | ||
171 | {} /* Terminator */ | 221 | {} /* Terminator */ |
172 | }; | 222 | }; |
173 | 223 | ||
@@ -279,7 +329,11 @@ static void enable_board_wakeup_source(void) | |||
279 | 329 | ||
280 | void __init zoom_peripherals_init(void) | 330 | void __init zoom_peripherals_init(void) |
281 | { | 331 | { |
332 | if (wl12xx_set_platform_data(&omap_zoom_wlan_data)) | ||
333 | pr_err("error setting wl12xx data\n"); | ||
334 | |||
282 | omap_i2c_init(); | 335 | omap_i2c_init(); |
336 | platform_device_register(&omap_vwlan_device); | ||
283 | usb_musb_init(&musb_board_data); | 337 | usb_musb_init(&musb_board_data); |
284 | enable_board_wakeup_source(); | 338 | enable_board_wakeup_source(); |
285 | } | 339 | } |
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c index 3ad9ecf7f5e2..24bbd0def64f 100644 --- a/arch/arm/mach-omap2/board-zoom2.c +++ b/arch/arm/mach-omap2/board-zoom2.c | |||
@@ -141,8 +141,6 @@ static void __init omap_zoom2_init(void) | |||
141 | } | 141 | } |
142 | 142 | ||
143 | MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") | 143 | MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") |
144 | .phys_io = ZOOM_UART_BASE, | ||
145 | .io_pg_offst = (ZOOM_UART_VIRT >> 18) & 0xfffc, | ||
146 | .boot_params = 0x80000100, | 144 | .boot_params = 0x80000100, |
147 | .map_io = omap3_map_io, | 145 | .map_io = omap3_map_io, |
148 | .reserve = omap_reserve, | 146 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c index 6ca0b8341615..b2bb3ff971ac 100644 --- a/arch/arm/mach-omap2/board-zoom3.c +++ b/arch/arm/mach-omap2/board-zoom3.c | |||
@@ -123,8 +123,6 @@ static void __init omap_zoom_init(void) | |||
123 | } | 123 | } |
124 | 124 | ||
125 | MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board") | 125 | MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board") |
126 | .phys_io = ZOOM_UART_BASE, | ||
127 | .io_pg_offst = (ZOOM_UART_VIRT >> 18) & 0xfffc, | ||
128 | .boot_params = 0x80000100, | 126 | .boot_params = 0x80000100, |
129 | .map_io = omap3_map_io, | 127 | .map_io = omap3_map_io, |
130 | .reserve = omap_reserve, | 128 | .reserve = omap_reserve, |
diff --git a/arch/arm/mach-omap2/clock2420_data.c b/arch/arm/mach-omap2/clock2420_data.c index 37d65d62ed8f..5f2066a6ba74 100644 --- a/arch/arm/mach-omap2/clock2420_data.c +++ b/arch/arm/mach-omap2/clock2420_data.c | |||
@@ -1838,7 +1838,7 @@ static struct omap_clk omap2420_clks[] = { | |||
1838 | CLK(NULL, "des_ick", &des_ick, CK_242X), | 1838 | CLK(NULL, "des_ick", &des_ick, CK_242X), |
1839 | CLK("omap-sham", "ick", &sha_ick, CK_242X), | 1839 | CLK("omap-sham", "ick", &sha_ick, CK_242X), |
1840 | CLK("omap_rng", "ick", &rng_ick, CK_242X), | 1840 | CLK("omap_rng", "ick", &rng_ick, CK_242X), |
1841 | CLK(NULL, "aes_ick", &aes_ick, CK_242X), | 1841 | CLK("omap-aes", "ick", &aes_ick, CK_242X), |
1842 | CLK(NULL, "pka_ick", &pka_ick, CK_242X), | 1842 | CLK(NULL, "pka_ick", &pka_ick, CK_242X), |
1843 | CLK(NULL, "usb_fck", &usb_fck, CK_242X), | 1843 | CLK(NULL, "usb_fck", &usb_fck, CK_242X), |
1844 | CLK("musb_hdrc", "fck", &osc_ck, CK_242X), | 1844 | CLK("musb_hdrc", "fck", &osc_ck, CK_242X), |
diff --git a/arch/arm/mach-omap2/clock2430_data.c b/arch/arm/mach-omap2/clock2430_data.c index b33118fb6a87..701a1716019e 100644 --- a/arch/arm/mach-omap2/clock2430_data.c +++ b/arch/arm/mach-omap2/clock2430_data.c | |||
@@ -1926,7 +1926,7 @@ static struct omap_clk omap2430_clks[] = { | |||
1926 | CLK(NULL, "des_ick", &des_ick, CK_243X), | 1926 | CLK(NULL, "des_ick", &des_ick, CK_243X), |
1927 | CLK("omap-sham", "ick", &sha_ick, CK_243X), | 1927 | CLK("omap-sham", "ick", &sha_ick, CK_243X), |
1928 | CLK("omap_rng", "ick", &rng_ick, CK_243X), | 1928 | CLK("omap_rng", "ick", &rng_ick, CK_243X), |
1929 | CLK(NULL, "aes_ick", &aes_ick, CK_243X), | 1929 | CLK("omap-aes", "ick", &aes_ick, CK_243X), |
1930 | CLK(NULL, "pka_ick", &pka_ick, CK_243X), | 1930 | CLK(NULL, "pka_ick", &pka_ick, CK_243X), |
1931 | CLK(NULL, "usb_fck", &usb_fck, CK_243X), | 1931 | CLK(NULL, "usb_fck", &usb_fck, CK_243X), |
1932 | CLK("musb_hdrc", "ick", &usbhs_ick, CK_243X), | 1932 | CLK("musb_hdrc", "ick", &usbhs_ick, CK_243X), |
diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index dfdce2d82779..c73906d17458 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c | |||
@@ -3288,7 +3288,7 @@ static struct omap_clk omap3xxx_clks[] = { | |||
3288 | CLK(NULL, "usbtll_ick", &usbtll_ick, CK_3430ES2 | CK_AM35XX), | 3288 | CLK(NULL, "usbtll_ick", &usbtll_ick, CK_3430ES2 | CK_AM35XX), |
3289 | CLK("mmci-omap-hs.2", "ick", &mmchs3_ick, CK_3430ES2 | CK_AM35XX), | 3289 | CLK("mmci-omap-hs.2", "ick", &mmchs3_ick, CK_3430ES2 | CK_AM35XX), |
3290 | CLK(NULL, "icr_ick", &icr_ick, CK_343X), | 3290 | CLK(NULL, "icr_ick", &icr_ick, CK_343X), |
3291 | CLK(NULL, "aes2_ick", &aes2_ick, CK_343X), | 3291 | CLK("omap-aes", "ick", &aes2_ick, CK_343X), |
3292 | CLK("omap-sham", "ick", &sha12_ick, CK_343X), | 3292 | CLK("omap-sham", "ick", &sha12_ick, CK_343X), |
3293 | CLK(NULL, "des2_ick", &des2_ick, CK_343X), | 3293 | CLK(NULL, "des2_ick", &des2_ick, CK_343X), |
3294 | CLK("mmci-omap-hs.1", "ick", &mmchs2_ick, CK_3XXX), | 3294 | CLK("mmci-omap-hs.1", "ick", &mmchs2_ick, CK_3XXX), |
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 2dbb265bedd4..b27e7cbb3f29 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -498,6 +498,76 @@ static void omap_init_sham(void) | |||
498 | static inline void omap_init_sham(void) { } | 498 | static inline void omap_init_sham(void) { } |
499 | #endif | 499 | #endif |
500 | 500 | ||
501 | #if defined(CONFIG_CRYPTO_DEV_OMAP_AES) || defined(CONFIG_CRYPTO_DEV_OMAP_AES_MODULE) | ||
502 | |||
503 | #ifdef CONFIG_ARCH_OMAP24XX | ||
504 | static struct resource omap2_aes_resources[] = { | ||
505 | { | ||
506 | .start = OMAP24XX_SEC_AES_BASE, | ||
507 | .end = OMAP24XX_SEC_AES_BASE + 0x4C, | ||
508 | .flags = IORESOURCE_MEM, | ||
509 | }, | ||
510 | { | ||
511 | .start = OMAP24XX_DMA_AES_TX, | ||
512 | .flags = IORESOURCE_DMA, | ||
513 | }, | ||
514 | { | ||
515 | .start = OMAP24XX_DMA_AES_RX, | ||
516 | .flags = IORESOURCE_DMA, | ||
517 | } | ||
518 | }; | ||
519 | static int omap2_aes_resources_sz = ARRAY_SIZE(omap2_aes_resources); | ||
520 | #else | ||
521 | #define omap2_aes_resources NULL | ||
522 | #define omap2_aes_resources_sz 0 | ||
523 | #endif | ||
524 | |||
525 | #ifdef CONFIG_ARCH_OMAP34XX | ||
526 | static struct resource omap3_aes_resources[] = { | ||
527 | { | ||
528 | .start = OMAP34XX_SEC_AES_BASE, | ||
529 | .end = OMAP34XX_SEC_AES_BASE + 0x4C, | ||
530 | .flags = IORESOURCE_MEM, | ||
531 | }, | ||
532 | { | ||
533 | .start = OMAP34XX_DMA_AES2_TX, | ||
534 | .flags = IORESOURCE_DMA, | ||
535 | }, | ||
536 | { | ||
537 | .start = OMAP34XX_DMA_AES2_RX, | ||
538 | .flags = IORESOURCE_DMA, | ||
539 | } | ||
540 | }; | ||
541 | static int omap3_aes_resources_sz = ARRAY_SIZE(omap3_aes_resources); | ||
542 | #else | ||
543 | #define omap3_aes_resources NULL | ||
544 | #define omap3_aes_resources_sz 0 | ||
545 | #endif | ||
546 | |||
547 | static struct platform_device aes_device = { | ||
548 | .name = "omap-aes", | ||
549 | .id = -1, | ||
550 | }; | ||
551 | |||
552 | static void omap_init_aes(void) | ||
553 | { | ||
554 | if (cpu_is_omap24xx()) { | ||
555 | aes_device.resource = omap2_aes_resources; | ||
556 | aes_device.num_resources = omap2_aes_resources_sz; | ||
557 | } else if (cpu_is_omap34xx()) { | ||
558 | aes_device.resource = omap3_aes_resources; | ||
559 | aes_device.num_resources = omap3_aes_resources_sz; | ||
560 | } else { | ||
561 | pr_err("%s: platform not supported\n", __func__); | ||
562 | return; | ||
563 | } | ||
564 | platform_device_register(&aes_device); | ||
565 | } | ||
566 | |||
567 | #else | ||
568 | static inline void omap_init_aes(void) { } | ||
569 | #endif | ||
570 | |||
501 | /*-------------------------------------------------------------------------*/ | 571 | /*-------------------------------------------------------------------------*/ |
502 | 572 | ||
503 | #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) | 573 | #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) |
@@ -854,6 +924,7 @@ static int __init omap2_init_devices(void) | |||
854 | omap_hdq_init(); | 924 | omap_hdq_init(); |
855 | omap_init_sti(); | 925 | omap_init_sti(); |
856 | omap_init_sham(); | 926 | omap_init_sham(); |
927 | omap_init_aes(); | ||
857 | omap_init_vout(); | 928 | omap_init_vout(); |
858 | 929 | ||
859 | return 0; | 930 | return 0; |
diff --git a/arch/arm/mach-omap2/hsmmc.h b/arch/arm/mach-omap2/hsmmc.h index 1fe6f0187177..0f8a2e6ee284 100644 --- a/arch/arm/mach-omap2/hsmmc.h +++ b/arch/arm/mach-omap2/hsmmc.h | |||
@@ -23,7 +23,7 @@ struct omap2_hsmmc_info { | |||
23 | char *name; /* or NULL for default */ | 23 | char *name; /* or NULL for default */ |
24 | struct device *dev; /* returned: pointer to mmc adapter */ | 24 | struct device *dev; /* returned: pointer to mmc adapter */ |
25 | int ocr_mask; /* temporary HACK */ | 25 | int ocr_mask; /* temporary HACK */ |
26 | /* Remux (pad configuation) when powering on/off */ | 26 | /* Remux (pad configuration) when powering on/off */ |
27 | void (*remux)(struct device *dev, int slot, int power_on); | 27 | void (*remux)(struct device *dev, int slot, int power_on); |
28 | /* init some special card */ | 28 | /* init some special card */ |
29 | void (*init_card)(struct mmc_card *card); | 29 | void (*init_card)(struct mmc_card *card); |
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S index 09331bbbda52..6a4d4136002e 100644 --- a/arch/arm/mach-omap2/include/mach/debug-macro.S +++ b/arch/arm/mach-omap2/include/mach/debug-macro.S | |||
@@ -31,95 +31,94 @@ omap_uart_lsr: .word 0 | |||
31 | * the desired UART phys and virt addresses temporarily into | 31 | * the desired UART phys and virt addresses temporarily into |
32 | * the omap_uart_phys and omap_uart_virt above. | 32 | * the omap_uart_phys and omap_uart_virt above. |
33 | */ | 33 | */ |
34 | .macro addruart, rx, tmp | 34 | .macro addruart, rp, rv |
35 | 35 | ||
36 | /* Use omap_uart_phys/virt if already configured */ | 36 | /* Use omap_uart_phys/virt if already configured */ |
37 | 10: mrc p15, 0, \rx, c1, c0 | 37 | 10: mrc p15, 0, \rp, c1, c0 |
38 | tst \rx, #1 @ MMU enabled? | 38 | tst \rp, #1 @ MMU enabled? |
39 | ldreq \rx, =__virt_to_phys(omap_uart_phys) @ physical base address | 39 | ldreq \rp, =__virt_to_phys(omap_uart_phys) @ MMU not enabled |
40 | ldrne \rx, =omap_uart_virt @ virtual base address | 40 | ldrne \rp, =omap_uart_phys @ MMU enabled |
41 | ldr \rx, [\rx, #0] | 41 | add \rv, \rp, #4 @ omap_uart_virt |
42 | cmp \rx, #0 @ is port configured? | 42 | ldr \rp, [\rp, #0] |
43 | ldr \rv, [\rv, #0] | ||
44 | cmp \rp, #0 @ is port configured? | ||
45 | cmpne \rv, #0 | ||
43 | bne 99f @ already configured | 46 | bne 99f @ already configured |
44 | 47 | ||
45 | /* Check the debug UART configuration set in uncompress.h */ | 48 | /* Check the debug UART configuration set in uncompress.h */ |
46 | mrc p15, 0, \rx, c1, c0 | 49 | mrc p15, 0, \rp, c1, c0 |
47 | tst \rx, #1 @ MMU enabled? | 50 | tst \rp, #1 @ MMU enabled? |
48 | ldreq \rx, =OMAP_UART_INFO | 51 | ldreq \rp, =OMAP_UART_INFO @ MMU not enabled |
49 | ldrne \rx, =__phys_to_virt(OMAP_UART_INFO) | 52 | ldrne \rp, =__phys_to_virt(OMAP_UART_INFO) @ MMU enabled |
50 | ldr \rx, [\rx, #0] | 53 | ldr \rp, [\rp, #0] |
51 | 54 | ||
52 | /* Select the UART to use based on the UART1 scratchpad value */ | 55 | /* Select the UART to use based on the UART1 scratchpad value */ |
53 | cmp \rx, #0 @ no port configured? | 56 | cmp \rp, #0 @ no port configured? |
54 | beq 21f @ if none, try to use UART1 | 57 | beq 21f @ if none, try to use UART1 |
55 | cmp \rx, #OMAP2UART1 @ OMAP2/3/4UART1 | 58 | cmp \rp, #OMAP2UART1 @ OMAP2/3/4UART1 |
56 | beq 21f @ configure OMAP2/3/4UART1 | 59 | beq 21f @ configure OMAP2/3/4UART1 |
57 | cmp \rx, #OMAP2UART2 @ OMAP2/3/4UART2 | 60 | cmp \rp, #OMAP2UART2 @ OMAP2/3/4UART2 |
58 | beq 22f @ configure OMAP2/3/4UART2 | 61 | beq 22f @ configure OMAP2/3/4UART2 |
59 | cmp \rx, #OMAP2UART3 @ only on 24xx | 62 | cmp \rp, #OMAP2UART3 @ only on 24xx |
60 | beq 23f @ configure OMAP2UART3 | 63 | beq 23f @ configure OMAP2UART3 |
61 | cmp \rx, #OMAP3UART3 @ only on 34xx | 64 | cmp \rp, #OMAP3UART3 @ only on 34xx |
62 | beq 33f @ configure OMAP3UART3 | 65 | beq 33f @ configure OMAP3UART3 |
63 | cmp \rx, #OMAP4UART3 @ only on 44xx | 66 | cmp \rp, #OMAP4UART3 @ only on 44xx |
64 | beq 43f @ configure OMAP4UART3 | 67 | beq 43f @ configure OMAP4UART3 |
65 | cmp \rx, #OMAP3UART4 @ only on 36xx | 68 | cmp \rp, #OMAP3UART4 @ only on 36xx |
66 | beq 34f @ configure OMAP3UART4 | 69 | beq 34f @ configure OMAP3UART4 |
67 | cmp \rx, #OMAP4UART4 @ only on 44xx | 70 | cmp \rp, #OMAP4UART4 @ only on 44xx |
68 | beq 44f @ configure OMAP4UART4 | 71 | beq 44f @ configure OMAP4UART4 |
69 | cmp \rx, #ZOOM_UART @ only on zoom2/3 | 72 | cmp \rp, #ZOOM_UART @ only on zoom2/3 |
70 | beq 95f @ configure ZOOM_UART | 73 | beq 95f @ configure ZOOM_UART |
71 | 74 | ||
72 | /* Configure the UART offset from the phys/virt base */ | 75 | /* Configure the UART offset from the phys/virt base */ |
73 | 21: mov \rx, #UART_OFFSET(OMAP2_UART1_BASE) @ omap2/3/4 | 76 | 21: mov \rp, #UART_OFFSET(OMAP2_UART1_BASE) @ omap2/3/4 |
74 | b 98f | 77 | b 98f |
75 | 22: mov \rx, #UART_OFFSET(OMAP2_UART2_BASE) @ omap2/3/4 | 78 | 22: mov \rp, #UART_OFFSET(OMAP2_UART2_BASE) @ omap2/3/4 |
76 | b 98f | 79 | b 98f |
77 | 23: mov \rx, #UART_OFFSET(OMAP2_UART3_BASE) | 80 | 23: mov \rp, #UART_OFFSET(OMAP2_UART3_BASE) |
78 | b 98f | 81 | b 98f |
79 | 33: mov \rx, #UART_OFFSET(OMAP3_UART1_BASE) | 82 | 33: mov \rp, #UART_OFFSET(OMAP3_UART1_BASE) |
80 | add \rx, \rx, #0x00fb0000 | 83 | add \rp, \rp, #0x00fb0000 |
81 | add \rx, \rx, #0x00006000 @ OMAP3_UART3_BASE | 84 | add \rp, \rp, #0x00006000 @ OMAP3_UART3_BASE |
82 | b 98f | 85 | b 98f |
83 | 34: mov \rx, #UART_OFFSET(OMAP3_UART1_BASE) | 86 | 34: mov \rp, #UART_OFFSET(OMAP3_UART1_BASE) |
84 | add \rx, \rx, #0x00fb0000 | 87 | add \rp, \rp, #0x00fb0000 |
85 | add \rx, \rx, #0x00028000 @ OMAP3_UART4_BASE | 88 | add \rp, \rp, #0x00028000 @ OMAP3_UART4_BASE |
86 | b 98f | 89 | b 98f |
87 | 43: mov \rx, #UART_OFFSET(OMAP4_UART3_BASE) | 90 | 43: mov \rp, #UART_OFFSET(OMAP4_UART3_BASE) |
88 | b 98f | 91 | b 98f |
89 | 44: mov \rx, #UART_OFFSET(OMAP4_UART4_BASE) | 92 | 44: mov \rp, #UART_OFFSET(OMAP4_UART4_BASE) |
90 | b 98f | 93 | b 98f |
91 | 95: ldr \rx, =ZOOM_UART_BASE | 94 | 95: ldr \rp, =ZOOM_UART_BASE |
92 | mrc p15, 0, \tmp, c1, c0 | 95 | mrc p15, 0, \rv, c1, c0 |
93 | tst \tmp, #1 @ MMU enabled? | 96 | tst \rv, #1 @ MMU enabled? |
94 | ldreq \tmp, =__virt_to_phys(omap_uart_phys) | 97 | ldreq \rv, =__virt_to_phys(omap_uart_phys) @ MMU not enabled |
95 | ldrne \tmp, =omap_uart_phys | 98 | ldrne \rv, =omap_uart_phys @ MMU enabled |
96 | str \rx, [\tmp, #0] | 99 | str \rp, [\rv, #0] |
97 | ldr \rx, =ZOOM_UART_VIRT | 100 | ldr \rp, =ZOOM_UART_VIRT |
98 | ldreq \tmp, =__virt_to_phys(omap_uart_virt) | 101 | add \rv, \rv, #4 @ omap_uart_virt |
99 | ldrne \tmp, =omap_uart_virt | 102 | str \rp, [\rv, #0] |
100 | str \rx, [\tmp, #0] | 103 | mov \rp, #(UART_LSR << ZOOM_PORT_SHIFT) |
101 | mov \rx, #(UART_LSR << ZOOM_PORT_SHIFT) | 104 | add \rv, \rv, #4 @ omap_uart_lsr |
102 | ldreq \tmp, =__virt_to_phys(omap_uart_lsr) | 105 | str \rp, [\rv, #0] |
103 | ldrne \tmp, =omap_uart_lsr | ||
104 | str \rx, [\tmp, #0] | ||
105 | b 10b | 106 | b 10b |
106 | 107 | ||
107 | /* Store both phys and virt address for the uart */ | 108 | /* Store both phys and virt address for the uart */ |
108 | 98: add \rx, \rx, #0x48000000 @ phys base | 109 | 98: add \rp, \rp, #0x48000000 @ phys base |
109 | mrc p15, 0, \tmp, c1, c0 | 110 | mrc p15, 0, \rv, c1, c0 |
110 | tst \tmp, #1 @ MMU enabled? | 111 | tst \rv, #1 @ MMU enabled? |
111 | ldreq \tmp, =__virt_to_phys(omap_uart_phys) | 112 | ldreq \rv, =__virt_to_phys(omap_uart_phys) @ MMU not enabled |
112 | ldrne \tmp, =omap_uart_phys | 113 | ldrne \rv, =omap_uart_phys @ MMU enabled |
113 | str \rx, [\tmp, #0] | 114 | str \rp, [\rv, #0] |
114 | sub \rx, \rx, #0x48000000 @ phys base | 115 | sub \rp, \rp, #0x48000000 @ phys base |
115 | add \rx, \rx, #0xfa000000 @ virt base | 116 | add \rp, \rp, #0xfa000000 @ virt base |
116 | ldreq \tmp, =__virt_to_phys(omap_uart_virt) | 117 | add \rv, \rv, #4 @ omap_uart_virt |
117 | ldrne \tmp, =omap_uart_virt | 118 | str \rp, [\rv, #0] |
118 | str \rx, [\tmp, #0] | 119 | mov \rp, #(UART_LSR << OMAP_PORT_SHIFT) |
119 | mov \rx, #(UART_LSR << OMAP_PORT_SHIFT) | 120 | add \rv, \rv, #4 @ omap_uart_lsr |
120 | ldreq \tmp, =__virt_to_phys(omap_uart_lsr) | 121 | str \rp, [\rv, #0] |
121 | ldrne \tmp, =omap_uart_lsr | ||
122 | str \rx, [\tmp, #0] | ||
123 | 122 | ||
124 | b 10b | 123 | b 10b |
125 | 99: | 124 | 99: |
@@ -131,9 +130,9 @@ omap_uart_lsr: .word 0 | |||
131 | 130 | ||
132 | .macro busyuart,rd,rx | 131 | .macro busyuart,rd,rx |
133 | 1001: mrc p15, 0, \rd, c1, c0 | 132 | 1001: mrc p15, 0, \rd, c1, c0 |
134 | tst \rd, #1 @ MMU enabled? | 133 | tst \rd, #1 @ MMU enabled? |
135 | ldreq \rd, =__virt_to_phys(omap_uart_lsr) | 134 | ldreq \rd, =__virt_to_phys(omap_uart_lsr) @ MMU not enabled |
136 | ldrne \rd, =omap_uart_lsr | 135 | ldrne \rd, =omap_uart_lsr @ MMU enabled |
137 | ldr \rd, [\rd, #0] | 136 | ldr \rd, [\rd, #0] |
138 | ldrb \rd, [\rx, \rd] | 137 | ldrb \rd, [\rx, \rd] |
139 | and \rd, \rd, #(UART_LSR_TEMT | UART_LSR_THRE) | 138 | and \rd, \rd, #(UART_LSR_TEMT | UART_LSR_THRE) |
diff --git a/arch/arm/mach-omap2/include/mach/vmalloc.h b/arch/arm/mach-omap2/include/mach/vmalloc.h index 9ce9b6e8ad23..4da31e997efe 100644 --- a/arch/arm/mach-omap2/include/mach/vmalloc.h +++ b/arch/arm/mach-omap2/include/mach/vmalloc.h | |||
@@ -17,4 +17,4 @@ | |||
17 | * along with this program; if not, write to the Free Software | 17 | * along with this program; if not, write to the Free Software |
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | */ | 19 | */ |
20 | #define VMALLOC_END (PAGE_OFFSET + 0x38000000) | 20 | #define VMALLOC_END 0xf8000000 |
diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c index 33a5cde1c227..72605584bfff 100644 --- a/arch/arm/mach-omap2/usb-musb.c +++ b/arch/arm/mach-omap2/usb-musb.c | |||
@@ -28,6 +28,7 @@ | |||
28 | 28 | ||
29 | #include <mach/hardware.h> | 29 | #include <mach/hardware.h> |
30 | #include <mach/irqs.h> | 30 | #include <mach/irqs.h> |
31 | #include <mach/am35xx.h> | ||
31 | #include <plat/usb.h> | 32 | #include <plat/usb.h> |
32 | 33 | ||
33 | #ifdef CONFIG_USB_MUSB_SOC | 34 | #ifdef CONFIG_USB_MUSB_SOC |
@@ -89,6 +90,9 @@ void __init usb_musb_init(struct omap_musb_board_data *board_data) | |||
89 | { | 90 | { |
90 | if (cpu_is_omap243x()) { | 91 | if (cpu_is_omap243x()) { |
91 | musb_resources[0].start = OMAP243X_HS_BASE; | 92 | musb_resources[0].start = OMAP243X_HS_BASE; |
93 | } else if (cpu_is_omap3517() || cpu_is_omap3505()) { | ||
94 | musb_resources[0].start = AM35XX_IPSS_USBOTGSS_BASE; | ||
95 | musb_resources[1].start = INT_35XX_USBOTG_IRQ; | ||
92 | } else if (cpu_is_omap34xx()) { | 96 | } else if (cpu_is_omap34xx()) { |
93 | musb_resources[0].start = OMAP34XX_HSUSB_OTG_BASE; | 97 | musb_resources[0].start = OMAP34XX_HSUSB_OTG_BASE; |
94 | } else if (cpu_is_omap44xx()) { | 98 | } else if (cpu_is_omap44xx()) { |