Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[POWERPC] 4xx: EP405 boards support for arch/powerpc

Brings EP405 support to arch/powerpc. The IRQ routing for the CPLD
comes from a device-tree property, PCI is working to the point where
I can see the video card, USB device, and south bridge.

This should work with both EP405 and EP405PC.

I've not totally figured out how IRQs are wired on this hardware
though, thus at this stage, expect only USB interrupts working,
pretty much the same as what arch/ppc did.

Also, the flash, nvram, rtc and temp control still have to be wired.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>

authored by

Benjamin Herrenschmidt and committed by
Josh Boyer
61974038 9dae8afd

+1437 -66
+54 -1
arch/powerpc/boot/4xx.c
··· 179 179 #define EMAC_RESET 0x20000000 180 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 185 if (emac0) 184 186 *emac0 = EMAC_RESET; 185 187 if (emac1) 186 188 *emac1 = EMAC_RESET; 187 189 188 190 mtdcr(DCRN_MAL0_CFG, MAL_RESET); 191 + while (mfdcr(DCRN_MAL0_CFG) & MAL_RESET) {}; 189 192 } 190 193 191 194 /* Read 4xx EBC bus bridge registers to get mappings of the peripheral ··· 301 298 dt_fixup_clock("/plb/opb/serial@ef600500", uart0); 302 299 dt_fixup_clock("/plb/opb/serial@ef600600", uart0); 303 300 } 301 + 302 + void ibm405gp_fixup_clocks(unsigned int sysclk, unsigned int ser_clk) 303 + { 304 + u32 pllmr = mfdcr(DCRN_CPC0_PLLMR); 305 + u32 cpc0_cr0 = mfdcr(DCRN_405_CPC0_CR0); 306 + u32 cpc0_cr1 = mfdcr(DCRN_405_CPC0_CR1); 307 + u32 cpu, plb, opb, ebc, tb, uart0, uart1, m; 308 + u32 fwdv, fbdv, cbdv, opdv, epdv, udiv; 309 + 310 + fwdv = (8 - ((pllmr & 0xe0000000) >> 29)); 311 + fbdv = (pllmr & 0x1e000000) >> 25; 312 + cbdv = ((pllmr & 0x00060000) >> 17) + 1; 313 + opdv = ((pllmr & 0x00018000) >> 15) + 1; 314 + epdv = ((pllmr & 0x00001800) >> 13) + 2; 315 + udiv = ((cpc0_cr0 & 0x3e) >> 1) + 1; 316 + 317 + m = fwdv * fbdv * cbdv; 318 + 319 + cpu = sysclk * m / fwdv; 320 + plb = cpu / cbdv; 321 + opb = plb / opdv; 322 + ebc = plb / epdv; 323 + 324 + if (cpc0_cr0 & 0x80) { 325 + /* uart0 uses the external clock */ 326 + uart0 = ser_clk; 327 + } else { 328 + uart0 = cpu / udiv; 329 + } 330 + 331 + if (cpc0_cr0 & 0x40) { 332 + /* uart1 uses the external clock */ 333 + uart1 = ser_clk; 334 + } else { 335 + uart1 = cpu / udiv; 336 + } 337 + 338 + /* setup the timebase clock to tick at the cpu frequency */ 339 + cpc0_cr1 = cpc0_cr1 & ~0x00800000; 340 + mtdcr(DCRN_405_CPC0_CR1, cpc0_cr1); 341 + tb = cpu; 342 + 343 + dt_fixup_cpu_clocks(cpu, tb, 0); 344 + dt_fixup_clock("/plb", plb); 345 + dt_fixup_clock("/plb/opb", opb); 346 + dt_fixup_clock("/plb/ebc", ebc); 347 + dt_fixup_clock("/plb/opb/serial@ef600300", uart0); 348 + dt_fixup_clock("/plb/opb/serial@ef600400", uart1); 349 + } 350 +
+1
arch/powerpc/boot/4xx.h
··· 18 18 void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1); 19 19 void ibm4xx_fixup_ebc_ranges(const char *ebc); 20 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 23 #endif /* _POWERPC_BOOT_4XX_H_ */
+2 -1
arch/powerpc/boot/Makefile
··· 58 58 cuboot-ebony.c treeboot-ebony.c prpmc2800.c \ 59 59 ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ 60 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 62 src-boot := $(src-wlib) $(src-plat) empty.c 63 63 64 64 src-boot := $(addprefix $(obj)/, $(src-boot)) ··· 189 189 ifneq ($(CONFIG_DEVICE_TREE),"") 190 190 image-$(CONFIG_PPC_8xx) += cuImage.8xx 191 191 image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc 192 + image-$(CONFIG_EP405) += zImage.ep405 192 193 image-$(CONFIG_8260) += cuImage.pq2 193 194 image-$(CONFIG_PPC_MPC52xx) += cuImage.52xx 194 195 image-$(CONFIG_PPC_83xx) += cuImage.83xx
+221
arch/powerpc/boot/dts/ep405.dts
··· 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 + };
+74
arch/powerpc/boot/ep405.c
··· 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 + }
-49
arch/powerpc/boot/treeboot-walnut.c
··· 20 20 21 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 23 static void walnut_flashsel_fixup(void) 73 24 { 74 25 void *devp, *sram;
+1 -1
arch/powerpc/boot/wrapper
··· 168 168 ksection=.kernel:vmlinux.bin 169 169 isection=.kernel:initrd 170 170 ;; 171 - ep88xc) 171 + ep88xc|ep405) 172 172 platformo="$object/fixed-head.o $object/$platform.o" 173 173 binary=y 174 174 ;;
+951
arch/powerpc/configs/ep405_defconfig
··· 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
+8 -14
arch/powerpc/platforms/40x/Kconfig
··· 14 14 # help 15 15 # This option enables support for the CPCI405 board. 16 16 17 - #config EP405 18 - # bool "EP405/EP405PC" 19 - # depends on 40x 20 - # default n 21 - # select 405GP 22 - # help 23 - # This option enables support for the EP405/EP405PC boards. 24 - 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. 17 + config EP405 18 + bool "EP405/EP405PC" 19 + depends on 40x 20 + default n 21 + select 405GP 22 + select PCI 23 + help 24 + This option enables support for the EP405/EP405PC boards. 31 25 32 26 config KILAUEA 33 27 bool "Kilauea"
+1
arch/powerpc/platforms/40x/Makefile
··· 1 1 obj-$(CONFIG_KILAUEA) += kilauea.o 2 2 obj-$(CONFIG_WALNUT) += walnut.o 3 3 obj-$(CONFIG_XILINX_VIRTEX_GENERIC_BOARD) += virtex.o 4 + obj-$(CONFIG_EP405) += ep405.o
+124
arch/powerpc/platforms/40x/ep405.c
··· 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 + };