diff options
author | Jiri Kosina <jkosina@suse.cz> | 2011-11-13 14:55:35 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-11-13 14:55:53 -0500 |
commit | 2290c0d06d82faee87b1ab2d9d4f7bf81ef64379 (patch) | |
tree | e075e4d5534193f28e6059904f61e5ca03958d3c /arch/arm/mach-pxa | |
parent | 4da669a2e3e5bc70b30a0465f3641528681b5f77 (diff) | |
parent | 52e4c2a05256cb83cda12f3c2137ab1533344edb (diff) |
Merge branch 'master' into for-next
Sync with Linus tree to have 157550ff ("mtd: add GPMI-NAND driver
in the config and Makefile") as I have patch depending on that one.
Diffstat (limited to 'arch/arm/mach-pxa')
81 files changed, 352 insertions, 288 deletions
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index cd19309fd3b8..61d3c72ded84 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
@@ -2,6 +2,27 @@ if ARCH_PXA | |||
2 | 2 | ||
3 | menu "Intel PXA2xx/PXA3xx Implementations" | 3 | menu "Intel PXA2xx/PXA3xx Implementations" |
4 | 4 | ||
5 | config ARCH_PXA_V7 | ||
6 | bool "ARMv7 (PXA95x) based systems" | ||
7 | |||
8 | if ARCH_PXA_V7 | ||
9 | comment "Marvell Dev Platforms (sorted by hardware release time)" | ||
10 | config MACH_TAVOREVB3 | ||
11 | bool "PXA95x Development Platform (aka TavorEVB III)" | ||
12 | select CPU_PXA955 | ||
13 | |||
14 | config MACH_SAARB | ||
15 | bool "PXA955 Handheld Platform (aka SAARB)" | ||
16 | select CPU_PXA955 | ||
17 | endif | ||
18 | |||
19 | config PXA_V7_MACH_AUTO | ||
20 | def_bool y | ||
21 | depends on ARCH_PXA_V7 | ||
22 | depends on !MACH_SAARB | ||
23 | select MACH_TAVOREVB3 | ||
24 | |||
25 | if !ARCH_PXA_V7 | ||
5 | comment "Intel/Marvell Dev Platforms (sorted by hardware release time)" | 26 | comment "Intel/Marvell Dev Platforms (sorted by hardware release time)" |
6 | 27 | ||
7 | config ARCH_LUBBOCK | 28 | config ARCH_LUBBOCK |
@@ -41,19 +62,11 @@ config MACH_TAVOREVB | |||
41 | select PXA3xx | 62 | select PXA3xx |
42 | select CPU_PXA930 | 63 | select CPU_PXA930 |
43 | 64 | ||
44 | config MACH_TAVOREVB3 | ||
45 | bool "PXA95x Development Platform (aka TavorEVB III)" | ||
46 | select CPU_PXA950 | ||
47 | |||
48 | config MACH_SAAR | 65 | config MACH_SAAR |
49 | bool "PXA930 Handheld Platform (aka SAAR)" | 66 | bool "PXA930 Handheld Platform (aka SAAR)" |
50 | select PXA3xx | 67 | select PXA3xx |
51 | select CPU_PXA930 | 68 | select CPU_PXA930 |
52 | 69 | ||
53 | config MACH_SAARB | ||
54 | bool "PXA955 Handheld Platform (aka SAARB)" | ||
55 | select CPU_PXA955 | ||
56 | |||
57 | comment "Third Party Dev Platforms (sorted by vendor name)" | 70 | comment "Third Party Dev Platforms (sorted by vendor name)" |
58 | 71 | ||
59 | config ARCH_PXA_IDP | 72 | config ARCH_PXA_IDP |
@@ -414,6 +427,7 @@ config MACH_CENTRO | |||
414 | bool "Palm Centro 685 (GSM)" | 427 | bool "Palm Centro 685 (GSM)" |
415 | default y | 428 | default y |
416 | depends on ARCH_PXA_PALM | 429 | depends on ARCH_PXA_PALM |
430 | select MACH_PALM27X | ||
417 | select PXA27x | 431 | select PXA27x |
418 | select IWMMXT | 432 | select IWMMXT |
419 | select PALM_TREO | 433 | select PALM_TREO |
@@ -425,6 +439,7 @@ config MACH_TREO680 | |||
425 | bool "Palm Treo 680" | 439 | bool "Palm Treo 680" |
426 | default y | 440 | default y |
427 | depends on ARCH_PXA_PALM | 441 | depends on ARCH_PXA_PALM |
442 | select MACH_PALM27X | ||
428 | select PXA27x | 443 | select PXA27x |
429 | select IWMMXT | 444 | select IWMMXT |
430 | select PALM_TREO | 445 | select PALM_TREO |
@@ -436,15 +451,18 @@ config MACH_RAUMFELD_RC | |||
436 | bool "Raumfeld Controller" | 451 | bool "Raumfeld Controller" |
437 | select PXA3xx | 452 | select PXA3xx |
438 | select CPU_PXA300 | 453 | select CPU_PXA300 |
454 | select POWER_SUPPLY | ||
439 | select HAVE_PWM | 455 | select HAVE_PWM |
440 | 456 | ||
441 | config MACH_RAUMFELD_CONNECTOR | 457 | config MACH_RAUMFELD_CONNECTOR |
442 | bool "Raumfeld Connector" | 458 | bool "Raumfeld Connector" |
459 | select POWER_SUPPLY | ||
443 | select PXA3xx | 460 | select PXA3xx |
444 | select CPU_PXA300 | 461 | select CPU_PXA300 |
445 | 462 | ||
446 | config MACH_RAUMFELD_SPEAKER | 463 | config MACH_RAUMFELD_SPEAKER |
447 | bool "Raumfeld Speaker" | 464 | bool "Raumfeld Speaker" |
465 | select POWER_SUPPLY | ||
448 | select PXA3xx | 466 | select PXA3xx |
449 | select CPU_PXA300 | 467 | select CPU_PXA300 |
450 | 468 | ||
@@ -598,7 +616,7 @@ config MACH_ZIPIT2 | |||
598 | bool "Zipit Z2 Handheld" | 616 | bool "Zipit Z2 Handheld" |
599 | select PXA27x | 617 | select PXA27x |
600 | select HAVE_PWM | 618 | select HAVE_PWM |
601 | 619 | endif | |
602 | endmenu | 620 | endmenu |
603 | 621 | ||
604 | config PXA25x | 622 | config PXA25x |
@@ -688,6 +706,8 @@ config SHARPSL_PM | |||
688 | config SHARPSL_PM_MAX1111 | 706 | config SHARPSL_PM_MAX1111 |
689 | bool | 707 | bool |
690 | select HWMON | 708 | select HWMON |
709 | select SPI | ||
710 | select SPI_MASTER | ||
691 | select SENSORS_MAX1111 | 711 | select SENSORS_MAX1111 |
692 | 712 | ||
693 | config PXA_HAVE_ISA_IRQS | 713 | config PXA_HAVE_ISA_IRQS |
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index cc39d17b2e07..be0f7df8685c 100644 --- a/arch/arm/mach-pxa/Makefile +++ b/arch/arm/mach-pxa/Makefile | |||
@@ -19,7 +19,7 @@ endif | |||
19 | obj-$(CONFIG_PXA25x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa25x.o | 19 | obj-$(CONFIG_PXA25x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa25x.o |
20 | obj-$(CONFIG_PXA27x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa27x.o | 20 | obj-$(CONFIG_PXA27x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa27x.o |
21 | obj-$(CONFIG_PXA3xx) += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o smemc.o pxa3xx-ulpi.o | 21 | obj-$(CONFIG_PXA3xx) += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o smemc.o pxa3xx-ulpi.o |
22 | obj-$(CONFIG_PXA95x) += mfp-pxa3xx.o clock-pxa3xx.o pxa95x.o smemc.o | 22 | obj-$(CONFIG_PXA95x) += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o pxa95x.o smemc.o |
23 | obj-$(CONFIG_CPU_PXA300) += pxa300.o | 23 | obj-$(CONFIG_CPU_PXA300) += pxa300.o |
24 | obj-$(CONFIG_CPU_PXA320) += pxa320.o | 24 | obj-$(CONFIG_CPU_PXA320) += pxa320.o |
25 | obj-$(CONFIG_CPU_PXA930) += pxa930.o | 25 | obj-$(CONFIG_CPU_PXA930) += pxa930.o |
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c index ef3e8b1e06c1..fc0b8544e174 100644 --- a/arch/arm/mach-pxa/balloon3.c +++ b/arch/arm/mach-pxa/balloon3.c | |||
@@ -591,7 +591,7 @@ static void balloon3_nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ct | |||
591 | BALLOON3_NAND_CONTROL_REG); | 591 | BALLOON3_NAND_CONTROL_REG); |
592 | if (balloon3_ctl_set) | 592 | if (balloon3_ctl_set) |
593 | __raw_writel(balloon3_ctl_set, | 593 | __raw_writel(balloon3_ctl_set, |
594 | BALLOON3_NAND_CONTROL_REG | | 594 | BALLOON3_NAND_CONTROL_REG + |
595 | BALLOON3_FPGA_SETnCLR); | 595 | BALLOON3_FPGA_SETnCLR); |
596 | } | 596 | } |
597 | 597 | ||
@@ -608,7 +608,7 @@ static void balloon3_nand_select_chip(struct mtd_info *mtd, int chip) | |||
608 | __raw_writew( | 608 | __raw_writew( |
609 | BALLOON3_NAND_CONTROL_FLCE0 | BALLOON3_NAND_CONTROL_FLCE1 | | 609 | BALLOON3_NAND_CONTROL_FLCE0 | BALLOON3_NAND_CONTROL_FLCE1 | |
610 | BALLOON3_NAND_CONTROL_FLCE2 | BALLOON3_NAND_CONTROL_FLCE3, | 610 | BALLOON3_NAND_CONTROL_FLCE2 | BALLOON3_NAND_CONTROL_FLCE3, |
611 | BALLOON3_NAND_CONTROL_REG | BALLOON3_FPGA_SETnCLR); | 611 | BALLOON3_NAND_CONTROL_REG + BALLOON3_FPGA_SETnCLR); |
612 | 612 | ||
613 | /* Deassert correct nCE line */ | 613 | /* Deassert correct nCE line */ |
614 | __raw_writew(BALLOON3_NAND_CONTROL_FLCE0 << chip, | 614 | __raw_writew(BALLOON3_NAND_CONTROL_FLCE0 << chip, |
@@ -626,7 +626,7 @@ static int balloon3_nand_probe(struct platform_device *pdev) | |||
626 | int ret; | 626 | int ret; |
627 | 627 | ||
628 | __raw_writew(BALLOON3_NAND_CONTROL2_16BIT, | 628 | __raw_writew(BALLOON3_NAND_CONTROL2_16BIT, |
629 | BALLOON3_NAND_CONTROL2_REG | BALLOON3_FPGA_SETnCLR); | 629 | BALLOON3_NAND_CONTROL2_REG + BALLOON3_FPGA_SETnCLR); |
630 | 630 | ||
631 | ver = __raw_readw(BALLOON3_FPGA_VER); | 631 | ver = __raw_readw(BALLOON3_FPGA_VER); |
632 | if (ver < 0x4f08) | 632 | if (ver < 0x4f08) |
@@ -649,7 +649,7 @@ static int balloon3_nand_probe(struct platform_device *pdev) | |||
649 | BALLOON3_NAND_CONTROL_FLCE0 | BALLOON3_NAND_CONTROL_FLCE1 | | 649 | BALLOON3_NAND_CONTROL_FLCE0 | BALLOON3_NAND_CONTROL_FLCE1 | |
650 | BALLOON3_NAND_CONTROL_FLCE2 | BALLOON3_NAND_CONTROL_FLCE3 | | 650 | BALLOON3_NAND_CONTROL_FLCE2 | BALLOON3_NAND_CONTROL_FLCE3 | |
651 | BALLOON3_NAND_CONTROL_FLWP, | 651 | BALLOON3_NAND_CONTROL_FLWP, |
652 | BALLOON3_NAND_CONTROL_REG | BALLOON3_FPGA_SETnCLR); | 652 | BALLOON3_NAND_CONTROL_REG + BALLOON3_FPGA_SETnCLR); |
653 | return 0; | 653 | return 0; |
654 | 654 | ||
655 | err2: | 655 | err2: |
@@ -807,7 +807,7 @@ static void __init balloon3_init(void) | |||
807 | 807 | ||
808 | static struct map_desc balloon3_io_desc[] __initdata = { | 808 | static struct map_desc balloon3_io_desc[] __initdata = { |
809 | { /* CPLD/FPGA */ | 809 | { /* CPLD/FPGA */ |
810 | .virtual = BALLOON3_FPGA_VIRT, | 810 | .virtual = (unsigned long)BALLOON3_FPGA_VIRT, |
811 | .pfn = __phys_to_pfn(BALLOON3_FPGA_PHYS), | 811 | .pfn = __phys_to_pfn(BALLOON3_FPGA_PHYS), |
812 | .length = BALLOON3_FPGA_LENGTH, | 812 | .length = BALLOON3_FPGA_LENGTH, |
813 | .type = MT_DEVICE, | 813 | .type = MT_DEVICE, |
@@ -828,5 +828,5 @@ MACHINE_START(BALLOON3, "Balloon3") | |||
828 | .handle_irq = pxa27x_handle_irq, | 828 | .handle_irq = pxa27x_handle_irq, |
829 | .timer = &pxa_timer, | 829 | .timer = &pxa_timer, |
830 | .init_machine = balloon3_init, | 830 | .init_machine = balloon3_init, |
831 | .boot_params = PLAT_PHYS_OFFSET + 0x100, | 831 | .atag_offset = 0x100, |
832 | MACHINE_END | 832 | MACHINE_END |
diff --git a/arch/arm/mach-pxa/capc7117.c b/arch/arm/mach-pxa/capc7117.c index 648b0ab2bf77..4efc16d39c79 100644 --- a/arch/arm/mach-pxa/capc7117.c +++ b/arch/arm/mach-pxa/capc7117.c | |||
@@ -148,7 +148,7 @@ static void __init capc7117_init(void) | |||
148 | 148 | ||
149 | MACHINE_START(CAPC7117, | 149 | MACHINE_START(CAPC7117, |
150 | "Embedian CAPC-7117 evaluation kit based on the MXM-8x10 CoM") | 150 | "Embedian CAPC-7117 evaluation kit based on the MXM-8x10 CoM") |
151 | .boot_params = 0xa0000100, | 151 | .atag_offset = 0x100, |
152 | .map_io = pxa3xx_map_io, | 152 | .map_io = pxa3xx_map_io, |
153 | .init_irq = pxa3xx_init_irq, | 153 | .init_irq = pxa3xx_init_irq, |
154 | .handle_irq = pxa3xx_handle_irq, | 154 | .handle_irq = pxa3xx_handle_irq, |
diff --git a/arch/arm/mach-pxa/cm-x255.c b/arch/arm/mach-pxa/cm-x255.c index 93f59f877fc6..be751470d37b 100644 --- a/arch/arm/mach-pxa/cm-x255.c +++ b/arch/arm/mach-pxa/cm-x255.c | |||
@@ -11,7 +11,6 @@ | |||
11 | 11 | ||
12 | #include <linux/platform_device.h> | 12 | #include <linux/platform_device.h> |
13 | #include <linux/irq.h> | 13 | #include <linux/irq.h> |
14 | #include <linux/gpio.h> | ||
15 | #include <linux/mtd/partitions.h> | 14 | #include <linux/mtd/partitions.h> |
16 | #include <linux/mtd/physmap.h> | 15 | #include <linux/mtd/physmap.h> |
17 | #include <linux/mtd/nand-gpio.h> | 16 | #include <linux/mtd/nand-gpio.h> |
diff --git a/arch/arm/mach-pxa/cm-x2xx-pci.c b/arch/arm/mach-pxa/cm-x2xx-pci.c index 6bf479d9b5ac..ebd9259f5ac9 100644 --- a/arch/arm/mach-pxa/cm-x2xx-pci.c +++ b/arch/arm/mach-pxa/cm-x2xx-pci.c | |||
@@ -26,7 +26,7 @@ | |||
26 | 26 | ||
27 | #include <asm/hardware/it8152.h> | 27 | #include <asm/hardware/it8152.h> |
28 | 28 | ||
29 | unsigned long it8152_base_address; | 29 | void __iomem *it8152_base_address; |
30 | static int cmx2xx_it8152_irq_gpio; | 30 | static int cmx2xx_it8152_irq_gpio; |
31 | 31 | ||
32 | static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc) | 32 | static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc) |
diff --git a/arch/arm/mach-pxa/cm-x2xx.c b/arch/arm/mach-pxa/cm-x2xx.c index 13cf518bbbf8..f2e4190080cb 100644 --- a/arch/arm/mach-pxa/cm-x2xx.c +++ b/arch/arm/mach-pxa/cm-x2xx.c | |||
@@ -39,7 +39,7 @@ extern void cmx270_init(void); | |||
39 | #define CMX2XX_NR_IRQS (IRQ_BOARD_START + 40) | 39 | #define CMX2XX_NR_IRQS (IRQ_BOARD_START + 40) |
40 | 40 | ||
41 | /* virtual addresses for statically mapped regions */ | 41 | /* virtual addresses for statically mapped regions */ |
42 | #define CMX2XX_VIRT_BASE (0xe8000000) | 42 | #define CMX2XX_VIRT_BASE (void __iomem *)(0xe8000000) |
43 | #define CMX2XX_IT8152_VIRT (CMX2XX_VIRT_BASE) | 43 | #define CMX2XX_IT8152_VIRT (CMX2XX_VIRT_BASE) |
44 | 44 | ||
45 | /* physical address if local-bus attached devices */ | 45 | /* physical address if local-bus attached devices */ |
@@ -482,7 +482,7 @@ static void __init cmx2xx_init_irq(void) | |||
482 | /* Map PCI companion statically */ | 482 | /* Map PCI companion statically */ |
483 | static struct map_desc cmx2xx_io_desc[] __initdata = { | 483 | static struct map_desc cmx2xx_io_desc[] __initdata = { |
484 | [0] = { /* PCI bridge */ | 484 | [0] = { /* PCI bridge */ |
485 | .virtual = CMX2XX_IT8152_VIRT, | 485 | .virtual = (unsigned long)CMX2XX_IT8152_VIRT, |
486 | .pfn = __phys_to_pfn(PXA_CS4_PHYS), | 486 | .pfn = __phys_to_pfn(PXA_CS4_PHYS), |
487 | .length = SZ_64M, | 487 | .length = SZ_64M, |
488 | .type = MT_DEVICE | 488 | .type = MT_DEVICE |
@@ -513,7 +513,7 @@ static void __init cmx2xx_map_io(void) | |||
513 | #endif | 513 | #endif |
514 | 514 | ||
515 | MACHINE_START(ARMCORE, "Compulab CM-X2XX") | 515 | MACHINE_START(ARMCORE, "Compulab CM-X2XX") |
516 | .boot_params = 0xa0000100, | 516 | .atag_offset = 0x100, |
517 | .map_io = cmx2xx_map_io, | 517 | .map_io = cmx2xx_map_io, |
518 | .nr_irqs = CMX2XX_NR_IRQS, | 518 | .nr_irqs = CMX2XX_NR_IRQS, |
519 | .init_irq = cmx2xx_init_irq, | 519 | .init_irq = cmx2xx_init_irq, |
diff --git a/arch/arm/mach-pxa/cm-x300.c b/arch/arm/mach-pxa/cm-x300.c index d940e8a72270..e096bba8fd57 100644 --- a/arch/arm/mach-pxa/cm-x300.c +++ b/arch/arm/mach-pxa/cm-x300.c | |||
@@ -424,8 +424,9 @@ static struct mtd_partition cm_x300_nand_partitions[] = { | |||
424 | static struct pxa3xx_nand_platform_data cm_x300_nand_info = { | 424 | static struct pxa3xx_nand_platform_data cm_x300_nand_info = { |
425 | .enable_arbiter = 1, | 425 | .enable_arbiter = 1, |
426 | .keep_config = 1, | 426 | .keep_config = 1, |
427 | .parts = cm_x300_nand_partitions, | 427 | .num_cs = 1, |
428 | .nr_parts = ARRAY_SIZE(cm_x300_nand_partitions), | 428 | .parts[0] = cm_x300_nand_partitions, |
429 | .nr_parts[0] = ARRAY_SIZE(cm_x300_nand_partitions), | ||
429 | }; | 430 | }; |
430 | 431 | ||
431 | static void __init cm_x300_init_nand(void) | 432 | static void __init cm_x300_init_nand(void) |
@@ -775,7 +776,6 @@ static struct gpio cm_x300_wi2wi_gpios[] __initdata = { | |||
775 | 776 | ||
776 | static void __init cm_x300_init_wi2wi(void) | 777 | static void __init cm_x300_init_wi2wi(void) |
777 | { | 778 | { |
778 | int bt_reset, wlan_en; | ||
779 | int err; | 779 | int err; |
780 | 780 | ||
781 | if (system_rev < 130) { | 781 | if (system_rev < 130) { |
@@ -791,12 +791,11 @@ static void __init cm_x300_init_wi2wi(void) | |||
791 | } | 791 | } |
792 | 792 | ||
793 | udelay(10); | 793 | udelay(10); |
794 | gpio_set_value(bt_reset, 0); | 794 | gpio_set_value(cm_x300_wi2wi_gpios[1].gpio, 0); |
795 | udelay(10); | 795 | udelay(10); |
796 | gpio_set_value(bt_reset, 1); | 796 | gpio_set_value(cm_x300_wi2wi_gpios[1].gpio, 1); |
797 | 797 | ||
798 | gpio_free(wlan_en); | 798 | gpio_free_array(ARRAY_AND_SIZE(cm_x300_wi2wi_gpios)); |
799 | gpio_free(bt_reset); | ||
800 | } | 799 | } |
801 | 800 | ||
802 | /* MFP */ | 801 | /* MFP */ |
@@ -852,7 +851,7 @@ static void __init cm_x300_fixup(struct tag *tags, char **cmdline, | |||
852 | } | 851 | } |
853 | 852 | ||
854 | MACHINE_START(CM_X300, "CM-X300 module") | 853 | MACHINE_START(CM_X300, "CM-X300 module") |
855 | .boot_params = 0xa0000100, | 854 | .atag_offset = 0x100, |
856 | .map_io = pxa3xx_map_io, | 855 | .map_io = pxa3xx_map_io, |
857 | .init_irq = pxa3xx_init_irq, | 856 | .init_irq = pxa3xx_init_irq, |
858 | .handle_irq = pxa3xx_handle_irq, | 857 | .handle_irq = pxa3xx_handle_irq, |
diff --git a/arch/arm/mach-pxa/colibri-pxa270.c b/arch/arm/mach-pxa/colibri-pxa270.c index 870920934ecf..05bfa1b1c001 100644 --- a/arch/arm/mach-pxa/colibri-pxa270.c +++ b/arch/arm/mach-pxa/colibri-pxa270.c | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/interrupt.h> | 14 | #include <linux/interrupt.h> |
15 | #include <linux/moduleparam.h> | ||
15 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
16 | #include <linux/mtd/mtd.h> | 17 | #include <linux/mtd/mtd.h> |
17 | #include <linux/mtd/partitions.h> | 18 | #include <linux/mtd/partitions.h> |
@@ -306,7 +307,7 @@ static void __init colibri_pxa270_income_init(void) | |||
306 | } | 307 | } |
307 | 308 | ||
308 | MACHINE_START(COLIBRI, "Toradex Colibri PXA270") | 309 | MACHINE_START(COLIBRI, "Toradex Colibri PXA270") |
309 | .boot_params = COLIBRI_SDRAM_BASE + 0x100, | 310 | .atag_offset = 0x100, |
310 | .init_machine = colibri_pxa270_init, | 311 | .init_machine = colibri_pxa270_init, |
311 | .map_io = pxa27x_map_io, | 312 | .map_io = pxa27x_map_io, |
312 | .init_irq = pxa27x_init_irq, | 313 | .init_irq = pxa27x_init_irq, |
@@ -315,7 +316,7 @@ MACHINE_START(COLIBRI, "Toradex Colibri PXA270") | |||
315 | MACHINE_END | 316 | MACHINE_END |
316 | 317 | ||
317 | MACHINE_START(INCOME, "Income s.r.o. SH-Dmaster PXA270 SBC") | 318 | MACHINE_START(INCOME, "Income s.r.o. SH-Dmaster PXA270 SBC") |
318 | .boot_params = 0xa0000100, | 319 | .atag_offset = 0x100, |
319 | .init_machine = colibri_pxa270_income_init, | 320 | .init_machine = colibri_pxa270_income_init, |
320 | .map_io = pxa27x_map_io, | 321 | .map_io = pxa27x_map_io, |
321 | .init_irq = pxa27x_init_irq, | 322 | .init_irq = pxa27x_init_irq, |
diff --git a/arch/arm/mach-pxa/colibri-pxa300.c b/arch/arm/mach-pxa/colibri-pxa300.c index 60a6781e7a8e..c825e8bf2db1 100644 --- a/arch/arm/mach-pxa/colibri-pxa300.c +++ b/arch/arm/mach-pxa/colibri-pxa300.c | |||
@@ -183,7 +183,7 @@ void __init colibri_pxa300_init(void) | |||
183 | } | 183 | } |
184 | 184 | ||
185 | MACHINE_START(COLIBRI300, "Toradex Colibri PXA300") | 185 | MACHINE_START(COLIBRI300, "Toradex Colibri PXA300") |
186 | .boot_params = COLIBRI_SDRAM_BASE + 0x100, | 186 | .atag_offset = 0x100, |
187 | .init_machine = colibri_pxa300_init, | 187 | .init_machine = colibri_pxa300_init, |
188 | .map_io = pxa3xx_map_io, | 188 | .map_io = pxa3xx_map_io, |
189 | .init_irq = pxa3xx_init_irq, | 189 | .init_irq = pxa3xx_init_irq, |
diff --git a/arch/arm/mach-pxa/colibri-pxa320.c b/arch/arm/mach-pxa/colibri-pxa320.c index d2c6631915d4..692e1ffc5586 100644 --- a/arch/arm/mach-pxa/colibri-pxa320.c +++ b/arch/arm/mach-pxa/colibri-pxa320.c | |||
@@ -253,7 +253,7 @@ void __init colibri_pxa320_init(void) | |||
253 | } | 253 | } |
254 | 254 | ||
255 | MACHINE_START(COLIBRI320, "Toradex Colibri PXA320") | 255 | MACHINE_START(COLIBRI320, "Toradex Colibri PXA320") |
256 | .boot_params = COLIBRI_SDRAM_BASE + 0x100, | 256 | .atag_offset = 0x100, |
257 | .init_machine = colibri_pxa320_init, | 257 | .init_machine = colibri_pxa320_init, |
258 | .map_io = pxa3xx_map_io, | 258 | .map_io = pxa3xx_map_io, |
259 | .init_irq = pxa3xx_init_irq, | 259 | .init_irq = pxa3xx_init_irq, |
diff --git a/arch/arm/mach-pxa/colibri-pxa3xx.c b/arch/arm/mach-pxa/colibri-pxa3xx.c index 3f9be419959d..2b8ca0de8a3d 100644 --- a/arch/arm/mach-pxa/colibri-pxa3xx.c +++ b/arch/arm/mach-pxa/colibri-pxa3xx.c | |||
@@ -139,8 +139,9 @@ static struct mtd_partition colibri_nand_partitions[] = { | |||
139 | static struct pxa3xx_nand_platform_data colibri_nand_info = { | 139 | static struct pxa3xx_nand_platform_data colibri_nand_info = { |
140 | .enable_arbiter = 1, | 140 | .enable_arbiter = 1, |
141 | .keep_config = 1, | 141 | .keep_config = 1, |
142 | .parts = colibri_nand_partitions, | 142 | .num_cs = 1, |
143 | .nr_parts = ARRAY_SIZE(colibri_nand_partitions), | 143 | .parts[0] = colibri_nand_partitions, |
144 | .nr_parts[0] = ARRAY_SIZE(colibri_nand_partitions), | ||
144 | }; | 145 | }; |
145 | 146 | ||
146 | void __init colibri_pxa3xx_init_nand(void) | 147 | void __init colibri_pxa3xx_init_nand(void) |
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index 3e9483b06053..549468d088b9 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/spi/pxa2xx_spi.h> | 32 | #include <linux/spi/pxa2xx_spi.h> |
33 | #include <linux/mtd/sharpsl.h> | 33 | #include <linux/mtd/sharpsl.h> |
34 | #include <linux/input/matrix_keypad.h> | 34 | #include <linux/input/matrix_keypad.h> |
35 | #include <linux/module.h> | ||
35 | #include <video/w100fb.h> | 36 | #include <video/w100fb.h> |
36 | 37 | ||
37 | #include <asm/setup.h> | 38 | #include <asm/setup.h> |
diff --git a/arch/arm/mach-pxa/csb726.c b/arch/arm/mach-pxa/csb726.c index fe812eafb1f1..5e2cf39e9e4c 100644 --- a/arch/arm/mach-pxa/csb726.c +++ b/arch/arm/mach-pxa/csb726.c | |||
@@ -272,7 +272,7 @@ static void __init csb726_init(void) | |||
272 | } | 272 | } |
273 | 273 | ||
274 | MACHINE_START(CSB726, "Cogent CSB726") | 274 | MACHINE_START(CSB726, "Cogent CSB726") |
275 | .boot_params = 0xa0000100, | 275 | .atag_offset = 0x100, |
276 | .map_io = pxa27x_map_io, | 276 | .map_io = pxa27x_map_io, |
277 | .init_irq = pxa27x_init_irq, | 277 | .init_irq = pxa27x_init_irq, |
278 | .handle_irq = pxa27x_handle_irq, | 278 | .handle_irq = pxa27x_handle_irq, |
diff --git a/arch/arm/mach-pxa/em-x270.c b/arch/arm/mach-pxa/em-x270.c index 2e37ea52b372..94acc0b01dd6 100644 --- a/arch/arm/mach-pxa/em-x270.c +++ b/arch/arm/mach-pxa/em-x270.c | |||
@@ -1299,7 +1299,7 @@ static void __init em_x270_init(void) | |||
1299 | } | 1299 | } |
1300 | 1300 | ||
1301 | MACHINE_START(EM_X270, "Compulab EM-X270") | 1301 | MACHINE_START(EM_X270, "Compulab EM-X270") |
1302 | .boot_params = 0xa0000100, | 1302 | .atag_offset = 0x100, |
1303 | .map_io = pxa27x_map_io, | 1303 | .map_io = pxa27x_map_io, |
1304 | .init_irq = pxa27x_init_irq, | 1304 | .init_irq = pxa27x_init_irq, |
1305 | .handle_irq = pxa27x_handle_irq, | 1305 | .handle_irq = pxa27x_handle_irq, |
@@ -1308,7 +1308,7 @@ MACHINE_START(EM_X270, "Compulab EM-X270") | |||
1308 | MACHINE_END | 1308 | MACHINE_END |
1309 | 1309 | ||
1310 | MACHINE_START(EXEDA, "Compulab eXeda") | 1310 | MACHINE_START(EXEDA, "Compulab eXeda") |
1311 | .boot_params = 0xa0000100, | 1311 | .atag_offset = 0x100, |
1312 | .map_io = pxa27x_map_io, | 1312 | .map_io = pxa27x_map_io, |
1313 | .init_irq = pxa27x_init_irq, | 1313 | .init_irq = pxa27x_init_irq, |
1314 | .handle_irq = pxa27x_handle_irq, | 1314 | .handle_irq = pxa27x_handle_irq, |
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c index e4a1f4dc89ff..d82b7aa3c096 100644 --- a/arch/arm/mach-pxa/eseries.c +++ b/arch/arm/mach-pxa/eseries.c | |||
@@ -144,7 +144,7 @@ static struct clk_lookup eseries_clkregs[] = { | |||
144 | INIT_CLKREG(&tmio_dummy_clk, NULL, "CLK_CK32K"), | 144 | INIT_CLKREG(&tmio_dummy_clk, NULL, "CLK_CK32K"), |
145 | }; | 145 | }; |
146 | 146 | ||
147 | void eseries_register_clks(void) | 147 | static void __init eseries_register_clks(void) |
148 | { | 148 | { |
149 | clkdev_add_table(eseries_clkregs, ARRAY_SIZE(eseries_clkregs)); | 149 | clkdev_add_table(eseries_clkregs, ARRAY_SIZE(eseries_clkregs)); |
150 | } | 150 | } |
@@ -188,7 +188,7 @@ static void __init e330_init(void) | |||
188 | 188 | ||
189 | MACHINE_START(E330, "Toshiba e330") | 189 | MACHINE_START(E330, "Toshiba e330") |
190 | /* Maintainer: Ian Molton (spyro@f2s.com) */ | 190 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
191 | .boot_params = 0xa0000100, | 191 | .atag_offset = 0x100, |
192 | .map_io = pxa25x_map_io, | 192 | .map_io = pxa25x_map_io, |
193 | .nr_irqs = ESERIES_NR_IRQS, | 193 | .nr_irqs = ESERIES_NR_IRQS, |
194 | .init_irq = pxa25x_init_irq, | 194 | .init_irq = pxa25x_init_irq, |
@@ -238,7 +238,7 @@ static void __init e350_init(void) | |||
238 | 238 | ||
239 | MACHINE_START(E350, "Toshiba e350") | 239 | MACHINE_START(E350, "Toshiba e350") |
240 | /* Maintainer: Ian Molton (spyro@f2s.com) */ | 240 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
241 | .boot_params = 0xa0000100, | 241 | .atag_offset = 0x100, |
242 | .map_io = pxa25x_map_io, | 242 | .map_io = pxa25x_map_io, |
243 | .nr_irqs = ESERIES_NR_IRQS, | 243 | .nr_irqs = ESERIES_NR_IRQS, |
244 | .init_irq = pxa25x_init_irq, | 244 | .init_irq = pxa25x_init_irq, |
@@ -361,7 +361,7 @@ static void __init e400_init(void) | |||
361 | 361 | ||
362 | MACHINE_START(E400, "Toshiba e400") | 362 | MACHINE_START(E400, "Toshiba e400") |
363 | /* Maintainer: Ian Molton (spyro@f2s.com) */ | 363 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
364 | .boot_params = 0xa0000100, | 364 | .atag_offset = 0x100, |
365 | .map_io = pxa25x_map_io, | 365 | .map_io = pxa25x_map_io, |
366 | .nr_irqs = ESERIES_NR_IRQS, | 366 | .nr_irqs = ESERIES_NR_IRQS, |
367 | .init_irq = pxa25x_init_irq, | 367 | .init_irq = pxa25x_init_irq, |
@@ -550,7 +550,7 @@ static void __init e740_init(void) | |||
550 | 550 | ||
551 | MACHINE_START(E740, "Toshiba e740") | 551 | MACHINE_START(E740, "Toshiba e740") |
552 | /* Maintainer: Ian Molton (spyro@f2s.com) */ | 552 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
553 | .boot_params = 0xa0000100, | 553 | .atag_offset = 0x100, |
554 | .map_io = pxa25x_map_io, | 554 | .map_io = pxa25x_map_io, |
555 | .nr_irqs = ESERIES_NR_IRQS, | 555 | .nr_irqs = ESERIES_NR_IRQS, |
556 | .init_irq = pxa25x_init_irq, | 556 | .init_irq = pxa25x_init_irq, |
@@ -742,7 +742,7 @@ static void __init e750_init(void) | |||
742 | 742 | ||
743 | MACHINE_START(E750, "Toshiba e750") | 743 | MACHINE_START(E750, "Toshiba e750") |
744 | /* Maintainer: Ian Molton (spyro@f2s.com) */ | 744 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
745 | .boot_params = 0xa0000100, | 745 | .atag_offset = 0x100, |
746 | .map_io = pxa25x_map_io, | 746 | .map_io = pxa25x_map_io, |
747 | .nr_irqs = ESERIES_NR_IRQS, | 747 | .nr_irqs = ESERIES_NR_IRQS, |
748 | .init_irq = pxa25x_init_irq, | 748 | .init_irq = pxa25x_init_irq, |
@@ -947,7 +947,7 @@ static void __init e800_init(void) | |||
947 | 947 | ||
948 | MACHINE_START(E800, "Toshiba e800") | 948 | MACHINE_START(E800, "Toshiba e800") |
949 | /* Maintainer: Ian Molton (spyro@f2s.com) */ | 949 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
950 | .boot_params = 0xa0000100, | 950 | .atag_offset = 0x100, |
951 | .map_io = pxa25x_map_io, | 951 | .map_io = pxa25x_map_io, |
952 | .nr_irqs = ESERIES_NR_IRQS, | 952 | .nr_irqs = ESERIES_NR_IRQS, |
953 | .init_irq = pxa25x_init_irq, | 953 | .init_irq = pxa25x_init_irq, |
diff --git a/arch/arm/mach-pxa/eseries.h b/arch/arm/mach-pxa/eseries.h index be921965e91a..b96949dd5adb 100644 --- a/arch/arm/mach-pxa/eseries.h +++ b/arch/arm/mach-pxa/eseries.h | |||
@@ -11,5 +11,4 @@ extern int eseries_tmio_resume(struct platform_device *dev); | |||
11 | extern void eseries_get_tmio_gpios(void); | 11 | extern void eseries_get_tmio_gpios(void); |
12 | extern struct resource eseries_tmio_resources[]; | 12 | extern struct resource eseries_tmio_resources[]; |
13 | extern struct platform_device e300_tc6387xb_device; | 13 | extern struct platform_device e300_tc6387xb_device; |
14 | extern void eseries_register_clks(void); | ||
15 | 14 | ||
diff --git a/arch/arm/mach-pxa/ezx.c b/arch/arm/mach-pxa/ezx.c index b73eadb9f5dc..8308eee5a924 100644 --- a/arch/arm/mach-pxa/ezx.c +++ b/arch/arm/mach-pxa/ezx.c | |||
@@ -797,7 +797,7 @@ static void __init a780_init(void) | |||
797 | } | 797 | } |
798 | 798 | ||
799 | MACHINE_START(EZX_A780, "Motorola EZX A780") | 799 | MACHINE_START(EZX_A780, "Motorola EZX A780") |
800 | .boot_params = 0xa0000100, | 800 | .atag_offset = 0x100, |
801 | .map_io = pxa27x_map_io, | 801 | .map_io = pxa27x_map_io, |
802 | .nr_irqs = EZX_NR_IRQS, | 802 | .nr_irqs = EZX_NR_IRQS, |
803 | .init_irq = pxa27x_init_irq, | 803 | .init_irq = pxa27x_init_irq, |
@@ -863,7 +863,7 @@ static void __init e680_init(void) | |||
863 | } | 863 | } |
864 | 864 | ||
865 | MACHINE_START(EZX_E680, "Motorola EZX E680") | 865 | MACHINE_START(EZX_E680, "Motorola EZX E680") |
866 | .boot_params = 0xa0000100, | 866 | .atag_offset = 0x100, |
867 | .map_io = pxa27x_map_io, | 867 | .map_io = pxa27x_map_io, |
868 | .nr_irqs = EZX_NR_IRQS, | 868 | .nr_irqs = EZX_NR_IRQS, |
869 | .init_irq = pxa27x_init_irq, | 869 | .init_irq = pxa27x_init_irq, |
@@ -929,7 +929,7 @@ static void __init a1200_init(void) | |||
929 | } | 929 | } |
930 | 930 | ||
931 | MACHINE_START(EZX_A1200, "Motorola EZX A1200") | 931 | MACHINE_START(EZX_A1200, "Motorola EZX A1200") |
932 | .boot_params = 0xa0000100, | 932 | .atag_offset = 0x100, |
933 | .map_io = pxa27x_map_io, | 933 | .map_io = pxa27x_map_io, |
934 | .nr_irqs = EZX_NR_IRQS, | 934 | .nr_irqs = EZX_NR_IRQS, |
935 | .init_irq = pxa27x_init_irq, | 935 | .init_irq = pxa27x_init_irq, |
@@ -1120,7 +1120,7 @@ static void __init a910_init(void) | |||
1120 | } | 1120 | } |
1121 | 1121 | ||
1122 | MACHINE_START(EZX_A910, "Motorola EZX A910") | 1122 | MACHINE_START(EZX_A910, "Motorola EZX A910") |
1123 | .boot_params = 0xa0000100, | 1123 | .atag_offset = 0x100, |
1124 | .map_io = pxa27x_map_io, | 1124 | .map_io = pxa27x_map_io, |
1125 | .nr_irqs = EZX_NR_IRQS, | 1125 | .nr_irqs = EZX_NR_IRQS, |
1126 | .init_irq = pxa27x_init_irq, | 1126 | .init_irq = pxa27x_init_irq, |
@@ -1186,7 +1186,7 @@ static void __init e6_init(void) | |||
1186 | } | 1186 | } |
1187 | 1187 | ||
1188 | MACHINE_START(EZX_E6, "Motorola EZX E6") | 1188 | MACHINE_START(EZX_E6, "Motorola EZX E6") |
1189 | .boot_params = 0xa0000100, | 1189 | .atag_offset = 0x100, |
1190 | .map_io = pxa27x_map_io, | 1190 | .map_io = pxa27x_map_io, |
1191 | .nr_irqs = EZX_NR_IRQS, | 1191 | .nr_irqs = EZX_NR_IRQS, |
1192 | .init_irq = pxa27x_init_irq, | 1192 | .init_irq = pxa27x_init_irq, |
@@ -1226,7 +1226,7 @@ static void __init e2_init(void) | |||
1226 | } | 1226 | } |
1227 | 1227 | ||
1228 | MACHINE_START(EZX_E2, "Motorola EZX E2") | 1228 | MACHINE_START(EZX_E2, "Motorola EZX E2") |
1229 | .boot_params = 0xa0000100, | 1229 | .atag_offset = 0x100, |
1230 | .map_io = pxa27x_map_io, | 1230 | .map_io = pxa27x_map_io, |
1231 | .nr_irqs = EZX_NR_IRQS, | 1231 | .nr_irqs = EZX_NR_IRQS, |
1232 | .init_irq = pxa27x_init_irq, | 1232 | .init_irq = pxa27x_init_irq, |
diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index f5d91efc2965..5432ecb15def 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c | |||
@@ -16,6 +16,7 @@ | |||
16 | * initialization stuff for PXA machines which can be overridden later if | 16 | * initialization stuff for PXA machines which can be overridden later if |
17 | * need be. | 17 | * need be. |
18 | */ | 18 | */ |
19 | #include <linux/gpio.h> | ||
19 | #include <linux/module.h> | 20 | #include <linux/module.h> |
20 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
21 | #include <linux/init.h> | 22 | #include <linux/init.h> |
@@ -26,7 +27,6 @@ | |||
26 | #include <asm/mach-types.h> | 27 | #include <asm/mach-types.h> |
27 | 28 | ||
28 | #include <mach/reset.h> | 29 | #include <mach/reset.h> |
29 | #include <mach/gpio.h> | ||
30 | #include <mach/smemc.h> | 30 | #include <mach/smemc.h> |
31 | #include <mach/pxa3xx-regs.h> | 31 | #include <mach/pxa3xx-regs.h> |
32 | 32 | ||
diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c index deaa111c91f9..9c8208ca0415 100644 --- a/arch/arm/mach-pxa/gumstix.c +++ b/arch/arm/mach-pxa/gumstix.c | |||
@@ -233,7 +233,7 @@ static void __init gumstix_init(void) | |||
233 | } | 233 | } |
234 | 234 | ||
235 | MACHINE_START(GUMSTIX, "Gumstix") | 235 | MACHINE_START(GUMSTIX, "Gumstix") |
236 | .boot_params = 0xa0000100, /* match u-boot bi_boot_params */ | 236 | .atag_offset = 0x100, /* match u-boot bi_boot_params */ |
237 | .map_io = pxa25x_map_io, | 237 | .map_io = pxa25x_map_io, |
238 | .init_irq = pxa25x_init_irq, | 238 | .init_irq = pxa25x_init_irq, |
239 | .handle_irq = pxa25x_handle_irq, | 239 | .handle_irq = pxa25x_handle_irq, |
diff --git a/arch/arm/mach-pxa/h5000.c b/arch/arm/mach-pxa/h5000.c index 0a235128914d..4b5e110640b1 100644 --- a/arch/arm/mach-pxa/h5000.c +++ b/arch/arm/mach-pxa/h5000.c | |||
@@ -203,7 +203,7 @@ static void __init h5000_init(void) | |||
203 | } | 203 | } |
204 | 204 | ||
205 | MACHINE_START(H5400, "HP iPAQ H5000") | 205 | MACHINE_START(H5400, "HP iPAQ H5000") |
206 | .boot_params = 0xa0000100, | 206 | .atag_offset = 0x100, |
207 | .map_io = pxa25x_map_io, | 207 | .map_io = pxa25x_map_io, |
208 | .init_irq = pxa25x_init_irq, | 208 | .init_irq = pxa25x_init_irq, |
209 | .handle_irq = pxa25x_handle_irq, | 209 | .handle_irq = pxa25x_handle_irq, |
diff --git a/arch/arm/mach-pxa/himalaya.c b/arch/arm/mach-pxa/himalaya.c index a997d0ab2872..f2c324570844 100644 --- a/arch/arm/mach-pxa/himalaya.c +++ b/arch/arm/mach-pxa/himalaya.c | |||
@@ -158,7 +158,7 @@ static void __init himalaya_init(void) | |||
158 | 158 | ||
159 | 159 | ||
160 | MACHINE_START(HIMALAYA, "HTC Himalaya") | 160 | MACHINE_START(HIMALAYA, "HTC Himalaya") |
161 | .boot_params = 0xa0000100, | 161 | .atag_offset = 0x100, |
162 | .map_io = pxa25x_map_io, | 162 | .map_io = pxa25x_map_io, |
163 | .init_irq = pxa25x_init_irq, | 163 | .init_irq = pxa25x_init_irq, |
164 | .handle_irq = pxa25x_handle_irq, | 164 | .handle_irq = pxa25x_handle_irq, |
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c index c748a473a2ff..6f6368ece9bd 100644 --- a/arch/arm/mach-pxa/hx4700.c +++ b/arch/arm/mach-pxa/hx4700.c | |||
@@ -838,7 +838,7 @@ static void __init hx4700_init(void) | |||
838 | } | 838 | } |
839 | 839 | ||
840 | MACHINE_START(H4700, "HP iPAQ HX4700") | 840 | MACHINE_START(H4700, "HP iPAQ HX4700") |
841 | .boot_params = 0xa0000100, | 841 | .atag_offset = 0x100, |
842 | .map_io = pxa27x_map_io, | 842 | .map_io = pxa27x_map_io, |
843 | .nr_irqs = HX4700_NR_IRQS, | 843 | .nr_irqs = HX4700_NR_IRQS, |
844 | .init_irq = pxa27x_init_irq, | 844 | .init_irq = pxa27x_init_irq, |
diff --git a/arch/arm/mach-pxa/icontrol.c b/arch/arm/mach-pxa/icontrol.c index d427429f1f34..f78d5db758da 100644 --- a/arch/arm/mach-pxa/icontrol.c +++ b/arch/arm/mach-pxa/icontrol.c | |||
@@ -191,7 +191,7 @@ static void __init icontrol_init(void) | |||
191 | } | 191 | } |
192 | 192 | ||
193 | MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM") | 193 | MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM") |
194 | .boot_params = 0xa0000100, | 194 | .atag_offset = 0x100, |
195 | .map_io = pxa3xx_map_io, | 195 | .map_io = pxa3xx_map_io, |
196 | .init_irq = pxa3xx_init_irq, | 196 | .init_irq = pxa3xx_init_irq, |
197 | .handle_irq = pxa3xx_handle_irq, | 197 | .handle_irq = pxa3xx_handle_irq, |
diff --git a/arch/arm/mach-pxa/include/mach/addr-map.h b/arch/arm/mach-pxa/include/mach/addr-map.h index f4c03659168c..bbf9df37ad4b 100644 --- a/arch/arm/mach-pxa/include/mach/addr-map.h +++ b/arch/arm/mach-pxa/include/mach/addr-map.h | |||
@@ -20,7 +20,7 @@ | |||
20 | * Peripheral Bus | 20 | * Peripheral Bus |
21 | */ | 21 | */ |
22 | #define PERIPH_PHYS 0x40000000 | 22 | #define PERIPH_PHYS 0x40000000 |
23 | #define PERIPH_VIRT 0xf2000000 | 23 | #define PERIPH_VIRT IOMEM(0xf2000000) |
24 | #define PERIPH_SIZE 0x02000000 | 24 | #define PERIPH_SIZE 0x02000000 |
25 | 25 | ||
26 | /* | 26 | /* |
@@ -28,21 +28,21 @@ | |||
28 | */ | 28 | */ |
29 | #define PXA2XX_SMEMC_PHYS 0x48000000 | 29 | #define PXA2XX_SMEMC_PHYS 0x48000000 |
30 | #define PXA3XX_SMEMC_PHYS 0x4a000000 | 30 | #define PXA3XX_SMEMC_PHYS 0x4a000000 |
31 | #define SMEMC_VIRT 0xf6000000 | 31 | #define SMEMC_VIRT IOMEM(0xf6000000) |
32 | #define SMEMC_SIZE 0x00100000 | 32 | #define SMEMC_SIZE 0x00100000 |
33 | 33 | ||
34 | /* | 34 | /* |
35 | * Dynamic Memory Controller (only on PXA3xx) | 35 | * Dynamic Memory Controller (only on PXA3xx) |
36 | */ | 36 | */ |
37 | #define DMEMC_PHYS 0x48100000 | 37 | #define DMEMC_PHYS 0x48100000 |
38 | #define DMEMC_VIRT 0xf6100000 | 38 | #define DMEMC_VIRT IOMEM(0xf6100000) |
39 | #define DMEMC_SIZE 0x00100000 | 39 | #define DMEMC_SIZE 0x00100000 |
40 | 40 | ||
41 | /* | 41 | /* |
42 | * Internal Memory Controller (PXA27x and later) | 42 | * Internal Memory Controller (PXA27x and later) |
43 | */ | 43 | */ |
44 | #define IMEMC_PHYS 0x58000000 | 44 | #define IMEMC_PHYS 0x58000000 |
45 | #define IMEMC_VIRT 0xfe000000 | 45 | #define IMEMC_VIRT IOMEM(0xfe000000) |
46 | #define IMEMC_SIZE 0x00100000 | 46 | #define IMEMC_SIZE 0x00100000 |
47 | 47 | ||
48 | #endif /* __ASM_MACH_ADDR_MAP_H */ | 48 | #endif /* __ASM_MACH_ADDR_MAP_H */ |
diff --git a/arch/arm/mach-pxa/include/mach/balloon3.h b/arch/arm/mach-pxa/include/mach/balloon3.h index 7074e76146c9..6d7eab3d0867 100644 --- a/arch/arm/mach-pxa/include/mach/balloon3.h +++ b/arch/arm/mach-pxa/include/mach/balloon3.h | |||
@@ -23,7 +23,7 @@ enum balloon3_features { | |||
23 | }; | 23 | }; |
24 | 24 | ||
25 | #define BALLOON3_FPGA_PHYS PXA_CS4_PHYS | 25 | #define BALLOON3_FPGA_PHYS PXA_CS4_PHYS |
26 | #define BALLOON3_FPGA_VIRT (0xf1000000) /* as per balloon2 */ | 26 | #define BALLOON3_FPGA_VIRT IOMEM(0xf1000000) /* as per balloon2 */ |
27 | #define BALLOON3_FPGA_LENGTH 0x01000000 | 27 | #define BALLOON3_FPGA_LENGTH 0x01000000 |
28 | 28 | ||
29 | #define BALLOON3_FPGA_SETnCLR (0x1000) | 29 | #define BALLOON3_FPGA_SETnCLR (0x1000) |
diff --git a/arch/arm/mach-pxa/include/mach/debug-macro.S b/arch/arm/mach-pxa/include/mach/debug-macro.S index 7d5c75125d65..70b112e8ef68 100644 --- a/arch/arm/mach-pxa/include/mach/debug-macro.S +++ b/arch/arm/mach-pxa/include/mach/debug-macro.S | |||
@@ -13,7 +13,7 @@ | |||
13 | 13 | ||
14 | #include "hardware.h" | 14 | #include "hardware.h" |
15 | 15 | ||
16 | .macro addruart, rp, rv | 16 | .macro addruart, rp, rv, tmp |
17 | mov \rp, #0x00100000 | 17 | mov \rp, #0x00100000 |
18 | orr \rv, \rp, #io_p2v(0x40000000) @ virtual | 18 | orr \rv, \rp, #io_p2v(0x40000000) @ virtual |
19 | orr \rp, \rp, #0x40000000 @ physical | 19 | orr \rp, \rp, #0x40000000 @ physical |
diff --git a/arch/arm/mach-pxa/include/mach/gpio-pxa.h b/arch/arm/mach-pxa/include/mach/gpio-pxa.h new file mode 100644 index 000000000000..41b4c93a96c2 --- /dev/null +++ b/arch/arm/mach-pxa/include/mach/gpio-pxa.h | |||
@@ -0,0 +1,133 @@ | |||
1 | /* | ||
2 | * Written by Philipp Zabel <philipp.zabel@gmail.com> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program; if not, write to the Free Software | ||
16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | * | ||
18 | */ | ||
19 | #ifndef __MACH_PXA_GPIO_PXA_H | ||
20 | #define __MACH_PXA_GPIO_PXA_H | ||
21 | |||
22 | #include <mach/irqs.h> | ||
23 | #include <mach/hardware.h> | ||
24 | |||
25 | #define GPIO_REGS_VIRT io_p2v(0x40E00000) | ||
26 | |||
27 | #define BANK_OFF(n) (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2)) | ||
28 | #define GPIO_REG(x) (*(volatile u32 *)(GPIO_REGS_VIRT + (x))) | ||
29 | |||
30 | /* GPIO Pin Level Registers */ | ||
31 | #define GPLR0 GPIO_REG(BANK_OFF(0) + 0x00) | ||
32 | #define GPLR1 GPIO_REG(BANK_OFF(1) + 0x00) | ||
33 | #define GPLR2 GPIO_REG(BANK_OFF(2) + 0x00) | ||
34 | #define GPLR3 GPIO_REG(BANK_OFF(3) + 0x00) | ||
35 | |||
36 | /* GPIO Pin Direction Registers */ | ||
37 | #define GPDR0 GPIO_REG(BANK_OFF(0) + 0x0c) | ||
38 | #define GPDR1 GPIO_REG(BANK_OFF(1) + 0x0c) | ||
39 | #define GPDR2 GPIO_REG(BANK_OFF(2) + 0x0c) | ||
40 | #define GPDR3 GPIO_REG(BANK_OFF(3) + 0x0c) | ||
41 | |||
42 | /* GPIO Pin Output Set Registers */ | ||
43 | #define GPSR0 GPIO_REG(BANK_OFF(0) + 0x18) | ||
44 | #define GPSR1 GPIO_REG(BANK_OFF(1) + 0x18) | ||
45 | #define GPSR2 GPIO_REG(BANK_OFF(2) + 0x18) | ||
46 | #define GPSR3 GPIO_REG(BANK_OFF(3) + 0x18) | ||
47 | |||
48 | /* GPIO Pin Output Clear Registers */ | ||
49 | #define GPCR0 GPIO_REG(BANK_OFF(0) + 0x24) | ||
50 | #define GPCR1 GPIO_REG(BANK_OFF(1) + 0x24) | ||
51 | #define GPCR2 GPIO_REG(BANK_OFF(2) + 0x24) | ||
52 | #define GPCR3 GPIO_REG(BANK_OFF(3) + 0x24) | ||
53 | |||
54 | /* GPIO Rising Edge Detect Registers */ | ||
55 | #define GRER0 GPIO_REG(BANK_OFF(0) + 0x30) | ||
56 | #define GRER1 GPIO_REG(BANK_OFF(1) + 0x30) | ||
57 | #define GRER2 GPIO_REG(BANK_OFF(2) + 0x30) | ||
58 | #define GRER3 GPIO_REG(BANK_OFF(3) + 0x30) | ||
59 | |||
60 | /* GPIO Falling Edge Detect Registers */ | ||
61 | #define GFER0 GPIO_REG(BANK_OFF(0) + 0x3c) | ||
62 | #define GFER1 GPIO_REG(BANK_OFF(1) + 0x3c) | ||
63 | #define GFER2 GPIO_REG(BANK_OFF(2) + 0x3c) | ||
64 | #define GFER3 GPIO_REG(BANK_OFF(3) + 0x3c) | ||
65 | |||
66 | /* GPIO Edge Detect Status Registers */ | ||
67 | #define GEDR0 GPIO_REG(BANK_OFF(0) + 0x48) | ||
68 | #define GEDR1 GPIO_REG(BANK_OFF(1) + 0x48) | ||
69 | #define GEDR2 GPIO_REG(BANK_OFF(2) + 0x48) | ||
70 | #define GEDR3 GPIO_REG(BANK_OFF(3) + 0x48) | ||
71 | |||
72 | /* GPIO Alternate Function Select Registers */ | ||
73 | #define GAFR0_L GPIO_REG(0x0054) | ||
74 | #define GAFR0_U GPIO_REG(0x0058) | ||
75 | #define GAFR1_L GPIO_REG(0x005C) | ||
76 | #define GAFR1_U GPIO_REG(0x0060) | ||
77 | #define GAFR2_L GPIO_REG(0x0064) | ||
78 | #define GAFR2_U GPIO_REG(0x0068) | ||
79 | #define GAFR3_L GPIO_REG(0x006C) | ||
80 | #define GAFR3_U GPIO_REG(0x0070) | ||
81 | |||
82 | /* More handy macros. The argument is a literal GPIO number. */ | ||
83 | |||
84 | #define GPIO_bit(x) (1 << ((x) & 0x1f)) | ||
85 | |||
86 | #define GPLR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x00) | ||
87 | #define GPDR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x0c) | ||
88 | #define GPSR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x18) | ||
89 | #define GPCR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x24) | ||
90 | #define GRER(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x30) | ||
91 | #define GFER(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x3c) | ||
92 | #define GEDR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x48) | ||
93 | #define GAFR(x) GPIO_REG(0x54 + (((x) & 0x70) >> 2)) | ||
94 | |||
95 | |||
96 | #define NR_BUILTIN_GPIO PXA_GPIO_IRQ_NUM | ||
97 | |||
98 | #define gpio_to_bank(gpio) ((gpio) >> 5) | ||
99 | |||
100 | #ifdef CONFIG_CPU_PXA26x | ||
101 | /* GPIO86/87/88/89 on PXA26x have their direction bits in GPDR2 inverted, | ||
102 | * as well as their Alternate Function value being '1' for GPIO in GAFRx. | ||
103 | */ | ||
104 | static inline int __gpio_is_inverted(unsigned gpio) | ||
105 | { | ||
106 | return cpu_is_pxa25x() && gpio > 85; | ||
107 | } | ||
108 | #else | ||
109 | static inline int __gpio_is_inverted(unsigned gpio) { return 0; } | ||
110 | #endif | ||
111 | |||
112 | /* | ||
113 | * On PXA25x and PXA27x, GAFRx and GPDRx together decide the alternate | ||
114 | * function of a GPIO, and GPDRx cannot be altered once configured. It | ||
115 | * is attributed as "occupied" here (I know this terminology isn't | ||
116 | * accurate, you are welcome to propose a better one :-) | ||
117 | */ | ||
118 | static inline int __gpio_is_occupied(unsigned gpio) | ||
119 | { | ||
120 | if (cpu_is_pxa27x() || cpu_is_pxa25x()) { | ||
121 | int af = (GAFR(gpio) >> ((gpio & 0xf) * 2)) & 0x3; | ||
122 | int dir = GPDR(gpio) & GPIO_bit(gpio); | ||
123 | |||
124 | if (__gpio_is_inverted(gpio)) | ||
125 | return af != 1 || dir == 0; | ||
126 | else | ||
127 | return af != 0 || dir != 0; | ||
128 | } else | ||
129 | return GPDR(gpio) & GPIO_bit(gpio); | ||
130 | } | ||
131 | |||
132 | #include <plat/gpio-pxa.h> | ||
133 | #endif /* __MACH_PXA_GPIO_PXA_H */ | ||
diff --git a/arch/arm/mach-pxa/include/mach/gpio.h b/arch/arm/mach-pxa/include/mach/gpio.h index c4639502efca..004cade7bb13 100644 --- a/arch/arm/mach-pxa/include/mach/gpio.h +++ b/arch/arm/mach-pxa/include/mach/gpio.h | |||
@@ -24,84 +24,10 @@ | |||
24 | #ifndef __ASM_ARCH_PXA_GPIO_H | 24 | #ifndef __ASM_ARCH_PXA_GPIO_H |
25 | #define __ASM_ARCH_PXA_GPIO_H | 25 | #define __ASM_ARCH_PXA_GPIO_H |
26 | 26 | ||
27 | #include <mach/irqs.h> | ||
28 | #include <mach/hardware.h> | ||
29 | #include <asm-generic/gpio.h> | 27 | #include <asm-generic/gpio.h> |
28 | /* The defines for the driver are needed for the accelerated accessors */ | ||
29 | #include "gpio-pxa.h" | ||
30 | 30 | ||
31 | #define GPIO_REGS_VIRT io_p2v(0x40E00000) | ||
32 | |||
33 | #define BANK_OFF(n) (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2)) | ||
34 | #define GPIO_REG(x) (*(volatile u32 *)(GPIO_REGS_VIRT + (x))) | ||
35 | |||
36 | /* GPIO Pin Level Registers */ | ||
37 | #define GPLR0 GPIO_REG(BANK_OFF(0) + 0x00) | ||
38 | #define GPLR1 GPIO_REG(BANK_OFF(1) + 0x00) | ||
39 | #define GPLR2 GPIO_REG(BANK_OFF(2) + 0x00) | ||
40 | #define GPLR3 GPIO_REG(BANK_OFF(3) + 0x00) | ||
41 | |||
42 | /* GPIO Pin Direction Registers */ | ||
43 | #define GPDR0 GPIO_REG(BANK_OFF(0) + 0x0c) | ||
44 | #define GPDR1 GPIO_REG(BANK_OFF(1) + 0x0c) | ||
45 | #define GPDR2 GPIO_REG(BANK_OFF(2) + 0x0c) | ||
46 | #define GPDR3 GPIO_REG(BANK_OFF(3) + 0x0c) | ||
47 | |||
48 | /* GPIO Pin Output Set Registers */ | ||
49 | #define GPSR0 GPIO_REG(BANK_OFF(0) + 0x18) | ||
50 | #define GPSR1 GPIO_REG(BANK_OFF(1) + 0x18) | ||
51 | #define GPSR2 GPIO_REG(BANK_OFF(2) + 0x18) | ||
52 | #define GPSR3 GPIO_REG(BANK_OFF(3) + 0x18) | ||
53 | |||
54 | /* GPIO Pin Output Clear Registers */ | ||
55 | #define GPCR0 GPIO_REG(BANK_OFF(0) + 0x24) | ||
56 | #define GPCR1 GPIO_REG(BANK_OFF(1) + 0x24) | ||
57 | #define GPCR2 GPIO_REG(BANK_OFF(2) + 0x24) | ||
58 | #define GPCR3 GPIO_REG(BANK_OFF(3) + 0x24) | ||
59 | |||
60 | /* GPIO Rising Edge Detect Registers */ | ||
61 | #define GRER0 GPIO_REG(BANK_OFF(0) + 0x30) | ||
62 | #define GRER1 GPIO_REG(BANK_OFF(1) + 0x30) | ||
63 | #define GRER2 GPIO_REG(BANK_OFF(2) + 0x30) | ||
64 | #define GRER3 GPIO_REG(BANK_OFF(3) + 0x30) | ||
65 | |||
66 | /* GPIO Falling Edge Detect Registers */ | ||
67 | #define GFER0 GPIO_REG(BANK_OFF(0) + 0x3c) | ||
68 | #define GFER1 GPIO_REG(BANK_OFF(1) + 0x3c) | ||
69 | #define GFER2 GPIO_REG(BANK_OFF(2) + 0x3c) | ||
70 | #define GFER3 GPIO_REG(BANK_OFF(3) + 0x3c) | ||
71 | |||
72 | /* GPIO Edge Detect Status Registers */ | ||
73 | #define GEDR0 GPIO_REG(BANK_OFF(0) + 0x48) | ||
74 | #define GEDR1 GPIO_REG(BANK_OFF(1) + 0x48) | ||
75 | #define GEDR2 GPIO_REG(BANK_OFF(2) + 0x48) | ||
76 | #define GEDR3 GPIO_REG(BANK_OFF(3) + 0x48) | ||
77 | |||
78 | /* GPIO Alternate Function Select Registers */ | ||
79 | #define GAFR0_L GPIO_REG(0x0054) | ||
80 | #define GAFR0_U GPIO_REG(0x0058) | ||
81 | #define GAFR1_L GPIO_REG(0x005C) | ||
82 | #define GAFR1_U GPIO_REG(0x0060) | ||
83 | #define GAFR2_L GPIO_REG(0x0064) | ||
84 | #define GAFR2_U GPIO_REG(0x0068) | ||
85 | #define GAFR3_L GPIO_REG(0x006C) | ||
86 | #define GAFR3_U GPIO_REG(0x0070) | ||
87 | |||
88 | /* More handy macros. The argument is a literal GPIO number. */ | ||
89 | |||
90 | #define GPIO_bit(x) (1 << ((x) & 0x1f)) | ||
91 | |||
92 | #define GPLR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x00) | ||
93 | #define GPDR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x0c) | ||
94 | #define GPSR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x18) | ||
95 | #define GPCR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x24) | ||
96 | #define GRER(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x30) | ||
97 | #define GFER(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x3c) | ||
98 | #define GEDR(x) GPIO_REG(BANK_OFF((x) >> 5) + 0x48) | ||
99 | #define GAFR(x) GPIO_REG(0x54 + (((x) & 0x70) >> 2)) | ||
100 | |||
101 | |||
102 | #define NR_BUILTIN_GPIO PXA_GPIO_IRQ_NUM | ||
103 | |||
104 | #define gpio_to_bank(gpio) ((gpio) >> 5) | ||
105 | #define gpio_to_irq(gpio) IRQ_GPIO(gpio) | 31 | #define gpio_to_irq(gpio) IRQ_GPIO(gpio) |
106 | 32 | ||
107 | static inline int irq_to_gpio(unsigned int irq) | 33 | static inline int irq_to_gpio(unsigned int irq) |
@@ -118,37 +44,5 @@ static inline int irq_to_gpio(unsigned int irq) | |||
118 | return -1; | 44 | return -1; |
119 | } | 45 | } |
120 | 46 | ||
121 | #ifdef CONFIG_CPU_PXA26x | ||
122 | /* GPIO86/87/88/89 on PXA26x have their direction bits in GPDR2 inverted, | ||
123 | * as well as their Alternate Function value being '1' for GPIO in GAFRx. | ||
124 | */ | ||
125 | static inline int __gpio_is_inverted(unsigned gpio) | ||
126 | { | ||
127 | return cpu_is_pxa25x() && gpio > 85; | ||
128 | } | ||
129 | #else | ||
130 | static inline int __gpio_is_inverted(unsigned gpio) { return 0; } | ||
131 | #endif | ||
132 | |||
133 | /* | ||
134 | * On PXA25x and PXA27x, GAFRx and GPDRx together decide the alternate | ||
135 | * function of a GPIO, and GPDRx cannot be altered once configured. It | ||
136 | * is attributed as "occupied" here (I know this terminology isn't | ||
137 | * accurate, you are welcome to propose a better one :-) | ||
138 | */ | ||
139 | static inline int __gpio_is_occupied(unsigned gpio) | ||
140 | { | ||
141 | if (cpu_is_pxa27x() || cpu_is_pxa25x()) { | ||
142 | int af = (GAFR(gpio) >> ((gpio & 0xf) * 2)) & 0x3; | ||
143 | int dir = GPDR(gpio) & GPIO_bit(gpio); | ||
144 | |||
145 | if (__gpio_is_inverted(gpio)) | ||
146 | return af != 1 || dir == 0; | ||
147 | else | ||
148 | return af != 0 || dir != 0; | ||
149 | } else | ||
150 | return GPDR(gpio) & GPIO_bit(gpio); | ||
151 | } | ||
152 | |||
153 | #include <plat/gpio.h> | 47 | #include <plat/gpio.h> |
154 | #endif | 48 | #endif |
diff --git a/arch/arm/mach-pxa/include/mach/hardware.h b/arch/arm/mach-pxa/include/mach/hardware.h index de63ca3016b4..8184669dde28 100644 --- a/arch/arm/mach-pxa/include/mach/hardware.h +++ b/arch/arm/mach-pxa/include/mach/hardware.h | |||
@@ -36,22 +36,23 @@ | |||
36 | * Note that not all PXA2xx chips implement all those addresses, and the | 36 | * Note that not all PXA2xx chips implement all those addresses, and the |
37 | * kernel only maps the minimum needed range of this mapping. | 37 | * kernel only maps the minimum needed range of this mapping. |
38 | */ | 38 | */ |
39 | #define io_p2v(x) (0xf2000000 + ((x) & 0x01ffffff) + (((x) & 0x1c000000) >> 1)) | ||
40 | #define io_v2p(x) (0x3c000000 + ((x) & 0x01ffffff) + (((x) & 0x0e000000) << 1)) | 39 | #define io_v2p(x) (0x3c000000 + ((x) & 0x01ffffff) + (((x) & 0x0e000000) << 1)) |
40 | #define io_p2v(x) IOMEM(0xf2000000 + ((x) & 0x01ffffff) + (((x) & 0x1c000000) >> 1)) | ||
41 | 41 | ||
42 | #ifndef __ASSEMBLY__ | 42 | #ifndef __ASSEMBLY__ |
43 | 43 | # define IOMEM(x) ((void __iomem *)(x)) | |
44 | # define __REG(x) (*((volatile u32 *)io_p2v(x))) | 44 | # define __REG(x) (*((volatile u32 __iomem *)io_p2v(x))) |
45 | 45 | ||
46 | /* With indexed regs we don't want to feed the index through io_p2v() | 46 | /* With indexed regs we don't want to feed the index through io_p2v() |
47 | especially if it is a variable, otherwise horrible code will result. */ | 47 | especially if it is a variable, otherwise horrible code will result. */ |
48 | # define __REG2(x,y) \ | 48 | # define __REG2(x,y) \ |
49 | (*(volatile u32 *)((u32)&__REG(x) + (y))) | 49 | (*(volatile u32 __iomem*)((u32)&__REG(x) + (y))) |
50 | 50 | ||
51 | # define __PREG(x) (io_v2p((u32)&(x))) | 51 | # define __PREG(x) (io_v2p((u32)&(x))) |
52 | 52 | ||
53 | #else | 53 | #else |
54 | 54 | ||
55 | # define IOMEM(x) x | ||
55 | # define __REG(x) io_p2v(x) | 56 | # define __REG(x) io_p2v(x) |
56 | # define __PREG(x) io_v2p(x) | 57 | # define __PREG(x) io_v2p(x) |
57 | 58 | ||
diff --git a/arch/arm/mach-pxa/include/mach/littleton.h b/arch/arm/mach-pxa/include/mach/littleton.h index 2a5726c15e0e..b6238cbd8aea 100644 --- a/arch/arm/mach-pxa/include/mach/littleton.h +++ b/arch/arm/mach-pxa/include/mach/littleton.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef __ASM_ARCH_LITTLETON_H | 1 | #ifndef __ASM_ARCH_LITTLETON_H |
2 | #define __ASM_ARCH_LITTLETON_H | 2 | #define __ASM_ARCH_LITTLETON_H |
3 | 3 | ||
4 | #include <mach/gpio.h> | 4 | #include <mach/gpio-pxa.h> |
5 | 5 | ||
6 | #define LITTLETON_ETH_PHYS 0x30000000 | 6 | #define LITTLETON_ETH_PHYS 0x30000000 |
7 | 7 | ||
diff --git a/arch/arm/mach-pxa/include/mach/lpd270.h b/arch/arm/mach-pxa/include/mach/lpd270.h index cd070092b6eb..4edc712a2de8 100644 --- a/arch/arm/mach-pxa/include/mach/lpd270.h +++ b/arch/arm/mach-pxa/include/mach/lpd270.h | |||
@@ -13,13 +13,13 @@ | |||
13 | #define __ASM_ARCH_LPD270_H | 13 | #define __ASM_ARCH_LPD270_H |
14 | 14 | ||
15 | #define LPD270_CPLD_PHYS PXA_CS2_PHYS | 15 | #define LPD270_CPLD_PHYS PXA_CS2_PHYS |
16 | #define LPD270_CPLD_VIRT 0xf0000000 | 16 | #define LPD270_CPLD_VIRT IOMEM(0xf0000000) |
17 | #define LPD270_CPLD_SIZE 0x00100000 | 17 | #define LPD270_CPLD_SIZE 0x00100000 |
18 | 18 | ||
19 | #define LPD270_ETH_PHYS (PXA_CS2_PHYS + 0x01000000) | 19 | #define LPD270_ETH_PHYS (PXA_CS2_PHYS + 0x01000000) |
20 | 20 | ||
21 | /* CPLD registers */ | 21 | /* CPLD registers */ |
22 | #define LPD270_CPLD_REG(x) ((unsigned long)(LPD270_CPLD_VIRT + (x))) | 22 | #define LPD270_CPLD_REG(x) (LPD270_CPLD_VIRT + (x)) |
23 | #define LPD270_CONTROL LPD270_CPLD_REG(0x00) | 23 | #define LPD270_CONTROL LPD270_CPLD_REG(0x00) |
24 | #define LPD270_PERIPHERAL0 LPD270_CPLD_REG(0x04) | 24 | #define LPD270_PERIPHERAL0 LPD270_CPLD_REG(0x04) |
25 | #define LPD270_PERIPHERAL1 LPD270_CPLD_REG(0x08) | 25 | #define LPD270_PERIPHERAL1 LPD270_CPLD_REG(0x08) |
diff --git a/arch/arm/mach-pxa/include/mach/memory.h b/arch/arm/mach-pxa/include/mach/memory.h deleted file mode 100644 index d05a59727d66..000000000000 --- a/arch/arm/mach-pxa/include/mach/memory.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-pxa/include/mach/memory.h | ||
3 | * | ||
4 | * Author: Nicolas Pitre | ||
5 | * Copyright: (C) 2001 MontaVista Software Inc. | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #ifndef __ASM_ARCH_MEMORY_H | ||
13 | #define __ASM_ARCH_MEMORY_H | ||
14 | |||
15 | /* | ||
16 | * Physical DRAM offset. | ||
17 | */ | ||
18 | #define PLAT_PHYS_OFFSET UL(0xa0000000) | ||
19 | |||
20 | #endif | ||
diff --git a/arch/arm/mach-pxa/include/mach/mtd-xip.h b/arch/arm/mach-pxa/include/mach/mtd-xip.h index 297387ec3618..990d2bf2fb45 100644 --- a/arch/arm/mach-pxa/include/mach/mtd-xip.h +++ b/arch/arm/mach-pxa/include/mach/mtd-xip.h | |||
@@ -16,7 +16,6 @@ | |||
16 | #define __ARCH_PXA_MTD_XIP_H__ | 16 | #define __ARCH_PXA_MTD_XIP_H__ |
17 | 17 | ||
18 | #include <mach/regs-ost.h> | 18 | #include <mach/regs-ost.h> |
19 | #include <mach/regs-intc.h> | ||
20 | 19 | ||
21 | #define xip_irqpending() (ICIP & ICMR) | 20 | #define xip_irqpending() (ICIP & ICMR) |
22 | 21 | ||
diff --git a/arch/arm/mach-pxa/include/mach/palm27x.h b/arch/arm/mach-pxa/include/mach/palm27x.h index 0a5e5eadebf5..f80bbe246afe 100644 --- a/arch/arm/mach-pxa/include/mach/palm27x.h +++ b/arch/arm/mach-pxa/include/mach/palm27x.h | |||
@@ -34,7 +34,7 @@ extern struct pxafb_mode_info palm_320x320_new_lcd_mode; | |||
34 | extern void __init palm27x_lcd_init(int power, | 34 | extern void __init palm27x_lcd_init(int power, |
35 | struct pxafb_mode_info *mode); | 35 | struct pxafb_mode_info *mode); |
36 | #else | 36 | #else |
37 | static inline void palm27x_lcd_init(int power, struct pxafb_mode_info *mode) {} | 37 | #define palm27x_lcd_init(power, mode) do {} while (0) |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | #if defined(CONFIG_USB_GADGET_PXA27X) || \ | 40 | #if defined(CONFIG_USB_GADGET_PXA27X) || \ |
diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h index 10abc4f2e8e4..7074a6ed46c6 100644 --- a/arch/arm/mach-pxa/include/mach/palmtx.h +++ b/arch/arm/mach-pxa/include/mach/palmtx.h | |||
@@ -71,7 +71,7 @@ | |||
71 | 71 | ||
72 | /* Various addresses */ | 72 | /* Various addresses */ |
73 | #define PALMTX_PCMCIA_PHYS 0x28000000 | 73 | #define PALMTX_PCMCIA_PHYS 0x28000000 |
74 | #define PALMTX_PCMCIA_VIRT 0xf0000000 | 74 | #define PALMTX_PCMCIA_VIRT IOMEM(0xf0000000) |
75 | #define PALMTX_PCMCIA_SIZE 0x100000 | 75 | #define PALMTX_PCMCIA_SIZE 0x100000 |
76 | 76 | ||
77 | #define PALMTX_PHYS_RAM_START 0xa0000000 | 77 | #define PALMTX_PHYS_RAM_START 0xa0000000 |
@@ -84,8 +84,8 @@ | |||
84 | 84 | ||
85 | #define PALMTX_NAND_ALE_PHYS (PALMTX_PHYS_NAND_START | (1 << 24)) | 85 | #define PALMTX_NAND_ALE_PHYS (PALMTX_PHYS_NAND_START | (1 << 24)) |
86 | #define PALMTX_NAND_CLE_PHYS (PALMTX_PHYS_NAND_START | (1 << 25)) | 86 | #define PALMTX_NAND_CLE_PHYS (PALMTX_PHYS_NAND_START | (1 << 25)) |
87 | #define PALMTX_NAND_ALE_VIRT 0xff100000 | 87 | #define PALMTX_NAND_ALE_VIRT IOMEM(0xff100000) |
88 | #define PALMTX_NAND_CLE_VIRT 0xff200000 | 88 | #define PALMTX_NAND_CLE_VIRT IOMEM(0xff200000) |
89 | 89 | ||
90 | /* TOUCHSCREEN */ | 90 | /* TOUCHSCREEN */ |
91 | #define AC97_LINK_FRAME 21 | 91 | #define AC97_LINK_FRAME 21 |
diff --git a/arch/arm/mach-pxa/include/mach/pxa27x.h b/arch/arm/mach-pxa/include/mach/pxa27x.h index b9b1bdc4bacc..7cff640582b8 100644 --- a/arch/arm/mach-pxa/include/mach/pxa27x.h +++ b/arch/arm/mach-pxa/include/mach/pxa27x.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef __MACH_PXA27x_H | 1 | #ifndef __MACH_PXA27x_H |
2 | #define __MACH_PXA27x_H | 2 | #define __MACH_PXA27x_H |
3 | 3 | ||
4 | #include <linux/suspend.h> | ||
4 | #include <mach/hardware.h> | 5 | #include <mach/hardware.h> |
5 | #include <mach/pxa2xx-regs.h> | 6 | #include <mach/pxa2xx-regs.h> |
6 | #include <mach/mfp-pxa27x.h> | 7 | #include <mach/mfp-pxa27x.h> |
@@ -21,6 +22,7 @@ | |||
21 | extern void __init pxa27x_map_io(void); | 22 | extern void __init pxa27x_map_io(void); |
22 | extern void __init pxa27x_init_irq(void); | 23 | extern void __init pxa27x_init_irq(void); |
23 | extern int __init pxa27x_set_pwrmode(unsigned int mode); | 24 | extern int __init pxa27x_set_pwrmode(unsigned int mode); |
25 | extern void pxa27x_cpu_pm_enter(suspend_state_t state); | ||
24 | 26 | ||
25 | #define pxa27x_handle_irq ichp_handle_irq | 27 | #define pxa27x_handle_irq ichp_handle_irq |
26 | 28 | ||
diff --git a/arch/arm/mach-pxa/include/mach/pxa95x.h b/arch/arm/mach-pxa/include/mach/pxa95x.h new file mode 100644 index 000000000000..cbb097c4cb1f --- /dev/null +++ b/arch/arm/mach-pxa/include/mach/pxa95x.h | |||
@@ -0,0 +1,7 @@ | |||
1 | #ifndef __MACH_PXA95X_H | ||
2 | #define __MACH_PXA95X_H | ||
3 | |||
4 | #include <mach/pxa3xx.h> | ||
5 | #include <mach/mfp-pxa930.h> | ||
6 | |||
7 | #endif /* __MACH_PXA95X_H */ | ||
diff --git a/arch/arm/mach-pxa/include/mach/pxafb.h b/arch/arm/mach-pxa/include/mach/pxafb.h index 01a45ac48114..486b4c519ae2 100644 --- a/arch/arm/mach-pxa/include/mach/pxafb.h +++ b/arch/arm/mach-pxa/include/mach/pxafb.h | |||
@@ -158,5 +158,18 @@ struct pxafb_mach_info { | |||
158 | void pxa_set_fb_info(struct device *, struct pxafb_mach_info *); | 158 | void pxa_set_fb_info(struct device *, struct pxafb_mach_info *); |
159 | unsigned long pxafb_get_hsync_time(struct device *dev); | 159 | unsigned long pxafb_get_hsync_time(struct device *dev); |
160 | 160 | ||
161 | #ifdef CONFIG_FB_PXA_SMARTPANEL | ||
161 | extern int pxafb_smart_queue(struct fb_info *info, uint16_t *cmds, int); | 162 | extern int pxafb_smart_queue(struct fb_info *info, uint16_t *cmds, int); |
162 | extern int pxafb_smart_flush(struct fb_info *info); | 163 | extern int pxafb_smart_flush(struct fb_info *info); |
164 | #else | ||
165 | static inline int pxafb_smart_queue(struct fb_info *info, | ||
166 | uint16_t *cmds, int n) | ||
167 | { | ||
168 | return 0; | ||
169 | } | ||
170 | |||
171 | static inline int pxafb_smart_flush(struct fb_info *info) | ||
172 | { | ||
173 | return 0; | ||
174 | } | ||
175 | #endif | ||
diff --git a/arch/arm/mach-pxa/include/mach/smemc.h b/arch/arm/mach-pxa/include/mach/smemc.h index 654adc90c9a0..b7de471b273a 100644 --- a/arch/arm/mach-pxa/include/mach/smemc.h +++ b/arch/arm/mach-pxa/include/mach/smemc.h | |||
@@ -13,7 +13,7 @@ | |||
13 | 13 | ||
14 | #define PXA2XX_SMEMC_BASE 0x48000000 | 14 | #define PXA2XX_SMEMC_BASE 0x48000000 |
15 | #define PXA3XX_SMEMC_BASE 0x4a000000 | 15 | #define PXA3XX_SMEMC_BASE 0x4a000000 |
16 | #define SMEMC_VIRT 0xf6000000 | 16 | #define SMEMC_VIRT IOMEM(0xf6000000) |
17 | 17 | ||
18 | #define MDCNFG (SMEMC_VIRT + 0x00) /* SDRAM Configuration Register 0 */ | 18 | #define MDCNFG (SMEMC_VIRT + 0x00) /* SDRAM Configuration Register 0 */ |
19 | #define MDREFR (SMEMC_VIRT + 0x04) /* SDRAM Refresh Control Register */ | 19 | #define MDREFR (SMEMC_VIRT + 0x04) /* SDRAM Refresh Control Register */ |
diff --git a/arch/arm/mach-pxa/include/mach/zeus.h b/arch/arm/mach-pxa/include/mach/zeus.h index 0641f31a56b7..56024f81d57e 100644 --- a/arch/arm/mach-pxa/include/mach/zeus.h +++ b/arch/arm/mach-pxa/include/mach/zeus.h | |||
@@ -68,7 +68,7 @@ | |||
68 | * Be gentle, and remap that over 32kB... | 68 | * Be gentle, and remap that over 32kB... |
69 | */ | 69 | */ |
70 | 70 | ||
71 | #define ZEUS_CPLD (0xf0000000) | 71 | #define ZEUS_CPLD IOMEM(0xf0000000) |
72 | #define ZEUS_CPLD_VERSION (ZEUS_CPLD + 0x0000) | 72 | #define ZEUS_CPLD_VERSION (ZEUS_CPLD + 0x0000) |
73 | #define ZEUS_CPLD_ISA_IRQ (ZEUS_CPLD + 0x1000) | 73 | #define ZEUS_CPLD_ISA_IRQ (ZEUS_CPLD + 0x1000) |
74 | #define ZEUS_CPLD_CONTROL (ZEUS_CPLD + 0x2000) | 74 | #define ZEUS_CPLD_CONTROL (ZEUS_CPLD + 0x2000) |
@@ -76,7 +76,7 @@ | |||
76 | /* CPLD register bits */ | 76 | /* CPLD register bits */ |
77 | #define ZEUS_CPLD_CONTROL_CF_RST 0x01 | 77 | #define ZEUS_CPLD_CONTROL_CF_RST 0x01 |
78 | 78 | ||
79 | #define ZEUS_PC104IO (0xf1000000) | 79 | #define ZEUS_PC104IO IOMEM(0xf1000000) |
80 | 80 | ||
81 | #define ZEUS_SRAM_SIZE (256 * 1024) | 81 | #define ZEUS_SRAM_SIZE (256 * 1024) |
82 | 82 | ||
diff --git a/arch/arm/mach-pxa/include/mach/zylonite.h b/arch/arm/mach-pxa/include/mach/zylonite.h index ea24998b923c..ecca976f03d2 100644 --- a/arch/arm/mach-pxa/include/mach/zylonite.h +++ b/arch/arm/mach-pxa/include/mach/zylonite.h | |||
@@ -19,7 +19,7 @@ extern int wm9713_irq; | |||
19 | extern int lcd_id; | 19 | extern int lcd_id; |
20 | extern int lcd_orientation; | 20 | extern int lcd_orientation; |
21 | 21 | ||
22 | #ifdef CONFIG_CPU_PXA300 | 22 | #ifdef CONFIG_MACH_ZYLONITE300 |
23 | extern void zylonite_pxa300_init(void); | 23 | extern void zylonite_pxa300_init(void); |
24 | #else | 24 | #else |
25 | static inline void zylonite_pxa300_init(void) | 25 | static inline void zylonite_pxa300_init(void) |
@@ -29,7 +29,7 @@ static inline void zylonite_pxa300_init(void) | |||
29 | } | 29 | } |
30 | #endif | 30 | #endif |
31 | 31 | ||
32 | #ifdef CONFIG_CPU_PXA320 | 32 | #ifdef CONFIG_MACH_ZYLONITE320 |
33 | extern void zylonite_pxa320_init(void); | 33 | extern void zylonite_pxa320_init(void); |
34 | #else | 34 | #else |
35 | static inline void zylonite_pxa320_init(void) | 35 | static inline void zylonite_pxa320_init(void) |
diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c index ca6075717824..532c5d3a97d2 100644 --- a/arch/arm/mach-pxa/irq.c +++ b/arch/arm/mach-pxa/irq.c | |||
@@ -11,7 +11,6 @@ | |||
11 | * it under the terms of the GNU General Public License version 2 as | 11 | * it under the terms of the GNU General Public License version 2 as |
12 | * published by the Free Software Foundation. | 12 | * published by the Free Software Foundation. |
13 | */ | 13 | */ |
14 | |||
15 | #include <linux/init.h> | 14 | #include <linux/init.h> |
16 | #include <linux/module.h> | 15 | #include <linux/module.h> |
17 | #include <linux/interrupt.h> | 16 | #include <linux/interrupt.h> |
@@ -23,11 +22,11 @@ | |||
23 | 22 | ||
24 | #include <mach/hardware.h> | 23 | #include <mach/hardware.h> |
25 | #include <mach/irqs.h> | 24 | #include <mach/irqs.h> |
26 | #include <mach/gpio.h> | 25 | #include <mach/gpio-pxa.h> |
27 | 26 | ||
28 | #include "generic.h" | 27 | #include "generic.h" |
29 | 28 | ||
30 | #define IRQ_BASE (void __iomem *)io_p2v(0x40d00000) | 29 | #define IRQ_BASE io_p2v(0x40d00000) |
31 | 30 | ||
32 | #define ICIP (0x000) | 31 | #define ICIP (0x000) |
33 | #define ICMR (0x004) | 32 | #define ICMR (0x004) |
@@ -65,7 +64,7 @@ static inline void __iomem *irq_base(int i) | |||
65 | 0x40d00130, | 64 | 0x40d00130, |
66 | }; | 65 | }; |
67 | 66 | ||
68 | return (void __iomem *)io_p2v(phys_base[i]); | 67 | return io_p2v(phys_base[i]); |
69 | } | 68 | } |
70 | 69 | ||
71 | void pxa_mask_irq(struct irq_data *d) | 70 | void pxa_mask_irq(struct irq_data *d) |
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c index 8f97e15e86e5..7b324ec6449f 100644 --- a/arch/arm/mach-pxa/littleton.c +++ b/arch/arm/mach-pxa/littleton.c | |||
@@ -325,8 +325,9 @@ static struct mtd_partition littleton_nand_partitions[] = { | |||
325 | 325 | ||
326 | static struct pxa3xx_nand_platform_data littleton_nand_info = { | 326 | static struct pxa3xx_nand_platform_data littleton_nand_info = { |
327 | .enable_arbiter = 1, | 327 | .enable_arbiter = 1, |
328 | .parts = littleton_nand_partitions, | 328 | .num_cs = 1, |
329 | .nr_parts = ARRAY_SIZE(littleton_nand_partitions), | 329 | .parts[0] = littleton_nand_partitions, |
330 | .nr_parts[0] = ARRAY_SIZE(littleton_nand_partitions), | ||
330 | }; | 331 | }; |
331 | 332 | ||
332 | static void __init littleton_init_nand(void) | 333 | static void __init littleton_init_nand(void) |
@@ -437,7 +438,7 @@ static void __init littleton_init(void) | |||
437 | } | 438 | } |
438 | 439 | ||
439 | MACHINE_START(LITTLETON, "Marvell Form Factor Development Platform (aka Littleton)") | 440 | MACHINE_START(LITTLETON, "Marvell Form Factor Development Platform (aka Littleton)") |
440 | .boot_params = 0xa0000100, | 441 | .atag_offset = 0x100, |
441 | .map_io = pxa3xx_map_io, | 442 | .map_io = pxa3xx_map_io, |
442 | .nr_irqs = LITTLETON_NR_IRQS, | 443 | .nr_irqs = LITTLETON_NR_IRQS, |
443 | .init_irq = pxa3xx_init_irq, | 444 | .init_irq = pxa3xx_init_irq, |
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index c171d6ebee49..1dd530279e0b 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
@@ -12,7 +12,7 @@ | |||
12 | * it under the terms of the GNU General Public License version 2 as | 12 | * it under the terms of the GNU General Public License version 2 as |
13 | * published by the Free Software Foundation. | 13 | * published by the Free Software Foundation. |
14 | */ | 14 | */ |
15 | 15 | #include <linux/gpio.h> | |
16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
18 | #include <linux/syscore_ops.h> | 18 | #include <linux/syscore_ops.h> |
@@ -39,7 +39,6 @@ | |||
39 | #include <asm/mach/flash.h> | 39 | #include <asm/mach/flash.h> |
40 | 40 | ||
41 | #include <mach/pxa27x.h> | 41 | #include <mach/pxa27x.h> |
42 | #include <mach/gpio.h> | ||
43 | #include <mach/lpd270.h> | 42 | #include <mach/lpd270.h> |
44 | #include <mach/audio.h> | 43 | #include <mach/audio.h> |
45 | #include <mach/pxafb.h> | 44 | #include <mach/pxafb.h> |
@@ -480,7 +479,7 @@ static void __init lpd270_init(void) | |||
480 | 479 | ||
481 | static struct map_desc lpd270_io_desc[] __initdata = { | 480 | static struct map_desc lpd270_io_desc[] __initdata = { |
482 | { | 481 | { |
483 | .virtual = LPD270_CPLD_VIRT, | 482 | .virtual = (unsigned long)LPD270_CPLD_VIRT, |
484 | .pfn = __phys_to_pfn(LPD270_CPLD_PHYS), | 483 | .pfn = __phys_to_pfn(LPD270_CPLD_PHYS), |
485 | .length = LPD270_CPLD_SIZE, | 484 | .length = LPD270_CPLD_SIZE, |
486 | .type = MT_DEVICE, | 485 | .type = MT_DEVICE, |
@@ -499,7 +498,7 @@ static void __init lpd270_map_io(void) | |||
499 | 498 | ||
500 | MACHINE_START(LOGICPD_PXA270, "LogicPD PXA270 Card Engine") | 499 | MACHINE_START(LOGICPD_PXA270, "LogicPD PXA270 Card Engine") |
501 | /* Maintainer: Peter Barada */ | 500 | /* Maintainer: Peter Barada */ |
502 | .boot_params = 0xa0000100, | 501 | .atag_offset = 0x100, |
503 | .map_io = lpd270_map_io, | 502 | .map_io = lpd270_map_io, |
504 | .nr_irqs = LPD270_NR_IRQS, | 503 | .nr_irqs = LPD270_NR_IRQS, |
505 | .init_irq = lpd270_init_irq, | 504 | .init_irq = lpd270_init_irq, |
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index a8c696bfc132..c48ce6da9184 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c | |||
@@ -11,6 +11,7 @@ | |||
11 | * it under the terms of the GNU General Public License version 2 as | 11 | * it under the terms of the GNU General Public License version 2 as |
12 | * published by the Free Software Foundation. | 12 | * published by the Free Software Foundation. |
13 | */ | 13 | */ |
14 | #include <linux/gpio.h> | ||
14 | #include <linux/module.h> | 15 | #include <linux/module.h> |
15 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
16 | #include <linux/init.h> | 17 | #include <linux/init.h> |
@@ -42,7 +43,6 @@ | |||
42 | #include <asm/hardware/sa1111.h> | 43 | #include <asm/hardware/sa1111.h> |
43 | 44 | ||
44 | #include <mach/pxa25x.h> | 45 | #include <mach/pxa25x.h> |
45 | #include <mach/gpio.h> | ||
46 | #include <mach/audio.h> | 46 | #include <mach/audio.h> |
47 | #include <mach/lubbock.h> | 47 | #include <mach/lubbock.h> |
48 | #include <mach/udc.h> | 48 | #include <mach/udc.h> |
diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c index 5fe5bcd7c0a1..4b796c37af3e 100644 --- a/arch/arm/mach-pxa/magician.c +++ b/arch/arm/mach-pxa/magician.c | |||
@@ -753,7 +753,7 @@ static void __init magician_init(void) | |||
753 | 753 | ||
754 | 754 | ||
755 | MACHINE_START(MAGICIAN, "HTC Magician") | 755 | MACHINE_START(MAGICIAN, "HTC Magician") |
756 | .boot_params = 0xa0000100, | 756 | .atag_offset = 0x100, |
757 | .map_io = pxa27x_map_io, | 757 | .map_io = pxa27x_map_io, |
758 | .nr_irqs = MAGICIAN_NR_IRQS, | 758 | .nr_irqs = MAGICIAN_NR_IRQS, |
759 | .init_irq = pxa27x_init_irq, | 759 | .init_irq = pxa27x_init_irq, |
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c index 4622eb78ef25..0567d3965fda 100644 --- a/arch/arm/mach-pxa/mainstone.c +++ b/arch/arm/mach-pxa/mainstone.c | |||
@@ -12,7 +12,7 @@ | |||
12 | * it under the terms of the GNU General Public License version 2 as | 12 | * it under the terms of the GNU General Public License version 2 as |
13 | * published by the Free Software Foundation. | 13 | * published by the Free Software Foundation. |
14 | */ | 14 | */ |
15 | 15 | #include <linux/gpio.h> | |
16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
18 | #include <linux/syscore_ops.h> | 18 | #include <linux/syscore_ops.h> |
@@ -43,7 +43,6 @@ | |||
43 | #include <asm/mach/flash.h> | 43 | #include <asm/mach/flash.h> |
44 | 44 | ||
45 | #include <mach/pxa27x.h> | 45 | #include <mach/pxa27x.h> |
46 | #include <mach/gpio.h> | ||
47 | #include <mach/mainstone.h> | 46 | #include <mach/mainstone.h> |
48 | #include <mach/audio.h> | 47 | #include <mach/audio.h> |
49 | #include <mach/pxafb.h> | 48 | #include <mach/pxafb.h> |
@@ -616,7 +615,7 @@ static void __init mainstone_map_io(void) | |||
616 | 615 | ||
617 | MACHINE_START(MAINSTONE, "Intel HCDDBBVA0 Development Platform (aka Mainstone)") | 616 | MACHINE_START(MAINSTONE, "Intel HCDDBBVA0 Development Platform (aka Mainstone)") |
618 | /* Maintainer: MontaVista Software Inc. */ | 617 | /* Maintainer: MontaVista Software Inc. */ |
619 | .boot_params = 0xa0000100, /* BLOB boot parameter setting */ | 618 | .atag_offset = 0x100, /* BLOB boot parameter setting */ |
620 | .map_io = mainstone_map_io, | 619 | .map_io = mainstone_map_io, |
621 | .nr_irqs = MAINSTONE_NR_IRQS, | 620 | .nr_irqs = MAINSTONE_NR_IRQS, |
622 | .init_irq = mainstone_init_irq, | 621 | .init_irq = mainstone_init_irq, |
diff --git a/arch/arm/mach-pxa/mfp-pxa2xx.c b/arch/arm/mach-pxa/mfp-pxa2xx.c index b27544bcafcb..43a5f6861ca3 100644 --- a/arch/arm/mach-pxa/mfp-pxa2xx.c +++ b/arch/arm/mach-pxa/mfp-pxa2xx.c | |||
@@ -12,15 +12,15 @@ | |||
12 | * it under the terms of the GNU General Public License version 2 as | 12 | * it under the terms of the GNU General Public License version 2 as |
13 | * published by the Free Software Foundation. | 13 | * published by the Free Software Foundation. |
14 | */ | 14 | */ |
15 | 15 | #include <linux/gpio.h> | |
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/syscore_ops.h> | 19 | #include <linux/syscore_ops.h> |
20 | 20 | ||
21 | #include <mach/gpio.h> | ||
22 | #include <mach/pxa2xx-regs.h> | 21 | #include <mach/pxa2xx-regs.h> |
23 | #include <mach/mfp-pxa2xx.h> | 22 | #include <mach/mfp-pxa2xx.h> |
23 | #include <mach/gpio-pxa.h> | ||
24 | 24 | ||
25 | #include "generic.h" | 25 | #include "generic.h" |
26 | 26 | ||
diff --git a/arch/arm/mach-pxa/mioa701.c b/arch/arm/mach-pxa/mioa701.c index 64810f908e5b..b938fc2c316a 100644 --- a/arch/arm/mach-pxa/mioa701.c +++ b/arch/arm/mach-pxa/mioa701.c | |||
@@ -751,7 +751,7 @@ static void mioa701_machine_exit(void) | |||
751 | } | 751 | } |
752 | 752 | ||
753 | MACHINE_START(MIOA701, "MIO A701") | 753 | MACHINE_START(MIOA701, "MIO A701") |
754 | .boot_params = 0xa0000100, | 754 | .atag_offset = 0x100, |
755 | .map_io = &pxa27x_map_io, | 755 | .map_io = &pxa27x_map_io, |
756 | .init_irq = &pxa27x_init_irq, | 756 | .init_irq = &pxa27x_init_irq, |
757 | .handle_irq = &pxa27x_handle_irq, | 757 | .handle_irq = &pxa27x_handle_irq, |
diff --git a/arch/arm/mach-pxa/mp900.c b/arch/arm/mach-pxa/mp900.c index fb408861dbcf..4af5d513c380 100644 --- a/arch/arm/mach-pxa/mp900.c +++ b/arch/arm/mach-pxa/mp900.c | |||
@@ -92,7 +92,7 @@ static void __init mp900c_init(void) | |||
92 | 92 | ||
93 | /* Maintainer - Michael Petchkovsky <mkpetch@internode.on.net> */ | 93 | /* Maintainer - Michael Petchkovsky <mkpetch@internode.on.net> */ |
94 | MACHINE_START(NEC_MP900, "MobilePro900/C") | 94 | MACHINE_START(NEC_MP900, "MobilePro900/C") |
95 | .boot_params = 0xa0220100, | 95 | .atag_offset = 0x220100, |
96 | .timer = &pxa_timer, | 96 | .timer = &pxa_timer, |
97 | .map_io = pxa25x_map_io, | 97 | .map_io = pxa25x_map_io, |
98 | .init_irq = pxa25x_init_irq, | 98 | .init_irq = pxa25x_init_irq, |
diff --git a/arch/arm/mach-pxa/mxm8x10.c b/arch/arm/mach-pxa/mxm8x10.c index b5a8fd3fce04..90928d6e1a5b 100644 --- a/arch/arm/mach-pxa/mxm8x10.c +++ b/arch/arm/mach-pxa/mxm8x10.c | |||
@@ -389,10 +389,11 @@ static struct mtd_partition mxm_8x10_nand_partitions[] = { | |||
389 | }; | 389 | }; |
390 | 390 | ||
391 | static struct pxa3xx_nand_platform_data mxm_8x10_nand_info = { | 391 | static struct pxa3xx_nand_platform_data mxm_8x10_nand_info = { |
392 | .enable_arbiter = 1, | 392 | .enable_arbiter = 1, |
393 | .keep_config = 1, | 393 | .keep_config = 1, |
394 | .parts = mxm_8x10_nand_partitions, | 394 | .num_cs = 1, |
395 | .nr_parts = ARRAY_SIZE(mxm_8x10_nand_partitions) | 395 | .parts[0] = mxm_8x10_nand_partitions, |
396 | .nr_parts[0] = ARRAY_SIZE(mxm_8x10_nand_partitions) | ||
396 | }; | 397 | }; |
397 | 398 | ||
398 | static void __init mxm_8x10_nand_init(void) | 399 | static void __init mxm_8x10_nand_init(void) |
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c index 6b77365ed938..3d4a2819cae1 100644 --- a/arch/arm/mach-pxa/palmld.c +++ b/arch/arm/mach-pxa/palmld.c | |||
@@ -342,7 +342,7 @@ static void __init palmld_init(void) | |||
342 | } | 342 | } |
343 | 343 | ||
344 | MACHINE_START(PALMLD, "Palm LifeDrive") | 344 | MACHINE_START(PALMLD, "Palm LifeDrive") |
345 | .boot_params = 0xa0000100, | 345 | .atag_offset = 0x100, |
346 | .map_io = palmld_map_io, | 346 | .map_io = palmld_map_io, |
347 | .init_irq = pxa27x_init_irq, | 347 | .init_irq = pxa27x_init_irq, |
348 | .handle_irq = pxa27x_handle_irq, | 348 | .handle_irq = pxa27x_handle_irq, |
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c index 9bd3e47486fb..99d6bcf1f974 100644 --- a/arch/arm/mach-pxa/palmt5.c +++ b/arch/arm/mach-pxa/palmt5.c | |||
@@ -202,7 +202,7 @@ static void __init palmt5_init(void) | |||
202 | } | 202 | } |
203 | 203 | ||
204 | MACHINE_START(PALMT5, "Palm Tungsten|T5") | 204 | MACHINE_START(PALMT5, "Palm Tungsten|T5") |
205 | .boot_params = 0xa0000100, | 205 | .atag_offset = 0x100, |
206 | .map_io = pxa27x_map_io, | 206 | .map_io = pxa27x_map_io, |
207 | .reserve = palmt5_reserve, | 207 | .reserve = palmt5_reserve, |
208 | .init_irq = pxa27x_init_irq, | 208 | .init_irq = pxa27x_init_irq, |
diff --git a/arch/arm/mach-pxa/palmtc.c b/arch/arm/mach-pxa/palmtc.c index 6ad4a6c7bc96..6ec7caefb37c 100644 --- a/arch/arm/mach-pxa/palmtc.c +++ b/arch/arm/mach-pxa/palmtc.c | |||
@@ -537,7 +537,7 @@ static void __init palmtc_init(void) | |||
537 | }; | 537 | }; |
538 | 538 | ||
539 | MACHINE_START(PALMTC, "Palm Tungsten|C") | 539 | MACHINE_START(PALMTC, "Palm Tungsten|C") |
540 | .boot_params = 0xa0000100, | 540 | .atag_offset = 0x100, |
541 | .map_io = pxa25x_map_io, | 541 | .map_io = pxa25x_map_io, |
542 | .init_irq = pxa25x_init_irq, | 542 | .init_irq = pxa25x_init_irq, |
543 | .handle_irq = pxa25x_handle_irq, | 543 | .handle_irq = pxa25x_handle_irq, |
diff --git a/arch/arm/mach-pxa/palmte2.c b/arch/arm/mach-pxa/palmte2.c index 664232f3e62c..9376da06404c 100644 --- a/arch/arm/mach-pxa/palmte2.c +++ b/arch/arm/mach-pxa/palmte2.c | |||
@@ -356,7 +356,7 @@ static void __init palmte2_init(void) | |||
356 | } | 356 | } |
357 | 357 | ||
358 | MACHINE_START(PALMTE2, "Palm Tungsten|E2") | 358 | MACHINE_START(PALMTE2, "Palm Tungsten|E2") |
359 | .boot_params = 0xa0000100, | 359 | .atag_offset = 0x100, |
360 | .map_io = pxa25x_map_io, | 360 | .map_io = pxa25x_map_io, |
361 | .init_irq = pxa25x_init_irq, | 361 | .init_irq = pxa25x_init_irq, |
362 | .handle_irq = pxa25x_handle_irq, | 362 | .handle_irq = pxa25x_handle_irq, |
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c index bb27d4b688d8..94e9708b349d 100644 --- a/arch/arm/mach-pxa/palmtreo.c +++ b/arch/arm/mach-pxa/palmtreo.c | |||
@@ -423,6 +423,7 @@ static void __init palmphone_common_init(void) | |||
423 | palmtreo_leds_init(); | 423 | palmtreo_leds_init(); |
424 | } | 424 | } |
425 | 425 | ||
426 | #ifdef CONFIG_MACH_TREO680 | ||
426 | static void __init treo680_init(void) | 427 | static void __init treo680_init(void) |
427 | { | 428 | { |
428 | pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config)); | 429 | pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config)); |
@@ -430,7 +431,9 @@ static void __init treo680_init(void) | |||
430 | palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY, | 431 | palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY, |
431 | GPIO_NR_TREO680_SD_POWER, 0); | 432 | GPIO_NR_TREO680_SD_POWER, 0); |
432 | } | 433 | } |
434 | #endif | ||
433 | 435 | ||
436 | #ifdef CONFIG_MACH_CENTRO | ||
434 | static void __init centro_init(void) | 437 | static void __init centro_init(void) |
435 | { | 438 | { |
436 | pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config)); | 439 | pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config)); |
@@ -438,9 +441,11 @@ static void __init centro_init(void) | |||
438 | palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, -1, | 441 | palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, -1, |
439 | GPIO_NR_CENTRO_SD_POWER, 1); | 442 | GPIO_NR_CENTRO_SD_POWER, 1); |
440 | } | 443 | } |
444 | #endif | ||
441 | 445 | ||
446 | #ifdef CONFIG_MACH_TREO680 | ||
442 | MACHINE_START(TREO680, "Palm Treo 680") | 447 | MACHINE_START(TREO680, "Palm Treo 680") |
443 | .boot_params = 0xa0000100, | 448 | .atag_offset = 0x100, |
444 | .map_io = pxa27x_map_io, | 449 | .map_io = pxa27x_map_io, |
445 | .reserve = treo_reserve, | 450 | .reserve = treo_reserve, |
446 | .init_irq = pxa27x_init_irq, | 451 | .init_irq = pxa27x_init_irq, |
@@ -448,9 +453,11 @@ MACHINE_START(TREO680, "Palm Treo 680") | |||
448 | .timer = &pxa_timer, | 453 | .timer = &pxa_timer, |
449 | .init_machine = treo680_init, | 454 | .init_machine = treo680_init, |
450 | MACHINE_END | 455 | MACHINE_END |
456 | #endif | ||
451 | 457 | ||
458 | #ifdef CONFIG_MACH_CENTRO | ||
452 | MACHINE_START(CENTRO, "Palm Centro 685") | 459 | MACHINE_START(CENTRO, "Palm Centro 685") |
453 | .boot_params = 0xa0000100, | 460 | .atag_offset = 0x100, |
454 | .map_io = pxa27x_map_io, | 461 | .map_io = pxa27x_map_io, |
455 | .reserve = treo_reserve, | 462 | .reserve = treo_reserve, |
456 | .init_irq = pxa27x_init_irq, | 463 | .init_irq = pxa27x_init_irq, |
@@ -458,3 +465,4 @@ MACHINE_START(CENTRO, "Palm Centro 685") | |||
458 | .timer = &pxa_timer, | 465 | .timer = &pxa_timer, |
459 | .init_machine = centro_init, | 466 | .init_machine = centro_init, |
460 | MACHINE_END | 467 | MACHINE_END |
468 | #endif | ||
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c index fc4285589c1f..4e3e45927e95 100644 --- a/arch/arm/mach-pxa/palmtx.c +++ b/arch/arm/mach-pxa/palmtx.c | |||
@@ -247,7 +247,7 @@ static void palmtx_nand_cmd_ctl(struct mtd_info *mtd, int cmd, | |||
247 | unsigned int ctrl) | 247 | unsigned int ctrl) |
248 | { | 248 | { |
249 | struct nand_chip *this = mtd->priv; | 249 | struct nand_chip *this = mtd->priv; |
250 | unsigned long nandaddr = (unsigned long)this->IO_ADDR_W; | 250 | char __iomem *nandaddr = this->IO_ADDR_W; |
251 | 251 | ||
252 | if (cmd == NAND_CMD_NONE) | 252 | if (cmd == NAND_CMD_NONE) |
253 | return; | 253 | return; |
@@ -315,17 +315,17 @@ static inline void palmtx_nand_init(void) {} | |||
315 | ******************************************************************************/ | 315 | ******************************************************************************/ |
316 | static struct map_desc palmtx_io_desc[] __initdata = { | 316 | static struct map_desc palmtx_io_desc[] __initdata = { |
317 | { | 317 | { |
318 | .virtual = PALMTX_PCMCIA_VIRT, | 318 | .virtual = (unsigned long)PALMTX_PCMCIA_VIRT, |
319 | .pfn = __phys_to_pfn(PALMTX_PCMCIA_PHYS), | 319 | .pfn = __phys_to_pfn(PALMTX_PCMCIA_PHYS), |
320 | .length = PALMTX_PCMCIA_SIZE, | 320 | .length = PALMTX_PCMCIA_SIZE, |
321 | .type = MT_DEVICE, | 321 | .type = MT_DEVICE, |
322 | }, { | 322 | }, { |
323 | .virtual = PALMTX_NAND_ALE_VIRT, | 323 | .virtual = (unsigned long)PALMTX_NAND_ALE_VIRT, |
324 | .pfn = __phys_to_pfn(PALMTX_NAND_ALE_PHYS), | 324 | .pfn = __phys_to_pfn(PALMTX_NAND_ALE_PHYS), |
325 | .length = SZ_1M, | 325 | .length = SZ_1M, |
326 | .type = MT_DEVICE, | 326 | .type = MT_DEVICE, |
327 | }, { | 327 | }, { |
328 | .virtual = PALMTX_NAND_CLE_VIRT, | 328 | .virtual = (unsigned long)PALMTX_NAND_CLE_VIRT, |
329 | .pfn = __phys_to_pfn(PALMTX_NAND_CLE_PHYS), | 329 | .pfn = __phys_to_pfn(PALMTX_NAND_CLE_PHYS), |
330 | .length = SZ_1M, | 330 | .length = SZ_1M, |
331 | .type = MT_DEVICE, | 331 | .type = MT_DEVICE, |
@@ -364,7 +364,7 @@ static void __init palmtx_init(void) | |||
364 | } | 364 | } |
365 | 365 | ||
366 | MACHINE_START(PALMTX, "Palm T|X") | 366 | MACHINE_START(PALMTX, "Palm T|X") |
367 | .boot_params = 0xa0000100, | 367 | .atag_offset = 0x100, |
368 | .map_io = palmtx_map_io, | 368 | .map_io = palmtx_map_io, |
369 | .init_irq = pxa27x_init_irq, | 369 | .init_irq = pxa27x_init_irq, |
370 | .handle_irq = pxa27x_handle_irq, | 370 | .handle_irq = pxa27x_handle_irq, |
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c index e61c1cc05519..68e18baf8e07 100644 --- a/arch/arm/mach-pxa/palmz72.c +++ b/arch/arm/mach-pxa/palmz72.c | |||
@@ -399,7 +399,7 @@ static void __init palmz72_init(void) | |||
399 | } | 399 | } |
400 | 400 | ||
401 | MACHINE_START(PALMZ72, "Palm Zire72") | 401 | MACHINE_START(PALMZ72, "Palm Zire72") |
402 | .boot_params = 0xa0000100, | 402 | .atag_offset = 0x100, |
403 | .map_io = pxa27x_map_io, | 403 | .map_io = pxa27x_map_io, |
404 | .init_irq = pxa27x_init_irq, | 404 | .init_irq = pxa27x_init_irq, |
405 | .handle_irq = pxa27x_handle_irq, | 405 | .handle_irq = pxa27x_handle_irq, |
diff --git a/arch/arm/mach-pxa/pcm027.c b/arch/arm/mach-pxa/pcm027.c index ffa65dfb8c6f..0b825a353537 100644 --- a/arch/arm/mach-pxa/pcm027.c +++ b/arch/arm/mach-pxa/pcm027.c | |||
@@ -258,7 +258,7 @@ static void __init pcm027_map_io(void) | |||
258 | 258 | ||
259 | MACHINE_START(PCM027, "Phytec Messtechnik GmbH phyCORE-PXA270") | 259 | MACHINE_START(PCM027, "Phytec Messtechnik GmbH phyCORE-PXA270") |
260 | /* Maintainer: Pengutronix */ | 260 | /* Maintainer: Pengutronix */ |
261 | .boot_params = 0xa0000100, | 261 | .atag_offset = 0x100, |
262 | .map_io = pcm027_map_io, | 262 | .map_io = pcm027_map_io, |
263 | .nr_irqs = PCM027_NR_IRQS, | 263 | .nr_irqs = PCM027_NR_IRQS, |
264 | .init_irq = pxa27x_init_irq, | 264 | .init_irq = pxa27x_init_irq, |
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c index 6d5b7e062124..6d38c6548b3d 100644 --- a/arch/arm/mach-pxa/pcm990-baseboard.c +++ b/arch/arm/mach-pxa/pcm990-baseboard.c | |||
@@ -19,7 +19,7 @@ | |||
19 | * it under the terms of the GNU General Public License version 2 as | 19 | * it under the terms of the GNU General Public License version 2 as |
20 | * published by the Free Software Foundation. | 20 | * published by the Free Software Foundation. |
21 | */ | 21 | */ |
22 | 22 | #include <linux/gpio.h> | |
23 | #include <linux/irq.h> | 23 | #include <linux/irq.h> |
24 | #include <linux/platform_device.h> | 24 | #include <linux/platform_device.h> |
25 | #include <linux/i2c.h> | 25 | #include <linux/i2c.h> |
@@ -28,7 +28,6 @@ | |||
28 | 28 | ||
29 | #include <media/soc_camera.h> | 29 | #include <media/soc_camera.h> |
30 | 30 | ||
31 | #include <asm/gpio.h> | ||
32 | #include <mach/camera.h> | 31 | #include <mach/camera.h> |
33 | #include <asm/mach/map.h> | 32 | #include <asm/mach/map.h> |
34 | #include <mach/pxa27x.h> | 33 | #include <mach/pxa27x.h> |
@@ -395,9 +394,9 @@ static int pcm990_camera_set_bus_param(struct soc_camera_link *link, | |||
395 | } | 394 | } |
396 | 395 | ||
397 | if (flags & SOCAM_DATAWIDTH_8) | 396 | if (flags & SOCAM_DATAWIDTH_8) |
398 | gpio_set_value(gpio_bus_switch, 1); | 397 | gpio_set_value_cansleep(gpio_bus_switch, 1); |
399 | else | 398 | else |
400 | gpio_set_value(gpio_bus_switch, 0); | 399 | gpio_set_value_cansleep(gpio_bus_switch, 0); |
401 | 400 | ||
402 | return 0; | 401 | return 0; |
403 | } | 402 | } |
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index 948ce3e729fa..50c833177866 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
@@ -16,6 +16,7 @@ | |||
16 | */ | 16 | */ |
17 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
19 | #include <linux/export.h> | ||
19 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
20 | #include <linux/fb.h> | 21 | #include <linux/fb.h> |
21 | #include <linux/pm.h> | 22 | #include <linux/pm.h> |
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 9c434d21a271..f05f9486b0cb 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
@@ -16,6 +16,7 @@ | |||
16 | * initialization stuff for PXA machines which can be overridden later if | 16 | * initialization stuff for PXA machines which can be overridden later if |
17 | * need be. | 17 | * need be. |
18 | */ | 18 | */ |
19 | #include <linux/gpio.h> | ||
19 | #include <linux/module.h> | 20 | #include <linux/module.h> |
20 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
21 | #include <linux/init.h> | 22 | #include <linux/init.h> |
@@ -23,12 +24,12 @@ | |||
23 | #include <linux/suspend.h> | 24 | #include <linux/suspend.h> |
24 | #include <linux/syscore_ops.h> | 25 | #include <linux/syscore_ops.h> |
25 | #include <linux/irq.h> | 26 | #include <linux/irq.h> |
27 | #include <linux/gpio.h> | ||
26 | 28 | ||
27 | #include <asm/mach/map.h> | 29 | #include <asm/mach/map.h> |
28 | #include <asm/suspend.h> | 30 | #include <asm/suspend.h> |
29 | #include <mach/hardware.h> | 31 | #include <mach/hardware.h> |
30 | #include <mach/irqs.h> | 32 | #include <mach/irqs.h> |
31 | #include <mach/gpio.h> | ||
32 | #include <mach/pxa25x.h> | 33 | #include <mach/pxa25x.h> |
33 | #include <mach/reset.h> | 34 | #include <mach/reset.h> |
34 | #include <mach/pm.h> | 35 | #include <mach/pm.h> |
@@ -324,7 +325,7 @@ void __init pxa26x_init_irq(void) | |||
324 | 325 | ||
325 | static struct map_desc pxa25x_io_desc[] __initdata = { | 326 | static struct map_desc pxa25x_io_desc[] __initdata = { |
326 | { /* Mem Ctl */ | 327 | { /* Mem Ctl */ |
327 | .virtual = SMEMC_VIRT, | 328 | .virtual = (unsigned long)SMEMC_VIRT, |
328 | .pfn = __phys_to_pfn(PXA2XX_SMEMC_BASE), | 329 | .pfn = __phys_to_pfn(PXA2XX_SMEMC_BASE), |
329 | .length = 0x00200000, | 330 | .length = 0x00200000, |
330 | .type = MT_DEVICE | 331 | .type = MT_DEVICE |
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index 9d2400b5f503..bc5a98ebaa72 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -11,6 +11,7 @@ | |||
11 | * it under the terms of the GNU General Public License version 2 as | 11 | * it under the terms of the GNU General Public License version 2 as |
12 | * published by the Free Software Foundation. | 12 | * published by the Free Software Foundation. |
13 | */ | 13 | */ |
14 | #include <linux/gpio.h> | ||
14 | #include <linux/module.h> | 15 | #include <linux/module.h> |
15 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
16 | #include <linux/init.h> | 17 | #include <linux/init.h> |
@@ -20,13 +21,13 @@ | |||
20 | #include <linux/io.h> | 21 | #include <linux/io.h> |
21 | #include <linux/irq.h> | 22 | #include <linux/irq.h> |
22 | #include <linux/i2c/pxa-i2c.h> | 23 | #include <linux/i2c/pxa-i2c.h> |
24 | #include <linux/gpio.h> | ||
23 | 25 | ||
24 | #include <asm/mach/map.h> | 26 | #include <asm/mach/map.h> |
25 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
26 | #include <asm/irq.h> | 28 | #include <asm/irq.h> |
27 | #include <asm/suspend.h> | 29 | #include <asm/suspend.h> |
28 | #include <mach/irqs.h> | 30 | #include <mach/irqs.h> |
29 | #include <mach/gpio.h> | ||
30 | #include <mach/pxa27x.h> | 31 | #include <mach/pxa27x.h> |
31 | #include <mach/reset.h> | 32 | #include <mach/reset.h> |
32 | #include <mach/ohci.h> | 33 | #include <mach/ohci.h> |
@@ -390,7 +391,7 @@ void __init pxa27x_init_irq(void) | |||
390 | 391 | ||
391 | static struct map_desc pxa27x_io_desc[] __initdata = { | 392 | static struct map_desc pxa27x_io_desc[] __initdata = { |
392 | { /* Mem Ctl */ | 393 | { /* Mem Ctl */ |
393 | .virtual = SMEMC_VIRT, | 394 | .virtual = (unsigned long)SMEMC_VIRT, |
394 | .pfn = __phys_to_pfn(PXA2XX_SMEMC_BASE), | 395 | .pfn = __phys_to_pfn(PXA2XX_SMEMC_BASE), |
395 | .length = 0x00200000, | 396 | .length = 0x00200000, |
396 | .type = MT_DEVICE | 397 | .type = MT_DEVICE |
diff --git a/arch/arm/mach-pxa/pxa3xx-ulpi.c b/arch/arm/mach-pxa/pxa3xx-ulpi.c index ce7168b233e2..e28dfb88827f 100644 --- a/arch/arm/mach-pxa/pxa3xx-ulpi.c +++ b/arch/arm/mach-pxa/pxa3xx-ulpi.c | |||
@@ -265,6 +265,7 @@ int pxa3xx_u2d_start_hc(struct usb_bus *host) | |||
265 | 265 | ||
266 | return err; | 266 | return err; |
267 | } | 267 | } |
268 | EXPORT_SYMBOL_GPL(pxa3xx_u2d_start_hc); | ||
268 | 269 | ||
269 | void pxa3xx_u2d_stop_hc(struct usb_bus *host) | 270 | void pxa3xx_u2d_stop_hc(struct usb_bus *host) |
270 | { | 271 | { |
@@ -277,6 +278,7 @@ void pxa3xx_u2d_stop_hc(struct usb_bus *host) | |||
277 | 278 | ||
278 | clk_disable(u2d->clk); | 279 | clk_disable(u2d->clk); |
279 | } | 280 | } |
281 | EXPORT_SYMBOL_GPL(pxa3xx_u2d_stop_hc); | ||
280 | 282 | ||
281 | static int pxa3xx_u2d_probe(struct platform_device *pdev) | 283 | static int pxa3xx_u2d_probe(struct platform_device *pdev) |
282 | { | 284 | { |
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index b5cd9e5aba31..0737c59b88ae 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c | |||
@@ -12,7 +12,6 @@ | |||
12 | * it under the terms of the GNU General Public License version 2 as | 12 | * it under the terms of the GNU General Public License version 2 as |
13 | * published by the Free Software Foundation. | 13 | * published by the Free Software Foundation. |
14 | */ | 14 | */ |
15 | |||
16 | #include <linux/module.h> | 15 | #include <linux/module.h> |
17 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
18 | #include <linux/init.h> | 17 | #include <linux/init.h> |
@@ -26,7 +25,7 @@ | |||
26 | #include <asm/mach/map.h> | 25 | #include <asm/mach/map.h> |
27 | #include <asm/suspend.h> | 26 | #include <asm/suspend.h> |
28 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
29 | #include <mach/gpio.h> | 28 | #include <mach/gpio-pxa.h> |
30 | #include <mach/pxa3xx-regs.h> | 29 | #include <mach/pxa3xx-regs.h> |
31 | #include <mach/reset.h> | 30 | #include <mach/reset.h> |
32 | #include <mach/ohci.h> | 31 | #include <mach/ohci.h> |
@@ -394,7 +393,7 @@ void __init pxa3xx_init_irq(void) | |||
394 | 393 | ||
395 | static struct map_desc pxa3xx_io_desc[] __initdata = { | 394 | static struct map_desc pxa3xx_io_desc[] __initdata = { |
396 | { /* Mem Ctl */ | 395 | { /* Mem Ctl */ |
397 | .virtual = SMEMC_VIRT, | 396 | .virtual = (unsigned long)SMEMC_VIRT, |
398 | .pfn = __phys_to_pfn(PXA3XX_SMEMC_BASE), | 397 | .pfn = __phys_to_pfn(PXA3XX_SMEMC_BASE), |
399 | .length = 0x00200000, | 398 | .length = 0x00200000, |
400 | .type = MT_DEVICE | 399 | .type = MT_DEVICE |
diff --git a/arch/arm/mach-pxa/pxa95x.c b/arch/arm/mach-pxa/pxa95x.c index 0ee166b61f81..51371b39d2a3 100644 --- a/arch/arm/mach-pxa/pxa95x.c +++ b/arch/arm/mach-pxa/pxa95x.c | |||
@@ -9,7 +9,6 @@ | |||
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * published by the Free Software Foundation. | 10 | * published by the Free Software Foundation. |
11 | */ | 11 | */ |
12 | |||
13 | #include <linux/module.h> | 12 | #include <linux/module.h> |
14 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
15 | #include <linux/init.h> | 14 | #include <linux/init.h> |
@@ -21,7 +20,7 @@ | |||
21 | #include <linux/syscore_ops.h> | 20 | #include <linux/syscore_ops.h> |
22 | 21 | ||
23 | #include <mach/hardware.h> | 22 | #include <mach/hardware.h> |
24 | #include <mach/gpio.h> | 23 | #include <mach/gpio-pxa.h> |
25 | #include <mach/pxa3xx-regs.h> | 24 | #include <mach/pxa3xx-regs.h> |
26 | #include <mach/pxa930.h> | 25 | #include <mach/pxa930.h> |
27 | #include <mach/reset.h> | 26 | #include <mach/reset.h> |
diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c index bbcd90562ebe..f0c05f4d12ed 100644 --- a/arch/arm/mach-pxa/raumfeld.c +++ b/arch/arm/mach-pxa/raumfeld.c | |||
@@ -346,8 +346,9 @@ static struct mtd_partition raumfeld_nand_partitions[] = { | |||
346 | static struct pxa3xx_nand_platform_data raumfeld_nand_info = { | 346 | static struct pxa3xx_nand_platform_data raumfeld_nand_info = { |
347 | .enable_arbiter = 1, | 347 | .enable_arbiter = 1, |
348 | .keep_config = 1, | 348 | .keep_config = 1, |
349 | .parts = raumfeld_nand_partitions, | 349 | .num_cs = 1, |
350 | .nr_parts = ARRAY_SIZE(raumfeld_nand_partitions), | 350 | .parts[0] = raumfeld_nand_partitions, |
351 | .nr_parts[0] = ARRAY_SIZE(raumfeld_nand_partitions), | ||
351 | }; | 352 | }; |
352 | 353 | ||
353 | /** | 354 | /** |
@@ -1086,7 +1087,7 @@ static void __init raumfeld_speaker_init(void) | |||
1086 | 1087 | ||
1087 | #ifdef CONFIG_MACH_RAUMFELD_RC | 1088 | #ifdef CONFIG_MACH_RAUMFELD_RC |
1088 | MACHINE_START(RAUMFELD_RC, "Raumfeld Controller") | 1089 | MACHINE_START(RAUMFELD_RC, "Raumfeld Controller") |
1089 | .boot_params = RAUMFELD_SDRAM_BASE + 0x100, | 1090 | .atag_offset = 0x100, |
1090 | .init_machine = raumfeld_controller_init, | 1091 | .init_machine = raumfeld_controller_init, |
1091 | .map_io = pxa3xx_map_io, | 1092 | .map_io = pxa3xx_map_io, |
1092 | .init_irq = pxa3xx_init_irq, | 1093 | .init_irq = pxa3xx_init_irq, |
@@ -1097,7 +1098,7 @@ MACHINE_END | |||
1097 | 1098 | ||
1098 | #ifdef CONFIG_MACH_RAUMFELD_CONNECTOR | 1099 | #ifdef CONFIG_MACH_RAUMFELD_CONNECTOR |
1099 | MACHINE_START(RAUMFELD_CONNECTOR, "Raumfeld Connector") | 1100 | MACHINE_START(RAUMFELD_CONNECTOR, "Raumfeld Connector") |
1100 | .boot_params = RAUMFELD_SDRAM_BASE + 0x100, | 1101 | .atag_offset = 0x100, |
1101 | .init_machine = raumfeld_connector_init, | 1102 | .init_machine = raumfeld_connector_init, |
1102 | .map_io = pxa3xx_map_io, | 1103 | .map_io = pxa3xx_map_io, |
1103 | .init_irq = pxa3xx_init_irq, | 1104 | .init_irq = pxa3xx_init_irq, |
@@ -1108,7 +1109,7 @@ MACHINE_END | |||
1108 | 1109 | ||
1109 | #ifdef CONFIG_MACH_RAUMFELD_SPEAKER | 1110 | #ifdef CONFIG_MACH_RAUMFELD_SPEAKER |
1110 | MACHINE_START(RAUMFELD_SPEAKER, "Raumfeld Speaker") | 1111 | MACHINE_START(RAUMFELD_SPEAKER, "Raumfeld Speaker") |
1111 | .boot_params = RAUMFELD_SDRAM_BASE + 0x100, | 1112 | .atag_offset = 0x100, |
1112 | .init_machine = raumfeld_speaker_init, | 1113 | .init_machine = raumfeld_speaker_init, |
1113 | .map_io = pxa3xx_map_io, | 1114 | .map_io = pxa3xx_map_io, |
1114 | .init_irq = pxa3xx_init_irq, | 1115 | .init_irq = pxa3xx_init_irq, |
diff --git a/arch/arm/mach-pxa/saar.c b/arch/arm/mach-pxa/saar.c index 72001ec6e7b5..fc2c1e05af9c 100644 --- a/arch/arm/mach-pxa/saar.c +++ b/arch/arm/mach-pxa/saar.c | |||
@@ -596,7 +596,7 @@ static void __init saar_init(void) | |||
596 | 596 | ||
597 | MACHINE_START(SAAR, "PXA930 Handheld Platform (aka SAAR)") | 597 | MACHINE_START(SAAR, "PXA930 Handheld Platform (aka SAAR)") |
598 | /* Maintainer: Eric Miao <eric.miao@marvell.com> */ | 598 | /* Maintainer: Eric Miao <eric.miao@marvell.com> */ |
599 | .boot_params = 0xa0000100, | 599 | .atag_offset = 0x100, |
600 | .map_io = pxa3xx_map_io, | 600 | .map_io = pxa3xx_map_io, |
601 | .init_irq = pxa3xx_init_irq, | 601 | .init_irq = pxa3xx_init_irq, |
602 | .handle_irq = pxa3xx_handle_irq, | 602 | .handle_irq = pxa3xx_handle_irq, |
diff --git a/arch/arm/mach-pxa/saarb.c b/arch/arm/mach-pxa/saarb.c index ebd6379c4969..3e999e308a2d 100644 --- a/arch/arm/mach-pxa/saarb.c +++ b/arch/arm/mach-pxa/saarb.c | |||
@@ -9,12 +9,13 @@ | |||
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
10 | * publishhed by the Free Software Foundation. | 10 | * publishhed by the Free Software Foundation. |
11 | */ | 11 | */ |
12 | 12 | #include <linux/gpio.h> | |
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | #include <linux/i2c.h> | 15 | #include <linux/i2c.h> |
16 | #include <linux/i2c/pxa-i2c.h> | 16 | #include <linux/i2c/pxa-i2c.h> |
17 | #include <linux/mfd/88pm860x.h> | 17 | #include <linux/mfd/88pm860x.h> |
18 | #include <linux/gpio.h> | ||
18 | 19 | ||
19 | #include <asm/mach-types.h> | 20 | #include <asm/mach-types.h> |
20 | #include <asm/mach/arch.h> | 21 | #include <asm/mach/arch.h> |
@@ -23,7 +24,7 @@ | |||
23 | #include <mach/hardware.h> | 24 | #include <mach/hardware.h> |
24 | #include <mach/mfp.h> | 25 | #include <mach/mfp.h> |
25 | #include <mach/mfp-pxa930.h> | 26 | #include <mach/mfp-pxa930.h> |
26 | #include <mach/gpio.h> | 27 | #include <mach/pxa95x.h> |
27 | 28 | ||
28 | #include "generic.h" | 29 | #include "generic.h" |
29 | 30 | ||
@@ -103,7 +104,7 @@ static void __init saarb_init(void) | |||
103 | } | 104 | } |
104 | 105 | ||
105 | MACHINE_START(SAARB, "PXA955 Handheld Platform (aka SAARB)") | 106 | MACHINE_START(SAARB, "PXA955 Handheld Platform (aka SAARB)") |
106 | .boot_params = 0xa0000100, | 107 | .atag_offset = 0x100, |
107 | .map_io = pxa3xx_map_io, | 108 | .map_io = pxa3xx_map_io, |
108 | .nr_irqs = SAARB_NR_IRQS, | 109 | .nr_irqs = SAARB_NR_IRQS, |
109 | .init_irq = pxa95x_init_irq, | 110 | .init_irq = pxa95x_init_irq, |
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index d8dec9113aad..953a9195f9e5 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/input/matrix_keypad.h> | 30 | #include <linux/input/matrix_keypad.h> |
31 | #include <linux/regulator/machine.h> | 31 | #include <linux/regulator/machine.h> |
32 | #include <linux/io.h> | 32 | #include <linux/io.h> |
33 | #include <linux/module.h> | ||
33 | 34 | ||
34 | #include <asm/setup.h> | 35 | #include <asm/setup.h> |
35 | #include <asm/mach-types.h> | 36 | #include <asm/mach-types.h> |
diff --git a/arch/arm/mach-pxa/stargate2.c b/arch/arm/mach-pxa/stargate2.c index 3f8d0af9e2f7..4c9a48bef569 100644 --- a/arch/arm/mach-pxa/stargate2.c +++ b/arch/arm/mach-pxa/stargate2.c | |||
@@ -1004,7 +1004,7 @@ MACHINE_START(INTELMOTE2, "IMOTE 2") | |||
1004 | .handle_irq = pxa27x_handle_irq, | 1004 | .handle_irq = pxa27x_handle_irq, |
1005 | .timer = &pxa_timer, | 1005 | .timer = &pxa_timer, |
1006 | .init_machine = imote2_init, | 1006 | .init_machine = imote2_init, |
1007 | .boot_params = 0xA0000100, | 1007 | .atag_offset = 0x100, |
1008 | MACHINE_END | 1008 | MACHINE_END |
1009 | #endif | 1009 | #endif |
1010 | 1010 | ||
@@ -1016,6 +1016,6 @@ MACHINE_START(STARGATE2, "Stargate 2") | |||
1016 | .handle_irq = pxa27x_handle_irq, | 1016 | .handle_irq = pxa27x_handle_irq, |
1017 | .timer = &pxa_timer, | 1017 | .timer = &pxa_timer, |
1018 | .init_machine = stargate2_init, | 1018 | .init_machine = stargate2_init, |
1019 | .boot_params = 0xA0000100, | 1019 | .atag_offset = 0x100, |
1020 | MACHINE_END | 1020 | MACHINE_END |
1021 | #endif | 1021 | #endif |
diff --git a/arch/arm/mach-pxa/tavorevb.c b/arch/arm/mach-pxa/tavorevb.c index 32fb58e01b10..ad47bb98f30d 100644 --- a/arch/arm/mach-pxa/tavorevb.c +++ b/arch/arm/mach-pxa/tavorevb.c | |||
@@ -489,7 +489,7 @@ static void __init tavorevb_init(void) | |||
489 | 489 | ||
490 | MACHINE_START(TAVOREVB, "PXA930 Evaluation Board (aka TavorEVB)") | 490 | MACHINE_START(TAVOREVB, "PXA930 Evaluation Board (aka TavorEVB)") |
491 | /* Maintainer: Eric Miao <eric.miao@marvell.com> */ | 491 | /* Maintainer: Eric Miao <eric.miao@marvell.com> */ |
492 | .boot_params = 0xa0000100, | 492 | .atag_offset = 0x100, |
493 | .map_io = pxa3xx_map_io, | 493 | .map_io = pxa3xx_map_io, |
494 | .init_irq = pxa3xx_init_irq, | 494 | .init_irq = pxa3xx_init_irq, |
495 | .handle_irq = pxa3xx_handle_irq, | 495 | .handle_irq = pxa3xx_handle_irq, |
diff --git a/arch/arm/mach-pxa/tavorevb3.c b/arch/arm/mach-pxa/tavorevb3.c index fd5a8eae0a87..fd569167302a 100644 --- a/arch/arm/mach-pxa/tavorevb3.c +++ b/arch/arm/mach-pxa/tavorevb3.c | |||
@@ -125,7 +125,7 @@ static void __init evb3_init(void) | |||
125 | } | 125 | } |
126 | 126 | ||
127 | MACHINE_START(TAVOREVB3, "PXA950 Evaluation Board (aka TavorEVB3)") | 127 | MACHINE_START(TAVOREVB3, "PXA950 Evaluation Board (aka TavorEVB3)") |
128 | .boot_params = 0xa0000100, | 128 | .atag_offset = 0x100, |
129 | .map_io = pxa3xx_map_io, | 129 | .map_io = pxa3xx_map_io, |
130 | .nr_irqs = TAVOREVB3_NR_IRQS, | 130 | .nr_irqs = TAVOREVB3_NR_IRQS, |
131 | .init_irq = pxa3xx_init_irq, | 131 | .init_irq = pxa3xx_init_irq, |
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c index c0417508f39d..1aaed2b17e10 100644 --- a/arch/arm/mach-pxa/trizeps4.c +++ b/arch/arm/mach-pxa/trizeps4.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
19 | #include <linux/export.h> | ||
19 | #include <linux/sched.h> | 20 | #include <linux/sched.h> |
20 | #include <linux/bitops.h> | 21 | #include <linux/bitops.h> |
21 | #include <linux/fb.h> | 22 | #include <linux/fb.h> |
@@ -554,7 +555,7 @@ static void __init trizeps4_map_io(void) | |||
554 | 555 | ||
555 | MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module") | 556 | MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module") |
556 | /* MAINTAINER("Jürgen Schindele") */ | 557 | /* MAINTAINER("Jürgen Schindele") */ |
557 | .boot_params = TRIZEPS4_SDRAM_BASE + 0x100, | 558 | .atag_offset = 0x100, |
558 | .init_machine = trizeps4_init, | 559 | .init_machine = trizeps4_init, |
559 | .map_io = trizeps4_map_io, | 560 | .map_io = trizeps4_map_io, |
560 | .init_irq = pxa27x_init_irq, | 561 | .init_irq = pxa27x_init_irq, |
@@ -564,7 +565,7 @@ MACHINE_END | |||
564 | 565 | ||
565 | MACHINE_START(TRIZEPS4WL, "Keith und Koep Trizeps IV-WL module") | 566 | MACHINE_START(TRIZEPS4WL, "Keith und Koep Trizeps IV-WL module") |
566 | /* MAINTAINER("Jürgen Schindele") */ | 567 | /* MAINTAINER("Jürgen Schindele") */ |
567 | .boot_params = TRIZEPS4_SDRAM_BASE + 0x100, | 568 | .atag_offset = 0x100, |
568 | .init_machine = trizeps4_init, | 569 | .init_machine = trizeps4_init, |
569 | .map_io = trizeps4_map_io, | 570 | .map_io = trizeps4_map_io, |
570 | .init_irq = pxa27x_init_irq, | 571 | .init_irq = pxa27x_init_irq, |
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c index d4a3dc74e84a..242ddae332d3 100644 --- a/arch/arm/mach-pxa/viper.c +++ b/arch/arm/mach-pxa/viper.c | |||
@@ -992,7 +992,7 @@ static void __init viper_map_io(void) | |||
992 | 992 | ||
993 | MACHINE_START(VIPER, "Arcom/Eurotech VIPER SBC") | 993 | MACHINE_START(VIPER, "Arcom/Eurotech VIPER SBC") |
994 | /* Maintainer: Marc Zyngier <maz@misterjones.org> */ | 994 | /* Maintainer: Marc Zyngier <maz@misterjones.org> */ |
995 | .boot_params = 0xa0000100, | 995 | .atag_offset = 0x100, |
996 | .map_io = viper_map_io, | 996 | .map_io = viper_map_io, |
997 | .init_irq = viper_init_irq, | 997 | .init_irq = viper_init_irq, |
998 | .handle_irq = pxa25x_handle_irq, | 998 | .handle_irq = pxa25x_handle_irq, |
diff --git a/arch/arm/mach-pxa/vpac270.c b/arch/arm/mach-pxa/vpac270.c index 5f8490ab07cb..a7539a6ed1ff 100644 --- a/arch/arm/mach-pxa/vpac270.c +++ b/arch/arm/mach-pxa/vpac270.c | |||
@@ -716,7 +716,7 @@ static void __init vpac270_init(void) | |||
716 | } | 716 | } |
717 | 717 | ||
718 | MACHINE_START(VPAC270, "Voipac PXA270") | 718 | MACHINE_START(VPAC270, "Voipac PXA270") |
719 | .boot_params = 0xa0000100, | 719 | .atag_offset = 0x100, |
720 | .map_io = pxa27x_map_io, | 720 | .map_io = pxa27x_map_io, |
721 | .init_irq = pxa27x_init_irq, | 721 | .init_irq = pxa27x_init_irq, |
722 | .handle_irq = pxa27x_handle_irq, | 722 | .handle_irq = pxa27x_handle_irq, |
diff --git a/arch/arm/mach-pxa/xcep.c b/arch/arm/mach-pxa/xcep.c index 937c42845df9..70e1730ef282 100644 --- a/arch/arm/mach-pxa/xcep.c +++ b/arch/arm/mach-pxa/xcep.c | |||
@@ -179,7 +179,7 @@ static void __init xcep_init(void) | |||
179 | } | 179 | } |
180 | 180 | ||
181 | MACHINE_START(XCEP, "Iskratel XCEP") | 181 | MACHINE_START(XCEP, "Iskratel XCEP") |
182 | .boot_params = 0xa0000100, | 182 | .atag_offset = 0x100, |
183 | .init_machine = xcep_init, | 183 | .init_machine = xcep_init, |
184 | .map_io = pxa25x_map_io, | 184 | .map_io = pxa25x_map_io, |
185 | .init_irq = pxa25x_init_irq, | 185 | .init_irq = pxa25x_init_irq, |
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c index 6c9275a20c91..ead32c90fec1 100644 --- a/arch/arm/mach-pxa/z2.c +++ b/arch/arm/mach-pxa/z2.c | |||
@@ -686,7 +686,8 @@ static void z2_power_off(void) | |||
686 | */ | 686 | */ |
687 | PSPR = 0x0; | 687 | PSPR = 0x0; |
688 | local_irq_disable(); | 688 | local_irq_disable(); |
689 | pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP, PLAT_PHYS_OFFSET - PAGE_OFFSET); | 689 | pxa27x_set_pwrmode(PWRMODE_DEEPSLEEP); |
690 | pxa27x_cpu_pm_enter(PM_SUSPEND_MEM); | ||
690 | } | 691 | } |
691 | #else | 692 | #else |
692 | #define z2_power_off NULL | 693 | #define z2_power_off NULL |
@@ -718,7 +719,7 @@ static void __init z2_init(void) | |||
718 | } | 719 | } |
719 | 720 | ||
720 | MACHINE_START(ZIPIT2, "Zipit Z2") | 721 | MACHINE_START(ZIPIT2, "Zipit Z2") |
721 | .boot_params = 0xa0000100, | 722 | .atag_offset = 0x100, |
722 | .map_io = pxa27x_map_io, | 723 | .map_io = pxa27x_map_io, |
723 | .init_irq = pxa27x_init_irq, | 724 | .init_irq = pxa27x_init_irq, |
724 | .handle_irq = pxa27x_handle_irq, | 725 | .handle_irq = pxa27x_handle_irq, |
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c index 99c49bcd9f70..498b83b089f3 100644 --- a/arch/arm/mach-pxa/zeus.c +++ b/arch/arm/mach-pxa/zeus.c | |||
@@ -860,25 +860,25 @@ static void __init zeus_init(void) | |||
860 | 860 | ||
861 | static struct map_desc zeus_io_desc[] __initdata = { | 861 | static struct map_desc zeus_io_desc[] __initdata = { |
862 | { | 862 | { |
863 | .virtual = ZEUS_CPLD_VERSION, | 863 | .virtual = (unsigned long)ZEUS_CPLD_VERSION, |
864 | .pfn = __phys_to_pfn(ZEUS_CPLD_VERSION_PHYS), | 864 | .pfn = __phys_to_pfn(ZEUS_CPLD_VERSION_PHYS), |
865 | .length = 0x1000, | 865 | .length = 0x1000, |
866 | .type = MT_DEVICE, | 866 | .type = MT_DEVICE, |
867 | }, | 867 | }, |
868 | { | 868 | { |
869 | .virtual = ZEUS_CPLD_ISA_IRQ, | 869 | .virtual = (unsigned long)ZEUS_CPLD_ISA_IRQ, |
870 | .pfn = __phys_to_pfn(ZEUS_CPLD_ISA_IRQ_PHYS), | 870 | .pfn = __phys_to_pfn(ZEUS_CPLD_ISA_IRQ_PHYS), |
871 | .length = 0x1000, | 871 | .length = 0x1000, |
872 | .type = MT_DEVICE, | 872 | .type = MT_DEVICE, |
873 | }, | 873 | }, |
874 | { | 874 | { |
875 | .virtual = ZEUS_CPLD_CONTROL, | 875 | .virtual = (unsigned long)ZEUS_CPLD_CONTROL, |
876 | .pfn = __phys_to_pfn(ZEUS_CPLD_CONTROL_PHYS), | 876 | .pfn = __phys_to_pfn(ZEUS_CPLD_CONTROL_PHYS), |
877 | .length = 0x1000, | 877 | .length = 0x1000, |
878 | .type = MT_DEVICE, | 878 | .type = MT_DEVICE, |
879 | }, | 879 | }, |
880 | { | 880 | { |
881 | .virtual = ZEUS_PC104IO, | 881 | .virtual = (unsigned long)ZEUS_PC104IO, |
882 | .pfn = __phys_to_pfn(ZEUS_PC104IO_PHYS), | 882 | .pfn = __phys_to_pfn(ZEUS_PC104IO_PHYS), |
883 | .length = 0x00800000, | 883 | .length = 0x00800000, |
884 | .type = MT_DEVICE, | 884 | .type = MT_DEVICE, |
@@ -904,7 +904,7 @@ static void __init zeus_map_io(void) | |||
904 | 904 | ||
905 | MACHINE_START(ARCOM_ZEUS, "Arcom/Eurotech ZEUS") | 905 | MACHINE_START(ARCOM_ZEUS, "Arcom/Eurotech ZEUS") |
906 | /* Maintainer: Marc Zyngier <maz@misterjones.org> */ | 906 | /* Maintainer: Marc Zyngier <maz@misterjones.org> */ |
907 | .boot_params = 0xa0000100, | 907 | .atag_offset = 0x100, |
908 | .map_io = zeus_map_io, | 908 | .map_io = zeus_map_io, |
909 | .nr_irqs = ZEUS_NR_IRQS, | 909 | .nr_irqs = ZEUS_NR_IRQS, |
910 | .init_irq = zeus_init_irq, | 910 | .init_irq = zeus_init_irq, |
diff --git a/arch/arm/mach-pxa/zylonite.c b/arch/arm/mach-pxa/zylonite.c index 15ec66b3471a..6c39c3328418 100644 --- a/arch/arm/mach-pxa/zylonite.c +++ b/arch/arm/mach-pxa/zylonite.c | |||
@@ -366,8 +366,9 @@ static struct mtd_partition zylonite_nand_partitions[] = { | |||
366 | 366 | ||
367 | static struct pxa3xx_nand_platform_data zylonite_nand_info = { | 367 | static struct pxa3xx_nand_platform_data zylonite_nand_info = { |
368 | .enable_arbiter = 1, | 368 | .enable_arbiter = 1, |
369 | .parts = zylonite_nand_partitions, | 369 | .num_cs = 1, |
370 | .nr_parts = ARRAY_SIZE(zylonite_nand_partitions), | 370 | .parts[0] = zylonite_nand_partitions, |
371 | .nr_parts[0] = ARRAY_SIZE(zylonite_nand_partitions), | ||
371 | }; | 372 | }; |
372 | 373 | ||
373 | static void __init zylonite_init_nand(void) | 374 | static void __init zylonite_init_nand(void) |
@@ -422,7 +423,7 @@ static void __init zylonite_init(void) | |||
422 | } | 423 | } |
423 | 424 | ||
424 | MACHINE_START(ZYLONITE, "PXA3xx Platform Development Kit (aka Zylonite)") | 425 | MACHINE_START(ZYLONITE, "PXA3xx Platform Development Kit (aka Zylonite)") |
425 | .boot_params = 0xa0000100, | 426 | .atag_offset = 0x100, |
426 | .map_io = pxa3xx_map_io, | 427 | .map_io = pxa3xx_map_io, |
427 | .nr_irqs = ZYLONITE_NR_IRQS, | 428 | .nr_irqs = ZYLONITE_NR_IRQS, |
428 | .init_irq = pxa3xx_init_irq, | 429 | .init_irq = pxa3xx_init_irq, |