aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/avr32/Kconfig19
-rw-r--r--arch/avr32/Makefile1
-rw-r--r--arch/avr32/boards/atstk1000/atstk1002.c18
-rw-r--r--arch/avr32/boards/atstk1000/atstk1003.c18
-rw-r--r--arch/avr32/boards/favr-32/setup.c20
-rw-r--r--arch/avr32/boards/hammerhead/Kconfig43
-rw-r--r--arch/avr32/boards/hammerhead/Makefile1
-rw-r--r--arch/avr32/boards/hammerhead/flash.c377
-rw-r--r--arch/avr32/boards/hammerhead/flash.h6
-rw-r--r--arch/avr32/boards/hammerhead/setup.c236
-rw-r--r--arch/avr32/boards/mimc200/setup.c2
-rw-r--r--arch/avr32/configs/hammerhead_defconfig1467
-rw-r--r--arch/avr32/kernel/process.c1
-rw-r--r--arch/avr32/kernel/signal.c1
-rw-r--r--arch/avr32/kernel/sys_avr32.c1
-rw-r--r--arch/avr32/mach-at32ap/at32ap700x.c4
-rw-r--r--arch/avr32/mach-at32ap/clock.c4
-rw-r--r--arch/avr32/mach-at32ap/clock.h3
-rw-r--r--arch/avr32/mach-at32ap/include/mach/at32ap700x.h3
-rw-r--r--arch/avr32/mach-at32ap/include/mach/portmux.h2
-rw-r--r--arch/avr32/mach-at32ap/pio.c19
-rw-r--r--arch/avr32/mm/cache.c1
-rw-r--r--include/asm-avr32/syscalls.h39
23 files changed, 2220 insertions, 66 deletions
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
index 26eca87f6735..b189680d18b0 100644
--- a/arch/avr32/Kconfig
+++ b/arch/avr32/Kconfig
@@ -122,6 +122,24 @@ config BOARD_ATNGW100
122 bool "ATNGW100 Network Gateway" 122 bool "ATNGW100 Network Gateway"
123 select CPU_AT32AP7000 123 select CPU_AT32AP7000
124 124
125config BOARD_HAMMERHEAD
126 bool "Hammerhead board"
127 select CPU_AT32AP7000
128 select USB_ARCH_HAS_HCD
129 help
130 The Hammerhead platform is built around a AVR32 32-bit microcontroller from Atmel.
131 It offers versatile peripherals, such as ethernet, usb device, usb host etc.
132
133 The board also incooperates a power supply and is a Power over Ethernet (PoE) Powered
134 Device (PD).
135
136 Additonally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is
137 mapped into the 32-bit AVR memory bus. The FPGA offers two DDR2 SDRAM interfaces, which
138 will cover even the most exceptional need of memory bandwidth. Together with the onboard
139 video decoder the board is ready for video processing.
140
141 For more information see: http://www.miromico.com/hammerhead
142
125config BOARD_FAVR_32 143config BOARD_FAVR_32
126 bool "Favr-32 LCD-board" 144 bool "Favr-32 LCD-board"
127 select CPU_AT32AP7000 145 select CPU_AT32AP7000
@@ -133,6 +151,7 @@ endchoice
133 151
134source "arch/avr32/boards/atstk1000/Kconfig" 152source "arch/avr32/boards/atstk1000/Kconfig"
135source "arch/avr32/boards/atngw100/Kconfig" 153source "arch/avr32/boards/atngw100/Kconfig"
154source "arch/avr32/boards/hammerhead/Kconfig"
136source "arch/avr32/boards/favr-32/Kconfig" 155source "arch/avr32/boards/favr-32/Kconfig"
137 156
138choice 157choice
diff --git a/arch/avr32/Makefile b/arch/avr32/Makefile
index b088e103e753..f3ef3bbf797c 100644
--- a/arch/avr32/Makefile
+++ b/arch/avr32/Makefile
@@ -33,6 +33,7 @@ head-y += arch/avr32/kernel/head.o
33core-y += $(machdirs) 33core-y += $(machdirs)
34core-$(CONFIG_BOARD_ATSTK1000) += arch/avr32/boards/atstk1000/ 34core-$(CONFIG_BOARD_ATSTK1000) += arch/avr32/boards/atstk1000/
35core-$(CONFIG_BOARD_ATNGW100) += arch/avr32/boards/atngw100/ 35core-$(CONFIG_BOARD_ATNGW100) += arch/avr32/boards/atngw100/
36core-$(CONFIG_BOARD_HAMMERHEAD) += arch/avr32/boards/hammerhead/
36core-$(CONFIG_BOARD_FAVR_32) += arch/avr32/boards/favr-32/ 37core-$(CONFIG_BOARD_FAVR_32) += arch/avr32/boards/favr-32/
37core-$(CONFIG_BOARD_MIMC200) += arch/avr32/boards/mimc200/ 38core-$(CONFIG_BOARD_MIMC200) += arch/avr32/boards/mimc200/
38core-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/ 39core-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/
diff --git a/arch/avr32/boards/atstk1000/atstk1002.c b/arch/avr32/boards/atstk1000/atstk1002.c
index 6d94f74bc5c7..1f33a106905c 100644
--- a/arch/avr32/boards/atstk1000/atstk1002.c
+++ b/arch/avr32/boards/atstk1000/atstk1002.c
@@ -287,23 +287,7 @@ static int __init atstk1002_init(void)
287 * ATSTK1000 uses 32-bit SDRAM interface. Reserve the 287 * ATSTK1000 uses 32-bit SDRAM interface. Reserve the
288 * SDRAM-specific pins so that nobody messes with them. 288 * SDRAM-specific pins so that nobody messes with them.
289 */ 289 */
290 at32_reserve_pin(GPIO_PIN_PE(0)); /* DATA[16] */ 290 at32_reserve_pin(GPIO_PIOE_BASE, ATMEL_EBI_PE_DATA_ALL);
291 at32_reserve_pin(GPIO_PIN_PE(1)); /* DATA[17] */
292 at32_reserve_pin(GPIO_PIN_PE(2)); /* DATA[18] */
293 at32_reserve_pin(GPIO_PIN_PE(3)); /* DATA[19] */
294 at32_reserve_pin(GPIO_PIN_PE(4)); /* DATA[20] */
295 at32_reserve_pin(GPIO_PIN_PE(5)); /* DATA[21] */
296 at32_reserve_pin(GPIO_PIN_PE(6)); /* DATA[22] */
297 at32_reserve_pin(GPIO_PIN_PE(7)); /* DATA[23] */
298 at32_reserve_pin(GPIO_PIN_PE(8)); /* DATA[24] */
299 at32_reserve_pin(GPIO_PIN_PE(9)); /* DATA[25] */
300 at32_reserve_pin(GPIO_PIN_PE(10)); /* DATA[26] */
301 at32_reserve_pin(GPIO_PIN_PE(11)); /* DATA[27] */
302 at32_reserve_pin(GPIO_PIN_PE(12)); /* DATA[28] */
303 at32_reserve_pin(GPIO_PIN_PE(13)); /* DATA[29] */
304 at32_reserve_pin(GPIO_PIN_PE(14)); /* DATA[30] */
305 at32_reserve_pin(GPIO_PIN_PE(15)); /* DATA[31] */
306 at32_reserve_pin(GPIO_PIN_PE(26)); /* SDCS */
307 291
308#ifdef CONFIG_BOARD_ATSTK1006 292#ifdef CONFIG_BOARD_ATSTK1006
309 smc_set_timing(&nand_config, &nand_timing); 293 smc_set_timing(&nand_config, &nand_timing);
diff --git a/arch/avr32/boards/atstk1000/atstk1003.c b/arch/avr32/boards/atstk1000/atstk1003.c
index db2038cd2e5b..b3a23c88bcfe 100644
--- a/arch/avr32/boards/atstk1000/atstk1003.c
+++ b/arch/avr32/boards/atstk1000/atstk1003.c
@@ -131,23 +131,7 @@ static int __init atstk1003_init(void)
131 * ATSTK1000 uses 32-bit SDRAM interface. Reserve the 131 * ATSTK1000 uses 32-bit SDRAM interface. Reserve the
132 * SDRAM-specific pins so that nobody messes with them. 132 * SDRAM-specific pins so that nobody messes with them.
133 */ 133 */
134 at32_reserve_pin(GPIO_PIN_PE(0)); /* DATA[16] */ 134 at32_reserve_pin(GPIO_PIOE_BASE, ATMEL_EBI_PE_DATA_ALL);
135 at32_reserve_pin(GPIO_PIN_PE(1)); /* DATA[17] */
136 at32_reserve_pin(GPIO_PIN_PE(2)); /* DATA[18] */
137 at32_reserve_pin(GPIO_PIN_PE(3)); /* DATA[19] */
138 at32_reserve_pin(GPIO_PIN_PE(4)); /* DATA[20] */
139 at32_reserve_pin(GPIO_PIN_PE(5)); /* DATA[21] */
140 at32_reserve_pin(GPIO_PIN_PE(6)); /* DATA[22] */
141 at32_reserve_pin(GPIO_PIN_PE(7)); /* DATA[23] */
142 at32_reserve_pin(GPIO_PIN_PE(8)); /* DATA[24] */
143 at32_reserve_pin(GPIO_PIN_PE(9)); /* DATA[25] */
144 at32_reserve_pin(GPIO_PIN_PE(10)); /* DATA[26] */
145 at32_reserve_pin(GPIO_PIN_PE(11)); /* DATA[27] */
146 at32_reserve_pin(GPIO_PIN_PE(12)); /* DATA[28] */
147 at32_reserve_pin(GPIO_PIN_PE(13)); /* DATA[29] */
148 at32_reserve_pin(GPIO_PIN_PE(14)); /* DATA[30] */
149 at32_reserve_pin(GPIO_PIN_PE(15)); /* DATA[31] */
150 at32_reserve_pin(GPIO_PIN_PE(26)); /* SDCS */
151 135
152#ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM 136#ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
153 at32_add_device_usart(1); 137 at32_add_device_usart(1);
diff --git a/arch/avr32/boards/favr-32/setup.c b/arch/avr32/boards/favr-32/setup.c
index 1ee4faf0742d..1a12930df8e7 100644
--- a/arch/avr32/boards/favr-32/setup.c
+++ b/arch/avr32/boards/favr-32/setup.c
@@ -307,28 +307,10 @@ static int __init favr32_init(void)
307 * Favr-32 uses 32-bit SDRAM interface. Reserve the SDRAM-specific 307 * Favr-32 uses 32-bit SDRAM interface. Reserve the SDRAM-specific
308 * pins so that nobody messes with them. 308 * pins so that nobody messes with them.
309 */ 309 */
310 at32_reserve_pin(GPIO_PIN_PE(0)); /* DATA[16] */ 310 at32_reserve_pin(GPIO_PIOE_BASE, ATMEL_EBI_PE_DATA_ALL);
311 at32_reserve_pin(GPIO_PIN_PE(1)); /* DATA[17] */
312 at32_reserve_pin(GPIO_PIN_PE(2)); /* DATA[18] */
313 at32_reserve_pin(GPIO_PIN_PE(3)); /* DATA[19] */
314 at32_reserve_pin(GPIO_PIN_PE(4)); /* DATA[20] */
315 at32_reserve_pin(GPIO_PIN_PE(5)); /* DATA[21] */
316 at32_reserve_pin(GPIO_PIN_PE(6)); /* DATA[22] */
317 at32_reserve_pin(GPIO_PIN_PE(7)); /* DATA[23] */
318 at32_reserve_pin(GPIO_PIN_PE(8)); /* DATA[24] */
319 at32_reserve_pin(GPIO_PIN_PE(9)); /* DATA[25] */
320 at32_reserve_pin(GPIO_PIN_PE(10)); /* DATA[26] */
321 at32_reserve_pin(GPIO_PIN_PE(11)); /* DATA[27] */
322 at32_reserve_pin(GPIO_PIN_PE(12)); /* DATA[28] */
323 at32_reserve_pin(GPIO_PIN_PE(13)); /* DATA[29] */
324 at32_reserve_pin(GPIO_PIN_PE(14)); /* DATA[30] */
325 at32_reserve_pin(GPIO_PIN_PE(15)); /* DATA[31] */
326 at32_reserve_pin(GPIO_PIN_PE(26)); /* SDCS */
327 311
328 at32_select_gpio(GPIO_PIN_PB(3), 0); /* IRQ from ADS7843 */ 312 at32_select_gpio(GPIO_PIN_PB(3), 0); /* IRQ from ADS7843 */
329 313
330 at32_add_system_devices();
331
332 at32_add_device_usart(0); 314 at32_add_device_usart(0);
333 315
334 set_hw_addr(at32_add_device_eth(0, &eth_data[0])); 316 set_hw_addr(at32_add_device_eth(0, &eth_data[0]));
diff --git a/arch/avr32/boards/hammerhead/Kconfig b/arch/avr32/boards/hammerhead/Kconfig
new file mode 100644
index 000000000000..fda2331f9789
--- /dev/null
+++ b/arch/avr32/boards/hammerhead/Kconfig
@@ -0,0 +1,43 @@
1# Hammerhead customization
2
3if BOARD_HAMMERHEAD
4
5config BOARD_HAMMERHEAD_USB
6 bool "Philips ISP116x-hcd USB support"
7 help
8 This enables USB support for Hammerheads internal ISP116x
9 controller from Philips.
10
11 Choose 'Y' here if you want to have your board USB driven.
12
13config BOARD_HAMMERHEAD_LCD
14 bool "Atmel AT91/AT32 LCD support"
15 help
16 This enables LCD support for the Hammerhead board. You may
17 also add support for framebuffer devices (AT91/AT32 LCD Controller)
18 and framebuffer console support to get the most out of your LCD.
19
20 Choose 'Y' here if you have ordered a Corona daugther board and
21 want to have support for your Hantronix HDA-351T-LV LCD.
22
23config BOARD_HAMMERHEAD_SND
24 bool "Atmel AC97 Sound support"
25 help
26 This enables Sound support for the Hammerhead board. You may
27 also go trough the ALSA settings to get it working.
28
29 Choose 'Y' here if you have ordered a Corona daugther board and
30 want to make your board funky.
31
32config BOARD_HAMMERHEAD_FPGA
33 bool "Hammerhead FPGA Support"
34 default y
35 help
36 This adds support for the Cyclone III FPGA from Altera
37 found on Miromico's Hammerhead board.
38
39 Choose 'Y' here if you want to have FPGA support enabled.
40 You will have to choose the "Hammerhead FPGA Device Support" in
41 Device Drivers->Misc to be able to use FPGA functionality.
42
43endif # BOARD_ATNGW100
diff --git a/arch/avr32/boards/hammerhead/Makefile b/arch/avr32/boards/hammerhead/Makefile
new file mode 100644
index 000000000000..c740aa116755
--- /dev/null
+++ b/arch/avr32/boards/hammerhead/Makefile
@@ -0,0 +1 @@
obj-y += setup.o flash.o
diff --git a/arch/avr32/boards/hammerhead/flash.c b/arch/avr32/boards/hammerhead/flash.c
new file mode 100644
index 000000000000..a98c6dd3a028
--- /dev/null
+++ b/arch/avr32/boards/hammerhead/flash.c
@@ -0,0 +1,377 @@
1/*
2 * Hammerhead board-specific flash initialization
3 *
4 * Copyright (C) 2008 Miromico AG
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#include <linux/init.h>
12#include <linux/platform_device.h>
13#include <linux/mtd/mtd.h>
14#include <linux/mtd/partitions.h>
15#include <linux/mtd/physmap.h>
16#include <linux/usb/isp116x.h>
17#include <linux/dma-mapping.h>
18#include <linux/platform_device.h>
19#include <linux/delay.h>
20
21#include <mach/portmux.h>
22#include <mach/at32ap700x.h>
23#include <mach/smc.h>
24
25#include "../../mach-at32ap/clock.h"
26#include "flash.h"
27
28
29#define HAMMERHEAD_USB_PERIPH_GCLK0 0x40000000
30#define HAMMERHEAD_USB_PERIPH_CS2 0x02000000
31#define HAMMERHEAD_USB_PERIPH_EXTINT0 0x02000000
32
33#define HAMMERHEAD_FPGA_PERIPH_MOSI 0x00000002
34#define HAMMERHEAD_FPGA_PERIPH_SCK 0x00000020
35#define HAMMERHEAD_FPGA_PERIPH_EXTINT3 0x10000000
36
37static struct smc_timing flash_timing __initdata = {
38 .ncs_read_setup = 0,
39 .nrd_setup = 40,
40 .ncs_write_setup = 0,
41 .nwe_setup = 10,
42
43 .ncs_read_pulse = 80,
44 .nrd_pulse = 40,
45 .ncs_write_pulse = 65,
46 .nwe_pulse = 55,
47
48 .read_cycle = 120,
49 .write_cycle = 120,
50};
51
52static struct smc_config flash_config __initdata = {
53 .bus_width = 2,
54 .nrd_controlled = 1,
55 .nwe_controlled = 1,
56 .byte_write = 1,
57};
58
59static struct mtd_partition flash_parts[] = {
60 {
61 .name = "u-boot",
62 .offset = 0x00000000,
63 .size = 0x00020000, /* 128 KiB */
64 .mask_flags = MTD_WRITEABLE,
65 },
66 {
67 .name = "root",
68 .offset = 0x00020000,
69 .size = 0x007d0000,
70 },
71 {
72 .name = "env",
73 .offset = 0x007f0000,
74 .size = 0x00010000,
75 .mask_flags = MTD_WRITEABLE,
76 },
77};
78
79static struct physmap_flash_data flash_data = {
80 .width = 2,
81 .nr_parts = ARRAY_SIZE(flash_parts),
82 .parts = flash_parts,
83};
84
85static struct resource flash_resource = {
86 .start = 0x00000000,
87 .end = 0x007fffff,
88 .flags = IORESOURCE_MEM,
89};
90
91static struct platform_device flash_device = {
92 .name = "physmap-flash",
93 .id = 0,
94 .resource = &flash_resource,
95 .num_resources = 1,
96 .dev = { .platform_data = &flash_data, },
97};
98
99#ifdef CONFIG_BOARD_HAMMERHEAD_USB
100
101static struct smc_timing isp1160_timing __initdata = {
102 .ncs_read_setup = 75,
103 .nrd_setup = 75,
104 .ncs_write_setup = 75,
105 .nwe_setup = 75,
106
107
108 /* We use conservative timing settings, as the minimal settings aren't
109 stable. There may be room for tweaking. */
110 .ncs_read_pulse = 75, /* min. 33ns */
111 .nrd_pulse = 75, /* min. 33ns */
112 .ncs_write_pulse = 75, /* min. 26ns */
113 .nwe_pulse = 75, /* min. 26ns */
114
115 .read_cycle = 225, /* min. 143ns */
116 .write_cycle = 225, /* min. 136ns */
117};
118
119static struct smc_config isp1160_config __initdata = {
120 .bus_width = 2,
121 .nrd_controlled = 1,
122 .nwe_controlled = 1,
123 .byte_write = 0,
124};
125
126/*
127 * The platform delay function is only used to enforce the strange
128 * read to write delay. This can not be configured in the SMC. All other
129 * timings are controlled by the SMC (see timings obove)
130 * So in isp116x-hcd.c we should comment out USE_PLATFORM_DELAY
131 */
132void isp116x_delay(struct device *dev, int delay)
133{
134 if (delay > 150)
135 ndelay(delay - 150);
136}
137
138static struct isp116x_platform_data isp1160_data = {
139 .sel15Kres = 1, /* use internal downstream resistors */
140 .oc_enable = 0, /* external overcurrent detection */
141 .int_edge_triggered = 0, /* interrupt is level triggered */
142 .int_act_high = 0, /* interrupt is active low */
143 .delay = isp116x_delay, /* platform delay function */
144};
145
146static struct resource isp1160_resource[] = {
147 {
148 .start = 0x08000000,
149 .end = 0x08000001,
150 .flags = IORESOURCE_MEM,
151 },
152 {
153 .start = 0x08000002,
154 .end = 0x08000003,
155 .flags = IORESOURCE_MEM,
156 },
157 {
158 .start = 64,
159 .flags = IORESOURCE_IRQ,
160 },
161};
162
163static struct platform_device isp1160_device = {
164 .name = "isp116x-hcd",
165 .id = 0,
166 .resource = isp1160_resource,
167 .num_resources = 3,
168 .dev = {
169 .platform_data = &isp1160_data,
170 },
171};
172#endif
173
174#ifdef CONFIG_BOARD_HAMMERHEAD_USB
175static int __init hammerhead_usbh_init(void)
176{
177 struct clk *gclk;
178 struct clk *osc;
179
180 int ret;
181
182 /* setup smc for usbh */
183 smc_set_timing(&isp1160_config, &isp1160_timing);
184 ret = smc_set_configuration(2, &isp1160_config);
185
186 if (ret < 0) {
187 printk(KERN_ERR
188 "hammerhead: failed to set ISP1160 USBH timing\n");
189 return ret;
190 }
191
192 /* setup gclk0 to run from osc1 */
193 gclk = clk_get(NULL, "gclk0");
194 if (IS_ERR(gclk))
195 goto err_gclk;
196
197 osc = clk_get(NULL, "osc1");
198 if (IS_ERR(osc))
199 goto err_osc;
200
201 if (clk_set_parent(gclk, osc)) {
202 pr_debug("hammerhead: failed to set osc1 for USBH clock\n");
203 goto err_set_clk;
204 }
205
206 /* set clock to 6MHz */
207 clk_set_rate(gclk, 6000000);
208
209 /* and enable */
210 clk_enable(gclk);
211
212 /* select GCLK0 peripheral function */
213 at32_select_periph(GPIO_PIOA_BASE, HAMMERHEAD_USB_PERIPH_GCLK0,
214 GPIO_PERIPH_A, 0);
215
216 /* enable CS2 peripheral function */
217 at32_select_periph(GPIO_PIOE_BASE, HAMMERHEAD_USB_PERIPH_CS2,
218 GPIO_PERIPH_A, 0);
219
220 /* H_WAKEUP must be driven low */
221 at32_select_gpio(GPIO_PIN_PA(8), AT32_GPIOF_OUTPUT);
222
223 /* Select EXTINT0 for PB25 */
224 at32_select_periph(GPIO_PIOB_BASE, HAMMERHEAD_USB_PERIPH_EXTINT0,
225 GPIO_PERIPH_A, 0);
226
227 /* register usbh device driver */
228 platform_device_register(&isp1160_device);
229
230 err_set_clk:
231 clk_put(osc);
232 err_osc:
233 clk_put(gclk);
234 err_gclk:
235 return ret;
236}
237#endif
238
239#ifdef CONFIG_BOARD_HAMMERHEAD_FPGA
240static struct smc_timing fpga_timing __initdata = {
241 .ncs_read_setup = 16,
242 .nrd_setup = 32,
243 .ncs_read_pulse = 48,
244 .nrd_pulse = 32,
245 .read_cycle = 64,
246
247 .ncs_write_setup = 16,
248 .nwe_setup = 16,
249 .ncs_write_pulse = 32,
250 .nwe_pulse = 32,
251 .write_cycle = 64,
252};
253
254static struct smc_config fpga_config __initdata = {
255 .bus_width = 4,
256 .nrd_controlled = 1,
257 .nwe_controlled = 1,
258 .byte_write = 0,
259};
260
261static struct resource hh_fpga0_resource[] = {
262 {
263 .start = 0xffe00400,
264 .end = 0xffe00400 + 0x3ff,
265 .flags = IORESOURCE_MEM,
266 },
267 {
268 .start = 4,
269 .end = 4,
270 .flags = IORESOURCE_IRQ,
271 },
272 {
273 .start = 0x0c000000,
274 .end = 0x0c000100,
275 .flags = IORESOURCE_MEM,
276 },
277 {
278 .start = 67,
279 .end = 67,
280 .flags = IORESOURCE_IRQ,
281 },
282};
283
284static u64 hh_fpga0_dma_mask = DMA_32BIT_MASK;
285static struct platform_device hh_fpga0_device = {
286 .name = "hh_fpga",
287 .id = 0,
288 .dev = {
289 .dma_mask = &hh_fpga0_dma_mask,
290 .coherent_dma_mask = DMA_32BIT_MASK,
291 },
292 .resource = hh_fpga0_resource,
293 .num_resources = ARRAY_SIZE(hh_fpga0_resource),
294};
295
296static struct clk hh_fpga0_spi_clk = {
297 .name = "spi_clk",
298 .dev = &hh_fpga0_device.dev,
299 .mode = pba_clk_mode,
300 .get_rate = pba_clk_get_rate,
301 .index = 1,
302};
303
304struct platform_device *__init at32_add_device_hh_fpga(void)
305{
306 /* Select peripheral functionallity for SPI SCK and MOSI */
307 at32_select_periph(GPIO_PIOB_BASE, HAMMERHEAD_FPGA_PERIPH_SCK,
308 GPIO_PERIPH_B, 0);
309 at32_select_periph(GPIO_PIOB_BASE, HAMMERHEAD_FPGA_PERIPH_MOSI,
310 GPIO_PERIPH_B, 0);
311
312 /* reserve all other needed gpio
313 * We have on board pull ups, so there is no need
314 * to enable gpio pull ups */
315 /* INIT_DONE (input) */
316 at32_select_gpio(GPIO_PIN_PB(0), 0);
317
318 /* nSTATUS (input) */
319 at32_select_gpio(GPIO_PIN_PB(2), 0);
320
321 /* nCONFIG (output, low) */
322 at32_select_gpio(GPIO_PIN_PB(3), AT32_GPIOF_OUTPUT);
323
324 /* CONF_DONE (input) */
325 at32_select_gpio(GPIO_PIN_PB(4), 0);
326
327 /* Select EXTINT3 for PB28 (Interrupt from FPGA) */
328 at32_select_periph(GPIO_PIOB_BASE, HAMMERHEAD_FPGA_PERIPH_EXTINT3,
329 GPIO_PERIPH_A, 0);
330
331 /* Get our parent clock */
332 hh_fpga0_spi_clk.parent = clk_get(NULL, "pba");
333 clk_put(hh_fpga0_spi_clk.parent);
334
335 /* Register clock in at32 clock tree */
336 at32_clk_register(&hh_fpga0_spi_clk);
337
338 platform_device_register(&hh_fpga0_device);
339 return &hh_fpga0_device;
340}
341#endif
342
343/* This needs to be called after the SMC has been initialized */
344static int __init hammerhead_flash_init(void)
345{
346 int ret;
347
348 smc_set_timing(&flash_config, &flash_timing);
349 ret = smc_set_configuration(0, &flash_config);
350
351 if (ret < 0) {
352 printk(KERN_ERR "hammerhead: failed to set NOR flash timing\n");
353 return ret;
354 }
355
356 platform_device_register(&flash_device);
357
358#ifdef CONFIG_BOARD_HAMMERHEAD_USB
359 hammerhead_usbh_init();
360#endif
361
362#ifdef CONFIG_BOARD_HAMMERHEAD_FPGA
363 /* Setup SMC for FPGA interface */
364 smc_set_timing(&fpga_config, &fpga_timing);
365 ret = smc_set_configuration(3, &fpga_config);
366#endif
367
368
369 if (ret < 0) {
370 printk(KERN_ERR "hammerhead: failed to set FPGA timing\n");
371 return ret;
372 }
373
374 return 0;
375}
376
377device_initcall(hammerhead_flash_init);
diff --git a/arch/avr32/boards/hammerhead/flash.h b/arch/avr32/boards/hammerhead/flash.h
new file mode 100644
index 000000000000..ea70c626587b
--- /dev/null
+++ b/arch/avr32/boards/hammerhead/flash.h
@@ -0,0 +1,6 @@
1#ifndef __BOARDS_HAMMERHEAD_FLASH_H
2#define __BOARDS_HAMMERHEAD_FLASH_H
3
4struct platform_device *at32_add_device_hh_fpga(void);
5
6#endif /* __BOARDS_HAMMERHEAD_FLASH_H */
diff --git a/arch/avr32/boards/hammerhead/setup.c b/arch/avr32/boards/hammerhead/setup.c
new file mode 100644
index 000000000000..af45c26c5ff9
--- /dev/null
+++ b/arch/avr32/boards/hammerhead/setup.c
@@ -0,0 +1,236 @@
1/*
2 * Board-specific setup code for the Miromico Hammerhead board
3 *
4 * Copyright (C) 2008 Miromico AG
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10#include <linux/clk.h>
11#include <linux/fb.h>
12#include <linux/etherdevice.h>
13#include <linux/i2c.h>
14#include <linux/i2c-gpio.h>
15#include <linux/init.h>
16#include <linux/linkage.h>
17#include <linux/platform_device.h>
18#include <linux/types.h>
19#include <linux/spi/spi.h>
20
21#include <video/atmel_lcdc.h>
22
23#include <linux/io.h>
24#include <asm/setup.h>
25
26#include <mach/at32ap700x.h>
27#include <mach/board.h>
28#include <mach/init.h>
29#include <mach/portmux.h>
30
31#include "../../mach-at32ap/clock.h"
32#include "flash.h"
33
34/* Oscillator frequencies. These are board-specific */
35unsigned long at32_board_osc_rates[3] = {
36 [0] = 32768, /* 32.768 kHz on RTC osc */
37 [1] = 25000000, /* 25MHz on osc0 */
38 [2] = 12000000, /* 12 MHz on osc1 */
39};
40
41/* Initialized by bootloader-specific startup code. */
42struct tag *bootloader_tags __initdata;
43
44#ifdef CONFIG_BOARD_HAMMERHEAD_LCD
45static struct fb_videomode __initdata hda350tlv_modes[] = {
46 {
47 .name = "320x240 @ 75",
48 .refresh = 75,
49 .xres = 320,
50 .yres = 240,
51 .pixclock = KHZ2PICOS(6891),
52
53 .left_margin = 48,
54 .right_margin = 18,
55 .upper_margin = 18,
56 .lower_margin = 4,
57 .hsync_len = 20,
58 .vsync_len = 2,
59
60 .sync = 0,
61 .vmode = FB_VMODE_NONINTERLACED,
62 },
63};
64
65static struct fb_monspecs __initdata hammerhead_hda350t_monspecs = {
66 .manufacturer = "HAN",
67 .monitor = "HDA350T-LV",
68 .modedb = hda350tlv_modes,
69 .modedb_len = ARRAY_SIZE(hda350tlv_modes),
70 .hfmin = 14900,
71 .hfmax = 22350,
72 .vfmin = 60,
73 .vfmax = 90,
74 .dclkmax = 10000000,
75};
76
77struct atmel_lcdfb_info __initdata hammerhead_lcdc_data = {
78 .default_bpp = 24,
79 .default_dmacon = ATMEL_LCDC_DMAEN | ATMEL_LCDC_DMA2DEN,
80 .default_lcdcon2 = (ATMEL_LCDC_DISTYPE_TFT
81 | ATMEL_LCDC_INVCLK
82 | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE
83 | ATMEL_LCDC_MEMOR_BIG),
84 .default_monspecs = &hammerhead_hda350t_monspecs,
85 .guard_time = 2,
86};
87#endif
88
89struct eth_addr {
90 u8 addr[6];
91};
92
93static struct eth_addr __initdata hw_addr[1];
94static struct eth_platform_data __initdata eth_data[1];
95
96/*
97 * The next two functions should go away as the boot loader is
98 * supposed to initialize the macb address registers with a valid
99 * ethernet address. But we need to keep it around for a while until
100 * we can be reasonably sure the boot loader does this.
101 *
102 * The phy_id is ignored as the driver will probe for it.
103 */
104static int __init parse_tag_ethernet(struct tag *tag)
105{
106 int i = tag->u.ethernet.mac_index;
107
108 if (i < ARRAY_SIZE(hw_addr))
109 memcpy(hw_addr[i].addr, tag->u.ethernet.hw_address,
110 sizeof(hw_addr[i].addr));
111
112 return 0;
113}
114__tagtable(ATAG_ETHERNET, parse_tag_ethernet);
115
116static void __init set_hw_addr(struct platform_device *pdev)
117{
118 struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
119 const u8 *addr;
120 void __iomem *regs;
121 struct clk *pclk;
122
123 if (!res)
124 return;
125
126 if (pdev->id >= ARRAY_SIZE(hw_addr))
127 return;
128
129 addr = hw_addr[pdev->id].addr;
130
131 if (!is_valid_ether_addr(addr))
132 return;
133
134 /*
135 * Since this is board-specific code, we'll cheat and use the
136 * physical address directly as we happen to know that it's
137 * the same as the virtual address.
138 */
139 regs = (void __iomem __force *)res->start;
140 pclk = clk_get(&pdev->dev, "pclk");
141
142 if (!pclk)
143 return;
144
145 clk_enable(pclk);
146
147 __raw_writel((addr[3] << 24) | (addr[2] << 16) | (addr[1] << 8) |
148 addr[0], regs + 0x98);
149 __raw_writel((addr[5] << 8) | addr[4], regs + 0x9c);
150
151 clk_disable(pclk);
152 clk_put(pclk);
153}
154
155void __init setup_board(void)
156{
157 at32_map_usart(1, 0); /* USART 1: /dev/ttyS0, DB9 */
158 at32_setup_serial_console(0);
159}
160
161static struct i2c_gpio_platform_data i2c_gpio_data = {
162 .sda_pin = GPIO_PIN_PA(6),
163 .scl_pin = GPIO_PIN_PA(7),
164 .sda_is_open_drain = 1,
165 .scl_is_open_drain = 1,
166 .udelay = 2, /* close to 100 kHz */
167};
168
169static struct platform_device i2c_gpio_device = {
170 .name = "i2c-gpio",
171 .id = 0,
172 .dev = { .platform_data = &i2c_gpio_data, },
173};
174
175static struct i2c_board_info __initdata i2c_info[] = {};
176
177#ifdef CONFIG_BOARD_HAMMERHEAD_SND
178static struct ac97c_platform_data ac97c_data = {
179 .reset_pin = GPIO_PIN_PA(16),
180};
181#endif
182
183static int __init hammerhead_init(void)
184{
185 /*
186 * Hammerhead uses 32-bit SDRAM interface. Reserve the
187 * SDRAM-specific pins so that nobody messes with them.
188 */
189 at32_reserve_pin(GPIO_PIOE_BASE, ATMEL_EBI_PE_DATA_ALL);
190
191 at32_add_device_usart(0);
192
193 /* Reserve PB29 (GCLK3). This pin is used as clock source
194 * for ETH PHY (25MHz). GCLK3 setup is done by U-Boot.
195 */
196 at32_reserve_pin(GPIO_PIOB_BASE, (1<<29));
197
198 /*
199 * Hammerhead uses only one ethernet port, so we don't set
200 * address of second port
201 */
202 set_hw_addr(at32_add_device_eth(0, &eth_data[0]));
203
204#ifdef CONFIG_BOARD_HAMMERHEAD_FPGA
205 at32_add_device_hh_fpga();
206#endif
207 at32_add_device_mci(0, NULL);
208
209#ifdef CONFIG_BOARD_HAMMERHEAD_USB
210 at32_add_device_usba(0, NULL);
211#endif
212#ifdef CONFIG_BOARD_HAMMERHEAD_LCD
213 at32_add_device_lcdc(0, &hammerhead_lcdc_data, fbmem_start,
214 fbmem_size, ATMEL_LCDC_PRI_24BIT);
215#endif
216
217 at32_select_gpio(i2c_gpio_data.sda_pin,
218 AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT |
219 AT32_GPIOF_HIGH);
220 at32_select_gpio(i2c_gpio_data.scl_pin,
221 AT32_GPIOF_MULTIDRV | AT32_GPIOF_OUTPUT |
222 AT32_GPIOF_HIGH);
223 platform_device_register(&i2c_gpio_device);
224 i2c_register_board_info(0, i2c_info, ARRAY_SIZE(i2c_info));
225
226#ifdef CONFIG_BOARD_HAMMERHEAD_SND
227 at32_add_device_ac97c(0, &ac97c_data);
228#endif
229
230 /* Select the Touchscreen interrupt pin mode */
231 at32_select_periph(GPIO_PIOB_BASE, 0x08000000, GPIO_PERIPH_A, 0);
232
233 return 0;
234}
235
236postcore_initcall(hammerhead_init);
diff --git a/arch/avr32/boards/mimc200/setup.c b/arch/avr32/boards/mimc200/setup.c
index 811d73027f77..2b58d61f0afc 100644
--- a/arch/avr32/boards/mimc200/setup.c
+++ b/arch/avr32/boards/mimc200/setup.c
@@ -207,8 +207,6 @@ static int __init mimc200_init(void)
207 * reserve any pins for it. 207 * reserve any pins for it.
208 */ 208 */
209 209
210 at32_add_system_devices();
211
212 at32_add_device_usart(0); 210 at32_add_device_usart(0);
213 at32_add_device_usart(1); 211 at32_add_device_usart(1);
214 at32_add_device_usart(2); 212 at32_add_device_usart(2);
diff --git a/arch/avr32/configs/hammerhead_defconfig b/arch/avr32/configs/hammerhead_defconfig
new file mode 100644
index 000000000000..0d3d2982c8f5
--- /dev/null
+++ b/arch/avr32/configs/hammerhead_defconfig
@@ -0,0 +1,1467 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27
4# Tue Dec 9 15:37:30 2008
5#
6CONFIG_AVR32=y
7CONFIG_GENERIC_GPIO=y
8CONFIG_GENERIC_HARDIRQS=y
9CONFIG_STACKTRACE_SUPPORT=y
10CONFIG_LOCKDEP_SUPPORT=y
11CONFIG_TRACE_IRQFLAGS_SUPPORT=y
12CONFIG_HARDIRQS_SW_RESEND=y
13CONFIG_GENERIC_IRQ_PROBE=y
14CONFIG_RWSEM_GENERIC_SPINLOCK=y
15CONFIG_GENERIC_TIME=y
16CONFIG_GENERIC_CLOCKEVENTS=y
17# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
18# CONFIG_ARCH_HAS_ILOG2_U32 is not set
19# CONFIG_ARCH_HAS_ILOG2_U64 is not set
20CONFIG_GENERIC_HWEIGHT=y
21CONFIG_GENERIC_CALIBRATE_DELAY=y
22CONFIG_GENERIC_BUG=y
23CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
24
25#
26# General setup
27#
28CONFIG_EXPERIMENTAL=y
29CONFIG_BROKEN_ON_SMP=y
30CONFIG_INIT_ENV_ARG_LIMIT=32
31CONFIG_LOCALVERSION=""
32# CONFIG_LOCALVERSION_AUTO is not set
33CONFIG_SWAP=y
34CONFIG_SYSVIPC=y
35CONFIG_SYSVIPC_SYSCTL=y
36CONFIG_POSIX_MQUEUE=y
37CONFIG_BSD_PROCESS_ACCT=y
38CONFIG_BSD_PROCESS_ACCT_V3=y
39# CONFIG_TASKSTATS is not set
40# CONFIG_AUDIT is not set
41# CONFIG_IKCONFIG is not set
42CONFIG_LOG_BUF_SHIFT=14
43# CONFIG_CGROUPS is not set
44# CONFIG_GROUP_SCHED is not set
45CONFIG_SYSFS_DEPRECATED=y
46CONFIG_SYSFS_DEPRECATED_V2=y
47# CONFIG_RELAY is not set
48# CONFIG_NAMESPACES is not set
49CONFIG_BLK_DEV_INITRD=y
50CONFIG_INITRAMFS_SOURCE=""
51CONFIG_CC_OPTIMIZE_FOR_SIZE=y
52CONFIG_SYSCTL=y
53CONFIG_EMBEDDED=y
54# CONFIG_SYSCTL_SYSCALL is not set
55CONFIG_KALLSYMS=y
56# CONFIG_KALLSYMS_ALL is not set
57# CONFIG_KALLSYMS_EXTRA_PASS is not set
58CONFIG_HOTPLUG=y
59CONFIG_PRINTK=y
60CONFIG_BUG=y
61CONFIG_ELF_CORE=y
62# CONFIG_COMPAT_BRK is not set
63# CONFIG_BASE_FULL is not set
64CONFIG_FUTEX=y
65CONFIG_ANON_INODES=y
66CONFIG_EPOLL=y
67CONFIG_SIGNALFD=y
68CONFIG_TIMERFD=y
69CONFIG_EVENTFD=y
70CONFIG_SHMEM=y
71CONFIG_AIO=y
72CONFIG_VM_EVENT_COUNTERS=y
73CONFIG_PCI_QUIRKS=y
74CONFIG_SLUB_DEBUG=y
75# CONFIG_SLAB is not set
76CONFIG_SLUB=y
77# CONFIG_SLOB is not set
78CONFIG_PROFILING=y
79# CONFIG_MARKERS is not set
80CONFIG_OPROFILE=m
81CONFIG_HAVE_OPROFILE=y
82CONFIG_KPROBES=y
83CONFIG_HAVE_KPROBES=y
84CONFIG_HAVE_CLK=y
85# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
86CONFIG_SLABINFO=y
87CONFIG_RT_MUTEXES=y
88# CONFIG_TINY_SHMEM is not set
89CONFIG_BASE_SMALL=1
90CONFIG_MODULES=y
91# CONFIG_MODULE_FORCE_LOAD is not set
92CONFIG_MODULE_UNLOAD=y
93CONFIG_MODULE_FORCE_UNLOAD=y
94# CONFIG_MODVERSIONS is not set
95# CONFIG_MODULE_SRCVERSION_ALL is not set
96CONFIG_KMOD=y
97CONFIG_BLOCK=y
98# CONFIG_LBD is not set
99# CONFIG_BLK_DEV_IO_TRACE is not set
100# CONFIG_LSF is not set
101# CONFIG_BLK_DEV_BSG is not set
102# CONFIG_BLK_DEV_INTEGRITY is not set
103
104#
105# IO Schedulers
106#
107CONFIG_IOSCHED_NOOP=y
108# CONFIG_IOSCHED_AS is not set
109# CONFIG_IOSCHED_DEADLINE is not set
110CONFIG_IOSCHED_CFQ=y
111# CONFIG_DEFAULT_AS is not set
112# CONFIG_DEFAULT_DEADLINE is not set
113CONFIG_DEFAULT_CFQ=y
114# CONFIG_DEFAULT_NOOP is not set
115CONFIG_DEFAULT_IOSCHED="cfq"
116CONFIG_CLASSIC_RCU=y
117# CONFIG_FREEZER is not set
118
119#
120# System Type and features
121#
122CONFIG_TICK_ONESHOT=y
123CONFIG_NO_HZ=y
124CONFIG_HIGH_RES_TIMERS=y
125CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
126CONFIG_SUBARCH_AVR32B=y
127CONFIG_MMU=y
128CONFIG_PERFORMANCE_COUNTERS=y
129CONFIG_PLATFORM_AT32AP=y
130CONFIG_CPU_AT32AP700X=y
131CONFIG_CPU_AT32AP7000=y
132# CONFIG_BOARD_ATSTK1000 is not set
133# CONFIG_BOARD_ATNGW100 is not set
134CONFIG_BOARD_HAMMERHEAD=y
135# CONFIG_BOARD_FAVR_32 is not set
136# CONFIG_BOARD_MIMC200 is not set
137CONFIG_BOARD_HAMMERHEAD_USB=y
138CONFIG_BOARD_HAMMERHEAD_LCD=y
139CONFIG_BOARD_HAMMERHEAD_SND=y
140# CONFIG_BOARD_HAMMERHEAD_FPGA is not set
141CONFIG_LOADER_U_BOOT=y
142
143#
144# Atmel AVR32 AP options
145#
146# CONFIG_AP700X_32_BIT_SMC is not set
147CONFIG_AP700X_16_BIT_SMC=y
148# CONFIG_AP700X_8_BIT_SMC is not set
149CONFIG_LOAD_ADDRESS=0x10000000
150CONFIG_ENTRY_ADDRESS=0x90000000
151CONFIG_PHYS_OFFSET=0x10000000
152CONFIG_PREEMPT_NONE=y
153# CONFIG_PREEMPT_VOLUNTARY is not set
154# CONFIG_PREEMPT is not set
155CONFIG_QUICKLIST=y
156# CONFIG_HAVE_ARCH_BOOTMEM_NODE is not set
157# CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set
158# CONFIG_NEED_NODE_MEMMAP_SIZE is not set
159CONFIG_ARCH_FLATMEM_ENABLE=y
160# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
161# CONFIG_ARCH_SPARSEMEM_ENABLE is not set
162CONFIG_SELECT_MEMORY_MODEL=y
163CONFIG_FLATMEM_MANUAL=y
164# CONFIG_DISCONTIGMEM_MANUAL is not set
165# CONFIG_SPARSEMEM_MANUAL is not set
166CONFIG_FLATMEM=y
167CONFIG_FLAT_NODE_MEM_MAP=y
168CONFIG_PAGEFLAGS_EXTENDED=y
169CONFIG_SPLIT_PTLOCK_CPUS=4
170# CONFIG_RESOURCES_64BIT is not set
171# CONFIG_PHYS_ADDR_T_64BIT is not set
172CONFIG_ZONE_DMA_FLAG=0
173CONFIG_NR_QUICK=2
174CONFIG_VIRT_TO_BUS=y
175CONFIG_UNEVICTABLE_LRU=y
176# CONFIG_OWNERSHIP_TRACE is not set
177# CONFIG_NMI_DEBUGGING is not set
178# CONFIG_HZ_100 is not set
179CONFIG_HZ_250=y
180# CONFIG_HZ_300 is not set
181# CONFIG_HZ_1000 is not set
182CONFIG_HZ=250
183CONFIG_SCHED_HRTICK=y
184CONFIG_CMDLINE=""
185
186#
187# Power management options
188#
189# CONFIG_PM is not set
190CONFIG_ARCH_SUSPEND_POSSIBLE=y
191
192#
193# CPU Frequency scaling
194#
195CONFIG_CPU_FREQ=y
196CONFIG_CPU_FREQ_TABLE=y
197# CONFIG_CPU_FREQ_DEBUG is not set
198# CONFIG_CPU_FREQ_STAT is not set
199# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
200# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
201# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
202CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
203# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
204CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
205# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
206CONFIG_CPU_FREQ_GOV_USERSPACE=y
207CONFIG_CPU_FREQ_GOV_ONDEMAND=y
208# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
209CONFIG_CPU_FREQ_AT32AP=y
210
211#
212# Bus options
213#
214# CONFIG_ARCH_SUPPORTS_MSI is not set
215# CONFIG_PCCARD is not set
216
217#
218# Executable file formats
219#
220CONFIG_BINFMT_ELF=y
221# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
222# CONFIG_HAVE_AOUT is not set
223# CONFIG_BINFMT_MISC is not set
224CONFIG_NET=y
225
226#
227# Networking options
228#
229CONFIG_PACKET=y
230CONFIG_PACKET_MMAP=y
231CONFIG_UNIX=y
232CONFIG_XFRM=y
233CONFIG_XFRM_USER=y
234# CONFIG_XFRM_SUB_POLICY is not set
235# CONFIG_XFRM_MIGRATE is not set
236# CONFIG_XFRM_STATISTICS is not set
237CONFIG_XFRM_IPCOMP=y
238CONFIG_NET_KEY=y
239# CONFIG_NET_KEY_MIGRATE is not set
240CONFIG_INET=y
241CONFIG_IP_MULTICAST=y
242CONFIG_IP_ADVANCED_ROUTER=y
243CONFIG_ASK_IP_FIB_HASH=y
244# CONFIG_IP_FIB_TRIE is not set
245CONFIG_IP_FIB_HASH=y
246# CONFIG_IP_MULTIPLE_TABLES is not set
247# CONFIG_IP_ROUTE_MULTIPATH is not set
248# CONFIG_IP_ROUTE_VERBOSE is not set
249CONFIG_IP_PNP=y
250CONFIG_IP_PNP_DHCP=y
251# CONFIG_IP_PNP_BOOTP is not set
252# CONFIG_IP_PNP_RARP is not set
253# CONFIG_NET_IPIP is not set
254# CONFIG_NET_IPGRE is not set
255CONFIG_IP_MROUTE=y
256CONFIG_IP_PIMSM_V1=y
257# CONFIG_IP_PIMSM_V2 is not set
258# CONFIG_ARPD is not set
259CONFIG_SYN_COOKIES=y
260CONFIG_INET_AH=y
261CONFIG_INET_ESP=y
262CONFIG_INET_IPCOMP=y
263CONFIG_INET_XFRM_TUNNEL=y
264CONFIG_INET_TUNNEL=y
265CONFIG_INET_XFRM_MODE_TRANSPORT=y
266CONFIG_INET_XFRM_MODE_TUNNEL=y
267CONFIG_INET_XFRM_MODE_BEET=y
268# CONFIG_INET_LRO is not set
269CONFIG_INET_DIAG=y
270CONFIG_INET_TCP_DIAG=y
271# CONFIG_TCP_CONG_ADVANCED is not set
272CONFIG_TCP_CONG_CUBIC=y
273CONFIG_DEFAULT_TCP_CONG="cubic"
274# CONFIG_TCP_MD5SIG is not set
275# CONFIG_IPV6 is not set
276# CONFIG_NETWORK_SECMARK is not set
277CONFIG_NETFILTER=y
278# CONFIG_NETFILTER_DEBUG is not set
279# CONFIG_NETFILTER_ADVANCED is not set
280
281#
282# Core Netfilter Configuration
283#
284CONFIG_NETFILTER_NETLINK=m
285CONFIG_NETFILTER_NETLINK_LOG=m
286CONFIG_NF_CONNTRACK=m
287CONFIG_NF_CONNTRACK_FTP=m
288CONFIG_NF_CONNTRACK_IRC=m
289CONFIG_NF_CONNTRACK_SIP=m
290CONFIG_NF_CT_NETLINK=m
291CONFIG_NETFILTER_XTABLES=y
292CONFIG_NETFILTER_XT_TARGET_MARK=m
293CONFIG_NETFILTER_XT_TARGET_NFLOG=m
294CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
295CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
296CONFIG_NETFILTER_XT_MATCH_MARK=m
297CONFIG_NETFILTER_XT_MATCH_POLICY=m
298CONFIG_NETFILTER_XT_MATCH_STATE=m
299# CONFIG_IP_VS is not set
300
301#
302# IP: Netfilter Configuration
303#
304CONFIG_NF_DEFRAG_IPV4=m
305CONFIG_NF_CONNTRACK_IPV4=m
306CONFIG_NF_CONNTRACK_PROC_COMPAT=y
307CONFIG_IP_NF_IPTABLES=m
308CONFIG_IP_NF_FILTER=m
309CONFIG_IP_NF_TARGET_REJECT=m
310CONFIG_IP_NF_TARGET_LOG=m
311# CONFIG_IP_NF_TARGET_ULOG is not set
312CONFIG_NF_NAT=m
313CONFIG_NF_NAT_NEEDED=y
314CONFIG_IP_NF_TARGET_MASQUERADE=m
315CONFIG_NF_NAT_FTP=m
316CONFIG_NF_NAT_IRC=m
317# CONFIG_NF_NAT_TFTP is not set
318# CONFIG_NF_NAT_AMANDA is not set
319# CONFIG_NF_NAT_PPTP is not set
320# CONFIG_NF_NAT_H323 is not set
321CONFIG_NF_NAT_SIP=m
322CONFIG_IP_NF_MANGLE=m
323# CONFIG_IP_DCCP is not set
324# CONFIG_IP_SCTP is not set
325# CONFIG_TIPC is not set
326# CONFIG_ATM is not set
327# CONFIG_BRIDGE is not set
328# CONFIG_NET_DSA is not set
329# CONFIG_VLAN_8021Q is not set
330# CONFIG_DECNET is not set
331# CONFIG_LLC2 is not set
332# CONFIG_IPX is not set
333# CONFIG_ATALK is not set
334# CONFIG_X25 is not set
335# CONFIG_LAPB is not set
336# CONFIG_ECONET is not set
337# CONFIG_WAN_ROUTER is not set
338# CONFIG_NET_SCHED is not set
339
340#
341# Network testing
342#
343# CONFIG_NET_PKTGEN is not set
344# CONFIG_NET_TCPPROBE is not set
345# CONFIG_HAMRADIO is not set
346# CONFIG_CAN is not set
347# CONFIG_IRDA is not set
348# CONFIG_BT is not set
349# CONFIG_AF_RXRPC is not set
350# CONFIG_PHONET is not set
351CONFIG_WIRELESS=y
352# CONFIG_CFG80211 is not set
353# CONFIG_WIRELESS_OLD_REGULATORY is not set
354# CONFIG_WIRELESS_EXT is not set
355# CONFIG_MAC80211 is not set
356# CONFIG_IEEE80211 is not set
357# CONFIG_RFKILL is not set
358# CONFIG_NET_9P is not set
359
360#
361# Device Drivers
362#
363
364#
365# Generic Driver Options
366#
367CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
368CONFIG_STANDALONE=y
369# CONFIG_PREVENT_FIRMWARE_BUILD is not set
370# CONFIG_FW_LOADER is not set
371# CONFIG_DEBUG_DRIVER is not set
372# CONFIG_DEBUG_DEVRES is not set
373# CONFIG_SYS_HYPERVISOR is not set
374# CONFIG_CONNECTOR is not set
375CONFIG_MTD=y
376# CONFIG_MTD_DEBUG is not set
377# CONFIG_MTD_CONCAT is not set
378CONFIG_MTD_PARTITIONS=y
379# CONFIG_MTD_REDBOOT_PARTS is not set
380CONFIG_MTD_CMDLINE_PARTS=y
381# CONFIG_MTD_AR7_PARTS is not set
382
383#
384# User Modules And Translation Layers
385#
386CONFIG_MTD_CHAR=y
387CONFIG_MTD_BLKDEVS=y
388CONFIG_MTD_BLOCK=y
389# CONFIG_FTL is not set
390# CONFIG_NFTL is not set
391# CONFIG_INFTL is not set
392# CONFIG_RFD_FTL is not set
393# CONFIG_SSFDC is not set
394# CONFIG_MTD_OOPS is not set
395
396#
397# RAM/ROM/Flash chip drivers
398#
399CONFIG_MTD_CFI=y
400# CONFIG_MTD_JEDECPROBE is not set
401CONFIG_MTD_GEN_PROBE=y
402# CONFIG_MTD_CFI_ADV_OPTIONS is not set
403CONFIG_MTD_MAP_BANK_WIDTH_1=y
404CONFIG_MTD_MAP_BANK_WIDTH_2=y
405CONFIG_MTD_MAP_BANK_WIDTH_4=y
406# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
407# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
408# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
409CONFIG_MTD_CFI_I1=y
410CONFIG_MTD_CFI_I2=y
411# CONFIG_MTD_CFI_I4 is not set
412# CONFIG_MTD_CFI_I8 is not set
413# CONFIG_MTD_CFI_INTELEXT is not set
414CONFIG_MTD_CFI_AMDSTD=y
415# CONFIG_MTD_CFI_STAA is not set
416CONFIG_MTD_CFI_UTIL=y
417# CONFIG_MTD_RAM is not set
418# CONFIG_MTD_ROM is not set
419# CONFIG_MTD_ABSENT is not set
420
421#
422# Mapping drivers for chip access
423#
424# CONFIG_MTD_COMPLEX_MAPPINGS is not set
425CONFIG_MTD_PHYSMAP=y
426CONFIG_MTD_PHYSMAP_START=0x80000000
427CONFIG_MTD_PHYSMAP_LEN=0x0
428CONFIG_MTD_PHYSMAP_BANKWIDTH=2
429# CONFIG_MTD_PLATRAM is not set
430
431#
432# Self-contained MTD device drivers
433#
434CONFIG_MTD_DATAFLASH=y
435# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
436# CONFIG_MTD_DATAFLASH_OTP is not set
437# CONFIG_MTD_M25P80 is not set
438# CONFIG_MTD_SLRAM is not set
439# CONFIG_MTD_PHRAM is not set
440# CONFIG_MTD_MTDRAM is not set
441# CONFIG_MTD_BLOCK2MTD is not set
442
443#
444# Disk-On-Chip Device Drivers
445#
446# CONFIG_MTD_DOC2000 is not set
447# CONFIG_MTD_DOC2001 is not set
448# CONFIG_MTD_DOC2001PLUS is not set
449# CONFIG_MTD_NAND is not set
450# CONFIG_MTD_ONENAND is not set
451
452#
453# UBI - Unsorted block images
454#
455# CONFIG_MTD_UBI is not set
456# CONFIG_PARPORT is not set
457CONFIG_BLK_DEV=y
458# CONFIG_BLK_DEV_COW_COMMON is not set
459# CONFIG_BLK_DEV_LOOP is not set
460# CONFIG_BLK_DEV_NBD is not set
461# CONFIG_BLK_DEV_UB is not set
462CONFIG_BLK_DEV_RAM=m
463CONFIG_BLK_DEV_RAM_COUNT=16
464CONFIG_BLK_DEV_RAM_SIZE=4096
465# CONFIG_BLK_DEV_XIP is not set
466# CONFIG_CDROM_PKTCDVD is not set
467# CONFIG_ATA_OVER_ETH is not set
468CONFIG_MISC_DEVICES=y
469# CONFIG_ATMEL_PWM is not set
470CONFIG_ATMEL_TCLIB=y
471CONFIG_ATMEL_TCB_CLKSRC=y
472CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0
473# CONFIG_EEPROM_93CX6 is not set
474# CONFIG_ATMEL_SSC is not set
475# CONFIG_ENCLOSURE_SERVICES is not set
476
477#
478# SCSI device support
479#
480# CONFIG_RAID_ATTRS is not set
481CONFIG_SCSI=m
482CONFIG_SCSI_DMA=y
483# CONFIG_SCSI_TGT is not set
484# CONFIG_SCSI_NETLINK is not set
485CONFIG_SCSI_PROC_FS=y
486
487#
488# SCSI support type (disk, tape, CD-ROM)
489#
490CONFIG_BLK_DEV_SD=m
491# CONFIG_CHR_DEV_ST is not set
492# CONFIG_CHR_DEV_OSST is not set
493# CONFIG_BLK_DEV_SR is not set
494# CONFIG_CHR_DEV_SG is not set
495# CONFIG_CHR_DEV_SCH is not set
496
497#
498# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
499#
500# CONFIG_SCSI_MULTI_LUN is not set
501# CONFIG_SCSI_CONSTANTS is not set
502# CONFIG_SCSI_LOGGING is not set
503# CONFIG_SCSI_SCAN_ASYNC is not set
504CONFIG_SCSI_WAIT_SCAN=m
505
506#
507# SCSI Transports
508#
509# CONFIG_SCSI_SPI_ATTRS is not set
510# CONFIG_SCSI_FC_ATTRS is not set
511# CONFIG_SCSI_ISCSI_ATTRS is not set
512# CONFIG_SCSI_SAS_LIBSAS is not set
513# CONFIG_SCSI_SRP_ATTRS is not set
514CONFIG_SCSI_LOWLEVEL=y
515# CONFIG_ISCSI_TCP is not set
516# CONFIG_SCSI_DEBUG is not set
517# CONFIG_SCSI_DH is not set
518# CONFIG_ATA is not set
519# CONFIG_MD is not set
520CONFIG_NETDEVICES=y
521# CONFIG_DUMMY is not set
522# CONFIG_BONDING is not set
523# CONFIG_MACVLAN is not set
524# CONFIG_EQUALIZER is not set
525# CONFIG_TUN is not set
526# CONFIG_VETH is not set
527CONFIG_PHYLIB=y
528
529#
530# MII PHY device drivers
531#
532# CONFIG_MARVELL_PHY is not set
533# CONFIG_DAVICOM_PHY is not set
534# CONFIG_QSEMI_PHY is not set
535# CONFIG_LXT_PHY is not set
536# CONFIG_CICADA_PHY is not set
537# CONFIG_VITESSE_PHY is not set
538# CONFIG_SMSC_PHY is not set
539# CONFIG_BROADCOM_PHY is not set
540# CONFIG_ICPLUS_PHY is not set
541# CONFIG_REALTEK_PHY is not set
542# CONFIG_FIXED_PHY is not set
543# CONFIG_MDIO_BITBANG is not set
544CONFIG_NET_ETHERNET=y
545# CONFIG_MII is not set
546CONFIG_MACB=y
547# CONFIG_ENC28J60 is not set
548# CONFIG_IBM_NEW_EMAC_ZMII is not set
549# CONFIG_IBM_NEW_EMAC_RGMII is not set
550# CONFIG_IBM_NEW_EMAC_TAH is not set
551# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
552# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
553# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
554# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
555# CONFIG_B44 is not set
556# CONFIG_NETDEV_1000 is not set
557# CONFIG_NETDEV_10000 is not set
558
559#
560# Wireless LAN
561#
562# CONFIG_WLAN_PRE80211 is not set
563# CONFIG_WLAN_80211 is not set
564# CONFIG_IWLWIFI_LEDS is not set
565
566#
567# USB Network Adapters
568#
569# CONFIG_USB_CATC is not set
570# CONFIG_USB_KAWETH is not set
571# CONFIG_USB_PEGASUS is not set
572# CONFIG_USB_RTL8150 is not set
573# CONFIG_USB_USBNET is not set
574# CONFIG_WAN is not set
575# CONFIG_PPP is not set
576# CONFIG_SLIP is not set
577# CONFIG_NETCONSOLE is not set
578# CONFIG_NETPOLL is not set
579# CONFIG_NET_POLL_CONTROLLER is not set
580# CONFIG_ISDN is not set
581# CONFIG_PHONE is not set
582
583#
584# Input device support
585#
586CONFIG_INPUT=y
587CONFIG_INPUT_FF_MEMLESS=m
588# CONFIG_INPUT_POLLDEV is not set
589
590#
591# Userland interfaces
592#
593CONFIG_INPUT_MOUSEDEV=y
594CONFIG_INPUT_MOUSEDEV_PSAUX=y
595CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
596CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
597# CONFIG_INPUT_JOYDEV is not set
598CONFIG_INPUT_EVDEV=m
599# CONFIG_INPUT_EVBUG is not set
600
601#
602# Input Device Drivers
603#
604CONFIG_INPUT_KEYBOARD=y
605CONFIG_KEYBOARD_ATKBD=y
606# CONFIG_KEYBOARD_SUNKBD is not set
607# CONFIG_KEYBOARD_LKKBD is not set
608# CONFIG_KEYBOARD_XTKBD is not set
609# CONFIG_KEYBOARD_NEWTON is not set
610# CONFIG_KEYBOARD_STOWAWAY is not set
611# CONFIG_KEYBOARD_GPIO is not set
612CONFIG_INPUT_MOUSE=y
613CONFIG_MOUSE_PS2=y
614CONFIG_MOUSE_PS2_ALPS=y
615CONFIG_MOUSE_PS2_LOGIPS2PP=y
616CONFIG_MOUSE_PS2_SYNAPTICS=y
617CONFIG_MOUSE_PS2_LIFEBOOK=y
618CONFIG_MOUSE_PS2_TRACKPOINT=y
619# CONFIG_MOUSE_PS2_TOUCHKIT is not set
620# CONFIG_MOUSE_SERIAL is not set
621# CONFIG_MOUSE_APPLETOUCH is not set
622# CONFIG_MOUSE_BCM5974 is not set
623# CONFIG_MOUSE_VSXXXAA is not set
624# CONFIG_MOUSE_GPIO is not set
625# CONFIG_INPUT_JOYSTICK is not set
626# CONFIG_INPUT_TABLET is not set
627CONFIG_INPUT_TOUCHSCREEN=y
628# CONFIG_TOUCHSCREEN_ADS7846 is not set
629# CONFIG_TOUCHSCREEN_FUJITSU is not set
630# CONFIG_TOUCHSCREEN_GUNZE is not set
631# CONFIG_TOUCHSCREEN_ELO is not set
632# CONFIG_TOUCHSCREEN_MTOUCH is not set
633# CONFIG_TOUCHSCREEN_INEXIO is not set
634# CONFIG_TOUCHSCREEN_MK712 is not set
635# CONFIG_TOUCHSCREEN_PENMOUNT is not set
636# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
637# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
638# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
639# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
640# CONFIG_INPUT_MISC is not set
641
642#
643# Hardware I/O ports
644#
645CONFIG_SERIO=y
646CONFIG_SERIO_I8042=y
647CONFIG_SERIO_SERPORT=y
648# CONFIG_SERIO_AT32PSIF is not set
649CONFIG_SERIO_LIBPS2=y
650# CONFIG_SERIO_RAW is not set
651# CONFIG_GAMEPORT is not set
652
653#
654# Character devices
655#
656CONFIG_VT=y
657CONFIG_CONSOLE_TRANSLATIONS=y
658CONFIG_VT_CONSOLE=y
659CONFIG_HW_CONSOLE=y
660# CONFIG_VT_HW_CONSOLE_BINDING is not set
661CONFIG_DEVKMEM=y
662# CONFIG_SERIAL_NONSTANDARD is not set
663
664#
665# Serial drivers
666#
667# CONFIG_SERIAL_8250 is not set
668
669#
670# Non-8250 serial port support
671#
672CONFIG_SERIAL_ATMEL=y
673CONFIG_SERIAL_ATMEL_CONSOLE=y
674CONFIG_SERIAL_ATMEL_PDC=y
675# CONFIG_SERIAL_ATMEL_TTYAT is not set
676CONFIG_SERIAL_CORE=y
677CONFIG_SERIAL_CORE_CONSOLE=y
678CONFIG_UNIX98_PTYS=y
679# CONFIG_LEGACY_PTYS is not set
680# CONFIG_IPMI_HANDLER is not set
681# CONFIG_HW_RANDOM is not set
682# CONFIG_R3964 is not set
683# CONFIG_RAW_DRIVER is not set
684# CONFIG_TCG_TPM is not set
685CONFIG_I2C=m
686CONFIG_I2C_BOARDINFO=y
687CONFIG_I2C_CHARDEV=m
688CONFIG_I2C_HELPER_AUTO=y
689CONFIG_I2C_ALGOBIT=m
690
691#
692# I2C Hardware Bus support
693#
694
695#
696# I2C system bus drivers (mostly embedded / system-on-chip)
697#
698CONFIG_I2C_GPIO=m
699# CONFIG_I2C_OCORES is not set
700# CONFIG_I2C_SIMTEC is not set
701
702#
703# External I2C/SMBus adapter drivers
704#
705# CONFIG_I2C_PARPORT_LIGHT is not set
706# CONFIG_I2C_TAOS_EVM is not set
707# CONFIG_I2C_TINY_USB is not set
708
709#
710# Other I2C/SMBus bus drivers
711#
712# CONFIG_I2C_PCA_PLATFORM is not set
713# CONFIG_I2C_STUB is not set
714
715#
716# Miscellaneous I2C Chip support
717#
718# CONFIG_DS1682 is not set
719# CONFIG_AT24 is not set
720# CONFIG_SENSORS_EEPROM is not set
721# CONFIG_SENSORS_PCF8574 is not set
722# CONFIG_PCF8575 is not set
723# CONFIG_SENSORS_PCA9539 is not set
724# CONFIG_SENSORS_PCF8591 is not set
725# CONFIG_TPS65010 is not set
726# CONFIG_SENSORS_MAX6875 is not set
727# CONFIG_SENSORS_TSL2550 is not set
728# CONFIG_I2C_DEBUG_CORE is not set
729# CONFIG_I2C_DEBUG_ALGO is not set
730# CONFIG_I2C_DEBUG_BUS is not set
731# CONFIG_I2C_DEBUG_CHIP is not set
732CONFIG_SPI=y
733# CONFIG_SPI_DEBUG is not set
734CONFIG_SPI_MASTER=y
735
736#
737# SPI Master Controller Drivers
738#
739CONFIG_SPI_ATMEL=y
740# CONFIG_SPI_BITBANG is not set
741
742#
743# SPI Protocol Masters
744#
745# CONFIG_SPI_AT25 is not set
746CONFIG_SPI_SPIDEV=m
747# CONFIG_SPI_TLE62X0 is not set
748CONFIG_ARCH_REQUIRE_GPIOLIB=y
749CONFIG_GPIOLIB=y
750# CONFIG_DEBUG_GPIO is not set
751# CONFIG_GPIO_SYSFS is not set
752
753#
754# I2C GPIO expanders:
755#
756# CONFIG_GPIO_MAX732X is not set
757# CONFIG_GPIO_PCA953X is not set
758# CONFIG_GPIO_PCF857X is not set
759
760#
761# PCI GPIO expanders:
762#
763
764#
765# SPI GPIO expanders:
766#
767# CONFIG_GPIO_MAX7301 is not set
768# CONFIG_GPIO_MCP23S08 is not set
769# CONFIG_W1 is not set
770# CONFIG_POWER_SUPPLY is not set
771# CONFIG_HWMON is not set
772# CONFIG_THERMAL is not set
773# CONFIG_THERMAL_HWMON is not set
774CONFIG_WATCHDOG=y
775# CONFIG_WATCHDOG_NOWAYOUT is not set
776
777#
778# Watchdog Device Drivers
779#
780# CONFIG_SOFT_WATCHDOG is not set
781CONFIG_AT32AP700X_WDT=y
782
783#
784# USB-based Watchdog Cards
785#
786# CONFIG_USBPCWATCHDOG is not set
787
788#
789# Sonics Silicon Backplane
790#
791CONFIG_SSB_POSSIBLE=y
792# CONFIG_SSB is not set
793
794#
795# Multifunction device drivers
796#
797# CONFIG_MFD_CORE is not set
798# CONFIG_MFD_SM501 is not set
799# CONFIG_HTC_PASIC3 is not set
800# CONFIG_MFD_TMIO is not set
801# CONFIG_MFD_WM8400 is not set
802# CONFIG_MFD_WM8350_I2C is not set
803
804#
805# Multimedia devices
806#
807
808#
809# Multimedia core support
810#
811# CONFIG_VIDEO_DEV is not set
812# CONFIG_DVB_CORE is not set
813# CONFIG_VIDEO_MEDIA is not set
814
815#
816# Multimedia drivers
817#
818# CONFIG_DAB is not set
819
820#
821# Graphics support
822#
823# CONFIG_VGASTATE is not set
824# CONFIG_VIDEO_OUTPUT_CONTROL is not set
825CONFIG_FB=y
826# CONFIG_FIRMWARE_EDID is not set
827# CONFIG_FB_DDC is not set
828# CONFIG_FB_BOOT_VESA_SUPPORT is not set
829CONFIG_FB_CFB_FILLRECT=y
830CONFIG_FB_CFB_COPYAREA=y
831CONFIG_FB_CFB_IMAGEBLIT=y
832# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
833# CONFIG_FB_SYS_FILLRECT is not set
834# CONFIG_FB_SYS_COPYAREA is not set
835# CONFIG_FB_SYS_IMAGEBLIT is not set
836# CONFIG_FB_FOREIGN_ENDIAN is not set
837# CONFIG_FB_SYS_FOPS is not set
838# CONFIG_FB_SVGALIB is not set
839# CONFIG_FB_MACMODES is not set
840# CONFIG_FB_BACKLIGHT is not set
841# CONFIG_FB_MODE_HELPERS is not set
842# CONFIG_FB_TILEBLITTING is not set
843
844#
845# Frame buffer hardware drivers
846#
847# CONFIG_FB_S1D13XXX is not set
848CONFIG_FB_ATMEL=y
849# CONFIG_FB_VIRTUAL is not set
850# CONFIG_FB_METRONOME is not set
851# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
852
853#
854# Display device support
855#
856# CONFIG_DISPLAY_SUPPORT is not set
857
858#
859# Console display driver support
860#
861CONFIG_DUMMY_CONSOLE=y
862CONFIG_FRAMEBUFFER_CONSOLE=y
863# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
864# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
865# CONFIG_FONTS is not set
866CONFIG_FONT_8x8=y
867CONFIG_FONT_8x16=y
868# CONFIG_LOGO is not set
869CONFIG_SOUND=m
870CONFIG_SOUND_OSS_CORE=y
871CONFIG_SND=m
872CONFIG_SND_TIMER=m
873CONFIG_SND_PCM=m
874CONFIG_SND_SEQUENCER=m
875# CONFIG_SND_SEQ_DUMMY is not set
876CONFIG_SND_OSSEMUL=y
877CONFIG_SND_MIXER_OSS=m
878CONFIG_SND_PCM_OSS=m
879CONFIG_SND_PCM_OSS_PLUGINS=y
880CONFIG_SND_SEQUENCER_OSS=y
881# CONFIG_SND_DYNAMIC_MINORS is not set
882# CONFIG_SND_SUPPORT_OLD_API is not set
883CONFIG_SND_VERBOSE_PROCFS=y
884# CONFIG_SND_VERBOSE_PRINTK is not set
885# CONFIG_SND_DEBUG is not set
886CONFIG_SND_DRIVERS=y
887# CONFIG_SND_DUMMY is not set
888# CONFIG_SND_VIRMIDI is not set
889# CONFIG_SND_MTPAV is not set
890# CONFIG_SND_SERIAL_U16550 is not set
891# CONFIG_SND_MPU401 is not set
892CONFIG_SND_SPI=y
893CONFIG_SND_USB=y
894# CONFIG_SND_USB_AUDIO is not set
895# CONFIG_SND_USB_CAIAQ is not set
896# CONFIG_SND_SOC is not set
897# CONFIG_SOUND_PRIME is not set
898CONFIG_HID_SUPPORT=y
899CONFIG_HID=y
900# CONFIG_HID_DEBUG is not set
901# CONFIG_HIDRAW is not set
902
903#
904# USB Input Devices
905#
906CONFIG_USB_HID=m
907# CONFIG_HID_PID is not set
908# CONFIG_USB_HIDDEV is not set
909
910#
911# USB HID Boot Protocol drivers
912#
913# CONFIG_USB_KBD is not set
914# CONFIG_USB_MOUSE is not set
915
916#
917# Special HID drivers
918#
919CONFIG_HID_COMPAT=y
920CONFIG_HID_A4TECH=m
921CONFIG_HID_APPLE=m
922CONFIG_HID_BELKIN=m
923CONFIG_HID_BRIGHT=m
924CONFIG_HID_CHERRY=m
925CONFIG_HID_CHICONY=m
926CONFIG_HID_CYPRESS=m
927CONFIG_HID_DELL=m
928CONFIG_HID_EZKEY=m
929CONFIG_HID_GYRATION=m
930CONFIG_HID_LOGITECH=m
931# CONFIG_LOGITECH_FF is not set
932# CONFIG_LOGIRUMBLEPAD2_FF is not set
933CONFIG_HID_MICROSOFT=m
934CONFIG_HID_MONTEREY=m
935CONFIG_HID_PANTHERLORD=m
936# CONFIG_PANTHERLORD_FF is not set
937CONFIG_HID_PETALYNX=m
938CONFIG_HID_SAMSUNG=m
939CONFIG_HID_SONY=m
940CONFIG_HID_SUNPLUS=m
941CONFIG_THRUSTMASTER_FF=m
942CONFIG_ZEROPLUS_FF=m
943CONFIG_USB_SUPPORT=y
944CONFIG_USB_ARCH_HAS_HCD=y
945# CONFIG_USB_ARCH_HAS_OHCI is not set
946# CONFIG_USB_ARCH_HAS_EHCI is not set
947CONFIG_USB=m
948# CONFIG_USB_DEBUG is not set
949# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
950
951#
952# Miscellaneous USB options
953#
954CONFIG_USB_DEVICEFS=y
955# CONFIG_USB_DEVICE_CLASS is not set
956# CONFIG_USB_DYNAMIC_MINORS is not set
957# CONFIG_USB_OTG is not set
958# CONFIG_USB_OTG_WHITELIST is not set
959# CONFIG_USB_OTG_BLACKLIST_HUB is not set
960CONFIG_USB_MON=y
961
962#
963# USB Host Controller Drivers
964#
965# CONFIG_USB_C67X00_HCD is not set
966CONFIG_USB_ISP116X_HCD=m
967# CONFIG_USB_ISP1760_HCD is not set
968# CONFIG_USB_SL811_HCD is not set
969# CONFIG_USB_R8A66597_HCD is not set
970# CONFIG_USB_MUSB_HDRC is not set
971# CONFIG_USB_GADGET_MUSB_HDRC is not set
972
973#
974# USB Device Class drivers
975#
976# CONFIG_USB_ACM is not set
977# CONFIG_USB_PRINTER is not set
978# CONFIG_USB_WDM is not set
979# CONFIG_USB_TMC is not set
980
981#
982# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
983#
984
985#
986# may also be needed; see USB_STORAGE Help for more information
987#
988CONFIG_USB_STORAGE=m
989# CONFIG_USB_STORAGE_DEBUG is not set
990# CONFIG_USB_STORAGE_DATAFAB is not set
991# CONFIG_USB_STORAGE_FREECOM is not set
992# CONFIG_USB_STORAGE_ISD200 is not set
993# CONFIG_USB_STORAGE_DPCM is not set
994# CONFIG_USB_STORAGE_USBAT is not set
995# CONFIG_USB_STORAGE_SDDR09 is not set
996# CONFIG_USB_STORAGE_SDDR55 is not set
997# CONFIG_USB_STORAGE_JUMPSHOT is not set
998# CONFIG_USB_STORAGE_ALAUDA is not set
999# CONFIG_USB_STORAGE_ONETOUCH is not set
1000# CONFIG_USB_STORAGE_KARMA is not set
1001# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1002# CONFIG_USB_LIBUSUAL is not set
1003
1004#
1005# USB Imaging devices
1006#
1007# CONFIG_USB_MDC800 is not set
1008# CONFIG_USB_MICROTEK is not set
1009
1010#
1011# USB port drivers
1012#
1013# CONFIG_USB_SERIAL is not set
1014
1015#
1016# USB Miscellaneous drivers
1017#
1018# CONFIG_USB_EMI62 is not set
1019# CONFIG_USB_EMI26 is not set
1020# CONFIG_USB_ADUTUX is not set
1021# CONFIG_USB_SEVSEG is not set
1022# CONFIG_USB_RIO500 is not set
1023# CONFIG_USB_LEGOTOWER is not set
1024# CONFIG_USB_LCD is not set
1025# CONFIG_USB_BERRY_CHARGE is not set
1026# CONFIG_USB_LED is not set
1027# CONFIG_USB_CYPRESS_CY7C63 is not set
1028# CONFIG_USB_CYTHERM is not set
1029# CONFIG_USB_PHIDGET is not set
1030# CONFIG_USB_IDMOUSE is not set
1031# CONFIG_USB_FTDI_ELAN is not set
1032# CONFIG_USB_APPLEDISPLAY is not set
1033# CONFIG_USB_LD is not set
1034# CONFIG_USB_TRANCEVIBRATOR is not set
1035# CONFIG_USB_IOWARRIOR is not set
1036# CONFIG_USB_TEST is not set
1037# CONFIG_USB_ISIGHTFW is not set
1038# CONFIG_USB_VST is not set
1039CONFIG_USB_GADGET=y
1040# CONFIG_USB_GADGET_DEBUG is not set
1041# CONFIG_USB_GADGET_DEBUG_FILES is not set
1042CONFIG_USB_GADGET_VBUS_DRAW=2
1043CONFIG_USB_GADGET_SELECTED=y
1044# CONFIG_USB_GADGET_AT91 is not set
1045CONFIG_USB_GADGET_ATMEL_USBA=y
1046CONFIG_USB_ATMEL_USBA=y
1047# CONFIG_USB_GADGET_FSL_USB2 is not set
1048# CONFIG_USB_GADGET_LH7A40X is not set
1049# CONFIG_USB_GADGET_OMAP is not set
1050# CONFIG_USB_GADGET_PXA25X is not set
1051# CONFIG_USB_GADGET_PXA27X is not set
1052# CONFIG_USB_GADGET_S3C2410 is not set
1053# CONFIG_USB_GADGET_M66592 is not set
1054# CONFIG_USB_GADGET_AMD5536UDC is not set
1055# CONFIG_USB_GADGET_FSL_QE is not set
1056# CONFIG_USB_GADGET_NET2280 is not set
1057# CONFIG_USB_GADGET_GOKU is not set
1058# CONFIG_USB_GADGET_DUMMY_HCD is not set
1059CONFIG_USB_GADGET_DUALSPEED=y
1060CONFIG_USB_ZERO=m
1061CONFIG_USB_ETH=m
1062CONFIG_USB_ETH_RNDIS=y
1063CONFIG_USB_GADGETFS=m
1064CONFIG_USB_FILE_STORAGE=m
1065# CONFIG_USB_FILE_STORAGE_TEST is not set
1066CONFIG_USB_G_SERIAL=m
1067# CONFIG_USB_MIDI_GADGET is not set
1068# CONFIG_USB_G_PRINTER is not set
1069# CONFIG_USB_CDC_COMPOSITE is not set
1070CONFIG_MMC=m
1071# CONFIG_MMC_DEBUG is not set
1072# CONFIG_MMC_UNSAFE_RESUME is not set
1073
1074#
1075# MMC/SD/SDIO Card Drivers
1076#
1077CONFIG_MMC_BLOCK=m
1078CONFIG_MMC_BLOCK_BOUNCE=y
1079# CONFIG_SDIO_UART is not set
1080# CONFIG_MMC_TEST is not set
1081
1082#
1083# MMC/SD/SDIO Host Controller Drivers
1084#
1085# CONFIG_MMC_SDHCI is not set
1086CONFIG_MMC_ATMELMCI=m
1087# CONFIG_MMC_SPI is not set
1088# CONFIG_MEMSTICK is not set
1089# CONFIG_NEW_LEDS is not set
1090# CONFIG_ACCESSIBILITY is not set
1091CONFIG_RTC_LIB=y
1092CONFIG_RTC_CLASS=y
1093CONFIG_RTC_HCTOSYS=y
1094CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1095# CONFIG_RTC_DEBUG is not set
1096
1097#
1098# RTC interfaces
1099#
1100CONFIG_RTC_INTF_SYSFS=y
1101CONFIG_RTC_INTF_PROC=y
1102CONFIG_RTC_INTF_DEV=y
1103# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1104# CONFIG_RTC_DRV_TEST is not set
1105
1106#
1107# I2C RTC drivers
1108#
1109# CONFIG_RTC_DRV_DS1307 is not set
1110# CONFIG_RTC_DRV_DS1374 is not set
1111# CONFIG_RTC_DRV_DS1672 is not set
1112# CONFIG_RTC_DRV_MAX6900 is not set
1113# CONFIG_RTC_DRV_RS5C372 is not set
1114# CONFIG_RTC_DRV_ISL1208 is not set
1115# CONFIG_RTC_DRV_X1205 is not set
1116# CONFIG_RTC_DRV_PCF8563 is not set
1117# CONFIG_RTC_DRV_PCF8583 is not set
1118# CONFIG_RTC_DRV_M41T80 is not set
1119# CONFIG_RTC_DRV_S35390A is not set
1120# CONFIG_RTC_DRV_FM3130 is not set
1121
1122#
1123# SPI RTC drivers
1124#
1125# CONFIG_RTC_DRV_M41T94 is not set
1126# CONFIG_RTC_DRV_DS1305 is not set
1127# CONFIG_RTC_DRV_MAX6902 is not set
1128# CONFIG_RTC_DRV_R9701 is not set
1129# CONFIG_RTC_DRV_RS5C348 is not set
1130# CONFIG_RTC_DRV_DS3234 is not set
1131
1132#
1133# Platform RTC drivers
1134#
1135# CONFIG_RTC_DRV_DS1286 is not set
1136# CONFIG_RTC_DRV_DS1511 is not set
1137# CONFIG_RTC_DRV_DS1553 is not set
1138# CONFIG_RTC_DRV_DS1742 is not set
1139# CONFIG_RTC_DRV_STK17TA8 is not set
1140# CONFIG_RTC_DRV_M48T86 is not set
1141# CONFIG_RTC_DRV_M48T35 is not set
1142# CONFIG_RTC_DRV_M48T59 is not set
1143# CONFIG_RTC_DRV_BQ4802 is not set
1144# CONFIG_RTC_DRV_V3020 is not set
1145
1146#
1147# on-CPU RTC drivers
1148#
1149CONFIG_RTC_DRV_AT32AP700X=y
1150# CONFIG_DMADEVICES is not set
1151# CONFIG_UIO is not set
1152# CONFIG_STAGING is not set
1153
1154#
1155# File systems
1156#
1157CONFIG_EXT2_FS=m
1158# CONFIG_EXT2_FS_XATTR is not set
1159# CONFIG_EXT2_FS_XIP is not set
1160# CONFIG_EXT3_FS is not set
1161# CONFIG_EXT4_FS is not set
1162# CONFIG_REISERFS_FS is not set
1163# CONFIG_JFS_FS is not set
1164# CONFIG_FS_POSIX_ACL is not set
1165CONFIG_FILE_LOCKING=y
1166# CONFIG_XFS_FS is not set
1167# CONFIG_OCFS2_FS is not set
1168# CONFIG_DNOTIFY is not set
1169CONFIG_INOTIFY=y
1170CONFIG_INOTIFY_USER=y
1171# CONFIG_QUOTA is not set
1172# CONFIG_AUTOFS_FS is not set
1173# CONFIG_AUTOFS4_FS is not set
1174# CONFIG_FUSE_FS is not set
1175
1176#
1177# CD-ROM/DVD Filesystems
1178#
1179# CONFIG_ISO9660_FS is not set
1180# CONFIG_UDF_FS is not set
1181
1182#
1183# DOS/FAT/NT Filesystems
1184#
1185CONFIG_FAT_FS=y
1186CONFIG_MSDOS_FS=y
1187CONFIG_VFAT_FS=m
1188CONFIG_FAT_DEFAULT_CODEPAGE=850
1189CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1190# CONFIG_NTFS_FS is not set
1191
1192#
1193# Pseudo filesystems
1194#
1195CONFIG_PROC_FS=y
1196# CONFIG_PROC_KCORE is not set
1197CONFIG_PROC_SYSCTL=y
1198CONFIG_PROC_PAGE_MONITOR=y
1199CONFIG_SYSFS=y
1200CONFIG_TMPFS=y
1201# CONFIG_TMPFS_POSIX_ACL is not set
1202# CONFIG_HUGETLB_PAGE is not set
1203CONFIG_CONFIGFS_FS=y
1204
1205#
1206# Miscellaneous filesystems
1207#
1208# CONFIG_ADFS_FS is not set
1209# CONFIG_AFFS_FS is not set
1210# CONFIG_HFS_FS is not set
1211# CONFIG_HFSPLUS_FS is not set
1212# CONFIG_BEFS_FS is not set
1213# CONFIG_BFS_FS is not set
1214# CONFIG_EFS_FS is not set
1215CONFIG_JFFS2_FS=y
1216CONFIG_JFFS2_FS_DEBUG=0
1217CONFIG_JFFS2_FS_WRITEBUFFER=y
1218# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1219# CONFIG_JFFS2_SUMMARY is not set
1220# CONFIG_JFFS2_FS_XATTR is not set
1221# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1222CONFIG_JFFS2_ZLIB=y
1223# CONFIG_JFFS2_LZO is not set
1224CONFIG_JFFS2_RTIME=y
1225# CONFIG_JFFS2_RUBIN is not set
1226# CONFIG_CRAMFS is not set
1227# CONFIG_VXFS_FS is not set
1228# CONFIG_MINIX_FS is not set
1229# CONFIG_OMFS_FS is not set
1230# CONFIG_HPFS_FS is not set
1231# CONFIG_QNX4FS_FS is not set
1232# CONFIG_ROMFS_FS is not set
1233# CONFIG_SYSV_FS is not set
1234# CONFIG_UFS_FS is not set
1235CONFIG_NETWORK_FILESYSTEMS=y
1236CONFIG_NFS_FS=y
1237CONFIG_NFS_V3=y
1238# CONFIG_NFS_V3_ACL is not set
1239# CONFIG_NFS_V4 is not set
1240CONFIG_ROOT_NFS=y
1241# CONFIG_NFSD is not set
1242CONFIG_LOCKD=y
1243CONFIG_LOCKD_V4=y
1244CONFIG_NFS_COMMON=y
1245CONFIG_SUNRPC=y
1246# CONFIG_SUNRPC_REGISTER_V4 is not set
1247# CONFIG_RPCSEC_GSS_KRB5 is not set
1248# CONFIG_RPCSEC_GSS_SPKM3 is not set
1249# CONFIG_SMB_FS is not set
1250# CONFIG_CIFS is not set
1251# CONFIG_NCP_FS is not set
1252# CONFIG_CODA_FS is not set
1253# CONFIG_AFS_FS is not set
1254
1255#
1256# Partition Types
1257#
1258# CONFIG_PARTITION_ADVANCED is not set
1259CONFIG_MSDOS_PARTITION=y
1260CONFIG_NLS=y
1261CONFIG_NLS_DEFAULT="iso8859-1"
1262CONFIG_NLS_CODEPAGE_437=m
1263# CONFIG_NLS_CODEPAGE_737 is not set
1264# CONFIG_NLS_CODEPAGE_775 is not set
1265CONFIG_NLS_CODEPAGE_850=m
1266# CONFIG_NLS_CODEPAGE_852 is not set
1267# CONFIG_NLS_CODEPAGE_855 is not set
1268# CONFIG_NLS_CODEPAGE_857 is not set
1269# CONFIG_NLS_CODEPAGE_860 is not set
1270# CONFIG_NLS_CODEPAGE_861 is not set
1271# CONFIG_NLS_CODEPAGE_862 is not set
1272# CONFIG_NLS_CODEPAGE_863 is not set
1273# CONFIG_NLS_CODEPAGE_864 is not set
1274# CONFIG_NLS_CODEPAGE_865 is not set
1275# CONFIG_NLS_CODEPAGE_866 is not set
1276# CONFIG_NLS_CODEPAGE_869 is not set
1277# CONFIG_NLS_CODEPAGE_936 is not set
1278# CONFIG_NLS_CODEPAGE_950 is not set
1279# CONFIG_NLS_CODEPAGE_932 is not set
1280# CONFIG_NLS_CODEPAGE_949 is not set
1281# CONFIG_NLS_CODEPAGE_874 is not set
1282# CONFIG_NLS_ISO8859_8 is not set
1283# CONFIG_NLS_CODEPAGE_1250 is not set
1284# CONFIG_NLS_CODEPAGE_1251 is not set
1285# CONFIG_NLS_ASCII is not set
1286CONFIG_NLS_ISO8859_1=m
1287# CONFIG_NLS_ISO8859_2 is not set
1288# CONFIG_NLS_ISO8859_3 is not set
1289# CONFIG_NLS_ISO8859_4 is not set
1290# CONFIG_NLS_ISO8859_5 is not set
1291# CONFIG_NLS_ISO8859_6 is not set
1292# CONFIG_NLS_ISO8859_7 is not set
1293# CONFIG_NLS_ISO8859_9 is not set
1294# CONFIG_NLS_ISO8859_13 is not set
1295# CONFIG_NLS_ISO8859_14 is not set
1296# CONFIG_NLS_ISO8859_15 is not set
1297# CONFIG_NLS_KOI8_R is not set
1298# CONFIG_NLS_KOI8_U is not set
1299CONFIG_NLS_UTF8=m
1300# CONFIG_DLM is not set
1301
1302#
1303# Kernel hacking
1304#
1305# CONFIG_PRINTK_TIME is not set
1306CONFIG_ENABLE_WARN_DEPRECATED=y
1307CONFIG_ENABLE_MUST_CHECK=y
1308CONFIG_FRAME_WARN=1024
1309CONFIG_MAGIC_SYSRQ=y
1310# CONFIG_UNUSED_SYMBOLS is not set
1311# CONFIG_DEBUG_FS is not set
1312# CONFIG_HEADERS_CHECK is not set
1313CONFIG_DEBUG_KERNEL=y
1314# CONFIG_DEBUG_SHIRQ is not set
1315CONFIG_DETECT_SOFTLOCKUP=y
1316# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1317CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1318CONFIG_SCHED_DEBUG=y
1319# CONFIG_SCHEDSTATS is not set
1320# CONFIG_TIMER_STATS is not set
1321# CONFIG_DEBUG_OBJECTS is not set
1322# CONFIG_SLUB_DEBUG_ON is not set
1323# CONFIG_SLUB_STATS is not set
1324# CONFIG_DEBUG_RT_MUTEXES is not set
1325# CONFIG_RT_MUTEX_TESTER is not set
1326# CONFIG_DEBUG_SPINLOCK is not set
1327# CONFIG_DEBUG_MUTEXES is not set
1328# CONFIG_DEBUG_LOCK_ALLOC is not set
1329# CONFIG_PROVE_LOCKING is not set
1330# CONFIG_LOCK_STAT is not set
1331# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1332# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1333# CONFIG_DEBUG_KOBJECT is not set
1334CONFIG_DEBUG_BUGVERBOSE=y
1335# CONFIG_DEBUG_INFO is not set
1336# CONFIG_DEBUG_VM is not set
1337# CONFIG_DEBUG_WRITECOUNT is not set
1338# CONFIG_DEBUG_MEMORY_INIT is not set
1339# CONFIG_DEBUG_LIST is not set
1340# CONFIG_DEBUG_SG is not set
1341CONFIG_FRAME_POINTER=y
1342# CONFIG_BOOT_PRINTK_DELAY is not set
1343# CONFIG_RCU_TORTURE_TEST is not set
1344# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1345# CONFIG_KPROBES_SANITY_TEST is not set
1346# CONFIG_BACKTRACE_SELF_TEST is not set
1347# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1348# CONFIG_LKDTM is not set
1349# CONFIG_FAULT_INJECTION is not set
1350# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1351# CONFIG_SAMPLES is not set
1352
1353#
1354# Security options
1355#
1356# CONFIG_KEYS is not set
1357# CONFIG_SECURITY is not set
1358# CONFIG_SECURITYFS is not set
1359# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1360CONFIG_CRYPTO=y
1361
1362#
1363# Crypto core or helper
1364#
1365# CONFIG_CRYPTO_FIPS is not set
1366CONFIG_CRYPTO_ALGAPI=y
1367CONFIG_CRYPTO_AEAD=y
1368CONFIG_CRYPTO_BLKCIPHER=y
1369CONFIG_CRYPTO_HASH=y
1370CONFIG_CRYPTO_RNG=y
1371CONFIG_CRYPTO_MANAGER=y
1372# CONFIG_CRYPTO_GF128MUL is not set
1373# CONFIG_CRYPTO_NULL is not set
1374# CONFIG_CRYPTO_CRYPTD is not set
1375CONFIG_CRYPTO_AUTHENC=y
1376# CONFIG_CRYPTO_TEST is not set
1377
1378#
1379# Authenticated Encryption with Associated Data
1380#
1381# CONFIG_CRYPTO_CCM is not set
1382# CONFIG_CRYPTO_GCM is not set
1383# CONFIG_CRYPTO_SEQIV is not set
1384
1385#
1386# Block modes
1387#
1388CONFIG_CRYPTO_CBC=y
1389# CONFIG_CRYPTO_CTR is not set
1390# CONFIG_CRYPTO_CTS is not set
1391CONFIG_CRYPTO_ECB=m
1392# CONFIG_CRYPTO_LRW is not set
1393CONFIG_CRYPTO_PCBC=m
1394# CONFIG_CRYPTO_XTS is not set
1395
1396#
1397# Hash modes
1398#
1399CONFIG_CRYPTO_HMAC=y
1400# CONFIG_CRYPTO_XCBC is not set
1401
1402#
1403# Digest
1404#
1405# CONFIG_CRYPTO_CRC32C is not set
1406# CONFIG_CRYPTO_MD4 is not set
1407CONFIG_CRYPTO_MD5=y
1408# CONFIG_CRYPTO_MICHAEL_MIC is not set
1409# CONFIG_CRYPTO_RMD128 is not set
1410# CONFIG_CRYPTO_RMD160 is not set
1411# CONFIG_CRYPTO_RMD256 is not set
1412# CONFIG_CRYPTO_RMD320 is not set
1413CONFIG_CRYPTO_SHA1=y
1414# CONFIG_CRYPTO_SHA256 is not set
1415# CONFIG_CRYPTO_SHA512 is not set
1416# CONFIG_CRYPTO_TGR192 is not set
1417# CONFIG_CRYPTO_WP512 is not set
1418
1419#
1420# Ciphers
1421#
1422# CONFIG_CRYPTO_AES is not set
1423# CONFIG_CRYPTO_ANUBIS is not set
1424CONFIG_CRYPTO_ARC4=m
1425# CONFIG_CRYPTO_BLOWFISH is not set
1426# CONFIG_CRYPTO_CAMELLIA is not set
1427# CONFIG_CRYPTO_CAST5 is not set
1428# CONFIG_CRYPTO_CAST6 is not set
1429CONFIG_CRYPTO_DES=y
1430# CONFIG_CRYPTO_FCRYPT is not set
1431# CONFIG_CRYPTO_KHAZAD is not set
1432# CONFIG_CRYPTO_SALSA20 is not set
1433# CONFIG_CRYPTO_SEED is not set
1434# CONFIG_CRYPTO_SERPENT is not set
1435# CONFIG_CRYPTO_TEA is not set
1436# CONFIG_CRYPTO_TWOFISH is not set
1437
1438#
1439# Compression
1440#
1441CONFIG_CRYPTO_DEFLATE=y
1442# CONFIG_CRYPTO_LZO is not set
1443
1444#
1445# Random Number Generation
1446#
1447# CONFIG_CRYPTO_ANSI_CPRNG is not set
1448CONFIG_CRYPTO_HW=y
1449
1450#
1451# Library routines
1452#
1453CONFIG_BITREVERSE=y
1454CONFIG_CRC_CCITT=m
1455# CONFIG_CRC16 is not set
1456# CONFIG_CRC_T10DIF is not set
1457CONFIG_CRC_ITU_T=m
1458CONFIG_CRC32=y
1459CONFIG_CRC7=m
1460# CONFIG_LIBCRC32C is not set
1461CONFIG_ZLIB_INFLATE=y
1462CONFIG_ZLIB_DEFLATE=y
1463CONFIG_GENERIC_ALLOCATOR=y
1464CONFIG_PLIST=y
1465CONFIG_HAS_IOMEM=y
1466CONFIG_HAS_IOPORT=y
1467CONFIG_HAS_DMA=y
diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c
index 134d5302b6dd..43ae555ecb33 100644
--- a/arch/avr32/kernel/process.c
+++ b/arch/avr32/kernel/process.c
@@ -18,6 +18,7 @@
18 18
19#include <asm/sysreg.h> 19#include <asm/sysreg.h>
20#include <asm/ocd.h> 20#include <asm/ocd.h>
21#include <asm/syscalls.h>
21 22
22#include <mach/pm.h> 23#include <mach/pm.h>
23 24
diff --git a/arch/avr32/kernel/signal.c b/arch/avr32/kernel/signal.c
index c5b11f9067f1..803d7be0938f 100644
--- a/arch/avr32/kernel/signal.c
+++ b/arch/avr32/kernel/signal.c
@@ -19,6 +19,7 @@
19 19
20#include <asm/uaccess.h> 20#include <asm/uaccess.h>
21#include <asm/ucontext.h> 21#include <asm/ucontext.h>
22#include <asm/syscalls.h>
22 23
23#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) 24#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
24 25
diff --git a/arch/avr32/kernel/sys_avr32.c b/arch/avr32/kernel/sys_avr32.c
index 8e8911e55c8f..5d2daeaf356f 100644
--- a/arch/avr32/kernel/sys_avr32.c
+++ b/arch/avr32/kernel/sys_avr32.c
@@ -13,6 +13,7 @@
13 13
14#include <asm/mman.h> 14#include <asm/mman.h>
15#include <asm/uaccess.h> 15#include <asm/uaccess.h>
16#include <asm/syscalls.h>
16 17
17asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, 18asmlinkage long sys_mmap2(unsigned long addr, unsigned long len,
18 unsigned long prot, unsigned long flags, 19 unsigned long prot, unsigned long flags,
diff --git a/arch/avr32/mach-at32ap/at32ap700x.c b/arch/avr32/mach-at32ap/at32ap700x.c
index 3cf49553e4f9..ea7bc1e8562b 100644
--- a/arch/avr32/mach-at32ap/at32ap700x.c
+++ b/arch/avr32/mach-at32ap/at32ap700x.c
@@ -421,7 +421,7 @@ static unsigned long hsb_clk_get_rate(struct clk *clk)
421 return bus_clk_get_rate(clk, shift); 421 return bus_clk_get_rate(clk, shift);
422} 422}
423 423
424static void pba_clk_mode(struct clk *clk, int enabled) 424void pba_clk_mode(struct clk *clk, int enabled)
425{ 425{
426 unsigned long flags; 426 unsigned long flags;
427 u32 mask; 427 u32 mask;
@@ -436,7 +436,7 @@ static void pba_clk_mode(struct clk *clk, int enabled)
436 spin_unlock_irqrestore(&pm_lock, flags); 436 spin_unlock_irqrestore(&pm_lock, flags);
437} 437}
438 438
439static unsigned long pba_clk_get_rate(struct clk *clk) 439unsigned long pba_clk_get_rate(struct clk *clk)
440{ 440{
441 unsigned long cksel, shift = 0; 441 unsigned long cksel, shift = 0;
442 442
diff --git a/arch/avr32/mach-at32ap/clock.c b/arch/avr32/mach-at32ap/clock.c
index 138a00a2a2d0..442f08c5e641 100644
--- a/arch/avr32/mach-at32ap/clock.c
+++ b/arch/avr32/mach-at32ap/clock.c
@@ -198,7 +198,7 @@ dump_clock(struct clk *parent, struct clkinf *r)
198 unsigned i; 198 unsigned i;
199 199
200 /* skip clocks coupled to devices that aren't registered */ 200 /* skip clocks coupled to devices that aren't registered */
201 if (parent->dev && !parent->dev->bus_id[0] && !parent->users) 201 if (parent->dev && !dev_name(parent->dev) && !parent->users)
202 return; 202 return;
203 203
204 /* <nest spaces> name <pad to end> */ 204 /* <nest spaces> name <pad to end> */
@@ -214,7 +214,7 @@ dump_clock(struct clk *parent, struct clkinf *r)
214 parent->users ? "on" : "off", /* NOTE: not-paranoid!! */ 214 parent->users ? "on" : "off", /* NOTE: not-paranoid!! */
215 clk_get_rate(parent)); 215 clk_get_rate(parent));
216 if (parent->dev) 216 if (parent->dev)
217 seq_printf(r->s, ", for %s", parent->dev->bus_id); 217 seq_printf(r->s, ", for %s", dev_name(parent->dev));
218 seq_printf(r->s, "\n"); 218 seq_printf(r->s, "\n");
219 219
220 /* cost of this scan is small, but not linear... */ 220 /* cost of this scan is small, but not linear... */
diff --git a/arch/avr32/mach-at32ap/clock.h b/arch/avr32/mach-at32ap/clock.h
index 623bf0e9a1e7..4c7ebbdc6dfa 100644
--- a/arch/avr32/mach-at32ap/clock.h
+++ b/arch/avr32/mach-at32ap/clock.h
@@ -30,3 +30,6 @@ struct clk {
30 u16 users; /* Enabled if non-zero */ 30 u16 users; /* Enabled if non-zero */
31 u16 index; /* Sibling index */ 31 u16 index; /* Sibling index */
32}; 32};
33
34unsigned long pba_clk_get_rate(struct clk *clk);
35void pba_clk_mode(struct clk *clk, int enabled);
diff --git a/arch/avr32/mach-at32ap/include/mach/at32ap700x.h b/arch/avr32/mach-at32ap/include/mach/at32ap700x.h
index a77d372f6f3e..5c4c971eed8e 100644
--- a/arch/avr32/mach-at32ap/include/mach/at32ap700x.h
+++ b/arch/avr32/mach-at32ap/include/mach/at32ap700x.h
@@ -211,4 +211,7 @@
211 211
212#define ATMEL_LCDC_ALT_15BIT (ATMEL_LCDC_CONTROL | ATMEL_LCDC_ALT_15B_DATA) 212#define ATMEL_LCDC_ALT_15BIT (ATMEL_LCDC_CONTROL | ATMEL_LCDC_ALT_15B_DATA)
213 213
214/* Bitmask for all EBI data (D16..D31) pins on port E */
215#define ATMEL_EBI_PE_DATA_ALL (0x0000FFFF)
216
214#endif /* __ASM_ARCH_AT32AP700X_H__ */ 217#endif /* __ASM_ARCH_AT32AP700X_H__ */
diff --git a/arch/avr32/mach-at32ap/include/mach/portmux.h b/arch/avr32/mach-at32ap/include/mach/portmux.h
index 21c79373b53f..4873024e3b96 100644
--- a/arch/avr32/mach-at32ap/include/mach/portmux.h
+++ b/arch/avr32/mach-at32ap/include/mach/portmux.h
@@ -25,6 +25,6 @@ void at32_select_periph(unsigned int port, unsigned int pin,
25 unsigned int periph, unsigned long flags); 25 unsigned int periph, unsigned long flags);
26void at32_select_gpio(unsigned int pin, unsigned long flags); 26void at32_select_gpio(unsigned int pin, unsigned long flags);
27void at32_deselect_pin(unsigned int pin); 27void at32_deselect_pin(unsigned int pin);
28void at32_reserve_pin(unsigned int pin); 28void at32_reserve_pin(unsigned int port, u32 pin_mask);
29 29
30#endif /* __ASM_ARCH_PORTMUX_H__ */ 30#endif /* __ASM_ARCH_PORTMUX_H__ */
diff --git a/arch/avr32/mach-at32ap/pio.c b/arch/avr32/mach-at32ap/pio.c
index ed81a8bcb22d..09a274c9d0b7 100644
--- a/arch/avr32/mach-at32ap/pio.c
+++ b/arch/avr32/mach-at32ap/pio.c
@@ -167,22 +167,29 @@ void at32_deselect_pin(unsigned int pin)
167} 167}
168 168
169/* Reserve a pin, preventing anyone else from changing its configuration. */ 169/* Reserve a pin, preventing anyone else from changing its configuration. */
170void __init at32_reserve_pin(unsigned int pin) 170void __init at32_reserve_pin(unsigned int port, u32 pin_mask)
171{ 171{
172 struct pio_device *pio; 172 struct pio_device *pio;
173 unsigned int pin_index = pin & 0x1f;
174 173
175 pio = gpio_to_pio(pin); 174 /* assign and verify pio */
175 pio = gpio_to_pio(port);
176 if (unlikely(!pio)) { 176 if (unlikely(!pio)) {
177 printk("pio: invalid pin %u\n", pin); 177 printk(KERN_WARNING "pio: invalid port %u\n", port);
178 goto fail; 178 goto fail;
179 } 179 }
180 180
181 if (unlikely(test_and_set_bit(pin_index, &pio->pinmux_mask))) { 181 /* Test if any of the requested pins is already muxed */
182 printk("%s: pin %u is busy\n", pio->name, pin_index); 182 spin_lock(&pio_lock);
183 if (unlikely(pio->pinmux_mask & pin_mask)) {
184 printk(KERN_WARNING "%s: pin(s) busy (req. 0x%x, busy 0x%x)\n",
185 pio->name, pin_mask, pio->pinmux_mask & pin_mask);
186 spin_unlock(&pio_lock);
183 goto fail; 187 goto fail;
184 } 188 }
185 189
190 /* Reserve pins */
191 pio->pinmux_mask |= pin_mask;
192 spin_unlock(&pio_lock);
186 return; 193 return;
187 194
188fail: 195fail:
diff --git a/arch/avr32/mm/cache.c b/arch/avr32/mm/cache.c
index 15a4e5e142c1..24a74d1ca7d9 100644
--- a/arch/avr32/mm/cache.c
+++ b/arch/avr32/mm/cache.c
@@ -13,6 +13,7 @@
13#include <asm/cachectl.h> 13#include <asm/cachectl.h>
14#include <asm/processor.h> 14#include <asm/processor.h>
15#include <asm/uaccess.h> 15#include <asm/uaccess.h>
16#include <asm/syscalls.h>
16 17
17/* 18/*
18 * If you attempt to flush anything more than this, you need superuser 19 * If you attempt to flush anything more than this, you need superuser
diff --git a/include/asm-avr32/syscalls.h b/include/asm-avr32/syscalls.h
new file mode 100644
index 000000000000..483d666c27c0
--- /dev/null
+++ b/include/asm-avr32/syscalls.h
@@ -0,0 +1,39 @@
1/*
2 * syscalls.h - Linux syscall interfaces (arch-specific)
3 *
4 * Copyright (c) 2008 Jaswinder Singh
5 *
6 * This file is released under the GPLv2.
7 * See the file COPYING for more details.
8 */
9
10#ifndef _ASM_AVR32_SYSCALLS_H
11#define _ASM_AVR32_SYSCALLS_H
12
13#include <linux/compiler.h>
14#include <linux/linkage.h>
15#include <linux/types.h>
16#include <linux/signal.h>
17
18/* kernel/process.c */
19asmlinkage int sys_fork(struct pt_regs *);
20asmlinkage int sys_clone(unsigned long, unsigned long,
21 unsigned long, unsigned long,
22 struct pt_regs *);
23asmlinkage int sys_vfork(struct pt_regs *);
24asmlinkage int sys_execve(char __user *, char __user *__user *,
25 char __user *__user *, struct pt_regs *);
26
27/* kernel/signal.c */
28asmlinkage int sys_sigaltstack(const stack_t __user *, stack_t __user *,
29 struct pt_regs *);
30asmlinkage int sys_rt_sigreturn(struct pt_regs *);
31
32/* kernel/sys_avr32.c */
33asmlinkage long sys_mmap2(unsigned long, unsigned long, unsigned long,
34 unsigned long, unsigned long, off_t);
35
36/* mm/cache.c */
37asmlinkage int sys_cacheflush(int, void __user *, size_t);
38
39#endif /* _ASM_AVR32_SYSCALLS_H */