diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-pxa/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/colibri-pxa270.c (renamed from arch/arm/mach-pxa/colibri.c) | 50 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/colibri.h | 17 |
4 files changed, 37 insertions, 34 deletions
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index d13282d773aa..fd21bba62170 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
@@ -262,7 +262,7 @@ config MACH_EXEDA | |||
262 | select PXA27x | 262 | select PXA27x |
263 | 263 | ||
264 | config MACH_COLIBRI | 264 | config MACH_COLIBRI |
265 | bool "Toradex Colibri PX27x" | 265 | bool "Toradex Colibri PXA270" |
266 | select PXA27x | 266 | select PXA27x |
267 | 267 | ||
268 | config MACH_ZYLONITE | 268 | config MACH_ZYLONITE |
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index 8da8e63d048b..fbbda93b73ae 100644 --- a/arch/arm/mach-pxa/Makefile +++ b/arch/arm/mach-pxa/Makefile | |||
@@ -35,7 +35,7 @@ obj-$(CONFIG_MACH_MAINSTONE) += mainstone.o | |||
35 | obj-$(CONFIG_MACH_MP900C) += mp900.o | 35 | obj-$(CONFIG_MACH_MP900C) += mp900.o |
36 | obj-$(CONFIG_ARCH_PXA_IDP) += idp.o | 36 | obj-$(CONFIG_ARCH_PXA_IDP) += idp.o |
37 | obj-$(CONFIG_MACH_TRIZEPS4) += trizeps4.o | 37 | obj-$(CONFIG_MACH_TRIZEPS4) += trizeps4.o |
38 | obj-$(CONFIG_MACH_COLIBRI) += colibri.o | 38 | obj-$(CONFIG_MACH_COLIBRI) += colibri-pxa270.o |
39 | obj-$(CONFIG_MACH_H5000) += h5000.o | 39 | obj-$(CONFIG_MACH_H5000) += h5000.o |
40 | obj-$(CONFIG_PXA_SHARP_C7xx) += corgi.o sharpsl_pm.o corgi_pm.o | 40 | obj-$(CONFIG_PXA_SHARP_C7xx) += corgi.o sharpsl_pm.o corgi_pm.o |
41 | obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o sharpsl_pm.o spitz_pm.o | 41 | obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o sharpsl_pm.o spitz_pm.o |
diff --git a/arch/arm/mach-pxa/colibri.c b/arch/arm/mach-pxa/colibri-pxa270.c index 26493ae2889e..01bcfaae75bc 100644 --- a/arch/arm/mach-pxa/colibri.c +++ b/arch/arm/mach-pxa/colibri-pxa270.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * linux/arch/arm/mach-pxa/colibri.c | 2 | * linux/arch/arm/mach-pxa/colibri-pxa270.c |
3 | * | 3 | * |
4 | * Support for Toradex PXA27x based Colibri module | 4 | * Support for Toradex PXA270 based Colibri module |
5 | * Daniel Mack <daniel@caiaq.de> | 5 | * Daniel Mack <daniel@caiaq.de> |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/mtd/mtd.h> | 20 | #include <linux/mtd/mtd.h> |
21 | #include <linux/mtd/partitions.h> | 21 | #include <linux/mtd/partitions.h> |
22 | #include <linux/mtd/physmap.h> | 22 | #include <linux/mtd/physmap.h> |
23 | #include <linux/gpio.h> | ||
23 | #include <asm/mach-types.h> | 24 | #include <asm/mach-types.h> |
24 | #include <mach/hardware.h> | 25 | #include <mach/hardware.h> |
25 | #include <asm/irq.h> | 26 | #include <asm/irq.h> |
@@ -35,13 +36,16 @@ | |||
35 | #include "generic.h" | 36 | #include "generic.h" |
36 | #include "devices.h" | 37 | #include "devices.h" |
37 | 38 | ||
38 | static unsigned long colibri_pin_config[] __initdata = { | 39 | /* |
40 | * GPIO configuration | ||
41 | */ | ||
42 | static mfp_cfg_t colibri_pxa270_pin_config[] __initdata = { | ||
39 | GPIO78_nCS_2, /* Ethernet CS */ | 43 | GPIO78_nCS_2, /* Ethernet CS */ |
40 | GPIO114_GPIO, /* Ethernet IRQ */ | 44 | GPIO114_GPIO, /* Ethernet IRQ */ |
41 | }; | 45 | }; |
42 | 46 | ||
43 | /* | 47 | /* |
44 | * Flash | 48 | * NOR flash |
45 | */ | 49 | */ |
46 | static struct mtd_partition colibri_partitions[] = { | 50 | static struct mtd_partition colibri_partitions[] = { |
47 | { | 51 | { |
@@ -70,39 +74,40 @@ static struct physmap_flash_data colibri_flash_data[] = { | |||
70 | } | 74 | } |
71 | }; | 75 | }; |
72 | 76 | ||
73 | static struct resource flash_resource = { | 77 | static struct resource colibri_pxa270_flash_resource = { |
74 | .start = PXA_CS0_PHYS, | 78 | .start = PXA_CS0_PHYS, |
75 | .end = PXA_CS0_PHYS + SZ_32M - 1, | 79 | .end = PXA_CS0_PHYS + SZ_32M - 1, |
76 | .flags = IORESOURCE_MEM, | 80 | .flags = IORESOURCE_MEM, |
77 | }; | 81 | }; |
78 | 82 | ||
79 | static struct platform_device flash_device = { | 83 | static struct platform_device colibri_pxa270_flash_device = { |
80 | .name = "physmap-flash", | 84 | .name = "physmap-flash", |
81 | .id = 0, | 85 | .id = 0, |
82 | .dev = { | 86 | .dev = { |
83 | .platform_data = colibri_flash_data, | 87 | .platform_data = colibri_flash_data, |
84 | }, | 88 | }, |
85 | .resource = &flash_resource, | 89 | .resource = &colibri_pxa270_flash_resource, |
86 | .num_resources = 1, | 90 | .num_resources = 1, |
87 | }; | 91 | }; |
88 | 92 | ||
89 | /* | 93 | /* |
90 | * DM9000 Ethernet | 94 | * DM9000 Ethernet |
91 | */ | 95 | */ |
96 | #if defined(CONFIG_DM9000) | ||
92 | static struct resource dm9000_resources[] = { | 97 | static struct resource dm9000_resources[] = { |
93 | [0] = { | 98 | [0] = { |
94 | .start = COLIBRI_ETH_PHYS, | 99 | .start = COLIBRI_PXA270_ETH_PHYS, |
95 | .end = COLIBRI_ETH_PHYS + 3, | 100 | .end = COLIBRI_PXA270_ETH_PHYS + 3, |
96 | .flags = IORESOURCE_MEM, | 101 | .flags = IORESOURCE_MEM, |
97 | }, | 102 | }, |
98 | [1] = { | 103 | [1] = { |
99 | .start = COLIBRI_ETH_PHYS + 4, | 104 | .start = COLIBRI_PXA270_ETH_PHYS + 4, |
100 | .end = COLIBRI_ETH_PHYS + 4 + 500, | 105 | .end = COLIBRI_PXA270_ETH_PHYS + 4 + 500, |
101 | .flags = IORESOURCE_MEM, | 106 | .flags = IORESOURCE_MEM, |
102 | }, | 107 | }, |
103 | [2] = { | 108 | [2] = { |
104 | .start = COLIBRI_ETH_IRQ, | 109 | .start = COLIBRI_PXA270_ETH_IRQ, |
105 | .end = COLIBRI_ETH_IRQ, | 110 | .end = COLIBRI_PXA270_ETH_IRQ, |
106 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING, | 111 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING, |
107 | }, | 112 | }, |
108 | }; | 113 | }; |
@@ -113,25 +118,28 @@ static struct platform_device dm9000_device = { | |||
113 | .num_resources = ARRAY_SIZE(dm9000_resources), | 118 | .num_resources = ARRAY_SIZE(dm9000_resources), |
114 | .resource = dm9000_resources, | 119 | .resource = dm9000_resources, |
115 | }; | 120 | }; |
121 | #endif /* CONFIG_DM9000 */ | ||
116 | 122 | ||
117 | static struct platform_device *colibri_devices[] __initdata = { | 123 | static struct platform_device *colibri_pxa270_devices[] __initdata = { |
118 | &flash_device, | 124 | &colibri_pxa270_flash_device, |
125 | #if defined(CONFIG_DM9000) | ||
119 | &dm9000_device, | 126 | &dm9000_device, |
127 | #endif | ||
120 | }; | 128 | }; |
121 | 129 | ||
122 | static void __init colibri_init(void) | 130 | static void __init colibri_pxa270_init(void) |
123 | { | 131 | { |
124 | pxa2xx_mfp_config(ARRAY_AND_SIZE(colibri_pin_config)); | 132 | pxa2xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa270_pin_config)); |
125 | 133 | platform_add_devices(ARRAY_AND_SIZE(colibri_pxa270_devices)); | |
126 | platform_add_devices(colibri_devices, ARRAY_SIZE(colibri_devices)); | ||
127 | } | 134 | } |
128 | 135 | ||
129 | MACHINE_START(COLIBRI, "Toradex Colibri PXA27x") | 136 | MACHINE_START(COLIBRI, "Toradex Colibri PXA270") |
130 | .phys_io = 0x40000000, | 137 | .phys_io = 0x40000000, |
131 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 138 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
132 | .boot_params = COLIBRI_SDRAM_BASE + 0x100, | 139 | .boot_params = COLIBRI_SDRAM_BASE + 0x100, |
133 | .init_machine = colibri_init, | 140 | .init_machine = colibri_pxa270_init, |
134 | .map_io = pxa_map_io, | 141 | .map_io = pxa_map_io, |
135 | .init_irq = pxa27x_init_irq, | 142 | .init_irq = pxa27x_init_irq, |
136 | .timer = &pxa_timer, | 143 | .timer = &pxa_timer, |
137 | MACHINE_END | 144 | MACHINE_END |
145 | |||
diff --git a/arch/arm/mach-pxa/include/mach/colibri.h b/arch/arm/mach-pxa/include/mach/colibri.h index 2ae373fb5675..c7c99d078817 100644 --- a/arch/arm/mach-pxa/include/mach/colibri.h +++ b/arch/arm/mach-pxa/include/mach/colibri.h | |||
@@ -2,18 +2,13 @@ | |||
2 | #define _COLIBRI_H_ | 2 | #define _COLIBRI_H_ |
3 | 3 | ||
4 | /* physical memory regions */ | 4 | /* physical memory regions */ |
5 | #define COLIBRI_FLASH_PHYS (PXA_CS0_PHYS) /* Flash region */ | ||
6 | #define COLIBRI_ETH_PHYS (PXA_CS2_PHYS) /* Ethernet DM9000 region */ | ||
7 | #define COLIBRI_SDRAM_BASE 0xa0000000 /* SDRAM region */ | 5 | #define COLIBRI_SDRAM_BASE 0xa0000000 /* SDRAM region */ |
8 | 6 | ||
9 | /* virtual memory regions */ | 7 | #define COLIBRI_PXA270_FLASH_PHYS (PXA_CS0_PHYS) /* Flash region */ |
10 | #define COLIBRI_DISK_VIRT 0xF0000000 /* Disk On Chip region */ | 8 | #define COLIBRI_PXA270_ETH_PHYS (PXA_CS2_PHYS) /* Ethernet */ |
11 | 9 | #define COLIBRI_PXA270_ETH_IRQ_GPIO 114 | |
12 | /* size of flash */ | 10 | #define COLIBRI_PXA270_ETH_IRQ \ |
13 | #define COLIBRI_FLASH_SIZE 0x02000000 /* Flash size 32 MB */ | 11 | gpio_to_irq(mfp_to_gpio(COLIBRI_PXA270_ETH_IRQ_GPIO)) |
14 | |||
15 | /* Ethernet Controller Davicom DM9000 */ | ||
16 | #define GPIO_DM9000 114 | ||
17 | #define COLIBRI_ETH_IRQ IRQ_GPIO(GPIO_DM9000) | ||
18 | 12 | ||
19 | #endif /* _COLIBRI_H_ */ | 13 | #endif /* _COLIBRI_H_ */ |
14 | |||