aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/boot/4xx.c55
-rw-r--r--arch/powerpc/boot/4xx.h1
-rw-r--r--arch/powerpc/boot/Makefile3
-rw-r--r--arch/powerpc/boot/dts/ep405.dts221
-rw-r--r--arch/powerpc/boot/ep405.c74
-rw-r--r--arch/powerpc/boot/treeboot-walnut.c49
-rwxr-xr-xarch/powerpc/boot/wrapper2
-rw-r--r--arch/powerpc/configs/ep405_defconfig951
-rw-r--r--arch/powerpc/platforms/40x/Kconfig22
-rw-r--r--arch/powerpc/platforms/40x/Makefile1
-rw-r--r--arch/powerpc/platforms/40x/ep405.c124
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
180void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1) 180void 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
305void 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);
18void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1); 18void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1);
19void ibm4xx_fixup_ebc_ranges(const char *ebc); 19void ibm4xx_fixup_ebc_ranges(const char *ebc);
20void ibm440ep_fixup_clocks(unsigned int sysclk, unsigned int ser_clk); 20void ibm440ep_fixup_clocks(unsigned int sysclk, unsigned int ser_clk);
21void 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
62src-boot := $(src-wlib) $(src-plat) empty.c 62src-boot := $(src-wlib) $(src-plat) empty.c
63 63
64src-boot := $(addprefix $(obj)/, $(src-boot)) 64src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -189,6 +189,7 @@ image-$(CONFIG_DEFAULT_UIMAGE) += uImage
189ifneq ($(CONFIG_DEVICE_TREE),"") 189ifneq ($(CONFIG_DEVICE_TREE),"")
190image-$(CONFIG_PPC_8xx) += cuImage.8xx 190image-$(CONFIG_PPC_8xx) += cuImage.8xx
191image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc 191image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc
192image-$(CONFIG_EP405) += zImage.ep405
192image-$(CONFIG_8260) += cuImage.pq2 193image-$(CONFIG_8260) += cuImage.pq2
193image-$(CONFIG_PPC_MPC52xx) += cuImage.52xx 194image-$(CONFIG_PPC_MPC52xx) += cuImage.52xx
194image-$(CONFIG_PPC_83xx) += cuImage.83xx 195image-$(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
24static char *table;
25static u64 mem_size;
26
27static 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
56void 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
21BSS_STACK(4096); 21BSS_STACK(4096);
22 22
23void 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
72static void walnut_flashsel_fixup(void) 23static 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 ;;
171ep88xc) 171ep88xc|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
14CONFIG_40x=y
15# CONFIG_44x is not set
16# CONFIG_E200 is not set
17CONFIG_4xx=y
18# CONFIG_PPC_MM_SLICES is not set
19CONFIG_NOT_COHERENT_CACHE=y
20CONFIG_PPC32=y
21CONFIG_WORD_SIZE=32
22CONFIG_PPC_MERGE=y
23CONFIG_MMU=y
24CONFIG_GENERIC_CMOS_UPDATE=y
25CONFIG_GENERIC_TIME=y
26CONFIG_GENERIC_TIME_VSYSCALL=y
27CONFIG_GENERIC_CLOCKEVENTS=y
28CONFIG_GENERIC_HARDIRQS=y
29CONFIG_IRQ_PER_CPU=y
30CONFIG_STACKTRACE_SUPPORT=y
31CONFIG_LOCKDEP_SUPPORT=y
32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
33CONFIG_ARCH_HAS_ILOG2_U32=y
34CONFIG_GENERIC_HWEIGHT=y
35CONFIG_GENERIC_CALIBRATE_DELAY=y
36CONFIG_GENERIC_FIND_NEXT_BIT=y
37# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
38CONFIG_PPC=y
39CONFIG_EARLY_PRINTK=y
40CONFIG_GENERIC_NVRAM=y
41CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
42CONFIG_ARCH_MAY_HAVE_PC_FDC=y
43CONFIG_PPC_OF=y
44CONFIG_OF=y
45CONFIG_PPC_UDBG_16550=y
46# CONFIG_GENERIC_TBSYNC is not set
47CONFIG_AUDIT_ARCH=y
48CONFIG_GENERIC_BUG=y
49# CONFIG_DEFAULT_UIMAGE is not set
50CONFIG_PPC_DCR_NATIVE=y
51# CONFIG_PPC_DCR_MMIO is not set
52CONFIG_PPC_DCR=y
53CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
54
55#
56# General setup
57#
58CONFIG_EXPERIMENTAL=y
59CONFIG_BROKEN_ON_SMP=y
60CONFIG_INIT_ENV_ARG_LIMIT=32
61CONFIG_LOCALVERSION=""
62CONFIG_LOCALVERSION_AUTO=y
63CONFIG_SWAP=y
64CONFIG_SYSVIPC=y
65CONFIG_SYSVIPC_SYSCTL=y
66CONFIG_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
72CONFIG_LOG_BUF_SHIFT=14
73# CONFIG_CGROUPS is not set
74CONFIG_FAIR_GROUP_SCHED=y
75CONFIG_FAIR_USER_SCHED=y
76# CONFIG_FAIR_CGROUP_SCHED is not set
77CONFIG_SYSFS_DEPRECATED=y
78# CONFIG_RELAY is not set
79CONFIG_BLK_DEV_INITRD=y
80CONFIG_INITRAMFS_SOURCE=""
81# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
82CONFIG_SYSCTL=y
83CONFIG_EMBEDDED=y
84CONFIG_SYSCTL_SYSCALL=y
85CONFIG_KALLSYMS=y
86CONFIG_KALLSYMS_ALL=y
87CONFIG_KALLSYMS_EXTRA_PASS=y
88CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y
90CONFIG_BUG=y
91CONFIG_ELF_CORE=y
92CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y
94CONFIG_ANON_INODES=y
95CONFIG_EPOLL=y
96CONFIG_SIGNALFD=y
97CONFIG_EVENTFD=y
98CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y
100CONFIG_SLUB_DEBUG=y
101# CONFIG_SLAB is not set
102CONFIG_SLUB=y
103# CONFIG_SLOB is not set
104CONFIG_RT_MUTEXES=y
105# CONFIG_TINY_SHMEM is not set
106CONFIG_BASE_SMALL=0
107CONFIG_MODULES=y
108CONFIG_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
112CONFIG_KMOD=y
113CONFIG_BLOCK=y
114CONFIG_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#
122CONFIG_IOSCHED_NOOP=y
123CONFIG_IOSCHED_AS=y
124CONFIG_IOSCHED_DEADLINE=y
125CONFIG_IOSCHED_CFQ=y
126CONFIG_DEFAULT_AS=y
127# CONFIG_DEFAULT_DEADLINE is not set
128# CONFIG_DEFAULT_CFQ is not set
129# CONFIG_DEFAULT_NOOP is not set
130CONFIG_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
140CONFIG_EP405=y
141# CONFIG_KILAUEA is not set
142# CONFIG_WALNUT is not set
143# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set
144CONFIG_405GP=y
145CONFIG_IBM405_ERR77=y
146CONFIG_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
167CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
168# CONFIG_HZ_100 is not set
169CONFIG_HZ_250=y
170# CONFIG_HZ_300 is not set
171# CONFIG_HZ_1000 is not set
172CONFIG_HZ=250
173CONFIG_PREEMPT_NONE=y
174# CONFIG_PREEMPT_VOLUNTARY is not set
175# CONFIG_PREEMPT is not set
176CONFIG_BINFMT_ELF=y
177# CONFIG_BINFMT_MISC is not set
178# CONFIG_MATH_EMULATION is not set
179CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
180CONFIG_ARCH_FLATMEM_ENABLE=y
181CONFIG_ARCH_POPULATES_NODE_MAP=y
182CONFIG_SELECT_MEMORY_MODEL=y
183CONFIG_FLATMEM_MANUAL=y
184# CONFIG_DISCONTIGMEM_MANUAL is not set
185# CONFIG_SPARSEMEM_MANUAL is not set
186CONFIG_FLATMEM=y
187CONFIG_FLAT_NODE_MEM_MAP=y
188# CONFIG_SPARSEMEM_STATIC is not set
189# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
190CONFIG_SPLIT_PTLOCK_CPUS=4
191# CONFIG_RESOURCES_64BIT is not set
192CONFIG_ZONE_DMA_FLAG=1
193CONFIG_BOUNCE=y
194CONFIG_VIRT_TO_BUS=y
195CONFIG_PROC_DEVICETREE=y
196# CONFIG_CMDLINE_BOOL is not set
197# CONFIG_PM is not set
198CONFIG_SUSPEND_UP_POSSIBLE=y
199CONFIG_HIBERNATION_UP_POSSIBLE=y
200CONFIG_SECCOMP=y
201CONFIG_WANT_DEVICE_TREE=y
202CONFIG_DEVICE_TREE="ep405.dts"
203CONFIG_ISA_DMA_API=y
204
205#
206# Bus options
207#
208CONFIG_ZONE_DMA=y
209CONFIG_PPC_INDIRECT_PCI=y
210CONFIG_PCI=y
211CONFIG_PCI_DOMAINS=y
212CONFIG_PCI_SYSCALL=y
213# CONFIG_PCIEPORTBUS is not set
214CONFIG_ARCH_SUPPORTS_MSI=y
215# CONFIG_PCI_MSI is not set
216CONFIG_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#
229CONFIG_HIGHMEM_START=0xfe000000
230CONFIG_LOWMEM_SIZE=0x30000000
231CONFIG_KERNEL_START=0xc0000000
232CONFIG_TASK_SIZE=0xc0000000
233CONFIG_CONSISTENT_START=0xff100000
234CONFIG_CONSISTENT_SIZE=0x00200000
235CONFIG_BOOT_LOAD=0x00400000
236
237#
238# Networking
239#
240CONFIG_NET=y
241
242#
243# Networking options
244#
245CONFIG_PACKET=y
246# CONFIG_PACKET_MMAP is not set
247CONFIG_UNIX=y
248# CONFIG_NET_KEY is not set
249CONFIG_INET=y
250# CONFIG_IP_MULTICAST is not set
251# CONFIG_IP_ADVANCED_ROUTER is not set
252CONFIG_IP_FIB_HASH=y
253CONFIG_IP_PNP=y
254CONFIG_IP_PNP_DHCP=y
255CONFIG_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
270CONFIG_INET_DIAG=y
271CONFIG_INET_TCP_DIAG=y
272# CONFIG_TCP_CONG_ADVANCED is not set
273CONFIG_TCP_CONG_CUBIC=y
274CONFIG_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#
323CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
324CONFIG_STANDALONE=y
325CONFIG_PREVENT_FIRMWARE_BUILD=y
326CONFIG_FW_LOADER=y
327# CONFIG_DEBUG_DRIVER is not set
328# CONFIG_DEBUG_DEVRES is not set
329# CONFIG_SYS_HYPERVISOR is not set
330CONFIG_CONNECTOR=y
331CONFIG_PROC_EVENTS=y
332CONFIG_MTD=y
333# CONFIG_MTD_DEBUG is not set
334# CONFIG_MTD_CONCAT is not set
335CONFIG_MTD_PARTITIONS=y
336# CONFIG_MTD_REDBOOT_PARTS is not set
337CONFIG_MTD_CMDLINE_PARTS=y
338
339#
340# User Modules And Translation Layers
341#
342CONFIG_MTD_CHAR=y
343CONFIG_MTD_BLKDEVS=m
344CONFIG_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#
356CONFIG_MTD_CFI=y
357CONFIG_MTD_JEDECPROBE=y
358CONFIG_MTD_GEN_PROBE=y
359# CONFIG_MTD_CFI_ADV_OPTIONS is not set
360CONFIG_MTD_MAP_BANK_WIDTH_1=y
361CONFIG_MTD_MAP_BANK_WIDTH_2=y
362CONFIG_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
366CONFIG_MTD_CFI_I1=y
367CONFIG_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
371CONFIG_MTD_CFI_AMDSTD=y
372# CONFIG_MTD_CFI_STAA is not set
373CONFIG_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
383CONFIG_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
409CONFIG_OF_DEVICE=y
410# CONFIG_PARPORT is not set
411CONFIG_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
422CONFIG_BLK_DEV_RAM=y
423CONFIG_BLK_DEV_RAM_COUNT=16
424CONFIG_BLK_DEV_RAM_SIZE=35000
425CONFIG_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
429CONFIG_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
454CONFIG_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
465CONFIG_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
473CONFIG_IBM_NEW_EMAC=y
474CONFIG_IBM_NEW_EMAC_RXB=128
475CONFIG_IBM_NEW_EMAC_TXB=64
476CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32
477CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256
478CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
479# CONFIG_IBM_NEW_EMAC_DEBUG is not set
480CONFIG_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
486CONFIG_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
504CONFIG_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#
563CONFIG_SERIAL_8250=y
564CONFIG_SERIAL_8250_CONSOLE=y
565CONFIG_SERIAL_8250_PCI=y
566CONFIG_SERIAL_8250_NR_UARTS=4
567CONFIG_SERIAL_8250_RUNTIME_UARTS=4
568CONFIG_SERIAL_8250_EXTENDED=y
569# CONFIG_SERIAL_8250_MANY_PORTS is not set
570CONFIG_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
578CONFIG_SERIAL_CORE=y
579CONFIG_SERIAL_CORE_CONSOLE=y
580# CONFIG_SERIAL_JSM is not set
581CONFIG_SERIAL_OF_PLATFORM=y
582CONFIG_UNIX98_PTYS=y
583CONFIG_LEGACY_PTYS=y
584CONFIG_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
593CONFIG_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#
609CONFIG_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
630CONFIG_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
643CONFIG_USB_SUPPORT=y
644CONFIG_USB_ARCH_HAS_HCD=y
645CONFIG_USB_ARCH_HAS_OHCI=y
646CONFIG_USB_ARCH_HAS_EHCI=y
647CONFIG_USB=y
648# CONFIG_USB_DEBUG is not set
649
650#
651# Miscellaneous USB options
652#
653CONFIG_USB_DEVICEFS=y
654CONFIG_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
663CONFIG_USB_OHCI_HCD=y
664CONFIG_USB_OHCI_HCD_PPC_OF=y
665CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
666CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
667CONFIG_USB_OHCI_HCD_PCI=y
668CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
669CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
670CONFIG_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
694CONFIG_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#
750CONFIG_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
763CONFIG_INOTIFY=y
764CONFIG_INOTIFY_USER=y
765# CONFIG_QUOTA is not set
766CONFIG_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#
787CONFIG_PROC_FS=y
788CONFIG_PROC_KCORE=y
789CONFIG_PROC_SYSCTL=y
790CONFIG_SYSFS=y
791CONFIG_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
807CONFIG_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
813CONFIG_NETWORK_FILESYSTEMS=y
814CONFIG_NFS_FS=y
815CONFIG_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
820CONFIG_ROOT_NFS=y
821CONFIG_LOCKD=y
822CONFIG_LOCKD_V4=y
823CONFIG_NFS_COMMON=y
824CONFIG_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
838CONFIG_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#
846CONFIG_BITREVERSE=y
847# CONFIG_CRC_CCITT is not set
848# CONFIG_CRC16 is not set
849# CONFIG_CRC_ITU_T is not set
850CONFIG_CRC32=y
851# CONFIG_CRC7 is not set
852# CONFIG_LIBCRC32C is not set
853CONFIG_ZLIB_INFLATE=y
854CONFIG_PLIST=y
855CONFIG_HAS_IOMEM=y
856CONFIG_HAS_IOPORT=y
857CONFIG_HAS_DMA=y
858CONFIG_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
867CONFIG_ENABLE_WARN_DEPRECATED=y
868CONFIG_ENABLE_MUST_CHECK=y
869CONFIG_MAGIC_SYSRQ=y
870# CONFIG_UNUSED_SYMBOLS is not set
871# CONFIG_DEBUG_FS is not set
872# CONFIG_HEADERS_CHECK is not set
873CONFIG_DEBUG_KERNEL=y
874# CONFIG_DEBUG_SHIRQ is not set
875CONFIG_DETECT_SOFTLOCKUP=y
876CONFIG_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
887CONFIG_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
892CONFIG_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
910CONFIG_CRYPTO=y
911CONFIG_CRYPTO_ALGAPI=y
912CONFIG_CRYPTO_BLKCIPHER=y
913CONFIG_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
918CONFIG_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
925CONFIG_CRYPTO_ECB=y
926CONFIG_CRYPTO_CBC=y
927CONFIG_CRYPTO_PCBC=y
928# CONFIG_CRYPTO_LRW is not set
929# CONFIG_CRYPTO_XTS is not set
930# CONFIG_CRYPTO_CRYPTD is not set
931CONFIG_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
950CONFIG_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 17config 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
32config KILAUEA 26config 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 @@
1obj-$(CONFIG_KILAUEA) += kilauea.o 1obj-$(CONFIG_KILAUEA) += kilauea.o
2obj-$(CONFIG_WALNUT) += walnut.o 2obj-$(CONFIG_WALNUT) += walnut.o
3obj-$(CONFIG_XILINX_VIRTEX_GENERIC_BOARD) += virtex.o 3obj-$(CONFIG_XILINX_VIRTEX_GENERIC_BOARD) += virtex.o
4obj-$(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
33static struct device_node *bcsr_node;
34static 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
51static struct of_device_id ep405_of_bus[] = {
52 { .compatible = "ibm,plb3", },
53 { .compatible = "ibm,opb", },
54 { .compatible = "ibm,ebc", },
55 {},
56};
57
58static 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}
67device_initcall(ep405_device_probe);
68
69static 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
100static void __init ep405_setup_arch(void)
101{
102 /* Find & init the BCSR CPLD */
103 ep405_init_bcsr();
104}
105
106static 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
116define_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};