diff options
Diffstat (limited to 'arch/arm/mach-pxa/colibri-pxa270.c')
-rw-r--r-- | arch/arm/mach-pxa/colibri-pxa270.c | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/arch/arm/mach-pxa/colibri-pxa270.c b/arch/arm/mach-pxa/colibri-pxa270.c index b4f53ccf3e80..98673ac6efd0 100644 --- a/arch/arm/mach-pxa/colibri-pxa270.c +++ b/arch/arm/mach-pxa/colibri-pxa270.c | |||
@@ -110,17 +110,17 @@ static inline void colibri_pxa270_nor_init(void) {} | |||
110 | ******************************************************************************/ | 110 | ******************************************************************************/ |
111 | #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) | 111 | #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) |
112 | static struct resource colibri_pxa270_dm9000_resources[] = { | 112 | static struct resource colibri_pxa270_dm9000_resources[] = { |
113 | [0] = { | 113 | { |
114 | .start = PXA_CS2_PHYS, | 114 | .start = PXA_CS2_PHYS, |
115 | .end = PXA_CS2_PHYS + 3, | 115 | .end = PXA_CS2_PHYS + 3, |
116 | .flags = IORESOURCE_MEM, | 116 | .flags = IORESOURCE_MEM, |
117 | }, | 117 | }, |
118 | [1] = { | 118 | { |
119 | .start = PXA_CS2_PHYS + 4, | 119 | .start = PXA_CS2_PHYS + 4, |
120 | .end = PXA_CS2_PHYS + 4 + 500, | 120 | .end = PXA_CS2_PHYS + 4 + 500, |
121 | .flags = IORESOURCE_MEM, | 121 | .flags = IORESOURCE_MEM, |
122 | }, | 122 | }, |
123 | [2] = { | 123 | { |
124 | .start = gpio_to_irq(GPIO114_COLIBRI_PXA270_ETH_IRQ), | 124 | .start = gpio_to_irq(GPIO114_COLIBRI_PXA270_ETH_IRQ), |
125 | .end = gpio_to_irq(GPIO114_COLIBRI_PXA270_ETH_IRQ), | 125 | .end = gpio_to_irq(GPIO114_COLIBRI_PXA270_ETH_IRQ), |
126 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING, | 126 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_RISING, |
@@ -187,12 +187,25 @@ static void __init colibri_pxa270_init(void) | |||
187 | case COLIBRI_PXA270_EVALBOARD: | 187 | case COLIBRI_PXA270_EVALBOARD: |
188 | colibri_pxa270_evalboard_init(); | 188 | colibri_pxa270_evalboard_init(); |
189 | break; | 189 | break; |
190 | case COLIBRI_PXA270_INCOME: | ||
191 | colibri_pxa270_income_boardinit(); | ||
192 | break; | ||
190 | default: | 193 | default: |
191 | printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n", | 194 | printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n", |
192 | colibri_pxa270_baseboard); | 195 | colibri_pxa270_baseboard); |
193 | } | 196 | } |
194 | } | 197 | } |
195 | 198 | ||
199 | /* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either | ||
200 | * with the INCOME mach type or with COLIBRI and the kernel parameter | ||
201 | * "colibri_pxa270_baseboard=1" | ||
202 | */ | ||
203 | static void __init colibri_pxa270_income_init(void) | ||
204 | { | ||
205 | colibri_pxa270_baseboard = COLIBRI_PXA270_INCOME; | ||
206 | colibri_pxa270_init(); | ||
207 | } | ||
208 | |||
196 | MACHINE_START(COLIBRI, "Toradex Colibri PXA270") | 209 | MACHINE_START(COLIBRI, "Toradex Colibri PXA270") |
197 | .phys_io = 0x40000000, | 210 | .phys_io = 0x40000000, |
198 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | 211 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, |
@@ -203,3 +216,13 @@ MACHINE_START(COLIBRI, "Toradex Colibri PXA270") | |||
203 | .timer = &pxa_timer, | 216 | .timer = &pxa_timer, |
204 | MACHINE_END | 217 | MACHINE_END |
205 | 218 | ||
219 | MACHINE_START(INCOME, "Income s.r.o. SH-Dmaster PXA270 SBC") | ||
220 | .phys_io = 0x40000000, | ||
221 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | ||
222 | .boot_params = 0xa0000100, | ||
223 | .init_machine = colibri_pxa270_income_init, | ||
224 | .map_io = pxa_map_io, | ||
225 | .init_irq = pxa27x_init_irq, | ||
226 | .timer = &pxa_timer, | ||
227 | MACHINE_END | ||
228 | |||