diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2013-05-23 18:52:06 -0400 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2013-05-31 10:52:37 -0400 |
commit | ef1ab239c0c7de29072577bc8a39859074603948 (patch) | |
tree | 4518d98f9d7051fdbeefa04ed5b89e8f56619cad /arch | |
parent | d5c669f13759e790caf158d319641757768713be (diff) |
ARM: at91: drop non DT: Calao USB-A96x
as now we have full DT support of those board
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/configs/at91sam9260_9g20_defconfig | 1 | ||||
-rw-r--r-- | arch/arm/configs/at91sam9263_defconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-at91/Kconfig.non_dt | 19 | ||||
-rw-r--r-- | arch/arm/mach-at91/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-usb-a926x.c | 384 |
5 files changed, 0 insertions, 408 deletions
diff --git a/arch/arm/configs/at91sam9260_9g20_defconfig b/arch/arm/configs/at91sam9260_9g20_defconfig index f50c404f0d3f..69b6928d3d9d 100644 --- a/arch/arm/configs/at91sam9260_9g20_defconfig +++ b/arch/arm/configs/at91sam9260_9g20_defconfig | |||
@@ -15,7 +15,6 @@ CONFIG_MACH_AT91SAM9260EK=y | |||
15 | CONFIG_MACH_CAM60=y | 15 | CONFIG_MACH_CAM60=y |
16 | CONFIG_MACH_SAM9_L9260=y | 16 | CONFIG_MACH_SAM9_L9260=y |
17 | CONFIG_MACH_AFEB9260=y | 17 | CONFIG_MACH_AFEB9260=y |
18 | CONFIG_MACH_USB_A9260=y | ||
19 | CONFIG_MACH_QIL_A9260=y | 18 | CONFIG_MACH_QIL_A9260=y |
20 | CONFIG_MACH_CPU9260=y | 19 | CONFIG_MACH_CPU9260=y |
21 | CONFIG_MACH_FLEXIBITY=y | 20 | CONFIG_MACH_FLEXIBITY=y |
diff --git a/arch/arm/configs/at91sam9263_defconfig b/arch/arm/configs/at91sam9263_defconfig index 9d72ab684829..e40026364e57 100644 --- a/arch/arm/configs/at91sam9263_defconfig +++ b/arch/arm/configs/at91sam9263_defconfig | |||
@@ -15,7 +15,6 @@ CONFIG_MODULE_UNLOAD=y | |||
15 | CONFIG_ARCH_AT91=y | 15 | CONFIG_ARCH_AT91=y |
16 | CONFIG_ARCH_AT91SAM9263=y | 16 | CONFIG_ARCH_AT91SAM9263=y |
17 | CONFIG_MACH_AT91SAM9263EK=y | 17 | CONFIG_MACH_AT91SAM9263EK=y |
18 | CONFIG_MACH_USB_A9263=y | ||
19 | CONFIG_MTD_AT91_DATAFLASH_CARD=y | 18 | CONFIG_MTD_AT91_DATAFLASH_CARD=y |
20 | # CONFIG_ARM_THUMB is not set | 19 | # CONFIG_ARM_THUMB is not set |
21 | CONFIG_AEABI=y | 20 | CONFIG_AEABI=y |
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt index 1a2abd8ed407..6cd554a4e73c 100644 --- a/arch/arm/mach-at91/Kconfig.non_dt +++ b/arch/arm/mach-at91/Kconfig.non_dt | |||
@@ -183,12 +183,6 @@ config MACH_AFEB9260 | |||
183 | <svn://194.85.238.22/home/users/george/svn/arm9eb> | 183 | <svn://194.85.238.22/home/users/george/svn/arm9eb> |
184 | <http://groups.google.com/group/arm9fpga-evolution-board> | 184 | <http://groups.google.com/group/arm9fpga-evolution-board> |
185 | 185 | ||
186 | config MACH_USB_A9260 | ||
187 | bool "CALAO USB-A9260" | ||
188 | help | ||
189 | Select this if you are using a Calao Systems USB-A9260. | ||
190 | <http://www.calao-systems.com> | ||
191 | |||
192 | config MACH_QIL_A9260 | 186 | config MACH_QIL_A9260 |
193 | bool "CALAO QIL-A9260 board" | 187 | bool "CALAO QIL-A9260 board" |
194 | help | 188 | help |
@@ -264,13 +258,6 @@ config MACH_GSIA18S | |||
264 | produced by GeoSIG Ltd company. This is an internet accelerograph. | 258 | produced by GeoSIG Ltd company. This is an internet accelerograph. |
265 | <http://www.geosig.com> | 259 | <http://www.geosig.com> |
266 | 260 | ||
267 | config MACH_USB_A9G20 | ||
268 | bool "CALAO USB-A9G20" | ||
269 | depends on ARCH_AT91SAM9G20 | ||
270 | help | ||
271 | Select this if you are using a Calao Systems USB-A9G20. | ||
272 | <http://www.calao-systems.com> | ||
273 | |||
274 | config MACH_SNAPPER_9260 | 261 | config MACH_SNAPPER_9260 |
275 | bool "Bluewater Systems Snapper 9260/9G20 module" | 262 | bool "Bluewater Systems Snapper 9260/9G20 module" |
276 | help | 263 | help |
@@ -316,12 +303,6 @@ config MACH_AT91SAM9263EK | |||
316 | Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit. | 303 | Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit. |
317 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057> | 304 | <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057> |
318 | 305 | ||
319 | config MACH_USB_A9263 | ||
320 | bool "CALAO USB-A9263" | ||
321 | help | ||
322 | Select this if you are using a Calao Systems USB-A9263. | ||
323 | <http://www.calao-systems.com> | ||
324 | |||
325 | endif | 306 | endif |
326 | 307 | ||
327 | # ---------------------------------------------------------- | 308 | # ---------------------------------------------------------- |
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile index f4a5f7998bd7..d07bcfad4441 100644 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile | |||
@@ -53,7 +53,6 @@ obj-$(CONFIG_MACH_RSI_EWS) += board-rsi-ews.o | |||
53 | obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o | 53 | obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o |
54 | obj-$(CONFIG_MACH_CAM60) += board-cam60.o | 54 | obj-$(CONFIG_MACH_CAM60) += board-cam60.o |
55 | obj-$(CONFIG_MACH_SAM9_L9260) += board-sam9-l9260.o | 55 | obj-$(CONFIG_MACH_SAM9_L9260) += board-sam9-l9260.o |
56 | obj-$(CONFIG_MACH_USB_A9260) += board-usb-a926x.o | ||
57 | obj-$(CONFIG_MACH_QIL_A9260) += board-qil-a9260.o | 56 | obj-$(CONFIG_MACH_QIL_A9260) += board-qil-a9260.o |
58 | obj-$(CONFIG_MACH_AFEB9260) += board-afeb-9260v1.o | 57 | obj-$(CONFIG_MACH_AFEB9260) += board-afeb-9260v1.o |
59 | obj-$(CONFIG_MACH_CPU9260) += board-cpu9krea.o | 58 | obj-$(CONFIG_MACH_CPU9260) += board-cpu9krea.o |
@@ -65,7 +64,6 @@ obj-$(CONFIG_MACH_AT91SAM9G10EK) += board-sam9261ek.o | |||
65 | 64 | ||
66 | # AT91SAM9263 board-specific support | 65 | # AT91SAM9263 board-specific support |
67 | obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o | 66 | obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o |
68 | obj-$(CONFIG_MACH_USB_A9263) += board-usb-a926x.o | ||
69 | 67 | ||
70 | # AT91SAM9RL board-specific support | 68 | # AT91SAM9RL board-specific support |
71 | obj-$(CONFIG_MACH_AT91SAM9RLEK) += board-sam9rlek.o | 69 | obj-$(CONFIG_MACH_AT91SAM9RLEK) += board-sam9rlek.o |
@@ -78,7 +76,6 @@ obj-$(CONFIG_MACH_STAMP9G20) += board-stamp9g20.o | |||
78 | obj-$(CONFIG_MACH_PORTUXG20) += board-stamp9g20.o | 76 | obj-$(CONFIG_MACH_PORTUXG20) += board-stamp9g20.o |
79 | obj-$(CONFIG_MACH_PCONTROL_G20) += board-pcontrol-g20.o board-stamp9g20.o | 77 | obj-$(CONFIG_MACH_PCONTROL_G20) += board-pcontrol-g20.o board-stamp9g20.o |
80 | obj-$(CONFIG_MACH_GSIA18S) += board-gsia18s.o board-stamp9g20.o | 78 | obj-$(CONFIG_MACH_GSIA18S) += board-gsia18s.o board-stamp9g20.o |
81 | obj-$(CONFIG_MACH_USB_A9G20) += board-usb-a926x.o | ||
82 | 79 | ||
83 | # AT91SAM9260/AT91SAM9G20 board-specific support | 80 | # AT91SAM9260/AT91SAM9G20 board-specific support |
84 | obj-$(CONFIG_MACH_SNAPPER_9260) += board-snapper9260.o | 81 | obj-$(CONFIG_MACH_SNAPPER_9260) += board-snapper9260.o |
diff --git a/arch/arm/mach-at91/board-usb-a926x.c b/arch/arm/mach-at91/board-usb-a926x.c deleted file mode 100644 index 2487d944a1bc..000000000000 --- a/arch/arm/mach-at91/board-usb-a926x.c +++ /dev/null | |||
@@ -1,384 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-at91/board-usb-a926x.c | ||
3 | * | ||
4 | * Copyright (C) 2005 SAN People | ||
5 | * Copyright (C) 2007 Atmel Corporation. | ||
6 | * Copyright (C) 2007 Calao-systems | ||
7 | * Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License as published by | ||
11 | * the Free Software Foundation; either version 2 of the License, or | ||
12 | * (at your option) any later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | ||
23 | |||
24 | #include <linux/types.h> | ||
25 | #include <linux/init.h> | ||
26 | #include <linux/mm.h> | ||
27 | #include <linux/module.h> | ||
28 | #include <linux/platform_device.h> | ||
29 | #include <linux/spi/spi.h> | ||
30 | #include <linux/gpio_keys.h> | ||
31 | #include <linux/gpio.h> | ||
32 | #include <linux/input.h> | ||
33 | #include <linux/spi/mmc_spi.h> | ||
34 | |||
35 | #include <asm/setup.h> | ||
36 | #include <asm/mach-types.h> | ||
37 | #include <asm/irq.h> | ||
38 | |||
39 | #include <asm/mach/arch.h> | ||
40 | #include <asm/mach/map.h> | ||
41 | #include <asm/mach/irq.h> | ||
42 | |||
43 | #include <mach/hardware.h> | ||
44 | #include <mach/at91sam9_smc.h> | ||
45 | |||
46 | #include "at91_aic.h" | ||
47 | #include "at91_shdwc.h" | ||
48 | #include "board.h" | ||
49 | #include "sam9_smc.h" | ||
50 | #include "generic.h" | ||
51 | |||
52 | |||
53 | static void __init ek_init_early(void) | ||
54 | { | ||
55 | /* Initialize processor: 12.00 MHz crystal */ | ||
56 | at91_initialize(12000000); | ||
57 | } | ||
58 | |||
59 | /* | ||
60 | * USB Host port | ||
61 | */ | ||
62 | static struct at91_usbh_data __initdata ek_usbh_data = { | ||
63 | .ports = 2, | ||
64 | .vbus_pin = {-EINVAL, -EINVAL}, | ||
65 | .overcurrent_pin= {-EINVAL, -EINVAL}, | ||
66 | }; | ||
67 | |||
68 | /* | ||
69 | * USB Device port | ||
70 | */ | ||
71 | static struct at91_udc_data __initdata ek_udc_data = { | ||
72 | .vbus_pin = AT91_PIN_PB11, | ||
73 | .pullup_pin = -EINVAL, /* pull-up driven by UDC */ | ||
74 | }; | ||
75 | |||
76 | static void __init ek_add_device_udc(void) | ||
77 | { | ||
78 | if (machine_is_usb_a9260() || machine_is_usb_a9g20()) | ||
79 | ek_udc_data.vbus_pin = AT91_PIN_PC5; | ||
80 | |||
81 | at91_add_device_udc(&ek_udc_data); | ||
82 | } | ||
83 | |||
84 | #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) | ||
85 | #define MMC_SPI_CARD_DETECT_INT AT91_PIN_PC4 | ||
86 | static int at91_mmc_spi_init(struct device *dev, | ||
87 | irqreturn_t (*detect_int)(int, void *), void *data) | ||
88 | { | ||
89 | /* Configure Interrupt pin as input, no pull-up */ | ||
90 | at91_set_gpio_input(MMC_SPI_CARD_DETECT_INT, 0); | ||
91 | return request_irq(gpio_to_irq(MMC_SPI_CARD_DETECT_INT), detect_int, | ||
92 | IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, | ||
93 | "mmc-spi-detect", data); | ||
94 | } | ||
95 | |||
96 | static void at91_mmc_spi_exit(struct device *dev, void *data) | ||
97 | { | ||
98 | free_irq(gpio_to_irq(MMC_SPI_CARD_DETECT_INT), data); | ||
99 | } | ||
100 | |||
101 | static struct mmc_spi_platform_data at91_mmc_spi_pdata = { | ||
102 | .init = at91_mmc_spi_init, | ||
103 | .exit = at91_mmc_spi_exit, | ||
104 | .detect_delay = 100, /* msecs */ | ||
105 | }; | ||
106 | #endif | ||
107 | |||
108 | /* | ||
109 | * SPI devices. | ||
110 | */ | ||
111 | static struct spi_board_info usb_a9263_spi_devices[] = { | ||
112 | { /* DataFlash chip */ | ||
113 | .modalias = "mtd_dataflash", | ||
114 | .chip_select = 0, | ||
115 | .max_speed_hz = 15 * 1000 * 1000, | ||
116 | .bus_num = 0, | ||
117 | } | ||
118 | }; | ||
119 | |||
120 | static struct spi_board_info usb_a9g20_spi_devices[] = { | ||
121 | #if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) | ||
122 | { | ||
123 | .modalias = "mmc_spi", | ||
124 | .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */ | ||
125 | .bus_num = 1, | ||
126 | .chip_select = 0, | ||
127 | .platform_data = &at91_mmc_spi_pdata, | ||
128 | .mode = SPI_MODE_3, | ||
129 | }, | ||
130 | #endif | ||
131 | }; | ||
132 | |||
133 | static void __init ek_add_device_spi(void) | ||
134 | { | ||
135 | if (machine_is_usb_a9263()) | ||
136 | at91_add_device_spi(usb_a9263_spi_devices, ARRAY_SIZE(usb_a9263_spi_devices)); | ||
137 | else if (machine_is_usb_a9g20()) | ||
138 | at91_add_device_spi(usb_a9g20_spi_devices, ARRAY_SIZE(usb_a9g20_spi_devices)); | ||
139 | } | ||
140 | |||
141 | /* | ||
142 | * MACB Ethernet device | ||
143 | */ | ||
144 | static struct macb_platform_data __initdata ek_macb_data = { | ||
145 | .phy_irq_pin = AT91_PIN_PE31, | ||
146 | .is_rmii = 1, | ||
147 | }; | ||
148 | |||
149 | static void __init ek_add_device_eth(void) | ||
150 | { | ||
151 | if (machine_is_usb_a9260() || machine_is_usb_a9g20()) | ||
152 | ek_macb_data.phy_irq_pin = AT91_PIN_PA31; | ||
153 | |||
154 | at91_add_device_eth(&ek_macb_data); | ||
155 | } | ||
156 | |||
157 | /* | ||
158 | * NAND flash | ||
159 | */ | ||
160 | static struct mtd_partition __initdata ek_nand_partition[] = { | ||
161 | { | ||
162 | .name = "barebox", | ||
163 | .offset = 0, | ||
164 | .size = 3 * SZ_128K, | ||
165 | }, { | ||
166 | .name = "bareboxenv", | ||
167 | .offset = MTDPART_OFS_NXTBLK, | ||
168 | .size = SZ_128K, | ||
169 | }, { | ||
170 | .name = "bareboxenv2", | ||
171 | .offset = MTDPART_OFS_NXTBLK, | ||
172 | .size = SZ_128K, | ||
173 | }, { | ||
174 | .name = "oftree", | ||
175 | .offset = MTDPART_OFS_NXTBLK, | ||
176 | .size = SZ_128K, | ||
177 | }, { | ||
178 | .name = "kernel", | ||
179 | .offset = MTDPART_OFS_NXTBLK, | ||
180 | .size = 4 * SZ_1M, | ||
181 | }, { | ||
182 | .name = "rootfs", | ||
183 | .offset = MTDPART_OFS_NXTBLK, | ||
184 | .size = 120 * SZ_1M, | ||
185 | }, { | ||
186 | .name = "data", | ||
187 | .offset = MTDPART_OFS_NXTBLK, | ||
188 | .size = MTDPART_SIZ_FULL, | ||
189 | } | ||
190 | }; | ||
191 | |||
192 | static struct atmel_nand_data __initdata ek_nand_data = { | ||
193 | .ale = 21, | ||
194 | .cle = 22, | ||
195 | .det_pin = -EINVAL, | ||
196 | .rdy_pin = AT91_PIN_PA22, | ||
197 | .enable_pin = AT91_PIN_PD15, | ||
198 | .ecc_mode = NAND_ECC_SOFT, | ||
199 | .on_flash_bbt = 1, | ||
200 | .parts = ek_nand_partition, | ||
201 | .num_parts = ARRAY_SIZE(ek_nand_partition), | ||
202 | }; | ||
203 | |||
204 | static struct sam9_smc_config __initdata usb_a9260_nand_smc_config = { | ||
205 | .ncs_read_setup = 0, | ||
206 | .nrd_setup = 1, | ||
207 | .ncs_write_setup = 0, | ||
208 | .nwe_setup = 1, | ||
209 | |||
210 | .ncs_read_pulse = 3, | ||
211 | .nrd_pulse = 3, | ||
212 | .ncs_write_pulse = 3, | ||
213 | .nwe_pulse = 3, | ||
214 | |||
215 | .read_cycle = 5, | ||
216 | .write_cycle = 5, | ||
217 | |||
218 | .mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_DBW_8, | ||
219 | .tdf_cycles = 2, | ||
220 | }; | ||
221 | |||
222 | static struct sam9_smc_config __initdata usb_a9g20_nand_smc_config = { | ||
223 | .ncs_read_setup = 0, | ||
224 | .nrd_setup = 2, | ||
225 | .ncs_write_setup = 0, | ||
226 | .nwe_setup = 2, | ||
227 | |||
228 | .ncs_read_pulse = 4, | ||
229 | .nrd_pulse = 4, | ||
230 | .ncs_write_pulse = 4, | ||
231 | .nwe_pulse = 4, | ||
232 | |||
233 | .read_cycle = 7, | ||
234 | .write_cycle = 7, | ||
235 | |||
236 | .mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_DBW_8, | ||
237 | .tdf_cycles = 3, | ||
238 | }; | ||
239 | |||
240 | static void __init ek_add_device_nand(void) | ||
241 | { | ||
242 | if (machine_is_usb_a9260() || machine_is_usb_a9g20()) { | ||
243 | ek_nand_data.rdy_pin = AT91_PIN_PC13; | ||
244 | ek_nand_data.enable_pin = AT91_PIN_PC14; | ||
245 | } | ||
246 | |||
247 | /* configure chip-select 3 (NAND) */ | ||
248 | if (machine_is_usb_a9g20()) | ||
249 | sam9_smc_configure(0, 3, &usb_a9g20_nand_smc_config); | ||
250 | else | ||
251 | sam9_smc_configure(0, 3, &usb_a9260_nand_smc_config); | ||
252 | |||
253 | at91_add_device_nand(&ek_nand_data); | ||
254 | } | ||
255 | |||
256 | |||
257 | /* | ||
258 | * GPIO Buttons | ||
259 | */ | ||
260 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | ||
261 | static struct gpio_keys_button ek_buttons[] = { | ||
262 | { /* USER PUSH BUTTON */ | ||
263 | .code = KEY_ENTER, | ||
264 | .gpio = AT91_PIN_PB10, | ||
265 | .active_low = 1, | ||
266 | .desc = "user_pb", | ||
267 | .wakeup = 1, | ||
268 | } | ||
269 | }; | ||
270 | |||
271 | static struct gpio_keys_platform_data ek_button_data = { | ||
272 | .buttons = ek_buttons, | ||
273 | .nbuttons = ARRAY_SIZE(ek_buttons), | ||
274 | }; | ||
275 | |||
276 | static struct platform_device ek_button_device = { | ||
277 | .name = "gpio-keys", | ||
278 | .id = -1, | ||
279 | .num_resources = 0, | ||
280 | .dev = { | ||
281 | .platform_data = &ek_button_data, | ||
282 | } | ||
283 | }; | ||
284 | |||
285 | static void __init ek_add_device_buttons(void) | ||
286 | { | ||
287 | at91_set_GPIO_periph(AT91_PIN_PB10, 1); /* user push button, pull up enabled */ | ||
288 | at91_set_deglitch(AT91_PIN_PB10, 1); | ||
289 | |||
290 | platform_device_register(&ek_button_device); | ||
291 | } | ||
292 | #else | ||
293 | static void __init ek_add_device_buttons(void) {} | ||
294 | #endif | ||
295 | |||
296 | /* | ||
297 | * LEDs | ||
298 | */ | ||
299 | static struct gpio_led ek_leds[] = { | ||
300 | { /* user_led (green) */ | ||
301 | .name = "user_led", | ||
302 | .gpio = AT91_PIN_PB21, | ||
303 | .active_low = 1, | ||
304 | .default_trigger = "heartbeat", | ||
305 | } | ||
306 | }; | ||
307 | |||
308 | static struct i2c_board_info __initdata ek_i2c_devices[] = { | ||
309 | { | ||
310 | I2C_BOARD_INFO("rv3029c2", 0x56), | ||
311 | }, | ||
312 | }; | ||
313 | |||
314 | static void __init ek_add_device_leds(void) | ||
315 | { | ||
316 | if (machine_is_usb_a9260() || machine_is_usb_a9g20()) | ||
317 | ek_leds[0].active_low = 0; | ||
318 | |||
319 | at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds)); | ||
320 | } | ||
321 | |||
322 | static void __init ek_board_init(void) | ||
323 | { | ||
324 | /* Serial */ | ||
325 | /* DBGU on ttyS0. (Rx & Tx only) */ | ||
326 | at91_register_uart(0, 0, 0); | ||
327 | at91_add_device_serial(); | ||
328 | /* USB Host */ | ||
329 | at91_add_device_usbh(&ek_usbh_data); | ||
330 | /* USB Device */ | ||
331 | ek_add_device_udc(); | ||
332 | /* SPI */ | ||
333 | ek_add_device_spi(); | ||
334 | /* Ethernet */ | ||
335 | ek_add_device_eth(); | ||
336 | /* NAND */ | ||
337 | ek_add_device_nand(); | ||
338 | /* Push Buttons */ | ||
339 | ek_add_device_buttons(); | ||
340 | /* LEDs */ | ||
341 | ek_add_device_leds(); | ||
342 | |||
343 | if (machine_is_usb_a9g20()) { | ||
344 | /* I2C */ | ||
345 | at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices)); | ||
346 | } else { | ||
347 | /* I2C */ | ||
348 | at91_add_device_i2c(NULL, 0); | ||
349 | /* shutdown controller, wakeup button (5 msec low) */ | ||
350 | at91_shdwc_write(AT91_SHDW_MR, AT91_SHDW_CPTWK0_(10) | ||
351 | | AT91_SHDW_WKMODE0_LOW | ||
352 | | AT91_SHDW_RTTWKEN); | ||
353 | } | ||
354 | } | ||
355 | |||
356 | MACHINE_START(USB_A9263, "CALAO USB_A9263") | ||
357 | /* Maintainer: calao-systems */ | ||
358 | .init_time = at91sam926x_pit_init, | ||
359 | .map_io = at91_map_io, | ||
360 | .handle_irq = at91_aic_handle_irq, | ||
361 | .init_early = ek_init_early, | ||
362 | .init_irq = at91_init_irq_default, | ||
363 | .init_machine = ek_board_init, | ||
364 | MACHINE_END | ||
365 | |||
366 | MACHINE_START(USB_A9260, "CALAO USB_A9260") | ||
367 | /* Maintainer: calao-systems */ | ||
368 | .init_time = at91sam926x_pit_init, | ||
369 | .map_io = at91_map_io, | ||
370 | .handle_irq = at91_aic_handle_irq, | ||
371 | .init_early = ek_init_early, | ||
372 | .init_irq = at91_init_irq_default, | ||
373 | .init_machine = ek_board_init, | ||
374 | MACHINE_END | ||
375 | |||
376 | MACHINE_START(USB_A9G20, "CALAO USB_A92G0") | ||
377 | /* Maintainer: Jean-Christophe PLAGNIOL-VILLARD */ | ||
378 | .init_time = at91sam926x_pit_init, | ||
379 | .map_io = at91_map_io, | ||
380 | .handle_irq = at91_aic_handle_irq, | ||
381 | .init_early = ek_init_early, | ||
382 | .init_irq = at91_init_irq_default, | ||
383 | .init_machine = ek_board_init, | ||
384 | MACHINE_END | ||