diff options
-rw-r--r-- | arch/powerpc/boot/4xx.c | 55 | ||||
-rw-r--r-- | arch/powerpc/boot/4xx.h | 1 | ||||
-rw-r--r-- | arch/powerpc/boot/Makefile | 3 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/ep405.dts | 221 | ||||
-rw-r--r-- | arch/powerpc/boot/ep405.c | 74 | ||||
-rw-r--r-- | arch/powerpc/boot/treeboot-walnut.c | 49 | ||||
-rwxr-xr-x | arch/powerpc/boot/wrapper | 2 | ||||
-rw-r--r-- | arch/powerpc/configs/ep405_defconfig | 951 | ||||
-rw-r--r-- | arch/powerpc/platforms/40x/Kconfig | 22 | ||||
-rw-r--r-- | arch/powerpc/platforms/40x/Makefile | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/40x/ep405.c | 124 |
11 files changed, 1437 insertions, 66 deletions
diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c index 3d0e4f921f1d..852992b146e3 100644 --- a/arch/powerpc/boot/4xx.c +++ b/arch/powerpc/boot/4xx.c | |||
@@ -179,13 +179,16 @@ void ibm40x_dbcr_reset(void) | |||
179 | #define EMAC_RESET 0x20000000 | 179 | #define EMAC_RESET 0x20000000 |
180 | void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1) | 180 | void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1) |
181 | { | 181 | { |
182 | /* Quiesce the MAL and EMAC(s) since PIBS/OpenBIOS don't do this for us */ | 182 | /* Quiesce the MAL and EMAC(s) since PIBS/OpenBIOS don't |
183 | * do this for us | ||
184 | */ | ||
183 | if (emac0) | 185 | if (emac0) |
184 | *emac0 = EMAC_RESET; | 186 | *emac0 = EMAC_RESET; |
185 | if (emac1) | 187 | if (emac1) |
186 | *emac1 = EMAC_RESET; | 188 | *emac1 = EMAC_RESET; |
187 | 189 | ||
188 | mtdcr(DCRN_MAL0_CFG, MAL_RESET); | 190 | mtdcr(DCRN_MAL0_CFG, MAL_RESET); |
191 | while (mfdcr(DCRN_MAL0_CFG) & MAL_RESET) {}; | ||
189 | } | 192 | } |
190 | 193 | ||
191 | /* Read 4xx EBC bus bridge registers to get mappings of the peripheral | 194 | /* Read 4xx EBC bus bridge registers to get mappings of the peripheral |
@@ -298,3 +301,53 @@ void ibm440ep_fixup_clocks(unsigned int sysclk, unsigned int ser_clk) | |||
298 | dt_fixup_clock("/plb/opb/serial@ef600500", uart0); | 301 | dt_fixup_clock("/plb/opb/serial@ef600500", uart0); |
299 | dt_fixup_clock("/plb/opb/serial@ef600600", uart0); | 302 | dt_fixup_clock("/plb/opb/serial@ef600600", uart0); |
300 | } | 303 | } |
304 | |||
305 | void ibm405gp_fixup_clocks(unsigned int sysclk, unsigned int ser_clk) | ||
306 | { | ||
307 | u32 pllmr = mfdcr(DCRN_CPC0_PLLMR); | ||
308 | u32 cpc0_cr0 = mfdcr(DCRN_405_CPC0_CR0); | ||
309 | u32 cpc0_cr1 = mfdcr(DCRN_405_CPC0_CR1); | ||
310 | u32 cpu, plb, opb, ebc, tb, uart0, uart1, m; | ||
311 | u32 fwdv, fbdv, cbdv, opdv, epdv, udiv; | ||
312 | |||
313 | fwdv = (8 - ((pllmr & 0xe0000000) >> 29)); | ||
314 | fbdv = (pllmr & 0x1e000000) >> 25; | ||
315 | cbdv = ((pllmr & 0x00060000) >> 17) + 1; | ||
316 | opdv = ((pllmr & 0x00018000) >> 15) + 1; | ||
317 | epdv = ((pllmr & 0x00001800) >> 13) + 2; | ||
318 | udiv = ((cpc0_cr0 & 0x3e) >> 1) + 1; | ||
319 | |||
320 | m = fwdv * fbdv * cbdv; | ||
321 | |||
322 | cpu = sysclk * m / fwdv; | ||
323 | plb = cpu / cbdv; | ||
324 | opb = plb / opdv; | ||
325 | ebc = plb / epdv; | ||
326 | |||
327 | if (cpc0_cr0 & 0x80) { | ||
328 | /* uart0 uses the external clock */ | ||
329 | uart0 = ser_clk; | ||
330 | } else { | ||
331 | uart0 = cpu / udiv; | ||
332 | } | ||
333 | |||
334 | if (cpc0_cr0 & 0x40) { | ||
335 | /* uart1 uses the external clock */ | ||
336 | uart1 = ser_clk; | ||
337 | } else { | ||
338 | uart1 = cpu / udiv; | ||
339 | } | ||
340 | |||
341 | /* setup the timebase clock to tick at the cpu frequency */ | ||
342 | cpc0_cr1 = cpc0_cr1 & ~0x00800000; | ||
343 | mtdcr(DCRN_405_CPC0_CR1, cpc0_cr1); | ||
344 | tb = cpu; | ||
345 | |||
346 | dt_fixup_cpu_clocks(cpu, tb, 0); | ||
347 | dt_fixup_clock("/plb", plb); | ||
348 | dt_fixup_clock("/plb/opb", opb); | ||
349 | dt_fixup_clock("/plb/ebc", ebc); | ||
350 | dt_fixup_clock("/plb/opb/serial@ef600300", uart0); | ||
351 | dt_fixup_clock("/plb/opb/serial@ef600400", uart1); | ||
352 | } | ||
353 | |||
diff --git a/arch/powerpc/boot/4xx.h b/arch/powerpc/boot/4xx.h index adba6a599a93..6af14a01c7f0 100644 --- a/arch/powerpc/boot/4xx.h +++ b/arch/powerpc/boot/4xx.h | |||
@@ -18,5 +18,6 @@ void ibm40x_dbcr_reset(void); | |||
18 | void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1); | 18 | void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1); |
19 | void ibm4xx_fixup_ebc_ranges(const char *ebc); | 19 | void ibm4xx_fixup_ebc_ranges(const char *ebc); |
20 | void ibm440ep_fixup_clocks(unsigned int sysclk, unsigned int ser_clk); | 20 | void ibm440ep_fixup_clocks(unsigned int sysclk, unsigned int ser_clk); |
21 | void ibm405gp_fixup_clocks(unsigned int sysclk, unsigned int ser_clk); | ||
21 | 22 | ||
22 | #endif /* _POWERPC_BOOT_4XX_H_ */ | 23 | #endif /* _POWERPC_BOOT_4XX_H_ */ |
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 9149bb8ed03c..8e5bdd35fd48 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -58,7 +58,7 @@ src-plat := of.c cuboot-52xx.c cuboot-83xx.c cuboot-85xx.c holly.c \ | |||
58 | cuboot-ebony.c treeboot-ebony.c prpmc2800.c \ | 58 | cuboot-ebony.c treeboot-ebony.c prpmc2800.c \ |
59 | ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ | 59 | ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ |
60 | cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \ | 60 | cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \ |
61 | fixed-head.S ep88xc.c cuboot-hpc2.c | 61 | fixed-head.S ep88xc.c cuboot-hpc2.c ep405.c |
62 | src-boot := $(src-wlib) $(src-plat) empty.c | 62 | src-boot := $(src-wlib) $(src-plat) empty.c |
63 | 63 | ||
64 | src-boot := $(addprefix $(obj)/, $(src-boot)) | 64 | src-boot := $(addprefix $(obj)/, $(src-boot)) |
@@ -189,6 +189,7 @@ image-$(CONFIG_DEFAULT_UIMAGE) += uImage | |||
189 | ifneq ($(CONFIG_DEVICE_TREE),"") | 189 | ifneq ($(CONFIG_DEVICE_TREE),"") |
190 | image-$(CONFIG_PPC_8xx) += cuImage.8xx | 190 | image-$(CONFIG_PPC_8xx) += cuImage.8xx |
191 | image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc | 191 | image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc |
192 | image-$(CONFIG_EP405) += zImage.ep405 | ||
192 | image-$(CONFIG_8260) += cuImage.pq2 | 193 | image-$(CONFIG_8260) += cuImage.pq2 |
193 | image-$(CONFIG_PPC_MPC52xx) += cuImage.52xx | 194 | image-$(CONFIG_PPC_MPC52xx) += cuImage.52xx |
194 | image-$(CONFIG_PPC_83xx) += cuImage.83xx | 195 | image-$(CONFIG_PPC_83xx) += cuImage.83xx |
diff --git a/arch/powerpc/boot/dts/ep405.dts b/arch/powerpc/boot/dts/ep405.dts new file mode 100644 index 000000000000..007f3c24d3f2 --- /dev/null +++ b/arch/powerpc/boot/dts/ep405.dts | |||
@@ -0,0 +1,221 @@ | |||
1 | /* | ||
2 | * Device Tree Source for EP405 | ||
3 | * | ||
4 | * Copyright 2007 IBM Corp. | ||
5 | * Benjamin Herrenschmidt <benh@kernel.crashing.org> | ||
6 | * | ||
7 | * This file is licensed under the terms of the GNU General Public | ||
8 | * License version 2. This program is licensed "as is" without | ||
9 | * any warranty of any kind, whether express or implied. | ||
10 | */ | ||
11 | |||
12 | / { | ||
13 | #address-cells = <1>; | ||
14 | #size-cells = <1>; | ||
15 | model = "ep405"; | ||
16 | compatible = "ep405"; | ||
17 | dcr-parent = <&/cpus/PowerPC,405GP@0>; | ||
18 | |||
19 | cpus { | ||
20 | #address-cells = <1>; | ||
21 | #size-cells = <0>; | ||
22 | |||
23 | PowerPC,405GP@0 { | ||
24 | device_type = "cpu"; | ||
25 | reg = <0>; | ||
26 | clock-frequency = <bebc200>; /* Filled in by zImage */ | ||
27 | timebase-frequency = <0>; /* Filled in by zImage */ | ||
28 | i-cache-line-size = <20>; | ||
29 | d-cache-line-size = <20>; | ||
30 | i-cache-size = <4000>; | ||
31 | d-cache-size = <4000>; | ||
32 | dcr-controller; | ||
33 | dcr-access-method = "native"; | ||
34 | }; | ||
35 | }; | ||
36 | |||
37 | memory { | ||
38 | device_type = "memory"; | ||
39 | reg = <0 0>; /* Filled in by zImage */ | ||
40 | }; | ||
41 | |||
42 | UIC0: interrupt-controller { | ||
43 | compatible = "ibm,uic"; | ||
44 | interrupt-controller; | ||
45 | cell-index = <0>; | ||
46 | dcr-reg = <0c0 9>; | ||
47 | #address-cells = <0>; | ||
48 | #size-cells = <0>; | ||
49 | #interrupt-cells = <2>; | ||
50 | }; | ||
51 | |||
52 | plb { | ||
53 | compatible = "ibm,plb3"; | ||
54 | #address-cells = <1>; | ||
55 | #size-cells = <1>; | ||
56 | ranges; | ||
57 | clock-frequency = <0>; /* Filled in by zImage */ | ||
58 | |||
59 | SDRAM0: memory-controller { | ||
60 | compatible = "ibm,sdram-405gp"; | ||
61 | dcr-reg = <010 2>; | ||
62 | }; | ||
63 | |||
64 | MAL: mcmal { | ||
65 | compatible = "ibm,mcmal-405gp", "ibm,mcmal"; | ||
66 | dcr-reg = <180 62>; | ||
67 | num-tx-chans = <1>; | ||
68 | num-rx-chans = <1>; | ||
69 | interrupt-parent = <&UIC0>; | ||
70 | interrupts = < | ||
71 | b 4 /* TXEOB */ | ||
72 | c 4 /* RXEOB */ | ||
73 | a 4 /* SERR */ | ||
74 | d 4 /* TXDE */ | ||
75 | e 4 /* RXDE */>; | ||
76 | }; | ||
77 | |||
78 | POB0: opb { | ||
79 | compatible = "ibm,opb-405gp", "ibm,opb"; | ||
80 | #address-cells = <1>; | ||
81 | #size-cells = <1>; | ||
82 | ranges = <ef600000 ef600000 a00000>; | ||
83 | dcr-reg = <0a0 5>; | ||
84 | clock-frequency = <0>; /* Filled in by zImage */ | ||
85 | |||
86 | UART0: serial@ef600300 { | ||
87 | device_type = "serial"; | ||
88 | compatible = "ns16550"; | ||
89 | reg = <ef600300 8>; | ||
90 | virtual-reg = <ef600300>; | ||
91 | clock-frequency = <0>; /* Filled in by zImage */ | ||
92 | current-speed = <2580>; | ||
93 | interrupt-parent = <&UIC0>; | ||
94 | interrupts = <0 4>; | ||
95 | }; | ||
96 | |||
97 | UART1: serial@ef600400 { | ||
98 | device_type = "serial"; | ||
99 | compatible = "ns16550"; | ||
100 | reg = <ef600400 8>; | ||
101 | virtual-reg = <ef600400>; | ||
102 | clock-frequency = <0>; /* Filled in by zImage */ | ||
103 | current-speed = <2580>; | ||
104 | interrupt-parent = <&UIC0>; | ||
105 | interrupts = <1 4>; | ||
106 | }; | ||
107 | |||
108 | IIC: i2c@ef600500 { | ||
109 | compatible = "ibm,iic-405gp", "ibm,iic"; | ||
110 | reg = <ef600500 11>; | ||
111 | interrupt-parent = <&UIC0>; | ||
112 | interrupts = <2 4>; | ||
113 | }; | ||
114 | |||
115 | GPIO: gpio@ef600700 { | ||
116 | compatible = "ibm,gpio-405gp"; | ||
117 | reg = <ef600700 20>; | ||
118 | }; | ||
119 | |||
120 | EMAC: ethernet@ef600800 { | ||
121 | linux,network-index = <0>; | ||
122 | device_type = "network"; | ||
123 | compatible = "ibm,emac-405gp", "ibm,emac"; | ||
124 | interrupt-parent = <&UIC0>; | ||
125 | interrupts = < | ||
126 | f 4 /* Ethernet */ | ||
127 | 9 4 /* Ethernet Wake Up */>; | ||
128 | local-mac-address = [000000000000]; /* Filled in by zImage */ | ||
129 | reg = <ef600800 70>; | ||
130 | mal-device = <&MAL>; | ||
131 | mal-tx-channel = <0>; | ||
132 | mal-rx-channel = <0>; | ||
133 | cell-index = <0>; | ||
134 | max-frame-size = <5dc>; | ||
135 | rx-fifo-size = <1000>; | ||
136 | tx-fifo-size = <800>; | ||
137 | phy-mode = "rmii"; | ||
138 | phy-map = <00000000>; | ||
139 | }; | ||
140 | |||
141 | }; | ||
142 | |||
143 | EBC0: ebc { | ||
144 | compatible = "ibm,ebc-405gp", "ibm,ebc"; | ||
145 | dcr-reg = <012 2>; | ||
146 | #address-cells = <2>; | ||
147 | #size-cells = <1>; | ||
148 | |||
149 | |||
150 | /* The ranges property is supplied by the bootwrapper | ||
151 | * and is based on the firmware's configuration of the | ||
152 | * EBC bridge | ||
153 | */ | ||
154 | clock-frequency = <0>; /* Filled in by zImage */ | ||
155 | |||
156 | /* NVRAM and RTC */ | ||
157 | nvrtc@4,200000 { | ||
158 | compatible = "ds1742"; | ||
159 | reg = <4 200000 0>; /* size fixed up by zImage */ | ||
160 | }; | ||
161 | |||
162 | /* "BCSR" CPLD contains a PCI irq controller */ | ||
163 | bcsr@4,0 { | ||
164 | compatible = "ep405-bcsr"; | ||
165 | reg = <4 0 10>; | ||
166 | interrupt-controller; | ||
167 | /* Routing table */ | ||
168 | irq-routing = [ 00 /* SYSERR */ | ||
169 | 01 /* STTM */ | ||
170 | 01 /* RTC */ | ||
171 | 01 /* FENET */ | ||
172 | 02 /* NB PCIIRQ mux ? */ | ||
173 | 03 /* SB Winbond 8259 ? */ | ||
174 | 04 /* Serial Ring */ | ||
175 | 05 /* USB (ep405pc) */ | ||
176 | 06 /* XIRQ 0 */ | ||
177 | 06 /* XIRQ 1 */ | ||
178 | 06 /* XIRQ 2 */ | ||
179 | 06 /* XIRQ 3 */ | ||
180 | 06 /* XIRQ 4 */ | ||
181 | 06 /* XIRQ 5 */ | ||
182 | 06 /* XIRQ 6 */ | ||
183 | 07]; /* Reserved */ | ||
184 | }; | ||
185 | }; | ||
186 | |||
187 | PCI0: pci@ec000000 { | ||
188 | device_type = "pci"; | ||
189 | #interrupt-cells = <1>; | ||
190 | #size-cells = <2>; | ||
191 | #address-cells = <3>; | ||
192 | compatible = "ibm,plb405gp-pci", "ibm,plb-pci"; | ||
193 | primary; | ||
194 | reg = <eec00000 8 /* Config space access */ | ||
195 | eed80000 4 /* IACK */ | ||
196 | eed80000 4 /* Special cycle */ | ||
197 | ef480000 40>; /* Internal registers */ | ||
198 | |||
199 | /* Outbound ranges, one memory and one IO, | ||
200 | * later cannot be changed. Chip supports a second | ||
201 | * IO range but we don't use it for now | ||
202 | */ | ||
203 | ranges = <02000000 0 80000000 80000000 0 20000000 | ||
204 | 01000000 0 00000000 e8000000 0 00010000>; | ||
205 | |||
206 | /* Inbound 2GB range starting at 0 */ | ||
207 | dma-ranges = <42000000 0 0 0 0 80000000>; | ||
208 | |||
209 | /* That's all I know about IRQs on that thing ... */ | ||
210 | interrupt-map-mask = <f800 0 0 0>; | ||
211 | interrupt-map = < | ||
212 | /* USB */ | ||
213 | 7000 0 0 0 &UIC0 1e 8 /* IRQ5 */ | ||
214 | >; | ||
215 | }; | ||
216 | }; | ||
217 | |||
218 | chosen { | ||
219 | linux,stdout-path = "/plb/opb/serial@ef600300"; | ||
220 | }; | ||
221 | }; | ||
diff --git a/arch/powerpc/boot/ep405.c b/arch/powerpc/boot/ep405.c new file mode 100644 index 000000000000..2d08a862cbea --- /dev/null +++ b/arch/powerpc/boot/ep405.c | |||
@@ -0,0 +1,74 @@ | |||
1 | /* | ||
2 | * Embedded Planet EP405 with PlanetCore firmware | ||
3 | * | ||
4 | * (c) Benjamin Herrenschmidt <benh@kernel.crashing.org>, IBM Corp,\ | ||
5 | * | ||
6 | * Based on ep88xc.c by | ||
7 | * | ||
8 | * Scott Wood <scottwood@freescale.com> | ||
9 | * | ||
10 | * Copyright (c) 2007 Freescale Semiconductor, Inc. | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify it | ||
13 | * under the terms of the GNU General Public License version 2 as published | ||
14 | * by the Free Software Foundation. | ||
15 | */ | ||
16 | |||
17 | #include "ops.h" | ||
18 | #include "stdio.h" | ||
19 | #include "planetcore.h" | ||
20 | #include "dcr.h" | ||
21 | #include "4xx.h" | ||
22 | #include "io.h" | ||
23 | |||
24 | static char *table; | ||
25 | static u64 mem_size; | ||
26 | |||
27 | static void platform_fixups(void) | ||
28 | { | ||
29 | u64 val; | ||
30 | void *nvrtc; | ||
31 | |||
32 | dt_fixup_memory(0, mem_size); | ||
33 | planetcore_set_mac_addrs(table); | ||
34 | |||
35 | if (!planetcore_get_decimal(table, PLANETCORE_KEY_CRYSTAL_HZ, &val)) { | ||
36 | printf("No PlanetCore crystal frequency key.\r\n"); | ||
37 | return; | ||
38 | } | ||
39 | ibm405gp_fixup_clocks(val, 0xa8c000); | ||
40 | ibm4xx_quiesce_eth((u32 *)0xef600800, NULL); | ||
41 | ibm4xx_fixup_ebc_ranges("/plb/ebc"); | ||
42 | |||
43 | if (!planetcore_get_decimal(table, PLANETCORE_KEY_KB_NVRAM, &val)) { | ||
44 | printf("No PlanetCore NVRAM size key.\r\n"); | ||
45 | return; | ||
46 | } | ||
47 | nvrtc = finddevice("/plb/ebc/nvrtc@4,200000"); | ||
48 | if (nvrtc != NULL) { | ||
49 | u32 reg[3] = { 4, 0x200000, 0}; | ||
50 | getprop(nvrtc, "reg", reg, 3); | ||
51 | reg[2] = (val << 10) & 0xffffffff; | ||
52 | setprop(nvrtc, "reg", reg, 3); | ||
53 | } | ||
54 | } | ||
55 | |||
56 | void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | ||
57 | unsigned long r6, unsigned long r7) | ||
58 | { | ||
59 | table = (char *)r3; | ||
60 | planetcore_prepare_table(table); | ||
61 | |||
62 | if (!planetcore_get_decimal(table, PLANETCORE_KEY_MB_RAM, &mem_size)) | ||
63 | return; | ||
64 | |||
65 | mem_size *= 1024 * 1024; | ||
66 | simple_alloc_init(_end, mem_size - (unsigned long)_end, 32, 64); | ||
67 | |||
68 | fdt_init(_dtb_start); | ||
69 | |||
70 | planetcore_set_stdout_path(table); | ||
71 | |||
72 | serial_console_init(); | ||
73 | platform_ops.fixups = platform_fixups; | ||
74 | } | ||
diff --git a/arch/powerpc/boot/treeboot-walnut.c b/arch/powerpc/boot/treeboot-walnut.c index 70ffce343c0a..330485f47825 100644 --- a/arch/powerpc/boot/treeboot-walnut.c +++ b/arch/powerpc/boot/treeboot-walnut.c | |||
@@ -20,55 +20,6 @@ | |||
20 | 20 | ||
21 | BSS_STACK(4096); | 21 | BSS_STACK(4096); |
22 | 22 | ||
23 | void ibm405gp_fixup_clocks(unsigned int sysclk, unsigned int ser_clk) | ||
24 | { | ||
25 | u32 pllmr = mfdcr(DCRN_CPC0_PLLMR); | ||
26 | u32 cpc0_cr0 = mfdcr(DCRN_405_CPC0_CR0); | ||
27 | u32 cpc0_cr1 = mfdcr(DCRN_405_CPC0_CR1); | ||
28 | u32 cpu, plb, opb, ebc, tb, uart0, uart1, m; | ||
29 | u32 fwdv, fbdv, cbdv, opdv, epdv, udiv; | ||
30 | |||
31 | fwdv = (8 - ((pllmr & 0xe0000000) >> 29)); | ||
32 | fbdv = (pllmr & 0x1e000000) >> 25; | ||
33 | cbdv = ((pllmr & 0x00060000) >> 17) + 1; | ||
34 | opdv = ((pllmr & 0x00018000) >> 15) + 1; | ||
35 | epdv = ((pllmr & 0x00001800) >> 13) + 2; | ||
36 | udiv = ((cpc0_cr0 & 0x3e) >> 1) + 1; | ||
37 | |||
38 | m = fwdv * fbdv * cbdv; | ||
39 | |||
40 | cpu = sysclk * m / fwdv; | ||
41 | plb = cpu / cbdv; | ||
42 | opb = plb / opdv; | ||
43 | ebc = plb / epdv; | ||
44 | |||
45 | if (cpc0_cr0 & 0x80) { | ||
46 | /* uart0 uses the external clock */ | ||
47 | uart0 = ser_clk; | ||
48 | } else { | ||
49 | uart0 = cpu / udiv; | ||
50 | } | ||
51 | |||
52 | if (cpc0_cr0 & 0x40) { | ||
53 | /* uart1 uses the external clock */ | ||
54 | uart1 = ser_clk; | ||
55 | } else { | ||
56 | uart1 = cpu / udiv; | ||
57 | } | ||
58 | |||
59 | /* setup the timebase clock to tick at the cpu frequency */ | ||
60 | cpc0_cr1 = cpc0_cr1 & ~0x00800000; | ||
61 | mtdcr(DCRN_405_CPC0_CR1, cpc0_cr1); | ||
62 | tb = cpu; | ||
63 | |||
64 | dt_fixup_cpu_clocks(cpu, tb, 0); | ||
65 | dt_fixup_clock("/plb", plb); | ||
66 | dt_fixup_clock("/plb/opb", opb); | ||
67 | dt_fixup_clock("/plb/ebc", ebc); | ||
68 | dt_fixup_clock("/plb/opb/serial@ef600300", uart0); | ||
69 | dt_fixup_clock("/plb/opb/serial@ef600400", uart1); | ||
70 | } | ||
71 | |||
72 | static void walnut_flashsel_fixup(void) | 23 | static void walnut_flashsel_fixup(void) |
73 | { | 24 | { |
74 | void *devp, *sram; | 25 | void *devp, *sram; |
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index f961cdeb97a2..154df055aad2 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper | |||
@@ -168,7 +168,7 @@ ps3) | |||
168 | ksection=.kernel:vmlinux.bin | 168 | ksection=.kernel:vmlinux.bin |
169 | isection=.kernel:initrd | 169 | isection=.kernel:initrd |
170 | ;; | 170 | ;; |
171 | ep88xc) | 171 | ep88xc|ep405) |
172 | platformo="$object/fixed-head.o $object/$platform.o" | 172 | platformo="$object/fixed-head.o $object/$platform.o" |
173 | binary=y | 173 | binary=y |
174 | ;; | 174 | ;; |
diff --git a/arch/powerpc/configs/ep405_defconfig b/arch/powerpc/configs/ep405_defconfig new file mode 100644 index 000000000000..5ddd9d5ec698 --- /dev/null +++ b/arch/powerpc/configs/ep405_defconfig | |||
@@ -0,0 +1,951 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.24-rc2 | ||
4 | # Wed Nov 21 16:44:30 2007 | ||
5 | # | ||
6 | # CONFIG_PPC64 is not set | ||
7 | |||
8 | # | ||
9 | # Processor support | ||
10 | # | ||
11 | # CONFIG_6xx is not set | ||
12 | # CONFIG_PPC_85xx is not set | ||
13 | # CONFIG_PPC_8xx is not set | ||
14 | CONFIG_40x=y | ||
15 | # CONFIG_44x is not set | ||
16 | # CONFIG_E200 is not set | ||
17 | CONFIG_4xx=y | ||
18 | # CONFIG_PPC_MM_SLICES is not set | ||
19 | CONFIG_NOT_COHERENT_CACHE=y | ||
20 | CONFIG_PPC32=y | ||
21 | CONFIG_WORD_SIZE=32 | ||
22 | CONFIG_PPC_MERGE=y | ||
23 | CONFIG_MMU=y | ||
24 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
25 | CONFIG_GENERIC_TIME=y | ||
26 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
27 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
28 | CONFIG_GENERIC_HARDIRQS=y | ||
29 | CONFIG_IRQ_PER_CPU=y | ||
30 | CONFIG_STACKTRACE_SUPPORT=y | ||
31 | CONFIG_LOCKDEP_SUPPORT=y | ||
32 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
33 | CONFIG_ARCH_HAS_ILOG2_U32=y | ||
34 | CONFIG_GENERIC_HWEIGHT=y | ||
35 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
36 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
37 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set | ||
38 | CONFIG_PPC=y | ||
39 | CONFIG_EARLY_PRINTK=y | ||
40 | CONFIG_GENERIC_NVRAM=y | ||
41 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
42 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
43 | CONFIG_PPC_OF=y | ||
44 | CONFIG_OF=y | ||
45 | CONFIG_PPC_UDBG_16550=y | ||
46 | # CONFIG_GENERIC_TBSYNC is not set | ||
47 | CONFIG_AUDIT_ARCH=y | ||
48 | CONFIG_GENERIC_BUG=y | ||
49 | # CONFIG_DEFAULT_UIMAGE is not set | ||
50 | CONFIG_PPC_DCR_NATIVE=y | ||
51 | # CONFIG_PPC_DCR_MMIO is not set | ||
52 | CONFIG_PPC_DCR=y | ||
53 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
54 | |||
55 | # | ||
56 | # General setup | ||
57 | # | ||
58 | CONFIG_EXPERIMENTAL=y | ||
59 | CONFIG_BROKEN_ON_SMP=y | ||
60 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
61 | CONFIG_LOCALVERSION="" | ||
62 | CONFIG_LOCALVERSION_AUTO=y | ||
63 | CONFIG_SWAP=y | ||
64 | CONFIG_SYSVIPC=y | ||
65 | CONFIG_SYSVIPC_SYSCTL=y | ||
66 | CONFIG_POSIX_MQUEUE=y | ||
67 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
68 | # CONFIG_TASKSTATS is not set | ||
69 | # CONFIG_USER_NS is not set | ||
70 | # CONFIG_AUDIT is not set | ||
71 | # CONFIG_IKCONFIG is not set | ||
72 | CONFIG_LOG_BUF_SHIFT=14 | ||
73 | # CONFIG_CGROUPS is not set | ||
74 | CONFIG_FAIR_GROUP_SCHED=y | ||
75 | CONFIG_FAIR_USER_SCHED=y | ||
76 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
77 | CONFIG_SYSFS_DEPRECATED=y | ||
78 | # CONFIG_RELAY is not set | ||
79 | CONFIG_BLK_DEV_INITRD=y | ||
80 | CONFIG_INITRAMFS_SOURCE="" | ||
81 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
82 | CONFIG_SYSCTL=y | ||
83 | CONFIG_EMBEDDED=y | ||
84 | CONFIG_SYSCTL_SYSCALL=y | ||
85 | CONFIG_KALLSYMS=y | ||
86 | CONFIG_KALLSYMS_ALL=y | ||
87 | CONFIG_KALLSYMS_EXTRA_PASS=y | ||
88 | CONFIG_HOTPLUG=y | ||
89 | CONFIG_PRINTK=y | ||
90 | CONFIG_BUG=y | ||
91 | CONFIG_ELF_CORE=y | ||
92 | CONFIG_BASE_FULL=y | ||
93 | CONFIG_FUTEX=y | ||
94 | CONFIG_ANON_INODES=y | ||
95 | CONFIG_EPOLL=y | ||
96 | CONFIG_SIGNALFD=y | ||
97 | CONFIG_EVENTFD=y | ||
98 | CONFIG_SHMEM=y | ||
99 | CONFIG_VM_EVENT_COUNTERS=y | ||
100 | CONFIG_SLUB_DEBUG=y | ||
101 | # CONFIG_SLAB is not set | ||
102 | CONFIG_SLUB=y | ||
103 | # CONFIG_SLOB is not set | ||
104 | CONFIG_RT_MUTEXES=y | ||
105 | # CONFIG_TINY_SHMEM is not set | ||
106 | CONFIG_BASE_SMALL=0 | ||
107 | CONFIG_MODULES=y | ||
108 | CONFIG_MODULE_UNLOAD=y | ||
109 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
110 | # CONFIG_MODVERSIONS is not set | ||
111 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
112 | CONFIG_KMOD=y | ||
113 | CONFIG_BLOCK=y | ||
114 | CONFIG_LBD=y | ||
115 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
116 | # CONFIG_LSF is not set | ||
117 | # CONFIG_BLK_DEV_BSG is not set | ||
118 | |||
119 | # | ||
120 | # IO Schedulers | ||
121 | # | ||
122 | CONFIG_IOSCHED_NOOP=y | ||
123 | CONFIG_IOSCHED_AS=y | ||
124 | CONFIG_IOSCHED_DEADLINE=y | ||
125 | CONFIG_IOSCHED_CFQ=y | ||
126 | CONFIG_DEFAULT_AS=y | ||
127 | # CONFIG_DEFAULT_DEADLINE is not set | ||
128 | # CONFIG_DEFAULT_CFQ is not set | ||
129 | # CONFIG_DEFAULT_NOOP is not set | ||
130 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
131 | |||
132 | # | ||
133 | # Platform support | ||
134 | # | ||
135 | # CONFIG_PPC_MPC52xx is not set | ||
136 | # CONFIG_PPC_MPC5200 is not set | ||
137 | # CONFIG_PPC_CELL is not set | ||
138 | # CONFIG_PPC_CELL_NATIVE is not set | ||
139 | # CONFIG_PQ2ADS is not set | ||
140 | CONFIG_EP405=y | ||
141 | # CONFIG_KILAUEA is not set | ||
142 | # CONFIG_WALNUT is not set | ||
143 | # CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set | ||
144 | CONFIG_405GP=y | ||
145 | CONFIG_IBM405_ERR77=y | ||
146 | CONFIG_IBM405_ERR51=y | ||
147 | # CONFIG_MPIC is not set | ||
148 | # CONFIG_MPIC_WEIRD is not set | ||
149 | # CONFIG_PPC_I8259 is not set | ||
150 | # CONFIG_PPC_RTAS is not set | ||
151 | # CONFIG_MMIO_NVRAM is not set | ||
152 | # CONFIG_PPC_MPC106 is not set | ||
153 | # CONFIG_PPC_970_NAP is not set | ||
154 | # CONFIG_PPC_INDIRECT_IO is not set | ||
155 | # CONFIG_GENERIC_IOMAP is not set | ||
156 | # CONFIG_CPU_FREQ is not set | ||
157 | # CONFIG_CPM2 is not set | ||
158 | # CONFIG_FSL_ULI1575 is not set | ||
159 | |||
160 | # | ||
161 | # Kernel options | ||
162 | # | ||
163 | # CONFIG_HIGHMEM is not set | ||
164 | # CONFIG_TICK_ONESHOT is not set | ||
165 | # CONFIG_NO_HZ is not set | ||
166 | # CONFIG_HIGH_RES_TIMERS is not set | ||
167 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
168 | # CONFIG_HZ_100 is not set | ||
169 | CONFIG_HZ_250=y | ||
170 | # CONFIG_HZ_300 is not set | ||
171 | # CONFIG_HZ_1000 is not set | ||
172 | CONFIG_HZ=250 | ||
173 | CONFIG_PREEMPT_NONE=y | ||
174 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
175 | # CONFIG_PREEMPT is not set | ||
176 | CONFIG_BINFMT_ELF=y | ||
177 | # CONFIG_BINFMT_MISC is not set | ||
178 | # CONFIG_MATH_EMULATION is not set | ||
179 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
180 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
181 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
182 | CONFIG_SELECT_MEMORY_MODEL=y | ||
183 | CONFIG_FLATMEM_MANUAL=y | ||
184 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
185 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
186 | CONFIG_FLATMEM=y | ||
187 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
188 | # CONFIG_SPARSEMEM_STATIC is not set | ||
189 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
190 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
191 | # CONFIG_RESOURCES_64BIT is not set | ||
192 | CONFIG_ZONE_DMA_FLAG=1 | ||
193 | CONFIG_BOUNCE=y | ||
194 | CONFIG_VIRT_TO_BUS=y | ||
195 | CONFIG_PROC_DEVICETREE=y | ||
196 | # CONFIG_CMDLINE_BOOL is not set | ||
197 | # CONFIG_PM is not set | ||
198 | CONFIG_SUSPEND_UP_POSSIBLE=y | ||
199 | CONFIG_HIBERNATION_UP_POSSIBLE=y | ||
200 | CONFIG_SECCOMP=y | ||
201 | CONFIG_WANT_DEVICE_TREE=y | ||
202 | CONFIG_DEVICE_TREE="ep405.dts" | ||
203 | CONFIG_ISA_DMA_API=y | ||
204 | |||
205 | # | ||
206 | # Bus options | ||
207 | # | ||
208 | CONFIG_ZONE_DMA=y | ||
209 | CONFIG_PPC_INDIRECT_PCI=y | ||
210 | CONFIG_PCI=y | ||
211 | CONFIG_PCI_DOMAINS=y | ||
212 | CONFIG_PCI_SYSCALL=y | ||
213 | # CONFIG_PCIEPORTBUS is not set | ||
214 | CONFIG_ARCH_SUPPORTS_MSI=y | ||
215 | # CONFIG_PCI_MSI is not set | ||
216 | CONFIG_PCI_LEGACY=y | ||
217 | # CONFIG_PCI_DEBUG is not set | ||
218 | # CONFIG_PCCARD is not set | ||
219 | # CONFIG_HOTPLUG_PCI is not set | ||
220 | |||
221 | # | ||
222 | # Advanced setup | ||
223 | # | ||
224 | # CONFIG_ADVANCED_OPTIONS is not set | ||
225 | |||
226 | # | ||
227 | # Default settings for advanced configuration options are used | ||
228 | # | ||
229 | CONFIG_HIGHMEM_START=0xfe000000 | ||
230 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
231 | CONFIG_KERNEL_START=0xc0000000 | ||
232 | CONFIG_TASK_SIZE=0xc0000000 | ||
233 | CONFIG_CONSISTENT_START=0xff100000 | ||
234 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
235 | CONFIG_BOOT_LOAD=0x00400000 | ||
236 | |||
237 | # | ||
238 | # Networking | ||
239 | # | ||
240 | CONFIG_NET=y | ||
241 | |||
242 | # | ||
243 | # Networking options | ||
244 | # | ||
245 | CONFIG_PACKET=y | ||
246 | # CONFIG_PACKET_MMAP is not set | ||
247 | CONFIG_UNIX=y | ||
248 | # CONFIG_NET_KEY is not set | ||
249 | CONFIG_INET=y | ||
250 | # CONFIG_IP_MULTICAST is not set | ||
251 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
252 | CONFIG_IP_FIB_HASH=y | ||
253 | CONFIG_IP_PNP=y | ||
254 | CONFIG_IP_PNP_DHCP=y | ||
255 | CONFIG_IP_PNP_BOOTP=y | ||
256 | # CONFIG_IP_PNP_RARP is not set | ||
257 | # CONFIG_NET_IPIP is not set | ||
258 | # CONFIG_NET_IPGRE is not set | ||
259 | # CONFIG_ARPD is not set | ||
260 | # CONFIG_SYN_COOKIES is not set | ||
261 | # CONFIG_INET_AH is not set | ||
262 | # CONFIG_INET_ESP is not set | ||
263 | # CONFIG_INET_IPCOMP is not set | ||
264 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
265 | # CONFIG_INET_TUNNEL is not set | ||
266 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
267 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
268 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
269 | # CONFIG_INET_LRO is not set | ||
270 | CONFIG_INET_DIAG=y | ||
271 | CONFIG_INET_TCP_DIAG=y | ||
272 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
273 | CONFIG_TCP_CONG_CUBIC=y | ||
274 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
275 | # CONFIG_TCP_MD5SIG is not set | ||
276 | # CONFIG_IPV6 is not set | ||
277 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
278 | # CONFIG_INET6_TUNNEL is not set | ||
279 | # CONFIG_NETWORK_SECMARK is not set | ||
280 | # CONFIG_NETFILTER is not set | ||
281 | # CONFIG_IP_DCCP is not set | ||
282 | # CONFIG_IP_SCTP is not set | ||
283 | # CONFIG_TIPC is not set | ||
284 | # CONFIG_ATM is not set | ||
285 | # CONFIG_BRIDGE is not set | ||
286 | # CONFIG_VLAN_8021Q is not set | ||
287 | # CONFIG_DECNET is not set | ||
288 | # CONFIG_LLC2 is not set | ||
289 | # CONFIG_IPX is not set | ||
290 | # CONFIG_ATALK is not set | ||
291 | # CONFIG_X25 is not set | ||
292 | # CONFIG_LAPB is not set | ||
293 | # CONFIG_ECONET is not set | ||
294 | # CONFIG_WAN_ROUTER is not set | ||
295 | # CONFIG_NET_SCHED is not set | ||
296 | |||
297 | # | ||
298 | # Network testing | ||
299 | # | ||
300 | # CONFIG_NET_PKTGEN is not set | ||
301 | # CONFIG_HAMRADIO is not set | ||
302 | # CONFIG_IRDA is not set | ||
303 | # CONFIG_BT is not set | ||
304 | # CONFIG_AF_RXRPC is not set | ||
305 | |||
306 | # | ||
307 | # Wireless | ||
308 | # | ||
309 | # CONFIG_CFG80211 is not set | ||
310 | # CONFIG_WIRELESS_EXT is not set | ||
311 | # CONFIG_MAC80211 is not set | ||
312 | # CONFIG_IEEE80211 is not set | ||
313 | # CONFIG_RFKILL is not set | ||
314 | # CONFIG_NET_9P is not set | ||
315 | |||
316 | # | ||
317 | # Device Drivers | ||
318 | # | ||
319 | |||
320 | # | ||
321 | # Generic Driver Options | ||
322 | # | ||
323 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
324 | CONFIG_STANDALONE=y | ||
325 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
326 | CONFIG_FW_LOADER=y | ||
327 | # CONFIG_DEBUG_DRIVER is not set | ||
328 | # CONFIG_DEBUG_DEVRES is not set | ||
329 | # CONFIG_SYS_HYPERVISOR is not set | ||
330 | CONFIG_CONNECTOR=y | ||
331 | CONFIG_PROC_EVENTS=y | ||
332 | CONFIG_MTD=y | ||
333 | # CONFIG_MTD_DEBUG is not set | ||
334 | # CONFIG_MTD_CONCAT is not set | ||
335 | CONFIG_MTD_PARTITIONS=y | ||
336 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
337 | CONFIG_MTD_CMDLINE_PARTS=y | ||
338 | |||
339 | # | ||
340 | # User Modules And Translation Layers | ||
341 | # | ||
342 | CONFIG_MTD_CHAR=y | ||
343 | CONFIG_MTD_BLKDEVS=m | ||
344 | CONFIG_MTD_BLOCK=m | ||
345 | # CONFIG_MTD_BLOCK_RO is not set | ||
346 | # CONFIG_FTL is not set | ||
347 | # CONFIG_NFTL is not set | ||
348 | # CONFIG_INFTL is not set | ||
349 | # CONFIG_RFD_FTL is not set | ||
350 | # CONFIG_SSFDC is not set | ||
351 | # CONFIG_MTD_OOPS is not set | ||
352 | |||
353 | # | ||
354 | # RAM/ROM/Flash chip drivers | ||
355 | # | ||
356 | CONFIG_MTD_CFI=y | ||
357 | CONFIG_MTD_JEDECPROBE=y | ||
358 | CONFIG_MTD_GEN_PROBE=y | ||
359 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
360 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
361 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
362 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
363 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
364 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
365 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
366 | CONFIG_MTD_CFI_I1=y | ||
367 | CONFIG_MTD_CFI_I2=y | ||
368 | # CONFIG_MTD_CFI_I4 is not set | ||
369 | # CONFIG_MTD_CFI_I8 is not set | ||
370 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
371 | CONFIG_MTD_CFI_AMDSTD=y | ||
372 | # CONFIG_MTD_CFI_STAA is not set | ||
373 | CONFIG_MTD_CFI_UTIL=y | ||
374 | # CONFIG_MTD_RAM is not set | ||
375 | # CONFIG_MTD_ROM is not set | ||
376 | # CONFIG_MTD_ABSENT is not set | ||
377 | |||
378 | # | ||
379 | # Mapping drivers for chip access | ||
380 | # | ||
381 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
382 | # CONFIG_MTD_PHYSMAP is not set | ||
383 | CONFIG_MTD_PHYSMAP_OF=y | ||
384 | # CONFIG_MTD_INTEL_VR_NOR is not set | ||
385 | # CONFIG_MTD_PLATRAM is not set | ||
386 | |||
387 | # | ||
388 | # Self-contained MTD device drivers | ||
389 | # | ||
390 | # CONFIG_MTD_PMC551 is not set | ||
391 | # CONFIG_MTD_SLRAM is not set | ||
392 | # CONFIG_MTD_PHRAM is not set | ||
393 | # CONFIG_MTD_MTDRAM is not set | ||
394 | # CONFIG_MTD_BLOCK2MTD is not set | ||
395 | |||
396 | # | ||
397 | # Disk-On-Chip Device Drivers | ||
398 | # | ||
399 | # CONFIG_MTD_DOC2000 is not set | ||
400 | # CONFIG_MTD_DOC2001 is not set | ||
401 | # CONFIG_MTD_DOC2001PLUS is not set | ||
402 | # CONFIG_MTD_NAND is not set | ||
403 | # CONFIG_MTD_ONENAND is not set | ||
404 | |||
405 | # | ||
406 | # UBI - Unsorted block images | ||
407 | # | ||
408 | # CONFIG_MTD_UBI is not set | ||
409 | CONFIG_OF_DEVICE=y | ||
410 | # CONFIG_PARPORT is not set | ||
411 | CONFIG_BLK_DEV=y | ||
412 | # CONFIG_BLK_DEV_FD is not set | ||
413 | # CONFIG_BLK_CPQ_DA is not set | ||
414 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
415 | # CONFIG_BLK_DEV_DAC960 is not set | ||
416 | # CONFIG_BLK_DEV_UMEM is not set | ||
417 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
418 | # CONFIG_BLK_DEV_LOOP is not set | ||
419 | # CONFIG_BLK_DEV_NBD is not set | ||
420 | # CONFIG_BLK_DEV_SX8 is not set | ||
421 | # CONFIG_BLK_DEV_UB is not set | ||
422 | CONFIG_BLK_DEV_RAM=y | ||
423 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
424 | CONFIG_BLK_DEV_RAM_SIZE=35000 | ||
425 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
426 | # CONFIG_CDROM_PKTCDVD is not set | ||
427 | # CONFIG_ATA_OVER_ETH is not set | ||
428 | # CONFIG_XILINX_SYSACE is not set | ||
429 | CONFIG_MISC_DEVICES=y | ||
430 | # CONFIG_PHANTOM is not set | ||
431 | # CONFIG_EEPROM_93CX6 is not set | ||
432 | # CONFIG_SGI_IOC4 is not set | ||
433 | # CONFIG_TIFM_CORE is not set | ||
434 | # CONFIG_IDE is not set | ||
435 | |||
436 | # | ||
437 | # SCSI device support | ||
438 | # | ||
439 | # CONFIG_RAID_ATTRS is not set | ||
440 | # CONFIG_SCSI is not set | ||
441 | # CONFIG_SCSI_DMA is not set | ||
442 | # CONFIG_SCSI_NETLINK is not set | ||
443 | # CONFIG_ATA is not set | ||
444 | # CONFIG_MD is not set | ||
445 | # CONFIG_FUSION is not set | ||
446 | |||
447 | # | ||
448 | # IEEE 1394 (FireWire) support | ||
449 | # | ||
450 | # CONFIG_FIREWIRE is not set | ||
451 | # CONFIG_IEEE1394 is not set | ||
452 | # CONFIG_I2O is not set | ||
453 | # CONFIG_MACINTOSH_DRIVERS is not set | ||
454 | CONFIG_NETDEVICES=y | ||
455 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
456 | # CONFIG_DUMMY is not set | ||
457 | # CONFIG_BONDING is not set | ||
458 | # CONFIG_MACVLAN is not set | ||
459 | # CONFIG_EQUALIZER is not set | ||
460 | # CONFIG_TUN is not set | ||
461 | # CONFIG_VETH is not set | ||
462 | # CONFIG_IP1000 is not set | ||
463 | # CONFIG_ARCNET is not set | ||
464 | # CONFIG_PHYLIB is not set | ||
465 | CONFIG_NET_ETHERNET=y | ||
466 | # CONFIG_MII is not set | ||
467 | # CONFIG_HAPPYMEAL is not set | ||
468 | # CONFIG_SUNGEM is not set | ||
469 | # CONFIG_CASSINI is not set | ||
470 | # CONFIG_NET_VENDOR_3COM is not set | ||
471 | # CONFIG_NET_TULIP is not set | ||
472 | # CONFIG_HP100 is not set | ||
473 | CONFIG_IBM_NEW_EMAC=y | ||
474 | CONFIG_IBM_NEW_EMAC_RXB=128 | ||
475 | CONFIG_IBM_NEW_EMAC_TXB=64 | ||
476 | CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32 | ||
477 | CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256 | ||
478 | CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 | ||
479 | # CONFIG_IBM_NEW_EMAC_DEBUG is not set | ||
480 | CONFIG_IBM_NEW_EMAC_ZMII=y | ||
481 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
482 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
483 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
484 | # CONFIG_NET_PCI is not set | ||
485 | # CONFIG_B44 is not set | ||
486 | CONFIG_NETDEV_1000=y | ||
487 | # CONFIG_ACENIC is not set | ||
488 | # CONFIG_DL2K is not set | ||
489 | # CONFIG_E1000 is not set | ||
490 | # CONFIG_E1000E is not set | ||
491 | # CONFIG_NS83820 is not set | ||
492 | # CONFIG_HAMACHI is not set | ||
493 | # CONFIG_YELLOWFIN is not set | ||
494 | # CONFIG_R8169 is not set | ||
495 | # CONFIG_SIS190 is not set | ||
496 | # CONFIG_SKGE is not set | ||
497 | # CONFIG_SKY2 is not set | ||
498 | # CONFIG_SK98LIN is not set | ||
499 | # CONFIG_VIA_VELOCITY is not set | ||
500 | # CONFIG_TIGON3 is not set | ||
501 | # CONFIG_BNX2 is not set | ||
502 | # CONFIG_QLA3XXX is not set | ||
503 | # CONFIG_ATL1 is not set | ||
504 | CONFIG_NETDEV_10000=y | ||
505 | # CONFIG_CHELSIO_T1 is not set | ||
506 | # CONFIG_CHELSIO_T3 is not set | ||
507 | # CONFIG_IXGBE is not set | ||
508 | # CONFIG_IXGB is not set | ||
509 | # CONFIG_S2IO is not set | ||
510 | # CONFIG_MYRI10GE is not set | ||
511 | # CONFIG_NETXEN_NIC is not set | ||
512 | # CONFIG_NIU is not set | ||
513 | # CONFIG_MLX4_CORE is not set | ||
514 | # CONFIG_TEHUTI is not set | ||
515 | # CONFIG_TR is not set | ||
516 | |||
517 | # | ||
518 | # Wireless LAN | ||
519 | # | ||
520 | # CONFIG_WLAN_PRE80211 is not set | ||
521 | # CONFIG_WLAN_80211 is not set | ||
522 | |||
523 | # | ||
524 | # USB Network Adapters | ||
525 | # | ||
526 | # CONFIG_USB_CATC is not set | ||
527 | # CONFIG_USB_KAWETH is not set | ||
528 | # CONFIG_USB_PEGASUS is not set | ||
529 | # CONFIG_USB_RTL8150 is not set | ||
530 | # CONFIG_USB_USBNET is not set | ||
531 | # CONFIG_WAN is not set | ||
532 | # CONFIG_FDDI is not set | ||
533 | # CONFIG_HIPPI is not set | ||
534 | # CONFIG_PPP is not set | ||
535 | # CONFIG_SLIP is not set | ||
536 | # CONFIG_SHAPER is not set | ||
537 | # CONFIG_NETCONSOLE is not set | ||
538 | # CONFIG_NETPOLL is not set | ||
539 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
540 | # CONFIG_ISDN is not set | ||
541 | # CONFIG_PHONE is not set | ||
542 | |||
543 | # | ||
544 | # Input device support | ||
545 | # | ||
546 | # CONFIG_INPUT is not set | ||
547 | |||
548 | # | ||
549 | # Hardware I/O ports | ||
550 | # | ||
551 | # CONFIG_SERIO is not set | ||
552 | # CONFIG_GAMEPORT is not set | ||
553 | |||
554 | # | ||
555 | # Character devices | ||
556 | # | ||
557 | # CONFIG_VT is not set | ||
558 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
559 | |||
560 | # | ||
561 | # Serial drivers | ||
562 | # | ||
563 | CONFIG_SERIAL_8250=y | ||
564 | CONFIG_SERIAL_8250_CONSOLE=y | ||
565 | CONFIG_SERIAL_8250_PCI=y | ||
566 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
567 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||
568 | CONFIG_SERIAL_8250_EXTENDED=y | ||
569 | # CONFIG_SERIAL_8250_MANY_PORTS is not set | ||
570 | CONFIG_SERIAL_8250_SHARE_IRQ=y | ||
571 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set | ||
572 | # CONFIG_SERIAL_8250_RSA is not set | ||
573 | |||
574 | # | ||
575 | # Non-8250 serial port support | ||
576 | # | ||
577 | # CONFIG_SERIAL_UARTLITE is not set | ||
578 | CONFIG_SERIAL_CORE=y | ||
579 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
580 | # CONFIG_SERIAL_JSM is not set | ||
581 | CONFIG_SERIAL_OF_PLATFORM=y | ||
582 | CONFIG_UNIX98_PTYS=y | ||
583 | CONFIG_LEGACY_PTYS=y | ||
584 | CONFIG_LEGACY_PTY_COUNT=256 | ||
585 | # CONFIG_IPMI_HANDLER is not set | ||
586 | # CONFIG_HW_RANDOM is not set | ||
587 | # CONFIG_NVRAM is not set | ||
588 | # CONFIG_GEN_RTC is not set | ||
589 | # CONFIG_R3964 is not set | ||
590 | # CONFIG_APPLICOM is not set | ||
591 | # CONFIG_RAW_DRIVER is not set | ||
592 | # CONFIG_TCG_TPM is not set | ||
593 | CONFIG_DEVPORT=y | ||
594 | # CONFIG_I2C is not set | ||
595 | |||
596 | # | ||
597 | # SPI support | ||
598 | # | ||
599 | # CONFIG_SPI is not set | ||
600 | # CONFIG_SPI_MASTER is not set | ||
601 | # CONFIG_W1 is not set | ||
602 | # CONFIG_POWER_SUPPLY is not set | ||
603 | # CONFIG_HWMON is not set | ||
604 | # CONFIG_WATCHDOG is not set | ||
605 | |||
606 | # | ||
607 | # Sonics Silicon Backplane | ||
608 | # | ||
609 | CONFIG_SSB_POSSIBLE=y | ||
610 | # CONFIG_SSB is not set | ||
611 | |||
612 | # | ||
613 | # Multifunction device drivers | ||
614 | # | ||
615 | # CONFIG_MFD_SM501 is not set | ||
616 | |||
617 | # | ||
618 | # Multimedia devices | ||
619 | # | ||
620 | # CONFIG_VIDEO_DEV is not set | ||
621 | # CONFIG_DVB_CORE is not set | ||
622 | # CONFIG_DAB is not set | ||
623 | |||
624 | # | ||
625 | # Graphics support | ||
626 | # | ||
627 | # CONFIG_AGP is not set | ||
628 | # CONFIG_DRM is not set | ||
629 | # CONFIG_VGASTATE is not set | ||
630 | CONFIG_VIDEO_OUTPUT_CONTROL=m | ||
631 | # CONFIG_FB is not set | ||
632 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
633 | |||
634 | # | ||
635 | # Display device support | ||
636 | # | ||
637 | # CONFIG_DISPLAY_SUPPORT is not set | ||
638 | |||
639 | # | ||
640 | # Sound | ||
641 | # | ||
642 | # CONFIG_SOUND is not set | ||
643 | CONFIG_USB_SUPPORT=y | ||
644 | CONFIG_USB_ARCH_HAS_HCD=y | ||
645 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
646 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
647 | CONFIG_USB=y | ||
648 | # CONFIG_USB_DEBUG is not set | ||
649 | |||
650 | # | ||
651 | # Miscellaneous USB options | ||
652 | # | ||
653 | CONFIG_USB_DEVICEFS=y | ||
654 | CONFIG_USB_DEVICE_CLASS=y | ||
655 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
656 | # CONFIG_USB_OTG is not set | ||
657 | |||
658 | # | ||
659 | # USB Host Controller Drivers | ||
660 | # | ||
661 | # CONFIG_USB_EHCI_HCD is not set | ||
662 | # CONFIG_USB_ISP116X_HCD is not set | ||
663 | CONFIG_USB_OHCI_HCD=y | ||
664 | CONFIG_USB_OHCI_HCD_PPC_OF=y | ||
665 | CONFIG_USB_OHCI_HCD_PPC_OF_BE=y | ||
666 | CONFIG_USB_OHCI_HCD_PPC_OF_LE=y | ||
667 | CONFIG_USB_OHCI_HCD_PCI=y | ||
668 | CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y | ||
669 | CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y | ||
670 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
671 | # CONFIG_USB_UHCI_HCD is not set | ||
672 | # CONFIG_USB_SL811_HCD is not set | ||
673 | # CONFIG_USB_R8A66597_HCD is not set | ||
674 | |||
675 | # | ||
676 | # USB Device Class drivers | ||
677 | # | ||
678 | # CONFIG_USB_ACM is not set | ||
679 | # CONFIG_USB_PRINTER is not set | ||
680 | |||
681 | # | ||
682 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
683 | # | ||
684 | |||
685 | # | ||
686 | # may also be needed; see USB_STORAGE Help for more information | ||
687 | # | ||
688 | # CONFIG_USB_LIBUSUAL is not set | ||
689 | |||
690 | # | ||
691 | # USB Imaging devices | ||
692 | # | ||
693 | # CONFIG_USB_MDC800 is not set | ||
694 | CONFIG_USB_MON=y | ||
695 | |||
696 | # | ||
697 | # USB port drivers | ||
698 | # | ||
699 | |||
700 | # | ||
701 | # USB Serial Converter support | ||
702 | # | ||
703 | # CONFIG_USB_SERIAL is not set | ||
704 | |||
705 | # | ||
706 | # USB Miscellaneous drivers | ||
707 | # | ||
708 | # CONFIG_USB_EMI62 is not set | ||
709 | # CONFIG_USB_EMI26 is not set | ||
710 | # CONFIG_USB_ADUTUX is not set | ||
711 | # CONFIG_USB_AUERSWALD is not set | ||
712 | # CONFIG_USB_RIO500 is not set | ||
713 | # CONFIG_USB_LEGOTOWER is not set | ||
714 | # CONFIG_USB_LCD is not set | ||
715 | # CONFIG_USB_BERRY_CHARGE is not set | ||
716 | # CONFIG_USB_LED is not set | ||
717 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
718 | # CONFIG_USB_CYTHERM is not set | ||
719 | # CONFIG_USB_PHIDGET is not set | ||
720 | # CONFIG_USB_IDMOUSE is not set | ||
721 | # CONFIG_USB_FTDI_ELAN is not set | ||
722 | # CONFIG_USB_APPLEDISPLAY is not set | ||
723 | # CONFIG_USB_LD is not set | ||
724 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
725 | # CONFIG_USB_IOWARRIOR is not set | ||
726 | # CONFIG_USB_TEST is not set | ||
727 | |||
728 | # | ||
729 | # USB DSL modem support | ||
730 | # | ||
731 | |||
732 | # | ||
733 | # USB Gadget Support | ||
734 | # | ||
735 | # CONFIG_USB_GADGET is not set | ||
736 | # CONFIG_MMC is not set | ||
737 | # CONFIG_NEW_LEDS is not set | ||
738 | # CONFIG_INFINIBAND is not set | ||
739 | # CONFIG_EDAC is not set | ||
740 | # CONFIG_RTC_CLASS is not set | ||
741 | |||
742 | # | ||
743 | # Userspace I/O | ||
744 | # | ||
745 | # CONFIG_UIO is not set | ||
746 | |||
747 | # | ||
748 | # File systems | ||
749 | # | ||
750 | CONFIG_EXT2_FS=y | ||
751 | # CONFIG_EXT2_FS_XATTR is not set | ||
752 | # CONFIG_EXT2_FS_XIP is not set | ||
753 | # CONFIG_EXT3_FS is not set | ||
754 | # CONFIG_EXT4DEV_FS is not set | ||
755 | # CONFIG_REISERFS_FS is not set | ||
756 | # CONFIG_JFS_FS is not set | ||
757 | # CONFIG_FS_POSIX_ACL is not set | ||
758 | # CONFIG_XFS_FS is not set | ||
759 | # CONFIG_GFS2_FS is not set | ||
760 | # CONFIG_OCFS2_FS is not set | ||
761 | # CONFIG_MINIX_FS is not set | ||
762 | # CONFIG_ROMFS_FS is not set | ||
763 | CONFIG_INOTIFY=y | ||
764 | CONFIG_INOTIFY_USER=y | ||
765 | # CONFIG_QUOTA is not set | ||
766 | CONFIG_DNOTIFY=y | ||
767 | # CONFIG_AUTOFS_FS is not set | ||
768 | # CONFIG_AUTOFS4_FS is not set | ||
769 | # CONFIG_FUSE_FS is not set | ||
770 | |||
771 | # | ||
772 | # CD-ROM/DVD Filesystems | ||
773 | # | ||
774 | # CONFIG_ISO9660_FS is not set | ||
775 | # CONFIG_UDF_FS is not set | ||
776 | |||
777 | # | ||
778 | # DOS/FAT/NT Filesystems | ||
779 | # | ||
780 | # CONFIG_MSDOS_FS is not set | ||
781 | # CONFIG_VFAT_FS is not set | ||
782 | # CONFIG_NTFS_FS is not set | ||
783 | |||
784 | # | ||
785 | # Pseudo filesystems | ||
786 | # | ||
787 | CONFIG_PROC_FS=y | ||
788 | CONFIG_PROC_KCORE=y | ||
789 | CONFIG_PROC_SYSCTL=y | ||
790 | CONFIG_SYSFS=y | ||
791 | CONFIG_TMPFS=y | ||
792 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
793 | # CONFIG_HUGETLB_PAGE is not set | ||
794 | # CONFIG_CONFIGFS_FS is not set | ||
795 | |||
796 | # | ||
797 | # Miscellaneous filesystems | ||
798 | # | ||
799 | # CONFIG_ADFS_FS is not set | ||
800 | # CONFIG_AFFS_FS is not set | ||
801 | # CONFIG_HFS_FS is not set | ||
802 | # CONFIG_HFSPLUS_FS is not set | ||
803 | # CONFIG_BEFS_FS is not set | ||
804 | # CONFIG_BFS_FS is not set | ||
805 | # CONFIG_EFS_FS is not set | ||
806 | # CONFIG_JFFS2_FS is not set | ||
807 | CONFIG_CRAMFS=y | ||
808 | # CONFIG_VXFS_FS is not set | ||
809 | # CONFIG_HPFS_FS is not set | ||
810 | # CONFIG_QNX4FS_FS is not set | ||
811 | # CONFIG_SYSV_FS is not set | ||
812 | # CONFIG_UFS_FS is not set | ||
813 | CONFIG_NETWORK_FILESYSTEMS=y | ||
814 | CONFIG_NFS_FS=y | ||
815 | CONFIG_NFS_V3=y | ||
816 | # CONFIG_NFS_V3_ACL is not set | ||
817 | # CONFIG_NFS_V4 is not set | ||
818 | # CONFIG_NFS_DIRECTIO is not set | ||
819 | # CONFIG_NFSD is not set | ||
820 | CONFIG_ROOT_NFS=y | ||
821 | CONFIG_LOCKD=y | ||
822 | CONFIG_LOCKD_V4=y | ||
823 | CONFIG_NFS_COMMON=y | ||
824 | CONFIG_SUNRPC=y | ||
825 | # CONFIG_SUNRPC_BIND34 is not set | ||
826 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
827 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
828 | # CONFIG_SMB_FS is not set | ||
829 | # CONFIG_CIFS is not set | ||
830 | # CONFIG_NCP_FS is not set | ||
831 | # CONFIG_CODA_FS is not set | ||
832 | # CONFIG_AFS_FS is not set | ||
833 | |||
834 | # | ||
835 | # Partition Types | ||
836 | # | ||
837 | # CONFIG_PARTITION_ADVANCED is not set | ||
838 | CONFIG_MSDOS_PARTITION=y | ||
839 | # CONFIG_NLS is not set | ||
840 | # CONFIG_DLM is not set | ||
841 | # CONFIG_UCC_SLOW is not set | ||
842 | |||
843 | # | ||
844 | # Library routines | ||
845 | # | ||
846 | CONFIG_BITREVERSE=y | ||
847 | # CONFIG_CRC_CCITT is not set | ||
848 | # CONFIG_CRC16 is not set | ||
849 | # CONFIG_CRC_ITU_T is not set | ||
850 | CONFIG_CRC32=y | ||
851 | # CONFIG_CRC7 is not set | ||
852 | # CONFIG_LIBCRC32C is not set | ||
853 | CONFIG_ZLIB_INFLATE=y | ||
854 | CONFIG_PLIST=y | ||
855 | CONFIG_HAS_IOMEM=y | ||
856 | CONFIG_HAS_IOPORT=y | ||
857 | CONFIG_HAS_DMA=y | ||
858 | CONFIG_INSTRUMENTATION=y | ||
859 | # CONFIG_PROFILING is not set | ||
860 | # CONFIG_KPROBES is not set | ||
861 | # CONFIG_MARKERS is not set | ||
862 | |||
863 | # | ||
864 | # Kernel hacking | ||
865 | # | ||
866 | # CONFIG_PRINTK_TIME is not set | ||
867 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
868 | CONFIG_ENABLE_MUST_CHECK=y | ||
869 | CONFIG_MAGIC_SYSRQ=y | ||
870 | # CONFIG_UNUSED_SYMBOLS is not set | ||
871 | # CONFIG_DEBUG_FS is not set | ||
872 | # CONFIG_HEADERS_CHECK is not set | ||
873 | CONFIG_DEBUG_KERNEL=y | ||
874 | # CONFIG_DEBUG_SHIRQ is not set | ||
875 | CONFIG_DETECT_SOFTLOCKUP=y | ||
876 | CONFIG_SCHED_DEBUG=y | ||
877 | # CONFIG_SCHEDSTATS is not set | ||
878 | # CONFIG_TIMER_STATS is not set | ||
879 | # CONFIG_SLUB_DEBUG_ON is not set | ||
880 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
881 | # CONFIG_RT_MUTEX_TESTER is not set | ||
882 | # CONFIG_DEBUG_SPINLOCK is not set | ||
883 | # CONFIG_DEBUG_MUTEXES is not set | ||
884 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
885 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
886 | # CONFIG_DEBUG_KOBJECT is not set | ||
887 | CONFIG_DEBUG_BUGVERBOSE=y | ||
888 | # CONFIG_DEBUG_INFO is not set | ||
889 | # CONFIG_DEBUG_VM is not set | ||
890 | # CONFIG_DEBUG_LIST is not set | ||
891 | # CONFIG_DEBUG_SG is not set | ||
892 | CONFIG_FORCED_INLINING=y | ||
893 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
894 | # CONFIG_RCU_TORTURE_TEST is not set | ||
895 | # CONFIG_FAULT_INJECTION is not set | ||
896 | # CONFIG_SAMPLES is not set | ||
897 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
898 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
899 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
900 | # CONFIG_DEBUGGER is not set | ||
901 | # CONFIG_BDI_SWITCH is not set | ||
902 | # CONFIG_PPC_EARLY_DEBUG is not set | ||
903 | |||
904 | # | ||
905 | # Security options | ||
906 | # | ||
907 | # CONFIG_KEYS is not set | ||
908 | # CONFIG_SECURITY is not set | ||
909 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
910 | CONFIG_CRYPTO=y | ||
911 | CONFIG_CRYPTO_ALGAPI=y | ||
912 | CONFIG_CRYPTO_BLKCIPHER=y | ||
913 | CONFIG_CRYPTO_MANAGER=y | ||
914 | # CONFIG_CRYPTO_HMAC is not set | ||
915 | # CONFIG_CRYPTO_XCBC is not set | ||
916 | # CONFIG_CRYPTO_NULL is not set | ||
917 | # CONFIG_CRYPTO_MD4 is not set | ||
918 | CONFIG_CRYPTO_MD5=y | ||
919 | # CONFIG_CRYPTO_SHA1 is not set | ||
920 | # CONFIG_CRYPTO_SHA256 is not set | ||
921 | # CONFIG_CRYPTO_SHA512 is not set | ||
922 | # CONFIG_CRYPTO_WP512 is not set | ||
923 | # CONFIG_CRYPTO_TGR192 is not set | ||
924 | # CONFIG_CRYPTO_GF128MUL is not set | ||
925 | CONFIG_CRYPTO_ECB=y | ||
926 | CONFIG_CRYPTO_CBC=y | ||
927 | CONFIG_CRYPTO_PCBC=y | ||
928 | # CONFIG_CRYPTO_LRW is not set | ||
929 | # CONFIG_CRYPTO_XTS is not set | ||
930 | # CONFIG_CRYPTO_CRYPTD is not set | ||
931 | CONFIG_CRYPTO_DES=y | ||
932 | # CONFIG_CRYPTO_FCRYPT is not set | ||
933 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
934 | # CONFIG_CRYPTO_TWOFISH is not set | ||
935 | # CONFIG_CRYPTO_SERPENT is not set | ||
936 | # CONFIG_CRYPTO_AES is not set | ||
937 | # CONFIG_CRYPTO_CAST5 is not set | ||
938 | # CONFIG_CRYPTO_CAST6 is not set | ||
939 | # CONFIG_CRYPTO_TEA is not set | ||
940 | # CONFIG_CRYPTO_ARC4 is not set | ||
941 | # CONFIG_CRYPTO_KHAZAD is not set | ||
942 | # CONFIG_CRYPTO_ANUBIS is not set | ||
943 | # CONFIG_CRYPTO_SEED is not set | ||
944 | # CONFIG_CRYPTO_DEFLATE is not set | ||
945 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
946 | # CONFIG_CRYPTO_CRC32C is not set | ||
947 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
948 | # CONFIG_CRYPTO_TEST is not set | ||
949 | # CONFIG_CRYPTO_AUTHENC is not set | ||
950 | CONFIG_CRYPTO_HW=y | ||
951 | # CONFIG_PPC_CLOCK is not set | ||
diff --git a/arch/powerpc/platforms/40x/Kconfig b/arch/powerpc/platforms/40x/Kconfig index 8f6699fcc145..b8f0a6c16486 100644 --- a/arch/powerpc/platforms/40x/Kconfig +++ b/arch/powerpc/platforms/40x/Kconfig | |||
@@ -14,20 +14,14 @@ | |||
14 | # help | 14 | # help |
15 | # This option enables support for the CPCI405 board. | 15 | # This option enables support for the CPCI405 board. |
16 | 16 | ||
17 | #config EP405 | 17 | config EP405 |
18 | # bool "EP405/EP405PC" | 18 | bool "EP405/EP405PC" |
19 | # depends on 40x | 19 | depends on 40x |
20 | # default n | 20 | default n |
21 | # select 405GP | 21 | select 405GP |
22 | # help | 22 | select PCI |
23 | # This option enables support for the EP405/EP405PC boards. | 23 | help |
24 | 24 | This option enables support for the EP405/EP405PC boards. | |
25 | #config EP405PC | ||
26 | # bool "EP405PC Support" | ||
27 | # depends on EP405 | ||
28 | # default y | ||
29 | # help | ||
30 | # This option enables support for the extra features of the EP405PC board. | ||
31 | 25 | ||
32 | config KILAUEA | 26 | config KILAUEA |
33 | bool "Kilauea" | 27 | bool "Kilauea" |
diff --git a/arch/powerpc/platforms/40x/Makefile b/arch/powerpc/platforms/40x/Makefile index 51dadeee6fc6..0f42fd481c77 100644 --- a/arch/powerpc/platforms/40x/Makefile +++ b/arch/powerpc/platforms/40x/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | obj-$(CONFIG_KILAUEA) += kilauea.o | 1 | obj-$(CONFIG_KILAUEA) += kilauea.o |
2 | obj-$(CONFIG_WALNUT) += walnut.o | 2 | obj-$(CONFIG_WALNUT) += walnut.o |
3 | obj-$(CONFIG_XILINX_VIRTEX_GENERIC_BOARD) += virtex.o | 3 | obj-$(CONFIG_XILINX_VIRTEX_GENERIC_BOARD) += virtex.o |
4 | obj-$(CONFIG_EP405) += ep405.o | ||
diff --git a/arch/powerpc/platforms/40x/ep405.c b/arch/powerpc/platforms/40x/ep405.c new file mode 100644 index 000000000000..ba84a41e63e6 --- /dev/null +++ b/arch/powerpc/platforms/40x/ep405.c | |||
@@ -0,0 +1,124 @@ | |||
1 | /* | ||
2 | * Architecture- / platform-specific boot-time initialization code for | ||
3 | * IBM PowerPC 4xx based boards. Adapted from original | ||
4 | * code by Gary Thomas, Cort Dougan <cort@fsmlabs.com>, and Dan Malek | ||
5 | * <dan@net4x.com>. | ||
6 | * | ||
7 | * Copyright(c) 1999-2000 Grant Erickson <grant@lcse.umn.edu> | ||
8 | * | ||
9 | * Rewritten and ported to the merged powerpc tree: | ||
10 | * Copyright 2007 IBM Corporation | ||
11 | * Josh Boyer <jwboyer@linux.vnet.ibm.com> | ||
12 | * | ||
13 | * Adapted to EP405 by Ben. Herrenschmidt <benh@kernel.crashing.org> | ||
14 | * | ||
15 | * TODO: Wire up the PCI IRQ mux and the southbridge interrupts | ||
16 | * | ||
17 | * 2002 (c) MontaVista, Software, Inc. This file is licensed under | ||
18 | * the terms of the GNU General Public License version 2. This program | ||
19 | * is licensed "as is" without any warranty of any kind, whether express | ||
20 | * or implied. | ||
21 | */ | ||
22 | |||
23 | #include <linux/init.h> | ||
24 | #include <linux/of_platform.h> | ||
25 | |||
26 | #include <asm/machdep.h> | ||
27 | #include <asm/prom.h> | ||
28 | #include <asm/udbg.h> | ||
29 | #include <asm/time.h> | ||
30 | #include <asm/uic.h> | ||
31 | #include <asm/pci-bridge.h> | ||
32 | |||
33 | static struct device_node *bcsr_node; | ||
34 | static void __iomem *bcsr_regs; | ||
35 | |||
36 | /* BCSR registers */ | ||
37 | #define BCSR_ID 0 | ||
38 | #define BCSR_PCI_CTRL 1 | ||
39 | #define BCSR_FLASH_NV_POR_CTRL 2 | ||
40 | #define BCSR_FENET_UART_CTRL 3 | ||
41 | #define BCSR_PCI_IRQ 4 | ||
42 | #define BCSR_XIRQ_SELECT 5 | ||
43 | #define BCSR_XIRQ_ROUTING 6 | ||
44 | #define BCSR_XIRQ_STATUS 7 | ||
45 | #define BCSR_XIRQ_STATUS2 8 | ||
46 | #define BCSR_SW_STAT_LED_CTRL 9 | ||
47 | #define BCSR_GPIO_IRQ_PAR_CTRL 10 | ||
48 | /* there's more, can't be bothered typing them tho */ | ||
49 | |||
50 | |||
51 | static struct of_device_id ep405_of_bus[] = { | ||
52 | { .compatible = "ibm,plb3", }, | ||
53 | { .compatible = "ibm,opb", }, | ||
54 | { .compatible = "ibm,ebc", }, | ||
55 | {}, | ||
56 | }; | ||
57 | |||
58 | static int __init ep405_device_probe(void) | ||
59 | { | ||
60 | if (!machine_is(ep405)) | ||
61 | return 0; | ||
62 | |||
63 | of_platform_bus_probe(NULL, ep405_of_bus, NULL); | ||
64 | |||
65 | return 0; | ||
66 | } | ||
67 | device_initcall(ep405_device_probe); | ||
68 | |||
69 | static void __init ep405_init_bcsr(void) | ||
70 | { | ||
71 | const u8 *irq_routing; | ||
72 | int i; | ||
73 | |||
74 | /* Find the bloody thing & map it */ | ||
75 | bcsr_node = of_find_compatible_node(NULL, NULL, "ep405-bcsr"); | ||
76 | if (bcsr_node == NULL) { | ||
77 | printk(KERN_ERR "EP405 BCSR not found !\n"); | ||
78 | return; | ||
79 | } | ||
80 | bcsr_regs = of_iomap(bcsr_node, 0); | ||
81 | if (bcsr_regs == NULL) { | ||
82 | printk(KERN_ERR "EP405 BCSR failed to map !\n"); | ||
83 | return; | ||
84 | } | ||
85 | |||
86 | /* Get the irq-routing property and apply the routing to the CPLD */ | ||
87 | irq_routing = of_get_property(bcsr_node, "irq-routing", NULL); | ||
88 | if (irq_routing == NULL) | ||
89 | return; | ||
90 | for (i = 0; i < 16; i++) { | ||
91 | u8 irq = irq_routing[i]; | ||
92 | out_8(bcsr_regs + BCSR_XIRQ_SELECT, i); | ||
93 | out_8(bcsr_regs + BCSR_XIRQ_ROUTING, irq); | ||
94 | } | ||
95 | in_8(bcsr_regs + BCSR_XIRQ_SELECT); | ||
96 | mb(); | ||
97 | out_8(bcsr_regs + BCSR_GPIO_IRQ_PAR_CTRL, 0xfe); | ||
98 | } | ||
99 | |||
100 | static void __init ep405_setup_arch(void) | ||
101 | { | ||
102 | /* Find & init the BCSR CPLD */ | ||
103 | ep405_init_bcsr(); | ||
104 | } | ||
105 | |||
106 | static int __init ep405_probe(void) | ||
107 | { | ||
108 | unsigned long root = of_get_flat_dt_root(); | ||
109 | |||
110 | if (!of_flat_dt_is_compatible(root, "ep405")) | ||
111 | return 0; | ||
112 | |||
113 | return 1; | ||
114 | } | ||
115 | |||
116 | define_machine(ep405) { | ||
117 | .name = "EP405", | ||
118 | .probe = ep405_probe, | ||
119 | .setup_arch = ep405_setup_arch, | ||
120 | .progress = udbg_progress, | ||
121 | .init_IRQ = uic_init_tree, | ||
122 | .get_irq = uic_get_irq, | ||
123 | .calibrate_decr = generic_calibrate_decr, | ||
124 | }; | ||