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

[POWERPC] 8xx/wrapper: Embedded Planet EP88xC support

This board is also resold by Freescale under the names
"QUICCStart MPC885 Evaluation System" and "CWH-PPC-885XN-VE".

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

authored by

Scott Wood and committed by
Kumar Gala
11c146cc 20906ece

+1216 -7
+3 -1
arch/powerpc/boot/Makefile
··· 51 51 src-plat := of.c cuboot-52xx.c cuboot-83xx.c cuboot-85xx.c holly.c \ 52 52 cuboot-ebony.c treeboot-ebony.c prpmc2800.c \ 53 53 ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ 54 - cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c 54 + cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \ 55 + fixed-head.S ep88xc.c 55 56 src-boot := $(src-wlib) $(src-plat) empty.c 56 57 57 58 src-boot := $(addprefix $(obj)/, $(src-boot)) ··· 145 144 146 145 ifneq ($(CONFIG_DEVICE_TREE),"") 147 146 image-$(CONFIG_PPC_8xx) += cuImage.8xx 147 + image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc 148 148 image-$(CONFIG_8260) += cuImage.pq2 149 149 image-$(CONFIG_PPC_MPC52xx) += cuImage.52xx 150 150 image-$(CONFIG_PPC_83xx) += cuImage.83xx
+203
arch/powerpc/boot/dts/ep88xc.dts
··· 1 + /* 2 + * EP88xC Device Tree Source 3 + * 4 + * Copyright 2006 MontaVista Software, Inc. 5 + * Copyright 2007 Freescale Semiconductor, Inc. 6 + * 7 + * This program is free software; you can redistribute it and/or modify it 8 + * under the terms of the GNU General Public License as published by the 9 + * Free Software Foundation; either version 2 of the License, or (at your 10 + * option) any later version. 11 + */ 12 + 13 + 14 + / { 15 + model = "EP88xC"; 16 + compatible = "fsl,ep88xc"; 17 + #address-cells = <1>; 18 + #size-cells = <1>; 19 + 20 + cpus { 21 + #address-cells = <1>; 22 + #size-cells = <0>; 23 + 24 + PowerPC,885@0 { 25 + device_type = "cpu"; 26 + reg = <0>; 27 + d-cache-line-size = <d#16>; 28 + i-cache-line-size = <d#16>; 29 + d-cache-size = <d#8192>; 30 + i-cache-size = <d#8192>; 31 + timebase-frequency = <0>; 32 + bus-frequency = <0>; 33 + clock-frequency = <0>; 34 + interrupts = <f 2>; // decrementer interrupt 35 + interrupt-parent = <&PIC>; 36 + }; 37 + }; 38 + 39 + memory { 40 + device_type = "memory"; 41 + reg = <0 0>; 42 + }; 43 + 44 + localbus@fa200100 { 45 + compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus"; 46 + #address-cells = <2>; 47 + #size-cells = <1>; 48 + reg = <fa200100 40>; 49 + 50 + ranges = < 51 + 0 0 fc000000 04000000 52 + 3 0 fa000000 01000000 53 + >; 54 + 55 + flash@0,2000000 { 56 + compatible = "cfi-flash"; 57 + reg = <0 2000000 2000000>; 58 + bank-width = <4>; 59 + device-width = <2>; 60 + }; 61 + 62 + board-control@3,400000 { 63 + reg = <3 400000 10>; 64 + compatible = "fsl,ep88xc-bcsr"; 65 + }; 66 + }; 67 + 68 + soc@fa200000 { 69 + compatible = "fsl,mpc885", "fsl,pq1-soc"; 70 + #address-cells = <1>; 71 + #size-cells = <1>; 72 + device_type = "soc"; 73 + ranges = <0 fa200000 00004000>; 74 + bus-frequency = <0>; 75 + 76 + // Temporary -- will go away once kernel uses ranges for get_immrbase(). 77 + reg = <fa200000 4000>; 78 + 79 + mdio@e00 { 80 + compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio"; 81 + reg = <e00 188>; 82 + #address-cells = <1>; 83 + #size-cells = <0>; 84 + 85 + PHY0: ethernet-phy@0 { 86 + reg = <0>; 87 + device_type = "ethernet-phy"; 88 + }; 89 + 90 + PHY1: ethernet-phy@1 { 91 + reg = <1>; 92 + device_type = "ethernet-phy"; 93 + }; 94 + }; 95 + 96 + ethernet@e00 { 97 + device_type = "network"; 98 + compatible = "fsl,mpc885-fec-enet", 99 + "fsl,pq1-fec-enet"; 100 + reg = <e00 188>; 101 + local-mac-address = [ 00 00 00 00 00 00 ]; 102 + interrupts = <3 1>; 103 + interrupt-parent = <&PIC>; 104 + phy-handle = <&PHY0>; 105 + linux,network-index = <0>; 106 + }; 107 + 108 + ethernet@1e00 { 109 + device_type = "network"; 110 + compatible = "fsl,mpc885-fec-enet", 111 + "fsl,pq1-fec-enet"; 112 + reg = <1e00 188>; 113 + local-mac-address = [ 00 00 00 00 00 00 ]; 114 + interrupts = <7 1>; 115 + interrupt-parent = <&PIC>; 116 + phy-handle = <&PHY1>; 117 + linux,network-index = <1>; 118 + }; 119 + 120 + PIC: interrupt-controller@0 { 121 + interrupt-controller; 122 + #interrupt-cells = <2>; 123 + reg = <0 24>; 124 + compatible = "fsl,mpc885-pic", "fsl,pq1-pic"; 125 + }; 126 + 127 + pcmcia@80 { 128 + #address-cells = <3>; 129 + #interrupt-cells = <1>; 130 + #size-cells = <2>; 131 + compatible = "fsl,pq-pcmcia"; 132 + device_type = "pcmcia"; 133 + reg = <80 80>; 134 + interrupt-parent = <&PIC>; 135 + interrupts = <d 1>; 136 + }; 137 + 138 + cpm@9c0 { 139 + #address-cells = <1>; 140 + #size-cells = <1>; 141 + compatible = "fsl,mpc885-cpm", "fsl,cpm1"; 142 + command-proc = <9c0>; 143 + interrupts = <0>; // cpm error interrupt 144 + interrupt-parent = <&CPM_PIC>; 145 + reg = <9c0 40 2000 1c00>; 146 + ranges; 147 + 148 + brg@9f0 { 149 + compatible = "fsl,mpc885-brg", 150 + "fsl,cpm1-brg", 151 + "fsl,cpm-brg"; 152 + reg = <9f0 10>; 153 + }; 154 + 155 + CPM_PIC: interrupt-controller@930 { 156 + interrupt-controller; 157 + #interrupt-cells = <1>; 158 + interrupts = <5 2 0 2>; 159 + interrupt-parent = <&PIC>; 160 + reg = <930 20>; 161 + compatible = "fsl,mpc885-cpm-pic", 162 + "fsl,cpm1-pic"; 163 + }; 164 + 165 + // MON-1 166 + serial@a80 { 167 + device_type = "serial"; 168 + compatible = "fsl,mpc885-smc-uart", 169 + "fsl,cpm1-smc-uart"; 170 + reg = <a80 10 3e80 40>; 171 + interrupts = <4>; 172 + interrupt-parent = <&CPM_PIC>; 173 + fsl,cpm-brg = <1>; 174 + fsl,cpm-command = <0090>; 175 + linux,planetcore-label = "SMC1"; 176 + }; 177 + 178 + // SER-1 179 + serial@a20 { 180 + device_type = "serial"; 181 + compatible = "fsl,mpc885-scc-uart", 182 + "fsl,cpm1-scc-uart"; 183 + reg = <a20 20 3d00 80>; 184 + interrupts = <1d>; 185 + interrupt-parent = <&CPM_PIC>; 186 + fsl,cpm-brg = <2>; 187 + fsl,cpm-command = <0040>; 188 + linux,planetcore-label = "SCC2"; 189 + }; 190 + 191 + usb@a00 { 192 + #address-cells = <1>; 193 + #size-cells = <0>; 194 + compatible = "fsl,mpc885-usb", 195 + "fsl,cpm1-usb"; 196 + reg = <a00 18 1c00 80>; 197 + interrupt-parent = <&CPM_PIC>; 198 + interrupts = <1e>; 199 + fsl,cpm-command = <0000>; 200 + }; 201 + }; 202 + }; 203 + };
+54
arch/powerpc/boot/ep88xc.c
··· 1 + /* 2 + * Embedded Planet EP88xC with PlanetCore firmware 3 + * 4 + * Author: Scott Wood <scottwood@freescale.com> 5 + * 6 + * Copyright (c) 2007 Freescale Semiconductor, Inc. 7 + * 8 + * This program is free software; you can redistribute it and/or modify it 9 + * under the terms of the GNU General Public License version 2 as published 10 + * by the Free Software Foundation. 11 + */ 12 + 13 + #include "ops.h" 14 + #include "stdio.h" 15 + #include "planetcore.h" 16 + #include "mpc8xx.h" 17 + 18 + static char *table; 19 + static u64 mem_size; 20 + 21 + static void platform_fixups(void) 22 + { 23 + u64 val; 24 + 25 + dt_fixup_memory(0, mem_size); 26 + planetcore_set_mac_addrs(table); 27 + 28 + if (!planetcore_get_decimal(table, PLANETCORE_KEY_CRYSTAL_HZ, &val)) { 29 + printf("No PlanetCore crystal frequency key.\r\n"); 30 + return; 31 + } 32 + 33 + mpc885_fixup_clocks(val); 34 + } 35 + 36 + void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, 37 + unsigned long r6, unsigned long r7) 38 + { 39 + table = (char *)r3; 40 + planetcore_prepare_table(table); 41 + 42 + if (!planetcore_get_decimal(table, PLANETCORE_KEY_MB_RAM, &mem_size)) 43 + return; 44 + 45 + mem_size *= 1024 * 1024; 46 + simple_alloc_init(_end, mem_size - (unsigned long)_end, 32, 64); 47 + 48 + ft_init(_dtb_start, _dtb_end - _dtb_start, 32); 49 + 50 + planetcore_set_stdout_path(table); 51 + 52 + serial_console_init(); 53 + platform_ops.fixups = platform_fixups; 54 + }
+4
arch/powerpc/boot/fixed-head.S
··· 1 + .text 2 + .global _zimage_start 3 + _zimage_start: 4 + b _zimage_start_lib
+14 -6
arch/powerpc/boot/wrapper
··· 29 29 dtb= 30 30 dts= 31 31 cacheit= 32 + binary= 32 33 gzip=.gz 33 34 34 35 # cross-compilation prefix ··· 143 142 isection=initrd 144 143 ;; 145 144 cuboot*) 145 + binary=y 146 146 gzip= 147 147 ;; 148 148 ps3) 149 149 platformo="$object/ps3-head.o $object/ps3-hvcall.o $object/ps3.o" 150 150 lds=$object/zImage.ps3.lds 151 + binary=y 151 152 gzip= 152 153 ext=bin 153 154 objflags="-O binary --set-section-flags=.bss=contents,alloc,load,data" 154 155 ksection=.kernel:vmlinux.bin 155 156 isection=.kernel:initrd 157 + ;; 158 + ep88xc) 159 + platformo="$object/fixed-head.o $object/$platform.o" 160 + binary=y 156 161 ;; 157 162 esac 158 163 ··· 231 224 base=0x`${CROSS}nm "$ofile" | grep ' _start$' | cut -d' ' -f1` 232 225 entry=`${CROSS}objdump -f "$ofile" | grep '^start address ' | cut -d' ' -f3` 233 226 227 + if [ -n "$binary" ]; then 228 + mv "$ofile" "$ofile".elf 229 + ${CROSS}objcopy -O binary "$ofile".elf "$ofile".bin 230 + fi 231 + 234 232 # post-processing needed for some platforms 235 233 case "$platform" in 236 234 pseries|chrp) ··· 246 234 $object/hack-coff "$ofile" 247 235 ;; 248 236 cuboot*) 249 - mv "$ofile" "$ofile".elf 250 - ${CROSS}objcopy -O binary "$ofile".elf "$ofile".bin 251 237 gzip -f -9 "$ofile".bin 252 238 mkimage -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \ 253 239 $uboot_version -d "$ofile".bin.gz "$ofile" ··· 269 259 # then copied to offset 0x100. At runtime the bootwrapper program 270 260 # copies the 0x100 bytes at __system_reset_kernel to addr 0x100. 271 261 272 - system_reset_overlay=0x`${CROSS}nm "$ofile" \ 262 + system_reset_overlay=0x`${CROSS}nm "$ofile".elf \ 273 263 | grep ' __system_reset_overlay$' \ 274 264 | cut -d' ' -f1` 275 265 system_reset_overlay=`printf "%d" $system_reset_overlay` 276 - system_reset_kernel=0x`${CROSS}nm "$ofile" \ 266 + system_reset_kernel=0x`${CROSS}nm "$ofile".elf \ 277 267 | grep ' __system_reset_kernel$' \ 278 268 | cut -d' ' -f1` 279 269 system_reset_kernel=`printf "%d" $system_reset_kernel` ··· 281 271 overlay_size="256" 282 272 283 273 rm -f "$object/otheros.bld" 284 - 285 - ${CROSS}objcopy -O binary "$ofile" "$ofile.bin" 286 274 287 275 msg=$(dd if="$ofile.bin" of="$ofile.bin" conv=notrunc \ 288 276 skip=$overlay_dest seek=$system_reset_kernel \
+751
arch/powerpc/configs/ep88xc_defconfig
··· 1 + # 2 + # Automatically generated make config: don't edit 3 + # Linux kernel version: 2.6.23-rc6 4 + # Fri Sep 14 14:59:56 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=y 14 + # CONFIG_40x is not set 15 + # CONFIG_44x is not set 16 + # CONFIG_E200 is not set 17 + CONFIG_8xx=y 18 + # CONFIG_PPC_MM_SLICES is not set 19 + CONFIG_NOT_COHERENT_CACHE=y 20 + CONFIG_PPC32=y 21 + CONFIG_PPC_MERGE=y 22 + CONFIG_MMU=y 23 + CONFIG_GENERIC_HARDIRQS=y 24 + CONFIG_IRQ_PER_CPU=y 25 + CONFIG_RWSEM_XCHGADD_ALGORITHM=y 26 + CONFIG_ARCH_HAS_ILOG2_U32=y 27 + CONFIG_GENERIC_HWEIGHT=y 28 + CONFIG_GENERIC_CALIBRATE_DELAY=y 29 + CONFIG_GENERIC_FIND_NEXT_BIT=y 30 + # CONFIG_ARCH_NO_VIRT_TO_BUS is not set 31 + CONFIG_PPC=y 32 + CONFIG_EARLY_PRINTK=y 33 + CONFIG_GENERIC_NVRAM=y 34 + CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 35 + CONFIG_ARCH_MAY_HAVE_PC_FDC=y 36 + CONFIG_PPC_OF=y 37 + CONFIG_OF=y 38 + # CONFIG_PPC_UDBG_16550 is not set 39 + # CONFIG_GENERIC_TBSYNC is not set 40 + CONFIG_AUDIT_ARCH=y 41 + CONFIG_GENERIC_BUG=y 42 + # CONFIG_DEFAULT_UIMAGE is not set 43 + # CONFIG_PPC_DCR_NATIVE is not set 44 + # CONFIG_PPC_DCR_MMIO is not set 45 + CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 46 + 47 + # 48 + # General setup 49 + # 50 + CONFIG_EXPERIMENTAL=y 51 + CONFIG_BROKEN_ON_SMP=y 52 + CONFIG_INIT_ENV_ARG_LIMIT=32 53 + CONFIG_LOCALVERSION="" 54 + CONFIG_LOCALVERSION_AUTO=y 55 + # CONFIG_SWAP is not set 56 + CONFIG_SYSVIPC=y 57 + CONFIG_SYSVIPC_SYSCTL=y 58 + # CONFIG_POSIX_MQUEUE is not set 59 + # CONFIG_BSD_PROCESS_ACCT is not set 60 + # CONFIG_TASKSTATS is not set 61 + # CONFIG_USER_NS is not set 62 + # CONFIG_AUDIT is not set 63 + # CONFIG_IKCONFIG is not set 64 + CONFIG_LOG_BUF_SHIFT=14 65 + CONFIG_SYSFS_DEPRECATED=y 66 + # CONFIG_RELAY is not set 67 + # CONFIG_BLK_DEV_INITRD is not set 68 + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 69 + CONFIG_SYSCTL=y 70 + CONFIG_EMBEDDED=y 71 + # CONFIG_SYSCTL_SYSCALL is not set 72 + CONFIG_KALLSYMS=y 73 + # CONFIG_KALLSYMS_ALL is not set 74 + # CONFIG_KALLSYMS_EXTRA_PASS is not set 75 + CONFIG_HOTPLUG=y 76 + CONFIG_PRINTK=y 77 + CONFIG_BUG=y 78 + # CONFIG_ELF_CORE is not set 79 + # CONFIG_BASE_FULL is not set 80 + # CONFIG_FUTEX is not set 81 + CONFIG_ANON_INODES=y 82 + CONFIG_EPOLL=y 83 + CONFIG_SIGNALFD=y 84 + CONFIG_TIMERFD=y 85 + CONFIG_EVENTFD=y 86 + CONFIG_SHMEM=y 87 + # CONFIG_VM_EVENT_COUNTERS is not set 88 + CONFIG_SLUB_DEBUG=y 89 + # CONFIG_SLAB is not set 90 + CONFIG_SLUB=y 91 + # CONFIG_SLOB is not set 92 + # CONFIG_TINY_SHMEM is not set 93 + CONFIG_BASE_SMALL=1 94 + # CONFIG_MODULES is not set 95 + CONFIG_BLOCK=y 96 + # CONFIG_LBD is not set 97 + # CONFIG_BLK_DEV_IO_TRACE is not set 98 + # CONFIG_LSF is not set 99 + # CONFIG_BLK_DEV_BSG is not set 100 + 101 + # 102 + # IO Schedulers 103 + # 104 + CONFIG_IOSCHED_NOOP=y 105 + # CONFIG_IOSCHED_AS is not set 106 + CONFIG_IOSCHED_DEADLINE=y 107 + # CONFIG_IOSCHED_CFQ is not set 108 + # CONFIG_DEFAULT_AS is not set 109 + CONFIG_DEFAULT_DEADLINE=y 110 + # CONFIG_DEFAULT_CFQ is not set 111 + # CONFIG_DEFAULT_NOOP is not set 112 + CONFIG_DEFAULT_IOSCHED="deadline" 113 + 114 + # 115 + # Platform support 116 + # 117 + # CONFIG_PPC_MPC52xx is not set 118 + # CONFIG_PPC_MPC5200 is not set 119 + # CONFIG_PPC_CELL is not set 120 + # CONFIG_PPC_CELL_NATIVE is not set 121 + CONFIG_CPM1=y 122 + # CONFIG_MPC8XXFADS is not set 123 + # CONFIG_MPC86XADS is not set 124 + # CONFIG_MPC885ADS is not set 125 + CONFIG_PPC_EP88XC=y 126 + 127 + # 128 + # MPC8xx CPM Options 129 + # 130 + 131 + # 132 + # Generic MPC8xx Options 133 + # 134 + CONFIG_8xx_COPYBACK=y 135 + # CONFIG_8xx_CPU6 is not set 136 + CONFIG_8xx_CPU15=y 137 + CONFIG_NO_UCODE_PATCH=y 138 + # CONFIG_USB_SOF_UCODE_PATCH is not set 139 + # CONFIG_I2C_SPI_UCODE_PATCH is not set 140 + # CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set 141 + # CONFIG_PQ2ADS is not set 142 + # CONFIG_MPIC is not set 143 + # CONFIG_MPIC_WEIRD is not set 144 + # CONFIG_PPC_I8259 is not set 145 + # CONFIG_PPC_RTAS is not set 146 + # CONFIG_MMIO_NVRAM is not set 147 + # CONFIG_PPC_MPC106 is not set 148 + # CONFIG_PPC_970_NAP is not set 149 + # CONFIG_PPC_INDIRECT_IO is not set 150 + # CONFIG_GENERIC_IOMAP is not set 151 + # CONFIG_CPU_FREQ is not set 152 + # CONFIG_CPM2 is not set 153 + CONFIG_PPC_CPM_NEW_BINDING=y 154 + # CONFIG_FSL_ULI1575 is not set 155 + CONFIG_CPM=y 156 + 157 + # 158 + # Kernel options 159 + # 160 + # CONFIG_HIGHMEM is not set 161 + CONFIG_HZ_100=y 162 + # CONFIG_HZ_250 is not set 163 + # CONFIG_HZ_300 is not set 164 + # CONFIG_HZ_1000 is not set 165 + CONFIG_HZ=100 166 + CONFIG_PREEMPT_NONE=y 167 + # CONFIG_PREEMPT_VOLUNTARY is not set 168 + # CONFIG_PREEMPT is not set 169 + CONFIG_BINFMT_ELF=y 170 + # CONFIG_BINFMT_MISC is not set 171 + # CONFIG_MATH_EMULATION is not set 172 + CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 173 + CONFIG_ARCH_FLATMEM_ENABLE=y 174 + CONFIG_ARCH_POPULATES_NODE_MAP=y 175 + CONFIG_SELECT_MEMORY_MODEL=y 176 + CONFIG_FLATMEM_MANUAL=y 177 + # CONFIG_DISCONTIGMEM_MANUAL is not set 178 + # CONFIG_SPARSEMEM_MANUAL is not set 179 + CONFIG_FLATMEM=y 180 + CONFIG_FLAT_NODE_MEM_MAP=y 181 + # CONFIG_SPARSEMEM_STATIC is not set 182 + CONFIG_SPLIT_PTLOCK_CPUS=4 183 + # CONFIG_RESOURCES_64BIT is not set 184 + CONFIG_ZONE_DMA_FLAG=1 185 + CONFIG_BOUNCE=y 186 + CONFIG_VIRT_TO_BUS=y 187 + CONFIG_PROC_DEVICETREE=y 188 + # CONFIG_CMDLINE_BOOL is not set 189 + # CONFIG_PM is not set 190 + CONFIG_SUSPEND_UP_POSSIBLE=y 191 + CONFIG_HIBERNATION_UP_POSSIBLE=y 192 + # CONFIG_SECCOMP is not set 193 + CONFIG_WANT_DEVICE_TREE=y 194 + CONFIG_DEVICE_TREE="ep88xc.dts" 195 + CONFIG_ISA_DMA_API=y 196 + 197 + # 198 + # Bus options 199 + # 200 + CONFIG_ZONE_DMA=y 201 + CONFIG_FSL_SOC=y 202 + # CONFIG_PCI is not set 203 + # CONFIG_PCI_DOMAINS is not set 204 + # CONFIG_PCI_SYSCALL is not set 205 + # CONFIG_PCI_QSPAN is not set 206 + # CONFIG_ARCH_SUPPORTS_MSI is not set 207 + 208 + # 209 + # PCCARD (PCMCIA/CardBus) support 210 + # 211 + # CONFIG_PCCARD is not set 212 + 213 + # 214 + # Advanced setup 215 + # 216 + # CONFIG_ADVANCED_OPTIONS is not set 217 + 218 + # 219 + # Default settings for advanced configuration options are used 220 + # 221 + CONFIG_HIGHMEM_START=0xfe000000 222 + CONFIG_LOWMEM_SIZE=0x30000000 223 + CONFIG_KERNEL_START=0xc0000000 224 + CONFIG_TASK_SIZE=0x80000000 225 + CONFIG_CONSISTENT_START=0xfd000000 226 + CONFIG_CONSISTENT_SIZE=0x00200000 227 + CONFIG_BOOT_LOAD=0x00400000 228 + 229 + # 230 + # Networking 231 + # 232 + CONFIG_NET=y 233 + 234 + # 235 + # Networking options 236 + # 237 + CONFIG_PACKET=y 238 + # CONFIG_PACKET_MMAP is not set 239 + CONFIG_UNIX=y 240 + # CONFIG_NET_KEY is not set 241 + CONFIG_INET=y 242 + CONFIG_IP_MULTICAST=y 243 + # CONFIG_IP_ADVANCED_ROUTER is not set 244 + CONFIG_IP_FIB_HASH=y 245 + CONFIG_IP_PNP=y 246 + # CONFIG_IP_PNP_DHCP is not set 247 + # CONFIG_IP_PNP_BOOTP is not set 248 + # CONFIG_IP_PNP_RARP is not set 249 + # CONFIG_NET_IPIP is not set 250 + # CONFIG_NET_IPGRE is not set 251 + # CONFIG_IP_MROUTE is not set 252 + # CONFIG_ARPD is not set 253 + CONFIG_SYN_COOKIES=y 254 + # CONFIG_INET_AH is not set 255 + # CONFIG_INET_ESP is not set 256 + # CONFIG_INET_IPCOMP is not set 257 + # CONFIG_INET_XFRM_TUNNEL is not set 258 + # CONFIG_INET_TUNNEL is not set 259 + # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 260 + # CONFIG_INET_XFRM_MODE_TUNNEL is not set 261 + # CONFIG_INET_XFRM_MODE_BEET is not set 262 + CONFIG_INET_DIAG=y 263 + CONFIG_INET_TCP_DIAG=y 264 + # CONFIG_TCP_CONG_ADVANCED is not set 265 + CONFIG_TCP_CONG_CUBIC=y 266 + CONFIG_DEFAULT_TCP_CONG="cubic" 267 + # CONFIG_TCP_MD5SIG is not set 268 + # CONFIG_IPV6 is not set 269 + # CONFIG_INET6_XFRM_TUNNEL is not set 270 + # CONFIG_INET6_TUNNEL is not set 271 + # CONFIG_NETWORK_SECMARK is not set 272 + # CONFIG_NETFILTER is not set 273 + # CONFIG_IP_DCCP is not set 274 + # CONFIG_IP_SCTP is not set 275 + # CONFIG_TIPC is not set 276 + # CONFIG_ATM is not set 277 + # CONFIG_BRIDGE is not set 278 + # CONFIG_VLAN_8021Q is not set 279 + # CONFIG_DECNET is not set 280 + # CONFIG_LLC2 is not set 281 + # CONFIG_IPX is not set 282 + # CONFIG_ATALK is not set 283 + # CONFIG_X25 is not set 284 + # CONFIG_LAPB is not set 285 + # CONFIG_ECONET is not set 286 + # CONFIG_WAN_ROUTER is not set 287 + 288 + # 289 + # QoS and/or fair queueing 290 + # 291 + # CONFIG_NET_SCHED is not set 292 + 293 + # 294 + # Network testing 295 + # 296 + # CONFIG_NET_PKTGEN is not set 297 + # CONFIG_HAMRADIO is not set 298 + # CONFIG_IRDA is not set 299 + # CONFIG_BT is not set 300 + # CONFIG_AF_RXRPC is not set 301 + 302 + # 303 + # Wireless 304 + # 305 + # CONFIG_CFG80211 is not set 306 + # CONFIG_WIRELESS_EXT is not set 307 + # CONFIG_MAC80211 is not set 308 + # CONFIG_IEEE80211 is not set 309 + # CONFIG_RFKILL is not set 310 + # CONFIG_NET_9P is not set 311 + 312 + # 313 + # Device Drivers 314 + # 315 + 316 + # 317 + # Generic Driver Options 318 + # 319 + CONFIG_STANDALONE=y 320 + CONFIG_PREVENT_FIRMWARE_BUILD=y 321 + # CONFIG_FW_LOADER is not set 322 + # CONFIG_DEBUG_DRIVER is not set 323 + # CONFIG_DEBUG_DEVRES is not set 324 + # CONFIG_SYS_HYPERVISOR is not set 325 + # CONFIG_CONNECTOR is not set 326 + CONFIG_MTD=y 327 + # CONFIG_MTD_DEBUG is not set 328 + # CONFIG_MTD_CONCAT is not set 329 + # CONFIG_MTD_PARTITIONS is not set 330 + 331 + # 332 + # User Modules And Translation Layers 333 + # 334 + CONFIG_MTD_CHAR=y 335 + CONFIG_MTD_BLKDEVS=y 336 + CONFIG_MTD_BLOCK=y 337 + # CONFIG_FTL is not set 338 + # CONFIG_NFTL is not set 339 + # CONFIG_INFTL is not set 340 + # CONFIG_RFD_FTL is not set 341 + # CONFIG_SSFDC is not set 342 + 343 + # 344 + # RAM/ROM/Flash chip drivers 345 + # 346 + CONFIG_MTD_CFI=y 347 + # CONFIG_MTD_JEDECPROBE is not set 348 + CONFIG_MTD_GEN_PROBE=y 349 + # CONFIG_MTD_CFI_ADV_OPTIONS is not set 350 + CONFIG_MTD_MAP_BANK_WIDTH_1=y 351 + CONFIG_MTD_MAP_BANK_WIDTH_2=y 352 + CONFIG_MTD_MAP_BANK_WIDTH_4=y 353 + # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set 354 + # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set 355 + # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set 356 + CONFIG_MTD_CFI_I1=y 357 + CONFIG_MTD_CFI_I2=y 358 + # CONFIG_MTD_CFI_I4 is not set 359 + # CONFIG_MTD_CFI_I8 is not set 360 + # CONFIG_MTD_CFI_INTELEXT is not set 361 + CONFIG_MTD_CFI_AMDSTD=y 362 + # CONFIG_MTD_CFI_STAA is not set 363 + CONFIG_MTD_CFI_UTIL=y 364 + # CONFIG_MTD_RAM is not set 365 + # CONFIG_MTD_ROM is not set 366 + # CONFIG_MTD_ABSENT is not set 367 + 368 + # 369 + # Mapping drivers for chip access 370 + # 371 + # CONFIG_MTD_COMPLEX_MAPPINGS is not set 372 + # CONFIG_MTD_PHYSMAP is not set 373 + CONFIG_MTD_PHYSMAP_OF=y 374 + # CONFIG_MTD_CFI_FLAGADM is not set 375 + # CONFIG_MTD_PLATRAM is not set 376 + 377 + # 378 + # Self-contained MTD device drivers 379 + # 380 + # CONFIG_MTD_SLRAM is not set 381 + # CONFIG_MTD_PHRAM is not set 382 + # CONFIG_MTD_MTDRAM is not set 383 + # CONFIG_MTD_BLOCK2MTD is not set 384 + 385 + # 386 + # Disk-On-Chip Device Drivers 387 + # 388 + # CONFIG_MTD_DOC2000 is not set 389 + # CONFIG_MTD_DOC2001 is not set 390 + # CONFIG_MTD_DOC2001PLUS is not set 391 + # CONFIG_MTD_NAND is not set 392 + # CONFIG_MTD_ONENAND is not set 393 + 394 + # 395 + # UBI - Unsorted block images 396 + # 397 + # CONFIG_MTD_UBI is not set 398 + CONFIG_OF_DEVICE=y 399 + # CONFIG_PARPORT is not set 400 + # CONFIG_BLK_DEV is not set 401 + # CONFIG_MISC_DEVICES is not set 402 + # CONFIG_IDE is not set 403 + 404 + # 405 + # SCSI device support 406 + # 407 + # CONFIG_RAID_ATTRS is not set 408 + # CONFIG_SCSI is not set 409 + # CONFIG_SCSI_DMA is not set 410 + # CONFIG_SCSI_NETLINK is not set 411 + # CONFIG_ATA is not set 412 + # CONFIG_MD is not set 413 + # CONFIG_MACINTOSH_DRIVERS is not set 414 + CONFIG_NETDEVICES=y 415 + # CONFIG_NETDEVICES_MULTIQUEUE is not set 416 + # CONFIG_DUMMY is not set 417 + # CONFIG_BONDING is not set 418 + # CONFIG_MACVLAN is not set 419 + # CONFIG_EQUALIZER is not set 420 + # CONFIG_TUN is not set 421 + CONFIG_PHYLIB=y 422 + 423 + # 424 + # MII PHY device drivers 425 + # 426 + # CONFIG_MARVELL_PHY is not set 427 + # CONFIG_DAVICOM_PHY is not set 428 + # CONFIG_QSEMI_PHY is not set 429 + CONFIG_LXT_PHY=y 430 + # CONFIG_CICADA_PHY is not set 431 + # CONFIG_VITESSE_PHY is not set 432 + # CONFIG_SMSC_PHY is not set 433 + # CONFIG_BROADCOM_PHY is not set 434 + # CONFIG_ICPLUS_PHY is not set 435 + # CONFIG_FIXED_PHY is not set 436 + # CONFIG_MDIO_BITBANG is not set 437 + CONFIG_NET_ETHERNET=y 438 + CONFIG_MII=y 439 + CONFIG_FS_ENET=y 440 + # CONFIG_FS_ENET_HAS_SCC is not set 441 + CONFIG_FS_ENET_HAS_FEC=y 442 + # CONFIG_NETDEV_1000 is not set 443 + # CONFIG_NETDEV_10000 is not set 444 + 445 + # 446 + # Wireless LAN 447 + # 448 + # CONFIG_WLAN_PRE80211 is not set 449 + # CONFIG_WLAN_80211 is not set 450 + # CONFIG_WAN is not set 451 + # CONFIG_PPP is not set 452 + # CONFIG_SLIP is not set 453 + # CONFIG_SHAPER is not set 454 + # CONFIG_NETCONSOLE is not set 455 + # CONFIG_NETPOLL is not set 456 + # CONFIG_NET_POLL_CONTROLLER is not set 457 + # CONFIG_ISDN is not set 458 + # CONFIG_PHONE is not set 459 + 460 + # 461 + # Input device support 462 + # 463 + # CONFIG_INPUT is not set 464 + 465 + # 466 + # Hardware I/O ports 467 + # 468 + # CONFIG_SERIO is not set 469 + # CONFIG_GAMEPORT is not set 470 + 471 + # 472 + # Character devices 473 + # 474 + # CONFIG_VT is not set 475 + # CONFIG_SERIAL_NONSTANDARD is not set 476 + 477 + # 478 + # Serial drivers 479 + # 480 + # CONFIG_SERIAL_8250 is not set 481 + 482 + # 483 + # Non-8250 serial port support 484 + # 485 + # CONFIG_SERIAL_UARTLITE is not set 486 + CONFIG_SERIAL_CORE=y 487 + CONFIG_SERIAL_CORE_CONSOLE=y 488 + CONFIG_SERIAL_CPM=y 489 + CONFIG_SERIAL_CPM_CONSOLE=y 490 + # CONFIG_SERIAL_CPM_SCC1 is not set 491 + # CONFIG_SERIAL_CPM_SCC2 is not set 492 + # CONFIG_SERIAL_CPM_SCC3 is not set 493 + # CONFIG_SERIAL_CPM_SCC4 is not set 494 + CONFIG_SERIAL_CPM_SMC1=y 495 + CONFIG_SERIAL_CPM_SMC2=y 496 + CONFIG_UNIX98_PTYS=y 497 + # CONFIG_LEGACY_PTYS is not set 498 + # CONFIG_IPMI_HANDLER is not set 499 + # CONFIG_WATCHDOG is not set 500 + CONFIG_HW_RANDOM=y 501 + # CONFIG_NVRAM is not set 502 + CONFIG_GEN_RTC=y 503 + # CONFIG_GEN_RTC_X is not set 504 + # CONFIG_R3964 is not set 505 + # CONFIG_RAW_DRIVER is not set 506 + # CONFIG_TCG_TPM is not set 507 + # CONFIG_I2C is not set 508 + 509 + # 510 + # SPI support 511 + # 512 + # CONFIG_SPI is not set 513 + # CONFIG_SPI_MASTER is not set 514 + # CONFIG_W1 is not set 515 + # CONFIG_POWER_SUPPLY is not set 516 + # CONFIG_HWMON is not set 517 + 518 + # 519 + # Multifunction device drivers 520 + # 521 + # CONFIG_MFD_SM501 is not set 522 + 523 + # 524 + # Multimedia devices 525 + # 526 + # CONFIG_VIDEO_DEV is not set 527 + # CONFIG_DVB_CORE is not set 528 + CONFIG_DAB=y 529 + 530 + # 531 + # Graphics support 532 + # 533 + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 534 + 535 + # 536 + # Display device support 537 + # 538 + # CONFIG_DISPLAY_SUPPORT is not set 539 + # CONFIG_VGASTATE is not set 540 + # CONFIG_VIDEO_OUTPUT_CONTROL is not set 541 + # CONFIG_FB is not set 542 + # CONFIG_FB_IBM_GXT4500 is not set 543 + 544 + # 545 + # Sound 546 + # 547 + # CONFIG_SOUND is not set 548 + # CONFIG_USB_SUPPORT is not set 549 + # CONFIG_MMC is not set 550 + # CONFIG_NEW_LEDS is not set 551 + # CONFIG_EDAC is not set 552 + # CONFIG_RTC_CLASS is not set 553 + 554 + # 555 + # DMA Engine support 556 + # 557 + # CONFIG_DMA_ENGINE is not set 558 + 559 + # 560 + # DMA Clients 561 + # 562 + 563 + # 564 + # DMA Devices 565 + # 566 + 567 + # 568 + # Userspace I/O 569 + # 570 + # CONFIG_UIO is not set 571 + 572 + # 573 + # File systems 574 + # 575 + # CONFIG_EXT2_FS is not set 576 + # CONFIG_EXT3_FS is not set 577 + # CONFIG_EXT4DEV_FS is not set 578 + # CONFIG_REISERFS_FS is not set 579 + # CONFIG_JFS_FS is not set 580 + # CONFIG_FS_POSIX_ACL is not set 581 + # CONFIG_XFS_FS is not set 582 + # CONFIG_GFS2_FS is not set 583 + # CONFIG_OCFS2_FS is not set 584 + # CONFIG_MINIX_FS is not set 585 + # CONFIG_ROMFS_FS is not set 586 + # CONFIG_INOTIFY is not set 587 + # CONFIG_QUOTA is not set 588 + # CONFIG_DNOTIFY is not set 589 + # CONFIG_AUTOFS_FS is not set 590 + # CONFIG_AUTOFS4_FS is not set 591 + # CONFIG_FUSE_FS is not set 592 + 593 + # 594 + # CD-ROM/DVD Filesystems 595 + # 596 + # CONFIG_ISO9660_FS is not set 597 + # CONFIG_UDF_FS is not set 598 + 599 + # 600 + # DOS/FAT/NT Filesystems 601 + # 602 + # CONFIG_MSDOS_FS is not set 603 + # CONFIG_VFAT_FS is not set 604 + # CONFIG_NTFS_FS is not set 605 + 606 + # 607 + # Pseudo filesystems 608 + # 609 + CONFIG_PROC_FS=y 610 + # CONFIG_PROC_KCORE is not set 611 + CONFIG_PROC_SYSCTL=y 612 + CONFIG_SYSFS=y 613 + CONFIG_TMPFS=y 614 + # CONFIG_TMPFS_POSIX_ACL is not set 615 + # CONFIG_HUGETLB_PAGE is not set 616 + CONFIG_RAMFS=y 617 + # CONFIG_CONFIGFS_FS is not set 618 + 619 + # 620 + # Miscellaneous filesystems 621 + # 622 + # CONFIG_ADFS_FS is not set 623 + # CONFIG_AFFS_FS is not set 624 + # CONFIG_HFS_FS is not set 625 + # CONFIG_HFSPLUS_FS is not set 626 + # CONFIG_BEFS_FS is not set 627 + # CONFIG_BFS_FS is not set 628 + # CONFIG_EFS_FS is not set 629 + # CONFIG_JFFS2_FS is not set 630 + CONFIG_CRAMFS=y 631 + # CONFIG_VXFS_FS is not set 632 + # CONFIG_HPFS_FS is not set 633 + # CONFIG_QNX4FS_FS is not set 634 + # CONFIG_SYSV_FS is not set 635 + # CONFIG_UFS_FS is not set 636 + 637 + # 638 + # Network File Systems 639 + # 640 + CONFIG_NFS_FS=y 641 + CONFIG_NFS_V3=y 642 + # CONFIG_NFS_V3_ACL is not set 643 + # CONFIG_NFS_V4 is not set 644 + # CONFIG_NFS_DIRECTIO is not set 645 + # CONFIG_NFSD is not set 646 + CONFIG_ROOT_NFS=y 647 + CONFIG_LOCKD=y 648 + CONFIG_LOCKD_V4=y 649 + CONFIG_NFS_COMMON=y 650 + CONFIG_SUNRPC=y 651 + # CONFIG_SUNRPC_BIND34 is not set 652 + # CONFIG_RPCSEC_GSS_KRB5 is not set 653 + # CONFIG_RPCSEC_GSS_SPKM3 is not set 654 + # CONFIG_SMB_FS is not set 655 + # CONFIG_CIFS is not set 656 + # CONFIG_NCP_FS is not set 657 + # CONFIG_CODA_FS is not set 658 + # CONFIG_AFS_FS is not set 659 + 660 + # 661 + # Partition Types 662 + # 663 + CONFIG_PARTITION_ADVANCED=y 664 + # CONFIG_ACORN_PARTITION is not set 665 + # CONFIG_OSF_PARTITION is not set 666 + # CONFIG_AMIGA_PARTITION is not set 667 + # CONFIG_ATARI_PARTITION is not set 668 + # CONFIG_MAC_PARTITION is not set 669 + CONFIG_MSDOS_PARTITION=y 670 + # CONFIG_BSD_DISKLABEL is not set 671 + # CONFIG_MINIX_SUBPARTITION is not set 672 + # CONFIG_SOLARIS_X86_PARTITION is not set 673 + # CONFIG_UNIXWARE_DISKLABEL is not set 674 + # CONFIG_LDM_PARTITION is not set 675 + # CONFIG_SGI_PARTITION is not set 676 + # CONFIG_ULTRIX_PARTITION is not set 677 + # CONFIG_SUN_PARTITION is not set 678 + # CONFIG_KARMA_PARTITION is not set 679 + # CONFIG_EFI_PARTITION is not set 680 + # CONFIG_SYSV68_PARTITION is not set 681 + 682 + # 683 + # Native Language Support 684 + # 685 + # CONFIG_NLS is not set 686 + 687 + # 688 + # Distributed Lock Manager 689 + # 690 + # CONFIG_DLM is not set 691 + # CONFIG_UCC_SLOW is not set 692 + 693 + # 694 + # Library routines 695 + # 696 + # CONFIG_CRC_CCITT is not set 697 + # CONFIG_CRC16 is not set 698 + # CONFIG_CRC_ITU_T is not set 699 + # CONFIG_CRC32 is not set 700 + # CONFIG_CRC7 is not set 701 + # CONFIG_LIBCRC32C is not set 702 + CONFIG_ZLIB_INFLATE=y 703 + CONFIG_HAS_IOMEM=y 704 + CONFIG_HAS_IOPORT=y 705 + CONFIG_HAS_DMA=y 706 + 707 + # 708 + # Instrumentation Support 709 + # 710 + # CONFIG_PROFILING is not set 711 + 712 + # 713 + # Kernel hacking 714 + # 715 + # CONFIG_PRINTK_TIME is not set 716 + CONFIG_ENABLE_MUST_CHECK=y 717 + CONFIG_MAGIC_SYSRQ=y 718 + # CONFIG_UNUSED_SYMBOLS is not set 719 + # CONFIG_DEBUG_FS is not set 720 + # CONFIG_HEADERS_CHECK is not set 721 + CONFIG_DEBUG_KERNEL=y 722 + # CONFIG_DEBUG_SHIRQ is not set 723 + CONFIG_DETECT_SOFTLOCKUP=y 724 + CONFIG_SCHED_DEBUG=y 725 + # CONFIG_SCHEDSTATS is not set 726 + # CONFIG_TIMER_STATS is not set 727 + # CONFIG_SLUB_DEBUG_ON is not set 728 + # CONFIG_DEBUG_SPINLOCK is not set 729 + # CONFIG_DEBUG_MUTEXES is not set 730 + # CONFIG_DEBUG_SPINLOCK_SLEEP is not set 731 + # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 732 + # CONFIG_DEBUG_KOBJECT is not set 733 + CONFIG_DEBUG_BUGVERBOSE=y 734 + CONFIG_DEBUG_INFO=y 735 + # CONFIG_DEBUG_VM is not set 736 + # CONFIG_DEBUG_LIST is not set 737 + CONFIG_FORCED_INLINING=y 738 + # CONFIG_FAULT_INJECTION is not set 739 + # CONFIG_DEBUG_STACKOVERFLOW is not set 740 + # CONFIG_DEBUG_STACK_USAGE is not set 741 + # CONFIG_DEBUG_PAGEALLOC is not set 742 + # CONFIG_DEBUGGER is not set 743 + # CONFIG_BDI_SWITCH is not set 744 + # CONFIG_PPC_EARLY_DEBUG is not set 745 + 746 + # 747 + # Security options 748 + # 749 + # CONFIG_KEYS is not set 750 + # CONFIG_SECURITY is not set 751 + # CONFIG_CRYPTO is not set
+10
arch/powerpc/platforms/8xx/Kconfig
··· 33 33 The MPC885ADS is meant to serve as a platform for s/w and h/w 34 34 development around the MPC885 processor family. 35 35 36 + config PPC_EP88XC 37 + bool "Embedded Planet EP88xC (a.k.a. CWH-PPC-885XN-VE)" 38 + select CPM1 39 + select PPC_CPM_NEW_BINDING 40 + help 41 + This enables support for the Embedded Planet EP88xC board. 42 + 43 + This board is also resold by Freescale as the QUICCStart 44 + MPC885 Evaluation System and/or the CWH-PPC-885XN-VE. 45 + 36 46 endchoice 37 47 38 48 menu "Freescale Ethernet driver platform-specific options"
+1
arch/powerpc/platforms/8xx/Makefile
··· 4 4 obj-$(CONFIG_PPC_8xx) += m8xx_setup.o 5 5 obj-$(CONFIG_MPC885ADS) += mpc885ads_setup.o 6 6 obj-$(CONFIG_MPC86XADS) += mpc86xads_setup.o 7 + obj-$(CONFIG_PPC_EP88XC) += ep88xc.o
+176
arch/powerpc/platforms/8xx/ep88xc.c
··· 1 + /* 2 + * Platform setup for the Embedded Planet EP88xC board 3 + * 4 + * Author: Scott Wood <scottwood@freescale.com> 5 + * Copyright 2007 Freescale Semiconductor, Inc. 6 + * 7 + * This file is licensed under the terms of the GNU General Public License 8 + * version 2. This program is licensed "as is" without any warranty of any 9 + * kind, whether express or implied. 10 + */ 11 + 12 + #include <linux/init.h> 13 + #include <linux/of_platform.h> 14 + 15 + #include <asm/machdep.h> 16 + #include <asm/io.h> 17 + #include <asm/udbg.h> 18 + #include <asm/commproc.h> 19 + 20 + #include <sysdev/commproc.h> 21 + 22 + struct cpm_pin { 23 + int port, pin, flags; 24 + }; 25 + 26 + static struct cpm_pin ep88xc_pins[] = { 27 + /* SMC1 */ 28 + {1, 24, CPM_PIN_INPUT}, /* RX */ 29 + {1, 25, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, /* TX */ 30 + 31 + /* SCC2 */ 32 + {0, 12, CPM_PIN_INPUT}, /* TX */ 33 + {0, 13, CPM_PIN_INPUT}, /* RX */ 34 + {2, 8, CPM_PIN_INPUT | CPM_PIN_SECONDARY | CPM_PIN_GPIO}, /* CD */ 35 + {2, 9, CPM_PIN_INPUT | CPM_PIN_SECONDARY | CPM_PIN_GPIO}, /* CTS */ 36 + {2, 14, CPM_PIN_INPUT}, /* RTS */ 37 + 38 + /* MII1 */ 39 + {0, 0, CPM_PIN_INPUT}, 40 + {0, 1, CPM_PIN_INPUT}, 41 + {0, 2, CPM_PIN_INPUT}, 42 + {0, 3, CPM_PIN_INPUT}, 43 + {0, 4, CPM_PIN_OUTPUT}, 44 + {0, 10, CPM_PIN_OUTPUT}, 45 + {0, 11, CPM_PIN_OUTPUT}, 46 + {1, 19, CPM_PIN_INPUT}, 47 + {1, 31, CPM_PIN_INPUT}, 48 + {2, 12, CPM_PIN_INPUT}, 49 + {2, 13, CPM_PIN_INPUT}, 50 + {3, 8, CPM_PIN_INPUT}, 51 + {4, 30, CPM_PIN_OUTPUT}, 52 + {4, 31, CPM_PIN_OUTPUT}, 53 + 54 + /* MII2 */ 55 + {4, 14, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, 56 + {4, 15, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, 57 + {4, 16, CPM_PIN_OUTPUT}, 58 + {4, 17, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, 59 + {4, 18, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, 60 + {4, 19, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, 61 + {4, 20, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY}, 62 + {4, 21, CPM_PIN_OUTPUT}, 63 + {4, 22, CPM_PIN_OUTPUT}, 64 + {4, 23, CPM_PIN_OUTPUT}, 65 + {4, 24, CPM_PIN_OUTPUT}, 66 + {4, 25, CPM_PIN_OUTPUT}, 67 + {4, 26, CPM_PIN_OUTPUT}, 68 + {4, 27, CPM_PIN_OUTPUT}, 69 + {4, 28, CPM_PIN_OUTPUT}, 70 + {4, 29, CPM_PIN_OUTPUT}, 71 + 72 + /* USB */ 73 + {0, 6, CPM_PIN_INPUT}, /* CLK2 */ 74 + {0, 14, CPM_PIN_INPUT}, /* USBOE */ 75 + {0, 15, CPM_PIN_INPUT}, /* USBRXD */ 76 + {2, 6, CPM_PIN_OUTPUT}, /* USBTXN */ 77 + {2, 7, CPM_PIN_OUTPUT}, /* USBTXP */ 78 + {2, 10, CPM_PIN_INPUT}, /* USBRXN */ 79 + {2, 11, CPM_PIN_INPUT}, /* USBRXP */ 80 + 81 + /* Misc */ 82 + {1, 26, CPM_PIN_INPUT}, /* BRGO2 */ 83 + {1, 27, CPM_PIN_INPUT}, /* BRGO1 */ 84 + }; 85 + 86 + static void __init init_ioports(void) 87 + { 88 + int i; 89 + 90 + for (i = 0; i < ARRAY_SIZE(ep88xc_pins); i++) { 91 + struct cpm_pin *pin = &ep88xc_pins[i]; 92 + cpm1_set_pin(pin->port, pin->pin, pin->flags); 93 + } 94 + 95 + cpm1_clk_setup(CPM_CLK_SMC1, CPM_BRG1, CPM_CLK_RTX); 96 + cpm1_clk_setup(CPM_CLK_SCC1, CPM_CLK2, CPM_CLK_TX); /* USB */ 97 + cpm1_clk_setup(CPM_CLK_SCC1, CPM_CLK2, CPM_CLK_RX); 98 + cpm1_clk_setup(CPM_CLK_SCC2, CPM_BRG2, CPM_CLK_TX); 99 + cpm1_clk_setup(CPM_CLK_SCC2, CPM_BRG2, CPM_CLK_RX); 100 + } 101 + 102 + static u8 __iomem *ep88xc_bcsr; 103 + 104 + #define BCSR7_SCC2_ENABLE 0x10 105 + 106 + #define BCSR8_PHY1_ENABLE 0x80 107 + #define BCSR8_PHY1_POWER 0x40 108 + #define BCSR8_PHY2_ENABLE 0x20 109 + #define BCSR8_PHY2_POWER 0x10 110 + 111 + #define BCSR9_USB_ENABLE 0x80 112 + #define BCSR9_USB_POWER 0x40 113 + #define BCSR9_USB_HOST 0x20 114 + #define BCSR9_USB_FULL_SPEED_TARGET 0x10 115 + 116 + static void __init ep88xc_setup_arch(void) 117 + { 118 + struct device_node *np; 119 + 120 + cpm_reset(); 121 + init_ioports(); 122 + 123 + np = of_find_compatible_node(NULL, NULL, "fsl,ep88xc-bcsr"); 124 + if (!np) { 125 + printk(KERN_CRIT "Could not find fsl,ep88xc-bcsr node\n"); 126 + return; 127 + } 128 + 129 + ep88xc_bcsr = of_iomap(np, 0); 130 + of_node_put(np); 131 + 132 + if (!ep88xc_bcsr) { 133 + printk(KERN_CRIT "Could not remap BCSR\n"); 134 + return; 135 + } 136 + 137 + setbits8(&ep88xc_bcsr[7], BCSR7_SCC2_ENABLE); 138 + setbits8(&ep88xc_bcsr[8], BCSR8_PHY1_ENABLE | BCSR8_PHY1_POWER | 139 + BCSR8_PHY2_ENABLE | BCSR8_PHY2_POWER); 140 + } 141 + 142 + static int __init ep88xc_probe(void) 143 + { 144 + unsigned long root = of_get_flat_dt_root(); 145 + return of_flat_dt_is_compatible(root, "fsl,ep88xc"); 146 + } 147 + 148 + static struct of_device_id __initdata of_bus_ids[] = { 149 + { .name = "soc", }, 150 + { .name = "cpm", }, 151 + { .name = "localbus", }, 152 + {}, 153 + }; 154 + 155 + static int __init declare_of_platform_devices(void) 156 + { 157 + /* Publish the QE devices */ 158 + if (machine_is(ep88xc)) 159 + of_platform_bus_probe(NULL, of_bus_ids, NULL); 160 + 161 + return 0; 162 + } 163 + device_initcall(declare_of_platform_devices); 164 + 165 + define_machine(ep88xc) { 166 + .name = "Embedded Planet EP88xC", 167 + .probe = ep88xc_probe, 168 + .setup_arch = ep88xc_setup_arch, 169 + .init_IRQ = m8xx_pic_init, 170 + .get_irq = mpc8xx_get_irq, 171 + .restart = mpc8xx_restart, 172 + .calibrate_decr = mpc8xx_calibrate_decr, 173 + .set_rtc_time = mpc8xx_set_rtc_time, 174 + .get_rtc_time = mpc8xx_get_rtc_time, 175 + .progress = udbg_progress, 176 + };