diff options
author | Kyungmin Park <kyungmin.park@samsung.com> | 2012-12-26 00:21:06 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2013-02-01 13:11:19 -0500 |
commit | 21cc2bda8bdca8c1f5f6871d3eb0e9632612cf25 (patch) | |
tree | 6473fa9c50afad414b0ee0e50b4a8f3de2b6ef6a /arch/arm/mach-omap2 | |
parent | 88b62b915b0b7e25870eb0604ed9a92ba4bfc9f7 (diff) |
ARM: OMAP2+: Remove apollon board support
As apollon board doesn't used anymore, remove it.
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[tony@atomide.com: dropped uncompress.h changes, it's gone]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/mach-omap2/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-apollon.c | 342 | ||||
-rw-r--r-- | arch/arm/mach-omap2/gpmc.c | 3 |
4 files changed, 0 insertions, 352 deletions
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 41b581fd0213..d4e4f9590a95 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -165,12 +165,6 @@ config MACH_OMAP_H4 | |||
165 | select OMAP_DEBUG_DEVICES | 165 | select OMAP_DEBUG_DEVICES |
166 | select OMAP_PACKAGE_ZAF | 166 | select OMAP_PACKAGE_ZAF |
167 | 167 | ||
168 | config MACH_OMAP_APOLLON | ||
169 | bool "OMAP 2420 Apollon board" | ||
170 | depends on SOC_OMAP2420 | ||
171 | default y | ||
172 | select OMAP_PACKAGE_ZAC | ||
173 | |||
174 | config MACH_OMAP_2430SDP | 168 | config MACH_OMAP_2430SDP |
175 | bool "OMAP 2430 SDP board" | 169 | bool "OMAP 2430 SDP board" |
176 | depends on SOC_OMAP2430 | 170 | depends on SOC_OMAP2430 |
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 947cafe65aef..0c66759a1174 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -220,7 +220,6 @@ endif | |||
220 | obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o | 220 | obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o |
221 | obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o | 221 | obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o |
222 | obj-$(CONFIG_MACH_OMAP_2430SDP) += board-2430sdp.o | 222 | obj-$(CONFIG_MACH_OMAP_2430SDP) += board-2430sdp.o |
223 | obj-$(CONFIG_MACH_OMAP_APOLLON) += board-apollon.o | ||
224 | obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o | 223 | obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o |
225 | obj-$(CONFIG_MACH_DEVKIT8000) += board-devkit8000.o | 224 | obj-$(CONFIG_MACH_DEVKIT8000) += board-devkit8000.o |
226 | obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o | 225 | obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o |
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c deleted file mode 100644 index 5d0a61f54165..000000000000 --- a/arch/arm/mach-omap2/board-apollon.c +++ /dev/null | |||
@@ -1,342 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-omap2/board-apollon.c | ||
3 | * | ||
4 | * Copyright (C) 2005,2006 Samsung Electronics | ||
5 | * Author: Kyungmin Park <kyungmin.park@samsung.com> | ||
6 | * | ||
7 | * Modified from mach-omap/omap2/board-h4.c | ||
8 | * | ||
9 | * Code for apollon OMAP2 board. Should work on many OMAP2 systems where | ||
10 | * the bootloader passes the board-specific data to the kernel. | ||
11 | * Do not put any board specific code to this file; create a new machine | ||
12 | * type if you need custom low-level initializations. | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License version 2 as | ||
16 | * published by the Free Software Foundation. | ||
17 | */ | ||
18 | |||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/platform_device.h> | ||
22 | #include <linux/mtd/mtd.h> | ||
23 | #include <linux/mtd/partitions.h> | ||
24 | #include <linux/mtd/onenand.h> | ||
25 | #include <linux/delay.h> | ||
26 | #include <linux/leds.h> | ||
27 | #include <linux/err.h> | ||
28 | #include <linux/clk.h> | ||
29 | #include <linux/smc91x.h> | ||
30 | #include <linux/gpio.h> | ||
31 | #include <linux/platform_data/leds-omap.h> | ||
32 | |||
33 | #include <asm/mach-types.h> | ||
34 | #include <asm/mach/arch.h> | ||
35 | #include <asm/mach/flash.h> | ||
36 | |||
37 | #include "common.h" | ||
38 | #include "gpmc.h" | ||
39 | |||
40 | #include <video/omapdss.h> | ||
41 | #include <video/omap-panel-generic-dpi.h> | ||
42 | |||
43 | #include "mux.h" | ||
44 | #include "control.h" | ||
45 | |||
46 | /* LED & Switch macros */ | ||
47 | #define LED0_GPIO13 13 | ||
48 | #define LED1_GPIO14 14 | ||
49 | #define LED2_GPIO15 15 | ||
50 | #define SW_ENTER_GPIO16 16 | ||
51 | #define SW_UP_GPIO17 17 | ||
52 | #define SW_DOWN_GPIO58 58 | ||
53 | |||
54 | #define APOLLON_FLASH_CS 0 | ||
55 | #define APOLLON_ETH_CS 1 | ||
56 | #define APOLLON_ETHR_GPIO_IRQ 74 | ||
57 | |||
58 | static struct mtd_partition apollon_partitions[] = { | ||
59 | { | ||
60 | .name = "X-Loader + U-Boot", | ||
61 | .offset = 0, | ||
62 | .size = SZ_128K, | ||
63 | .mask_flags = MTD_WRITEABLE, | ||
64 | }, | ||
65 | { | ||
66 | .name = "params", | ||
67 | .offset = MTDPART_OFS_APPEND, | ||
68 | .size = SZ_128K, | ||
69 | }, | ||
70 | { | ||
71 | .name = "kernel", | ||
72 | .offset = MTDPART_OFS_APPEND, | ||
73 | .size = SZ_2M, | ||
74 | }, | ||
75 | { | ||
76 | .name = "rootfs", | ||
77 | .offset = MTDPART_OFS_APPEND, | ||
78 | .size = SZ_16M, | ||
79 | }, | ||
80 | { | ||
81 | .name = "filesystem00", | ||
82 | .offset = MTDPART_OFS_APPEND, | ||
83 | .size = SZ_32M, | ||
84 | }, | ||
85 | { | ||
86 | .name = "filesystem01", | ||
87 | .offset = MTDPART_OFS_APPEND, | ||
88 | .size = MTDPART_SIZ_FULL, | ||
89 | }, | ||
90 | }; | ||
91 | |||
92 | static struct onenand_platform_data apollon_flash_data = { | ||
93 | .parts = apollon_partitions, | ||
94 | .nr_parts = ARRAY_SIZE(apollon_partitions), | ||
95 | }; | ||
96 | |||
97 | static struct resource apollon_flash_resource[] = { | ||
98 | [0] = { | ||
99 | .flags = IORESOURCE_MEM, | ||
100 | }, | ||
101 | }; | ||
102 | |||
103 | static struct platform_device apollon_onenand_device = { | ||
104 | .name = "onenand-flash", | ||
105 | .id = -1, | ||
106 | .dev = { | ||
107 | .platform_data = &apollon_flash_data, | ||
108 | }, | ||
109 | .num_resources = ARRAY_SIZE(apollon_flash_resource), | ||
110 | .resource = apollon_flash_resource, | ||
111 | }; | ||
112 | |||
113 | static void __init apollon_flash_init(void) | ||
114 | { | ||
115 | unsigned long base; | ||
116 | |||
117 | if (gpmc_cs_request(APOLLON_FLASH_CS, SZ_128K, &base) < 0) { | ||
118 | printk(KERN_ERR "Cannot request OneNAND GPMC CS\n"); | ||
119 | return; | ||
120 | } | ||
121 | apollon_flash_resource[0].start = base; | ||
122 | apollon_flash_resource[0].end = base + SZ_128K - 1; | ||
123 | } | ||
124 | |||
125 | static struct smc91x_platdata appolon_smc91x_info = { | ||
126 | .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, | ||
127 | .leda = RPC_LED_100_10, | ||
128 | .ledb = RPC_LED_TX_RX, | ||
129 | }; | ||
130 | |||
131 | static struct resource apollon_smc91x_resources[] = { | ||
132 | [0] = { | ||
133 | .flags = IORESOURCE_MEM, | ||
134 | }, | ||
135 | [1] = { | ||
136 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | ||
137 | }, | ||
138 | }; | ||
139 | |||
140 | static struct platform_device apollon_smc91x_device = { | ||
141 | .name = "smc91x", | ||
142 | .id = -1, | ||
143 | .dev = { | ||
144 | .platform_data = &appolon_smc91x_info, | ||
145 | }, | ||
146 | .num_resources = ARRAY_SIZE(apollon_smc91x_resources), | ||
147 | .resource = apollon_smc91x_resources, | ||
148 | }; | ||
149 | |||
150 | static struct omap_led_config apollon_led_config[] = { | ||
151 | { | ||
152 | .cdev = { | ||
153 | .name = "apollon:led0", | ||
154 | }, | ||
155 | .gpio = LED0_GPIO13, | ||
156 | }, | ||
157 | { | ||
158 | .cdev = { | ||
159 | .name = "apollon:led1", | ||
160 | }, | ||
161 | .gpio = LED1_GPIO14, | ||
162 | }, | ||
163 | { | ||
164 | .cdev = { | ||
165 | .name = "apollon:led2", | ||
166 | }, | ||
167 | .gpio = LED2_GPIO15, | ||
168 | }, | ||
169 | }; | ||
170 | |||
171 | static struct omap_led_platform_data apollon_led_data = { | ||
172 | .nr_leds = ARRAY_SIZE(apollon_led_config), | ||
173 | .leds = apollon_led_config, | ||
174 | }; | ||
175 | |||
176 | static struct platform_device apollon_led_device = { | ||
177 | .name = "omap-led", | ||
178 | .id = -1, | ||
179 | .dev = { | ||
180 | .platform_data = &apollon_led_data, | ||
181 | }, | ||
182 | }; | ||
183 | |||
184 | static struct platform_device *apollon_devices[] __initdata = { | ||
185 | &apollon_onenand_device, | ||
186 | &apollon_smc91x_device, | ||
187 | &apollon_led_device, | ||
188 | }; | ||
189 | |||
190 | static inline void __init apollon_init_smc91x(void) | ||
191 | { | ||
192 | unsigned long base; | ||
193 | |||
194 | unsigned int rate; | ||
195 | struct clk *gpmc_fck; | ||
196 | int eth_cs; | ||
197 | int err; | ||
198 | |||
199 | gpmc_fck = clk_get(NULL, "gpmc_fck"); /* Always on ENABLE_ON_INIT */ | ||
200 | if (IS_ERR(gpmc_fck)) { | ||
201 | WARN_ON(1); | ||
202 | return; | ||
203 | } | ||
204 | |||
205 | clk_prepare_enable(gpmc_fck); | ||
206 | rate = clk_get_rate(gpmc_fck); | ||
207 | |||
208 | eth_cs = APOLLON_ETH_CS; | ||
209 | |||
210 | /* Make sure CS1 timings are correct */ | ||
211 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG1, 0x00011200); | ||
212 | |||
213 | if (rate >= 160000000) { | ||
214 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG2, 0x001f1f01); | ||
215 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG3, 0x00080803); | ||
216 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG4, 0x1c0b1c0a); | ||
217 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG5, 0x041f1F1F); | ||
218 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG6, 0x000004C4); | ||
219 | } else if (rate >= 130000000) { | ||
220 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG2, 0x001f1f00); | ||
221 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG3, 0x00080802); | ||
222 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG4, 0x1C091C09); | ||
223 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG5, 0x041f1F1F); | ||
224 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG6, 0x000004C4); | ||
225 | } else {/* rate = 100000000 */ | ||
226 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG2, 0x001f1f00); | ||
227 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG3, 0x00080802); | ||
228 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG4, 0x1C091C09); | ||
229 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG5, 0x031A1F1F); | ||
230 | gpmc_cs_write_reg(eth_cs, GPMC_CS_CONFIG6, 0x000003C2); | ||
231 | } | ||
232 | |||
233 | if (gpmc_cs_request(APOLLON_ETH_CS, SZ_16M, &base) < 0) { | ||
234 | printk(KERN_ERR "Failed to request GPMC CS for smc91x\n"); | ||
235 | goto out; | ||
236 | } | ||
237 | apollon_smc91x_resources[0].start = base + 0x300; | ||
238 | apollon_smc91x_resources[0].end = base + 0x30f; | ||
239 | udelay(100); | ||
240 | |||
241 | omap_mux_init_gpio(APOLLON_ETHR_GPIO_IRQ, 0); | ||
242 | err = gpio_request_one(APOLLON_ETHR_GPIO_IRQ, GPIOF_IN, "SMC91x irq"); | ||
243 | if (err) { | ||
244 | printk(KERN_ERR "Failed to request GPIO%d for smc91x IRQ\n", | ||
245 | APOLLON_ETHR_GPIO_IRQ); | ||
246 | gpmc_cs_free(APOLLON_ETH_CS); | ||
247 | } | ||
248 | out: | ||
249 | clk_disable_unprepare(gpmc_fck); | ||
250 | clk_put(gpmc_fck); | ||
251 | } | ||
252 | |||
253 | static struct panel_generic_dpi_data apollon_panel_data = { | ||
254 | .name = "apollon", | ||
255 | }; | ||
256 | |||
257 | static struct omap_dss_device apollon_lcd_device = { | ||
258 | .name = "lcd", | ||
259 | .driver_name = "generic_dpi_panel", | ||
260 | .type = OMAP_DISPLAY_TYPE_DPI, | ||
261 | .phy.dpi.data_lines = 18, | ||
262 | .data = &apollon_panel_data, | ||
263 | }; | ||
264 | |||
265 | static struct omap_dss_device *apollon_dss_devices[] = { | ||
266 | &apollon_lcd_device, | ||
267 | }; | ||
268 | |||
269 | static struct omap_dss_board_info apollon_dss_data = { | ||
270 | .num_devices = ARRAY_SIZE(apollon_dss_devices), | ||
271 | .devices = apollon_dss_devices, | ||
272 | .default_device = &apollon_lcd_device, | ||
273 | }; | ||
274 | |||
275 | static struct gpio apollon_gpio_leds[] __initdata = { | ||
276 | { LED0_GPIO13, GPIOF_OUT_INIT_LOW, "LED0" }, /* LED0 - AA10 */ | ||
277 | { LED1_GPIO14, GPIOF_OUT_INIT_LOW, "LED1" }, /* LED1 - AA6 */ | ||
278 | { LED2_GPIO15, GPIOF_OUT_INIT_LOW, "LED2" }, /* LED2 - AA4 */ | ||
279 | }; | ||
280 | |||
281 | static void __init apollon_led_init(void) | ||
282 | { | ||
283 | omap_mux_init_signal("vlynq_clk.gpio_13", 0); | ||
284 | omap_mux_init_signal("vlynq_rx1.gpio_14", 0); | ||
285 | omap_mux_init_signal("vlynq_rx0.gpio_15", 0); | ||
286 | |||
287 | gpio_request_array(apollon_gpio_leds, ARRAY_SIZE(apollon_gpio_leds)); | ||
288 | } | ||
289 | |||
290 | #ifdef CONFIG_OMAP_MUX | ||
291 | static struct omap_board_mux board_mux[] __initdata = { | ||
292 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
293 | }; | ||
294 | #endif | ||
295 | |||
296 | static void __init omap_apollon_init(void) | ||
297 | { | ||
298 | u32 v; | ||
299 | |||
300 | omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAC); | ||
301 | |||
302 | apollon_init_smc91x(); | ||
303 | apollon_led_init(); | ||
304 | apollon_flash_init(); | ||
305 | |||
306 | /* REVISIT: where's the correct place */ | ||
307 | omap_mux_init_signal("sys_nirq", OMAP_PULL_ENA | OMAP_PULL_UP); | ||
308 | |||
309 | /* LCD PWR_EN */ | ||
310 | omap_mux_init_signal("mcbsp2_dr.gpio_11", OMAP_PULL_ENA | OMAP_PULL_UP); | ||
311 | |||
312 | /* Use Internal loop-back in MMC/SDIO Module Input Clock selection */ | ||
313 | v = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0); | ||
314 | v |= (1 << 24); | ||
315 | omap_ctrl_writel(v, OMAP2_CONTROL_DEVCONF0); | ||
316 | |||
317 | /* | ||
318 | * Make sure the serial ports are muxed on at this point. | ||
319 | * You have to mux them off in device drivers later on | ||
320 | * if not needed. | ||
321 | */ | ||
322 | apollon_smc91x_resources[1].start = gpio_to_irq(APOLLON_ETHR_GPIO_IRQ); | ||
323 | apollon_smc91x_resources[1].end = gpio_to_irq(APOLLON_ETHR_GPIO_IRQ); | ||
324 | platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices)); | ||
325 | omap_serial_init(); | ||
326 | omap_sdrc_init(NULL, NULL); | ||
327 | omap_display_init(&apollon_dss_data); | ||
328 | } | ||
329 | |||
330 | MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") | ||
331 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ | ||
332 | .atag_offset = 0x100, | ||
333 | .reserve = omap_reserve, | ||
334 | .map_io = omap242x_map_io, | ||
335 | .init_early = omap2420_init_early, | ||
336 | .init_irq = omap2_init_irq, | ||
337 | .handle_irq = omap2_intc_handle_irq, | ||
338 | .init_machine = omap_apollon_init, | ||
339 | .init_late = omap2420_init_late, | ||
340 | .timer = &omap2_timer, | ||
341 | .restart = omap2xxx_restart, | ||
342 | MACHINE_END | ||
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index 8033cb747c86..609c0913b0f3 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c | |||
@@ -783,9 +783,6 @@ static int gpmc_mem_init(void) | |||
783 | * even if we didn't boot from ROM. | 783 | * even if we didn't boot from ROM. |
784 | */ | 784 | */ |
785 | boot_rom_space = BOOT_ROM_SPACE; | 785 | boot_rom_space = BOOT_ROM_SPACE; |
786 | /* In apollon the CS0 is mapped as 0x0000 0000 */ | ||
787 | if (machine_is_omap_apollon()) | ||
788 | boot_rom_space = 0; | ||
789 | gpmc_mem_root.start = GPMC_MEM_START + boot_rom_space; | 786 | gpmc_mem_root.start = GPMC_MEM_START + boot_rom_space; |
790 | gpmc_mem_root.end = GPMC_MEM_END; | 787 | gpmc_mem_root.end = GPMC_MEM_END; |
791 | 788 | ||