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

Merge commit 'jwb/jwb-next'

+1345 -18
+293
arch/powerpc/boot/dts/arches.dts
··· 1 + /* 2 + * Device Tree Source for AMCC Arches (dual 460GT board) 3 + * 4 + * (C) Copyright 2008 Applied Micro Circuits Corporation 5 + * Victor Gallardo <vgallardo@amcc.com> 6 + * Adam Graham <agraham@amcc.com> 7 + * 8 + * Based on the glacier.dts file 9 + * Stefan Roese <sr@denx.de> 10 + * Copyright 2008 DENX Software Engineering 11 + * 12 + * See file CREDITS for list of people who contributed to this 13 + * project. 14 + * 15 + * This program is free software; you can redistribute it and/or 16 + * modify it under the terms of the GNU General Public License as 17 + * published by the Free Software Foundation; either version 2 of 18 + * the License, or (at your option) any later version. 19 + * 20 + * This program is distributed in the hope that it will be useful, 21 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 22 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 + * GNU General Public License for more details. 24 + * 25 + * You should have received a copy of the GNU General Public License 26 + * along with this program; if not, write to the Free Software 27 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 28 + * MA 02111-1307 USA 29 + */ 30 + 31 + /dts-v1/; 32 + 33 + / { 34 + #address-cells = <2>; 35 + #size-cells = <1>; 36 + model = "amcc,arches"; 37 + compatible = "amcc,arches"; 38 + dcr-parent = <&{/cpus/cpu@0}>; 39 + 40 + aliases { 41 + ethernet0 = &EMAC0; 42 + ethernet1 = &EMAC1; 43 + ethernet2 = &EMAC2; 44 + serial0 = &UART0; 45 + }; 46 + 47 + cpus { 48 + #address-cells = <1>; 49 + #size-cells = <0>; 50 + 51 + cpu@0 { 52 + device_type = "cpu"; 53 + model = "PowerPC,460GT"; 54 + reg = <0x00000000>; 55 + clock-frequency = <0>; /* Filled in by U-Boot */ 56 + timebase-frequency = <0>; /* Filled in by U-Boot */ 57 + i-cache-line-size = <32>; 58 + d-cache-line-size = <32>; 59 + i-cache-size = <32768>; 60 + d-cache-size = <32768>; 61 + dcr-controller; 62 + dcr-access-method = "native"; 63 + }; 64 + }; 65 + 66 + memory { 67 + device_type = "memory"; 68 + reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by U-Boot */ 69 + }; 70 + 71 + UIC0: interrupt-controller0 { 72 + compatible = "ibm,uic-460gt","ibm,uic"; 73 + interrupt-controller; 74 + cell-index = <0>; 75 + dcr-reg = <0x0c0 0x009>; 76 + #address-cells = <0>; 77 + #size-cells = <0>; 78 + #interrupt-cells = <2>; 79 + }; 80 + 81 + UIC1: interrupt-controller1 { 82 + compatible = "ibm,uic-460gt","ibm,uic"; 83 + interrupt-controller; 84 + cell-index = <1>; 85 + dcr-reg = <0x0d0 0x009>; 86 + #address-cells = <0>; 87 + #size-cells = <0>; 88 + #interrupt-cells = <2>; 89 + interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ 90 + interrupt-parent = <&UIC0>; 91 + }; 92 + 93 + UIC2: interrupt-controller2 { 94 + compatible = "ibm,uic-460gt","ibm,uic"; 95 + interrupt-controller; 96 + cell-index = <2>; 97 + dcr-reg = <0x0e0 0x009>; 98 + #address-cells = <0>; 99 + #size-cells = <0>; 100 + #interrupt-cells = <2>; 101 + interrupts = <0xa 0x4 0xb 0x4>; /* cascade */ 102 + interrupt-parent = <&UIC0>; 103 + }; 104 + 105 + UIC3: interrupt-controller3 { 106 + compatible = "ibm,uic-460gt","ibm,uic"; 107 + interrupt-controller; 108 + cell-index = <3>; 109 + dcr-reg = <0x0f0 0x009>; 110 + #address-cells = <0>; 111 + #size-cells = <0>; 112 + #interrupt-cells = <2>; 113 + interrupts = <0x10 0x4 0x11 0x4>; /* cascade */ 114 + interrupt-parent = <&UIC0>; 115 + }; 116 + 117 + SDR0: sdr { 118 + compatible = "ibm,sdr-460gt"; 119 + dcr-reg = <0x00e 0x002>; 120 + }; 121 + 122 + CPR0: cpr { 123 + compatible = "ibm,cpr-460gt"; 124 + dcr-reg = <0x00c 0x002>; 125 + }; 126 + 127 + plb { 128 + compatible = "ibm,plb-460gt", "ibm,plb4"; 129 + #address-cells = <2>; 130 + #size-cells = <1>; 131 + ranges; 132 + clock-frequency = <0>; /* Filled in by U-Boot */ 133 + 134 + SDRAM0: sdram { 135 + compatible = "ibm,sdram-460gt", "ibm,sdram-405gp"; 136 + dcr-reg = <0x010 0x002>; 137 + }; 138 + 139 + MAL0: mcmal { 140 + compatible = "ibm,mcmal-460gt", "ibm,mcmal2"; 141 + dcr-reg = <0x180 0x062>; 142 + num-tx-chans = <3>; 143 + num-rx-chans = <24>; 144 + #address-cells = <0>; 145 + #size-cells = <0>; 146 + interrupt-parent = <&UIC2>; 147 + interrupts = < /*TXEOB*/ 0x6 0x4 148 + /*RXEOB*/ 0x7 0x4 149 + /*SERR*/ 0x3 0x4 150 + /*TXDE*/ 0x4 0x4 151 + /*RXDE*/ 0x5 0x4>; 152 + desc-base-addr-high = <0x8>; 153 + }; 154 + 155 + POB0: opb { 156 + compatible = "ibm,opb-460gt", "ibm,opb"; 157 + #address-cells = <1>; 158 + #size-cells = <1>; 159 + ranges = <0xb0000000 0x00000004 0xb0000000 0x50000000>; 160 + clock-frequency = <0>; /* Filled in by U-Boot */ 161 + 162 + EBC0: ebc { 163 + compatible = "ibm,ebc-460gt", "ibm,ebc"; 164 + dcr-reg = <0x012 0x002>; 165 + #address-cells = <2>; 166 + #size-cells = <1>; 167 + clock-frequency = <0>; /* Filled in by U-Boot */ 168 + /* ranges property is supplied by U-Boot */ 169 + interrupts = <0x6 0x4>; 170 + interrupt-parent = <&UIC1>; 171 + }; 172 + 173 + UART0: serial@ef600300 { 174 + device_type = "serial"; 175 + compatible = "ns16550"; 176 + reg = <0xef600300 0x00000008>; 177 + virtual-reg = <0xef600300>; 178 + clock-frequency = <0>; /* Filled in by U-Boot */ 179 + current-speed = <0>; /* Filled in by U-Boot */ 180 + interrupt-parent = <&UIC1>; 181 + interrupts = <0x1 0x4>; 182 + }; 183 + 184 + IIC0: i2c@ef600700 { 185 + compatible = "ibm,iic-460gt", "ibm,iic"; 186 + reg = <0xef600700 0x00000014>; 187 + interrupt-parent = <&UIC0>; 188 + interrupts = <0x2 0x4>; 189 + }; 190 + 191 + IIC1: i2c@ef600800 { 192 + compatible = "ibm,iic-460gt", "ibm,iic"; 193 + reg = <0xef600800 0x00000014>; 194 + interrupt-parent = <&UIC0>; 195 + interrupts = <0x3 0x4>; 196 + }; 197 + 198 + TAH0: emac-tah@ef601350 { 199 + compatible = "ibm,tah-460gt", "ibm,tah"; 200 + reg = <0xef601350 0x00000030>; 201 + }; 202 + 203 + TAH1: emac-tah@ef601450 { 204 + compatible = "ibm,tah-460gt", "ibm,tah"; 205 + reg = <0xef601450 0x00000030>; 206 + }; 207 + 208 + EMAC0: ethernet@ef600e00 { 209 + device_type = "network"; 210 + compatible = "ibm,emac-460gt", "ibm,emac4sync"; 211 + interrupt-parent = <&EMAC0>; 212 + interrupts = <0x0 0x1>; 213 + #interrupt-cells = <1>; 214 + #address-cells = <0>; 215 + #size-cells = <0>; 216 + interrupt-map = </*Status*/ 0x0 &UIC2 0x10 0x4 217 + /*Wake*/ 0x1 &UIC2 0x14 0x4>; 218 + reg = <0xef600e00 0x000000c4>; 219 + local-mac-address = [000000000000]; /* Filled in by U-Boot */ 220 + mal-device = <&MAL0>; 221 + mal-tx-channel = <0>; 222 + mal-rx-channel = <0>; 223 + cell-index = <0>; 224 + max-frame-size = <9000>; 225 + rx-fifo-size = <4096>; 226 + tx-fifo-size = <2048>; 227 + phy-mode = "sgmii"; 228 + phy-map = <0xffffffff>; 229 + gpcs-address = <0x0000000a>; 230 + tah-device = <&TAH0>; 231 + tah-channel = <0>; 232 + has-inverted-stacr-oc; 233 + has-new-stacr-staopc; 234 + }; 235 + 236 + EMAC1: ethernet@ef600f00 { 237 + device_type = "network"; 238 + compatible = "ibm,emac-460gt", "ibm,emac4sync"; 239 + interrupt-parent = <&EMAC1>; 240 + interrupts = <0x0 0x1>; 241 + #interrupt-cells = <1>; 242 + #address-cells = <0>; 243 + #size-cells = <0>; 244 + interrupt-map = </*Status*/ 0x0 &UIC2 0x11 0x4 245 + /*Wake*/ 0x1 &UIC2 0x15 0x4>; 246 + reg = <0xef600f00 0x000000c4>; 247 + local-mac-address = [000000000000]; /* Filled in by U-Boot */ 248 + mal-device = <&MAL0>; 249 + mal-tx-channel = <1>; 250 + mal-rx-channel = <8>; 251 + cell-index = <1>; 252 + max-frame-size = <9000>; 253 + rx-fifo-size = <4096>; 254 + tx-fifo-size = <2048>; 255 + phy-mode = "sgmii"; 256 + phy-map = <0x00000000>; 257 + gpcs-address = <0x0000000b>; 258 + tah-device = <&TAH1>; 259 + tah-channel = <1>; 260 + has-inverted-stacr-oc; 261 + has-new-stacr-staopc; 262 + mdio-device = <&EMAC0>; 263 + }; 264 + 265 + EMAC2: ethernet@ef601100 { 266 + device_type = "network"; 267 + compatible = "ibm,emac-460gt", "ibm,emac4sync"; 268 + interrupt-parent = <&EMAC2>; 269 + interrupts = <0x0 0x1>; 270 + #interrupt-cells = <1>; 271 + #address-cells = <0>; 272 + #size-cells = <0>; 273 + interrupt-map = </*Status*/ 0x0 &UIC2 0x12 0x4 274 + /*Wake*/ 0x1 &UIC2 0x16 0x4>; 275 + reg = <0xef601100 0x000000c4>; 276 + local-mac-address = [000000000000]; /* Filled in by U-Boot */ 277 + mal-device = <&MAL0>; 278 + mal-tx-channel = <2>; 279 + mal-rx-channel = <16>; 280 + cell-index = <2>; 281 + max-frame-size = <9000>; 282 + rx-fifo-size = <4096>; 283 + tx-fifo-size = <2048>; 284 + phy-mode = "sgmii"; 285 + phy-map = <0x00000001>; 286 + gpcs-address = <0x0000000C>; 287 + has-inverted-stacr-oc; 288 + has-new-stacr-staopc; 289 + mdio-device = <&EMAC0>; 290 + }; 291 + }; 292 + }; 293 + };
+767
arch/powerpc/configs/44x/arches_defconfig
··· 1 + # 2 + # Automatically generated make config: don't edit 3 + # Linux kernel version: 2.6.27-rc5 4 + # Wed Oct 1 15:54:57 2008 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 is not set 15 + CONFIG_44x=y 16 + # CONFIG_E200 is not set 17 + CONFIG_PPC_FPU=y 18 + CONFIG_4xx=y 19 + CONFIG_BOOKE=y 20 + CONFIG_PTE_64BIT=y 21 + CONFIG_PHYS_64BIT=y 22 + # CONFIG_PPC_MM_SLICES is not set 23 + CONFIG_NOT_COHERENT_CACHE=y 24 + CONFIG_PPC32=y 25 + CONFIG_WORD_SIZE=32 26 + CONFIG_PPC_MERGE=y 27 + CONFIG_MMU=y 28 + CONFIG_GENERIC_CMOS_UPDATE=y 29 + CONFIG_GENERIC_TIME=y 30 + CONFIG_GENERIC_TIME_VSYSCALL=y 31 + CONFIG_GENERIC_CLOCKEVENTS=y 32 + CONFIG_GENERIC_HARDIRQS=y 33 + # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set 34 + CONFIG_IRQ_PER_CPU=y 35 + CONFIG_STACKTRACE_SUPPORT=y 36 + CONFIG_HAVE_LATENCYTOP_SUPPORT=y 37 + CONFIG_LOCKDEP_SUPPORT=y 38 + CONFIG_RWSEM_XCHGADD_ALGORITHM=y 39 + CONFIG_ARCH_HAS_ILOG2_U32=y 40 + CONFIG_GENERIC_HWEIGHT=y 41 + CONFIG_GENERIC_CALIBRATE_DELAY=y 42 + CONFIG_GENERIC_FIND_NEXT_BIT=y 43 + # CONFIG_ARCH_NO_VIRT_TO_BUS is not set 44 + CONFIG_PPC=y 45 + CONFIG_EARLY_PRINTK=y 46 + CONFIG_GENERIC_NVRAM=y 47 + CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 48 + CONFIG_ARCH_MAY_HAVE_PC_FDC=y 49 + CONFIG_PPC_OF=y 50 + CONFIG_OF=y 51 + CONFIG_PPC_UDBG_16550=y 52 + # CONFIG_GENERIC_TBSYNC is not set 53 + CONFIG_AUDIT_ARCH=y 54 + CONFIG_GENERIC_BUG=y 55 + # CONFIG_DEFAULT_UIMAGE is not set 56 + CONFIG_PPC_DCR_NATIVE=y 57 + # CONFIG_PPC_DCR_MMIO is not set 58 + CONFIG_PPC_DCR=y 59 + CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 60 + 61 + # 62 + # General setup 63 + # 64 + CONFIG_EXPERIMENTAL=y 65 + CONFIG_BROKEN_ON_SMP=y 66 + CONFIG_INIT_ENV_ARG_LIMIT=32 67 + CONFIG_LOCALVERSION="" 68 + CONFIG_LOCALVERSION_AUTO=y 69 + CONFIG_SWAP=y 70 + CONFIG_SYSVIPC=y 71 + CONFIG_SYSVIPC_SYSCTL=y 72 + CONFIG_POSIX_MQUEUE=y 73 + # CONFIG_BSD_PROCESS_ACCT is not set 74 + # CONFIG_TASKSTATS is not set 75 + # CONFIG_AUDIT is not set 76 + # CONFIG_IKCONFIG is not set 77 + CONFIG_LOG_BUF_SHIFT=14 78 + # CONFIG_CGROUPS is not set 79 + # CONFIG_GROUP_SCHED is not set 80 + CONFIG_SYSFS_DEPRECATED=y 81 + CONFIG_SYSFS_DEPRECATED_V2=y 82 + # CONFIG_RELAY is not set 83 + # CONFIG_NAMESPACES is not set 84 + CONFIG_BLK_DEV_INITRD=y 85 + CONFIG_INITRAMFS_SOURCE="" 86 + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 87 + CONFIG_SYSCTL=y 88 + CONFIG_EMBEDDED=y 89 + CONFIG_SYSCTL_SYSCALL=y 90 + CONFIG_KALLSYMS=y 91 + # CONFIG_KALLSYMS_ALL is not set 92 + # CONFIG_KALLSYMS_EXTRA_PASS is not set 93 + CONFIG_HOTPLUG=y 94 + CONFIG_PRINTK=y 95 + CONFIG_BUG=y 96 + CONFIG_ELF_CORE=y 97 + CONFIG_COMPAT_BRK=y 98 + CONFIG_BASE_FULL=y 99 + CONFIG_FUTEX=y 100 + CONFIG_ANON_INODES=y 101 + CONFIG_EPOLL=y 102 + CONFIG_SIGNALFD=y 103 + CONFIG_TIMERFD=y 104 + CONFIG_EVENTFD=y 105 + CONFIG_SHMEM=y 106 + CONFIG_VM_EVENT_COUNTERS=y 107 + CONFIG_SLUB_DEBUG=y 108 + # CONFIG_SLAB is not set 109 + CONFIG_SLUB=y 110 + # CONFIG_SLOB is not set 111 + # CONFIG_PROFILING is not set 112 + # CONFIG_MARKERS is not set 113 + CONFIG_HAVE_OPROFILE=y 114 + # CONFIG_KPROBES is not set 115 + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 116 + CONFIG_HAVE_IOREMAP_PROT=y 117 + CONFIG_HAVE_KPROBES=y 118 + CONFIG_HAVE_KRETPROBES=y 119 + CONFIG_HAVE_ARCH_TRACEHOOK=y 120 + # CONFIG_HAVE_DMA_ATTRS is not set 121 + # CONFIG_USE_GENERIC_SMP_HELPERS is not set 122 + # CONFIG_HAVE_CLK is not set 123 + CONFIG_PROC_PAGE_MONITOR=y 124 + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 125 + CONFIG_SLABINFO=y 126 + CONFIG_RT_MUTEXES=y 127 + # CONFIG_TINY_SHMEM is not set 128 + CONFIG_BASE_SMALL=0 129 + CONFIG_MODULES=y 130 + # CONFIG_MODULE_FORCE_LOAD is not set 131 + CONFIG_MODULE_UNLOAD=y 132 + # CONFIG_MODULE_FORCE_UNLOAD is not set 133 + # CONFIG_MODVERSIONS is not set 134 + # CONFIG_MODULE_SRCVERSION_ALL is not set 135 + CONFIG_KMOD=y 136 + CONFIG_BLOCK=y 137 + CONFIG_LBD=y 138 + # CONFIG_BLK_DEV_IO_TRACE is not set 139 + # CONFIG_LSF is not set 140 + # CONFIG_BLK_DEV_BSG is not set 141 + # CONFIG_BLK_DEV_INTEGRITY is not set 142 + 143 + # 144 + # IO Schedulers 145 + # 146 + CONFIG_IOSCHED_NOOP=y 147 + CONFIG_IOSCHED_AS=y 148 + CONFIG_IOSCHED_DEADLINE=y 149 + CONFIG_IOSCHED_CFQ=y 150 + CONFIG_DEFAULT_AS=y 151 + # CONFIG_DEFAULT_DEADLINE is not set 152 + # CONFIG_DEFAULT_CFQ is not set 153 + # CONFIG_DEFAULT_NOOP is not set 154 + CONFIG_DEFAULT_IOSCHED="anticipatory" 155 + CONFIG_CLASSIC_RCU=y 156 + CONFIG_PPC4xx_PCI_EXPRESS=y 157 + 158 + # 159 + # Platform support 160 + # 161 + # CONFIG_PPC_CELL is not set 162 + # CONFIG_PPC_CELL_NATIVE is not set 163 + # CONFIG_PQ2ADS is not set 164 + # CONFIG_BAMBOO is not set 165 + # CONFIG_EBONY is not set 166 + # CONFIG_SAM440EP is not set 167 + # CONFIG_SEQUOIA is not set 168 + # CONFIG_TAISHAN is not set 169 + # CONFIG_KATMAI is not set 170 + # CONFIG_RAINIER is not set 171 + # CONFIG_WARP is not set 172 + CONFIG_ARCHES=y 173 + # CONFIG_CANYONLANDS is not set 174 + # CONFIG_GLACIER is not set 175 + # CONFIG_YOSEMITE is not set 176 + # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set 177 + CONFIG_PPC44x_SIMPLE=y 178 + CONFIG_460EX=y 179 + # CONFIG_IPIC is not set 180 + # CONFIG_MPIC is not set 181 + # CONFIG_MPIC_WEIRD is not set 182 + # CONFIG_PPC_I8259 is not set 183 + # CONFIG_PPC_RTAS is not set 184 + # CONFIG_MMIO_NVRAM is not set 185 + # CONFIG_PPC_MPC106 is not set 186 + # CONFIG_PPC_970_NAP is not set 187 + # CONFIG_PPC_INDIRECT_IO is not set 188 + # CONFIG_GENERIC_IOMAP is not set 189 + # CONFIG_CPU_FREQ is not set 190 + # CONFIG_FSL_ULI1575 is not set 191 + 192 + # 193 + # Kernel options 194 + # 195 + # CONFIG_HIGHMEM is not set 196 + CONFIG_TICK_ONESHOT=y 197 + CONFIG_NO_HZ=y 198 + CONFIG_HIGH_RES_TIMERS=y 199 + CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 200 + # CONFIG_HZ_100 is not set 201 + CONFIG_HZ_250=y 202 + # CONFIG_HZ_300 is not set 203 + # CONFIG_HZ_1000 is not set 204 + CONFIG_HZ=250 205 + CONFIG_SCHED_HRTICK=y 206 + CONFIG_PREEMPT_NONE=y 207 + # CONFIG_PREEMPT_VOLUNTARY is not set 208 + # CONFIG_PREEMPT is not set 209 + CONFIG_BINFMT_ELF=y 210 + # CONFIG_BINFMT_MISC is not set 211 + # CONFIG_MATH_EMULATION is not set 212 + # CONFIG_IOMMU_HELPER is not set 213 + CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 214 + CONFIG_ARCH_HAS_WALK_MEMORY=y 215 + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y 216 + CONFIG_ARCH_FLATMEM_ENABLE=y 217 + CONFIG_ARCH_POPULATES_NODE_MAP=y 218 + CONFIG_SELECT_MEMORY_MODEL=y 219 + CONFIG_FLATMEM_MANUAL=y 220 + # CONFIG_DISCONTIGMEM_MANUAL is not set 221 + # CONFIG_SPARSEMEM_MANUAL is not set 222 + CONFIG_FLATMEM=y 223 + CONFIG_FLAT_NODE_MEM_MAP=y 224 + # CONFIG_SPARSEMEM_STATIC is not set 225 + # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set 226 + CONFIG_PAGEFLAGS_EXTENDED=y 227 + CONFIG_SPLIT_PTLOCK_CPUS=4 228 + CONFIG_MIGRATION=y 229 + CONFIG_RESOURCES_64BIT=y 230 + CONFIG_ZONE_DMA_FLAG=1 231 + CONFIG_BOUNCE=y 232 + CONFIG_VIRT_TO_BUS=y 233 + CONFIG_FORCE_MAX_ZONEORDER=11 234 + CONFIG_PROC_DEVICETREE=y 235 + CONFIG_CMDLINE_BOOL=y 236 + CONFIG_CMDLINE="" 237 + CONFIG_EXTRA_TARGETS="" 238 + CONFIG_SECCOMP=y 239 + CONFIG_ISA_DMA_API=y 240 + 241 + # 242 + # Bus options 243 + # 244 + CONFIG_ZONE_DMA=y 245 + CONFIG_PPC_INDIRECT_PCI=y 246 + CONFIG_4xx_SOC=y 247 + CONFIG_PPC_PCI_CHOICE=y 248 + CONFIG_PCI=y 249 + CONFIG_PCI_DOMAINS=y 250 + CONFIG_PCI_SYSCALL=y 251 + # CONFIG_PCIEPORTBUS is not set 252 + CONFIG_ARCH_SUPPORTS_MSI=y 253 + # CONFIG_PCI_MSI is not set 254 + CONFIG_PCI_LEGACY=y 255 + # CONFIG_PCI_DEBUG is not set 256 + # CONFIG_PCCARD is not set 257 + # CONFIG_HOTPLUG_PCI is not set 258 + # CONFIG_HAS_RAPIDIO is not set 259 + 260 + # 261 + # Advanced setup 262 + # 263 + # CONFIG_ADVANCED_OPTIONS is not set 264 + 265 + # 266 + # Default settings for advanced configuration options are used 267 + # 268 + CONFIG_LOWMEM_SIZE=0x30000000 269 + CONFIG_PAGE_OFFSET=0xc0000000 270 + CONFIG_KERNEL_START=0xc0000000 271 + CONFIG_PHYSICAL_START=0x00000000 272 + CONFIG_TASK_SIZE=0xc0000000 273 + CONFIG_CONSISTENT_START=0xff100000 274 + CONFIG_CONSISTENT_SIZE=0x00200000 275 + CONFIG_NET=y 276 + 277 + # 278 + # Networking options 279 + # 280 + CONFIG_PACKET=y 281 + # CONFIG_PACKET_MMAP is not set 282 + CONFIG_UNIX=y 283 + # CONFIG_NET_KEY is not set 284 + CONFIG_INET=y 285 + # CONFIG_IP_MULTICAST is not set 286 + # CONFIG_IP_ADVANCED_ROUTER is not set 287 + CONFIG_IP_FIB_HASH=y 288 + CONFIG_IP_PNP=y 289 + CONFIG_IP_PNP_DHCP=y 290 + CONFIG_IP_PNP_BOOTP=y 291 + # CONFIG_IP_PNP_RARP is not set 292 + # CONFIG_NET_IPIP is not set 293 + # CONFIG_NET_IPGRE is not set 294 + # CONFIG_ARPD is not set 295 + # CONFIG_SYN_COOKIES is not set 296 + # CONFIG_INET_AH is not set 297 + # CONFIG_INET_ESP is not set 298 + # CONFIG_INET_IPCOMP is not set 299 + # CONFIG_INET_XFRM_TUNNEL is not set 300 + # CONFIG_INET_TUNNEL is not set 301 + # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 302 + # CONFIG_INET_XFRM_MODE_TUNNEL is not set 303 + # CONFIG_INET_XFRM_MODE_BEET is not set 304 + # CONFIG_INET_LRO is not set 305 + CONFIG_INET_DIAG=y 306 + CONFIG_INET_TCP_DIAG=y 307 + # CONFIG_TCP_CONG_ADVANCED is not set 308 + CONFIG_TCP_CONG_CUBIC=y 309 + CONFIG_DEFAULT_TCP_CONG="cubic" 310 + # CONFIG_TCP_MD5SIG is not set 311 + # CONFIG_IPV6 is not set 312 + # CONFIG_NETWORK_SECMARK is not set 313 + # CONFIG_NETFILTER is not set 314 + # CONFIG_IP_DCCP is not set 315 + # CONFIG_IP_SCTP is not set 316 + # CONFIG_TIPC is not set 317 + # CONFIG_ATM is not set 318 + # CONFIG_BRIDGE is not set 319 + # CONFIG_VLAN_8021Q is not set 320 + # CONFIG_DECNET is not set 321 + # CONFIG_LLC2 is not set 322 + # CONFIG_IPX is not set 323 + # CONFIG_ATALK is not set 324 + # CONFIG_X25 is not set 325 + # CONFIG_LAPB is not set 326 + # CONFIG_ECONET is not set 327 + # CONFIG_WAN_ROUTER is not set 328 + # CONFIG_NET_SCHED is not set 329 + 330 + # 331 + # Network testing 332 + # 333 + # CONFIG_NET_PKTGEN is not set 334 + # CONFIG_HAMRADIO is not set 335 + # CONFIG_CAN is not set 336 + # CONFIG_IRDA is not set 337 + # CONFIG_BT is not set 338 + # CONFIG_AF_RXRPC is not set 339 + 340 + # 341 + # Wireless 342 + # 343 + # CONFIG_CFG80211 is not set 344 + # CONFIG_WIRELESS_EXT is not set 345 + # CONFIG_MAC80211 is not set 346 + # CONFIG_IEEE80211 is not set 347 + # CONFIG_RFKILL is not set 348 + # CONFIG_NET_9P is not set 349 + 350 + # 351 + # Device Drivers 352 + # 353 + 354 + # 355 + # Generic Driver Options 356 + # 357 + CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 358 + CONFIG_STANDALONE=y 359 + CONFIG_PREVENT_FIRMWARE_BUILD=y 360 + CONFIG_FW_LOADER=y 361 + CONFIG_FIRMWARE_IN_KERNEL=y 362 + CONFIG_EXTRA_FIRMWARE="" 363 + # CONFIG_DEBUG_DRIVER is not set 364 + # CONFIG_DEBUG_DEVRES is not set 365 + # CONFIG_SYS_HYPERVISOR is not set 366 + CONFIG_CONNECTOR=y 367 + CONFIG_PROC_EVENTS=y 368 + # CONFIG_MTD is not set 369 + CONFIG_OF_DEVICE=y 370 + # CONFIG_PARPORT is not set 371 + CONFIG_BLK_DEV=y 372 + # CONFIG_BLK_DEV_FD is not set 373 + # CONFIG_BLK_CPQ_DA is not set 374 + # CONFIG_BLK_CPQ_CISS_DA is not set 375 + # CONFIG_BLK_DEV_DAC960 is not set 376 + # CONFIG_BLK_DEV_UMEM is not set 377 + # CONFIG_BLK_DEV_COW_COMMON is not set 378 + # CONFIG_BLK_DEV_LOOP is not set 379 + # CONFIG_BLK_DEV_NBD is not set 380 + # CONFIG_BLK_DEV_SX8 is not set 381 + CONFIG_BLK_DEV_RAM=y 382 + CONFIG_BLK_DEV_RAM_COUNT=16 383 + CONFIG_BLK_DEV_RAM_SIZE=35000 384 + # CONFIG_BLK_DEV_XIP is not set 385 + # CONFIG_CDROM_PKTCDVD is not set 386 + # CONFIG_ATA_OVER_ETH is not set 387 + # CONFIG_XILINX_SYSACE is not set 388 + # CONFIG_BLK_DEV_HD is not set 389 + # CONFIG_MISC_DEVICES is not set 390 + CONFIG_HAVE_IDE=y 391 + # CONFIG_IDE is not set 392 + 393 + # 394 + # SCSI device support 395 + # 396 + # CONFIG_RAID_ATTRS is not set 397 + # CONFIG_SCSI is not set 398 + # CONFIG_SCSI_DMA is not set 399 + # CONFIG_SCSI_NETLINK is not set 400 + # CONFIG_ATA is not set 401 + # CONFIG_MD is not set 402 + # CONFIG_FUSION is not set 403 + 404 + # 405 + # IEEE 1394 (FireWire) support 406 + # 407 + 408 + # 409 + # Enable only one of the two stacks, unless you know what you are doing 410 + # 411 + # CONFIG_FIREWIRE is not set 412 + # CONFIG_IEEE1394 is not set 413 + # CONFIG_I2O is not set 414 + # CONFIG_MACINTOSH_DRIVERS is not set 415 + CONFIG_NETDEVICES=y 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_VETH is not set 422 + # CONFIG_ARCNET is not set 423 + # CONFIG_PHYLIB is not set 424 + CONFIG_NET_ETHERNET=y 425 + # CONFIG_MII is not set 426 + # CONFIG_HAPPYMEAL is not set 427 + # CONFIG_SUNGEM is not set 428 + # CONFIG_CASSINI is not set 429 + # CONFIG_NET_VENDOR_3COM is not set 430 + # CONFIG_NET_TULIP is not set 431 + # CONFIG_HP100 is not set 432 + CONFIG_IBM_NEW_EMAC=y 433 + CONFIG_IBM_NEW_EMAC_RXB=256 434 + CONFIG_IBM_NEW_EMAC_TXB=256 435 + CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32 436 + CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256 437 + CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0 438 + # CONFIG_IBM_NEW_EMAC_DEBUG is not set 439 + # CONFIG_IBM_NEW_EMAC_ZMII is not set 440 + # CONFIG_IBM_NEW_EMAC_RGMII is not set 441 + CONFIG_IBM_NEW_EMAC_TAH=y 442 + CONFIG_IBM_NEW_EMAC_EMAC4=y 443 + # CONFIG_NET_PCI is not set 444 + # CONFIG_B44 is not set 445 + # CONFIG_NETDEV_1000 is not set 446 + # CONFIG_NETDEV_10000 is not set 447 + # CONFIG_TR is not set 448 + 449 + # 450 + # Wireless LAN 451 + # 452 + # CONFIG_WLAN_PRE80211 is not set 453 + # CONFIG_WLAN_80211 is not set 454 + # CONFIG_IWLWIFI_LEDS is not set 455 + # CONFIG_WAN is not set 456 + # CONFIG_FDDI is not set 457 + # CONFIG_HIPPI is not set 458 + # CONFIG_PPP is not set 459 + # CONFIG_SLIP is not set 460 + # CONFIG_NETCONSOLE is not set 461 + # CONFIG_NETPOLL is not set 462 + # CONFIG_NET_POLL_CONTROLLER is not set 463 + # CONFIG_ISDN is not set 464 + # CONFIG_PHONE is not set 465 + 466 + # 467 + # Input device support 468 + # 469 + # CONFIG_INPUT is not set 470 + 471 + # 472 + # Hardware I/O ports 473 + # 474 + # CONFIG_SERIO is not set 475 + # CONFIG_GAMEPORT is not set 476 + 477 + # 478 + # Character devices 479 + # 480 + # CONFIG_VT is not set 481 + CONFIG_DEVKMEM=y 482 + # CONFIG_SERIAL_NONSTANDARD is not set 483 + # CONFIG_NOZOMI is not set 484 + 485 + # 486 + # Serial drivers 487 + # 488 + CONFIG_SERIAL_8250=y 489 + CONFIG_SERIAL_8250_CONSOLE=y 490 + # CONFIG_SERIAL_8250_PCI is not set 491 + CONFIG_SERIAL_8250_NR_UARTS=4 492 + CONFIG_SERIAL_8250_RUNTIME_UARTS=4 493 + CONFIG_SERIAL_8250_EXTENDED=y 494 + # CONFIG_SERIAL_8250_MANY_PORTS is not set 495 + CONFIG_SERIAL_8250_SHARE_IRQ=y 496 + # CONFIG_SERIAL_8250_DETECT_IRQ is not set 497 + # CONFIG_SERIAL_8250_RSA is not set 498 + 499 + # 500 + # Non-8250 serial port support 501 + # 502 + # CONFIG_SERIAL_UARTLITE is not set 503 + CONFIG_SERIAL_CORE=y 504 + CONFIG_SERIAL_CORE_CONSOLE=y 505 + # CONFIG_SERIAL_JSM is not set 506 + CONFIG_SERIAL_OF_PLATFORM=y 507 + CONFIG_UNIX98_PTYS=y 508 + CONFIG_LEGACY_PTYS=y 509 + CONFIG_LEGACY_PTY_COUNT=256 510 + # CONFIG_IPMI_HANDLER is not set 511 + # CONFIG_HW_RANDOM is not set 512 + # CONFIG_NVRAM is not set 513 + # CONFIG_GEN_RTC is not set 514 + # CONFIG_R3964 is not set 515 + # CONFIG_APPLICOM is not set 516 + # CONFIG_RAW_DRIVER is not set 517 + # CONFIG_TCG_TPM is not set 518 + CONFIG_DEVPORT=y 519 + # CONFIG_I2C is not set 520 + # CONFIG_SPI is not set 521 + CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y 522 + # CONFIG_GPIOLIB is not set 523 + # CONFIG_W1 is not set 524 + # CONFIG_POWER_SUPPLY is not set 525 + # CONFIG_HWMON is not set 526 + # CONFIG_THERMAL is not set 527 + # CONFIG_THERMAL_HWMON is not set 528 + # CONFIG_WATCHDOG is not set 529 + 530 + # 531 + # Sonics Silicon Backplane 532 + # 533 + CONFIG_SSB_POSSIBLE=y 534 + # CONFIG_SSB is not set 535 + 536 + # 537 + # Multifunction device drivers 538 + # 539 + # CONFIG_MFD_CORE is not set 540 + # CONFIG_MFD_SM501 is not set 541 + # CONFIG_HTC_PASIC3 is not set 542 + # CONFIG_MFD_TMIO is not set 543 + 544 + # 545 + # Multimedia devices 546 + # 547 + 548 + # 549 + # Multimedia core support 550 + # 551 + # CONFIG_VIDEO_DEV is not set 552 + # CONFIG_DVB_CORE is not set 553 + # CONFIG_VIDEO_MEDIA is not set 554 + 555 + # 556 + # Multimedia drivers 557 + # 558 + CONFIG_DAB=y 559 + 560 + # 561 + # Graphics support 562 + # 563 + # CONFIG_AGP is not set 564 + # CONFIG_DRM is not set 565 + # CONFIG_VGASTATE is not set 566 + CONFIG_VIDEO_OUTPUT_CONTROL=m 567 + # CONFIG_FB is not set 568 + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 569 + 570 + # 571 + # Display device support 572 + # 573 + # CONFIG_DISPLAY_SUPPORT is not set 574 + # CONFIG_SOUND is not set 575 + # CONFIG_USB_SUPPORT is not set 576 + # CONFIG_MMC is not set 577 + # CONFIG_MEMSTICK is not set 578 + # CONFIG_NEW_LEDS is not set 579 + # CONFIG_ACCESSIBILITY is not set 580 + # CONFIG_INFINIBAND is not set 581 + # CONFIG_EDAC is not set 582 + # CONFIG_RTC_CLASS is not set 583 + # CONFIG_DMADEVICES is not set 584 + # CONFIG_UIO is not set 585 + 586 + # 587 + # File systems 588 + # 589 + CONFIG_EXT2_FS=y 590 + # CONFIG_EXT2_FS_XATTR is not set 591 + # CONFIG_EXT2_FS_XIP is not set 592 + # CONFIG_EXT3_FS is not set 593 + # CONFIG_EXT4DEV_FS is not set 594 + # CONFIG_REISERFS_FS is not set 595 + # CONFIG_JFS_FS is not set 596 + # CONFIG_FS_POSIX_ACL is not set 597 + # CONFIG_XFS_FS is not set 598 + # CONFIG_OCFS2_FS is not set 599 + CONFIG_DNOTIFY=y 600 + CONFIG_INOTIFY=y 601 + CONFIG_INOTIFY_USER=y 602 + # CONFIG_QUOTA is not set 603 + # CONFIG_AUTOFS_FS is not set 604 + # CONFIG_AUTOFS4_FS is not set 605 + # CONFIG_FUSE_FS is not set 606 + 607 + # 608 + # CD-ROM/DVD Filesystems 609 + # 610 + # CONFIG_ISO9660_FS is not set 611 + # CONFIG_UDF_FS is not set 612 + 613 + # 614 + # DOS/FAT/NT Filesystems 615 + # 616 + # CONFIG_MSDOS_FS is not set 617 + # CONFIG_VFAT_FS is not set 618 + # CONFIG_NTFS_FS is not set 619 + 620 + # 621 + # Pseudo filesystems 622 + # 623 + CONFIG_PROC_FS=y 624 + CONFIG_PROC_KCORE=y 625 + CONFIG_PROC_SYSCTL=y 626 + CONFIG_SYSFS=y 627 + CONFIG_TMPFS=y 628 + # CONFIG_TMPFS_POSIX_ACL is not set 629 + # CONFIG_HUGETLB_PAGE is not set 630 + # CONFIG_CONFIGFS_FS is not set 631 + 632 + # 633 + # Miscellaneous filesystems 634 + # 635 + # CONFIG_ADFS_FS is not set 636 + # CONFIG_AFFS_FS is not set 637 + # CONFIG_HFS_FS is not set 638 + # CONFIG_HFSPLUS_FS is not set 639 + # CONFIG_BEFS_FS is not set 640 + # CONFIG_BFS_FS is not set 641 + # CONFIG_EFS_FS is not set 642 + CONFIG_CRAMFS=y 643 + # CONFIG_VXFS_FS is not set 644 + # CONFIG_MINIX_FS is not set 645 + # CONFIG_OMFS_FS is not set 646 + # CONFIG_HPFS_FS is not set 647 + # CONFIG_QNX4FS_FS is not set 648 + # CONFIG_ROMFS_FS is not set 649 + # CONFIG_SYSV_FS is not set 650 + # CONFIG_UFS_FS is not set 651 + CONFIG_NETWORK_FILESYSTEMS=y 652 + CONFIG_NFS_FS=y 653 + CONFIG_NFS_V3=y 654 + # CONFIG_NFS_V3_ACL is not set 655 + # CONFIG_NFS_V4 is not set 656 + CONFIG_ROOT_NFS=y 657 + # CONFIG_NFSD is not set 658 + CONFIG_LOCKD=y 659 + CONFIG_LOCKD_V4=y 660 + CONFIG_NFS_COMMON=y 661 + CONFIG_SUNRPC=y 662 + # CONFIG_RPCSEC_GSS_KRB5 is not set 663 + # CONFIG_RPCSEC_GSS_SPKM3 is not set 664 + # CONFIG_SMB_FS is not set 665 + # CONFIG_CIFS is not set 666 + # CONFIG_NCP_FS is not set 667 + # CONFIG_CODA_FS is not set 668 + # CONFIG_AFS_FS is not set 669 + 670 + # 671 + # Partition Types 672 + # 673 + # CONFIG_PARTITION_ADVANCED is not set 674 + CONFIG_MSDOS_PARTITION=y 675 + # CONFIG_NLS is not set 676 + # CONFIG_DLM is not set 677 + 678 + # 679 + # Library routines 680 + # 681 + CONFIG_BITREVERSE=y 682 + # CONFIG_GENERIC_FIND_FIRST_BIT is not set 683 + # CONFIG_CRC_CCITT is not set 684 + # CONFIG_CRC16 is not set 685 + # CONFIG_CRC_T10DIF is not set 686 + # CONFIG_CRC_ITU_T is not set 687 + CONFIG_CRC32=y 688 + # CONFIG_CRC7 is not set 689 + # CONFIG_LIBCRC32C is not set 690 + CONFIG_ZLIB_INFLATE=y 691 + CONFIG_PLIST=y 692 + CONFIG_HAS_IOMEM=y 693 + CONFIG_HAS_IOPORT=y 694 + CONFIG_HAS_DMA=y 695 + CONFIG_HAVE_LMB=y 696 + 697 + # 698 + # Kernel hacking 699 + # 700 + # CONFIG_PRINTK_TIME is not set 701 + CONFIG_ENABLE_WARN_DEPRECATED=y 702 + CONFIG_ENABLE_MUST_CHECK=y 703 + CONFIG_FRAME_WARN=1024 704 + CONFIG_MAGIC_SYSRQ=y 705 + # CONFIG_UNUSED_SYMBOLS is not set 706 + CONFIG_DEBUG_FS=y 707 + # CONFIG_HEADERS_CHECK is not set 708 + CONFIG_DEBUG_KERNEL=y 709 + # CONFIG_DEBUG_SHIRQ is not set 710 + CONFIG_DETECT_SOFTLOCKUP=y 711 + # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 712 + CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 713 + CONFIG_SCHED_DEBUG=y 714 + # CONFIG_SCHEDSTATS is not set 715 + # CONFIG_TIMER_STATS is not set 716 + # CONFIG_DEBUG_OBJECTS is not set 717 + # CONFIG_SLUB_DEBUG_ON is not set 718 + # CONFIG_SLUB_STATS is not set 719 + # CONFIG_DEBUG_RT_MUTEXES is not set 720 + # CONFIG_RT_MUTEX_TESTER is not set 721 + # CONFIG_DEBUG_SPINLOCK is not set 722 + # CONFIG_DEBUG_MUTEXES is not set 723 + # CONFIG_DEBUG_SPINLOCK_SLEEP is not set 724 + # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 725 + # CONFIG_DEBUG_KOBJECT is not set 726 + # CONFIG_DEBUG_BUGVERBOSE is not set 727 + # CONFIG_DEBUG_INFO is not set 728 + # CONFIG_DEBUG_VM is not set 729 + # CONFIG_DEBUG_WRITECOUNT is not set 730 + # CONFIG_DEBUG_MEMORY_INIT is not set 731 + # CONFIG_DEBUG_LIST is not set 732 + # CONFIG_DEBUG_SG is not set 733 + # CONFIG_BOOT_PRINTK_DELAY is not set 734 + # CONFIG_RCU_TORTURE_TEST is not set 735 + # CONFIG_BACKTRACE_SELF_TEST is not set 736 + # CONFIG_FAULT_INJECTION is not set 737 + # CONFIG_LATENCYTOP is not set 738 + CONFIG_SYSCTL_SYSCALL_CHECK=y 739 + CONFIG_HAVE_FTRACE=y 740 + CONFIG_HAVE_DYNAMIC_FTRACE=y 741 + # CONFIG_FTRACE is not set 742 + # CONFIG_SCHED_TRACER is not set 743 + # CONFIG_CONTEXT_SWITCH_TRACER is not set 744 + # CONFIG_SAMPLES is not set 745 + CONFIG_HAVE_ARCH_KGDB=y 746 + # CONFIG_KGDB is not set 747 + # CONFIG_DEBUG_STACKOVERFLOW is not set 748 + # CONFIG_DEBUG_STACK_USAGE is not set 749 + # CONFIG_DEBUG_PAGEALLOC is not set 750 + # CONFIG_CODE_PATCHING_SELFTEST is not set 751 + # CONFIG_FTR_FIXUP_SELFTEST is not set 752 + # CONFIG_MSI_BITMAP_SELFTEST is not set 753 + # CONFIG_XMON is not set 754 + # CONFIG_IRQSTACKS is not set 755 + # CONFIG_VIRQ_DEBUG is not set 756 + # CONFIG_BDI_SWITCH is not set 757 + # CONFIG_PPC_EARLY_DEBUG is not set 758 + 759 + # 760 + # Security options 761 + # 762 + # CONFIG_KEYS is not set 763 + # CONFIG_SECURITY is not set 764 + # CONFIG_SECURITY_FILE_CAPABILITIES is not set 765 + # CONFIG_CRYPTO is not set 766 + # CONFIG_PPC_CLOCK is not set 767 + # CONFIG_VIRTUALIZATION is not set
+11
arch/powerpc/include/asm/dcr-regs.h
··· 68 68 #define SDR0_UART3 0x0123 69 69 #define SDR0_CUST0 0x4000 70 70 71 + /* SDR for 405EZ */ 72 + #define DCRN_SDR_ICINTSTAT 0x4510 73 + #define ICINTSTAT_ICRX 0x80000000 74 + #define ICINTSTAT_ICTX0 0x40000000 75 + #define ICINTSTAT_ICTX1 0x20000000 76 + #define ICINTSTAT_ICTX 0x60000000 77 + 78 + /* SDRs (460EX/460GT) */ 79 + #define SDR0_ETH_CFG 0x4103 80 + #define SDR0_ETH_CFG_ECS 0x00000100 /* EMAC int clk source */ 81 + 71 82 /* 72 83 * All those DCR register addresses are offsets from the base address 73 84 * for the SRAM0 controller (e.g. 0x20 on 440GX). The base address is
+15 -2
arch/powerpc/platforms/44x/Kconfig
··· 81 81 See http://www.pikatechnologies.com/ and follow the "PIKA for Computer 82 82 Telephony Developers" link for more information. 83 83 84 + config ARCHES 85 + bool "Arches" 86 + depends on 44x 87 + default n 88 + select PPC44x_SIMPLE 89 + select 460EX # Odd since it uses 460GT but the effects are the same 90 + select PCI 91 + select PPC4xx_PCI_EXPRESS 92 + help 93 + This option enables support for the AMCC Dual PPC460GT evaluation board. 94 + 84 95 config CANYONLANDS 85 96 bool "Canyonlands" 86 97 depends on 44x ··· 100 89 select 460EX 101 90 select PCI 102 91 select PPC4xx_PCI_EXPRESS 92 + select IBM_NEW_EMAC_RGMII 93 + select IBM_NEW_EMAC_ZMII 103 94 help 104 95 This option enables support for the AMCC PPC460EX evaluation board. 105 96 ··· 113 100 select 460EX # Odd since it uses 460GT but the effects are the same 114 101 select PCI 115 102 select PPC4xx_PCI_EXPRESS 103 + select IBM_NEW_EMAC_RGMII 104 + select IBM_NEW_EMAC_ZMII 116 105 help 117 106 This option enables support for the AMCC PPC460GT evaluation board. 118 107 ··· 210 195 bool 211 196 select PPC_FPU 212 197 select IBM_NEW_EMAC_EMAC4 213 - select IBM_NEW_EMAC_RGMII 214 - select IBM_NEW_EMAC_ZMII 215 198 select IBM_NEW_EMAC_TAH 216 199 217 200 # 44x errata/workaround config symbols, selected by the CPU models above
+2 -1
arch/powerpc/platforms/44x/ppc44x_simple.c
··· 50 50 * board.c file for it rather than adding it to this list. 51 51 */ 52 52 static char *board[] __initdata = { 53 + "amcc,arches", 53 54 "amcc,bamboo", 54 - "amcc,cayonlands", 55 + "amcc,canyonlands", 55 56 "amcc,glacier", 56 57 "ibm,ebony", 57 58 "amcc,katmai",
+8 -1
arch/powerpc/sysdev/ppc4xx_pci.c
··· 276 276 const int *bus_range; 277 277 int primary = 0; 278 278 279 + /* Check if device is enabled */ 280 + if (!of_device_is_available(np)) { 281 + printk(KERN_INFO "%s: Port disabled via device-tree\n", 282 + np->full_name); 283 + return; 284 + } 285 + 279 286 /* Fetch config space registers address */ 280 287 if (of_address_to_resource(np, 0, &rsrc_cfg)) { 281 - printk(KERN_ERR "%s:Can't get PCI config register base !", 288 + printk(KERN_ERR "%s: Can't get PCI config register base !", 282 289 np->full_name); 283 290 return; 284 291 }
+12
drivers/net/ibm_newemac/Kconfig
··· 62 62 config IBM_NEW_EMAC_EMAC4 63 63 bool 64 64 default n 65 + 66 + config IBM_NEW_EMAC_NO_FLOW_CTRL 67 + bool 68 + default n 69 + 70 + config IBM_NEW_EMAC_MAL_CLR_ICINTSTAT 71 + bool 72 + default n 73 + 74 + config IBM_NEW_EMAC_MAL_COMMON_ERR 75 + bool 76 + default n
+51 -9
drivers/net/ibm_newemac/core.c
··· 130 130 const char *error) 131 131 { 132 132 if (emac_has_feature(dev, EMAC_FTR_440GX_PHY_CLK_FIX | 133 + EMAC_FTR_460EX_PHY_CLK_FIX | 133 134 EMAC_FTR_440EP_PHY_CLK_FIX)) 134 135 DBG(dev, "%s" NL, error); 135 136 else if (net_ratelimit()) ··· 202 201 { 203 202 return phy_mode == PHY_MODE_GMII || 204 203 phy_mode == PHY_MODE_RGMII || 204 + phy_mode == PHY_MODE_SGMII || 205 205 phy_mode == PHY_MODE_TBI || 206 206 phy_mode == PHY_MODE_RTBI; 207 207 } 208 208 209 209 static inline int emac_phy_gpcs(int phy_mode) 210 210 { 211 - return phy_mode == PHY_MODE_TBI || 211 + return phy_mode == PHY_MODE_SGMII || 212 + phy_mode == PHY_MODE_TBI || 212 213 phy_mode == PHY_MODE_RTBI; 213 214 } 214 215 ··· 354 351 emac_tx_disable(dev); 355 352 } 356 353 354 + #ifdef CONFIG_PPC_DCR_NATIVE 355 + /* Enable internal clock source */ 356 + if (emac_has_feature(dev, EMAC_FTR_460EX_PHY_CLK_FIX)) 357 + dcri_clrset(SDR0, SDR0_ETH_CFG, 358 + 0, SDR0_ETH_CFG_ECS << dev->cell_index); 359 + #endif 360 + 357 361 out_be32(&p->mr0, EMAC_MR0_SRST); 358 362 while ((in_be32(&p->mr0) & EMAC_MR0_SRST) && n) 359 363 --n; 364 + 365 + #ifdef CONFIG_PPC_DCR_NATIVE 366 + /* Enable external clock source */ 367 + if (emac_has_feature(dev, EMAC_FTR_460EX_PHY_CLK_FIX)) 368 + dcri_clrset(SDR0, SDR0_ETH_CFG, 369 + SDR0_ETH_CFG_ECS << dev->cell_index, 0); 370 + #endif 360 371 361 372 if (n) { 362 373 dev->reset_failed = 0; ··· 564 547 switch (dev->phy.speed) { 565 548 case SPEED_1000: 566 549 if (emac_phy_gpcs(dev->phy.mode)) { 567 - mr1 |= EMAC_MR1_MF_1000GPCS | 568 - EMAC_MR1_MF_IPPA(dev->phy.address); 550 + mr1 |= EMAC_MR1_MF_1000GPCS | EMAC_MR1_MF_IPPA( 551 + (dev->phy.gpcs_address != 0xffffffff) ? 552 + dev->phy.gpcs_address : dev->phy.address); 569 553 570 554 /* Put some arbitrary OUI, Manuf & Rev IDs so we can 571 555 * identify this GPCS PHY later. ··· 678 660 out_be32(&p->iser, r); 679 661 680 662 /* We need to take GPCS PHY out of isolate mode after EMAC reset */ 681 - if (emac_phy_gpcs(dev->phy.mode)) 682 - emac_mii_reset_phy(&dev->phy); 663 + if (emac_phy_gpcs(dev->phy.mode)) { 664 + if (dev->phy.gpcs_address != 0xffffffff) 665 + emac_mii_reset_gpcs(&dev->phy); 666 + else 667 + emac_mii_reset_phy(&dev->phy); 668 + } 683 669 684 670 return 0; 685 671 } ··· 888 866 struct emac_instance *dev = netdev_priv(ndev); 889 867 int res; 890 868 891 - res = __emac_mdio_read(dev->mdio_instance ? dev->mdio_instance : dev, 869 + res = __emac_mdio_read((dev->mdio_instance && 870 + dev->phy.gpcs_address != id) ? 871 + dev->mdio_instance : dev, 892 872 (u8) id, (u8) reg); 893 873 return res; 894 874 } ··· 899 875 { 900 876 struct emac_instance *dev = netdev_priv(ndev); 901 877 902 - __emac_mdio_write(dev->mdio_instance ? dev->mdio_instance : dev, 878 + __emac_mdio_write((dev->mdio_instance && 879 + dev->phy.gpcs_address != id) ? 880 + dev->mdio_instance : dev, 903 881 (u8) id, (u8) reg, (u16) val); 904 882 } 905 883 ··· 2393 2367 * XXX I probably should move these settings to the dev tree 2394 2368 */ 2395 2369 dev->phy.address = -1; 2396 - dev->phy.features = SUPPORTED_100baseT_Full | SUPPORTED_MII; 2370 + dev->phy.features = SUPPORTED_MII; 2371 + if (emac_phy_supports_gige(dev->phy_mode)) 2372 + dev->phy.features |= SUPPORTED_1000baseT_Full; 2373 + else 2374 + dev->phy.features |= SUPPORTED_100baseT_Full; 2397 2375 dev->phy.pause = 1; 2398 2376 2399 2377 return 0; ··· 2436 2406 * Note that the busy_phy_map is currently global 2437 2407 * while it should probably be per-ASIC... 2438 2408 */ 2439 - dev->phy.address = dev->cell_index; 2409 + dev->phy.gpcs_address = dev->gpcs_address; 2410 + if (dev->phy.gpcs_address == 0xffffffff) 2411 + dev->phy.address = dev->cell_index; 2440 2412 } 2441 2413 2442 2414 emac_configure(dev); ··· 2548 2516 dev->phy_address = 0xffffffff; 2549 2517 if (emac_read_uint_prop(np, "phy-map", &dev->phy_map, 0)) 2550 2518 dev->phy_map = 0xffffffff; 2519 + if (emac_read_uint_prop(np, "gpcs-address", &dev->gpcs_address, 0)) 2520 + dev->gpcs_address = 0xffffffff; 2551 2521 if (emac_read_uint_prop(np->parent, "clock-frequency", &dev->opb_bus_freq, 1)) 2552 2522 return -ENXIO; 2553 2523 if (emac_read_uint_prop(np, "tah-device", &dev->tah_ph, 0)) ··· 2593 2559 /* Check EMAC version */ 2594 2560 if (of_device_is_compatible(np, "ibm,emac4sync")) { 2595 2561 dev->features |= (EMAC_FTR_EMAC4 | EMAC_FTR_EMAC4SYNC); 2562 + if (of_device_is_compatible(np, "ibm,emac-460ex") || 2563 + of_device_is_compatible(np, "ibm,emac-460gt")) 2564 + dev->features |= EMAC_FTR_460EX_PHY_CLK_FIX; 2596 2565 } else if (of_device_is_compatible(np, "ibm,emac4")) { 2597 2566 dev->features |= EMAC_FTR_EMAC4; 2598 2567 if (of_device_is_compatible(np, "ibm,emac-440gx")) ··· 2604 2567 if (of_device_is_compatible(np, "ibm,emac-440ep") || 2605 2568 of_device_is_compatible(np, "ibm,emac-440gr")) 2606 2569 dev->features |= EMAC_FTR_440EP_PHY_CLK_FIX; 2570 + if (of_device_is_compatible(np, "ibm,emac-405ez")) 2571 + dev->features |= EMAC_FTR_NO_FLOW_CONTROL_40x; 2607 2572 } 2608 2573 2609 2574 /* Fixup some feature bits based on the device tree */ ··· 2862 2823 ndev->name, dev->cell_index, np->full_name, 2863 2824 ndev->dev_addr[0], ndev->dev_addr[1], ndev->dev_addr[2], 2864 2825 ndev->dev_addr[3], ndev->dev_addr[4], ndev->dev_addr[5]); 2826 + 2827 + if (dev->phy_mode == PHY_MODE_SGMII) 2828 + printk(KERN_NOTICE "%s: in SGMII mode\n", ndev->name); 2865 2829 2866 2830 if (dev->phy.address >= 0) 2867 2831 printk("%s: found %s PHY (0x%02x)\n", ndev->name,
+11
drivers/net/ibm_newemac/core.h
··· 190 190 struct delayed_work link_work; 191 191 int link_polling; 192 192 193 + /* GPCS PHY infos */ 194 + u32 gpcs_address; 195 + 193 196 /* Shared MDIO if any */ 194 197 u32 mdio_ph; 195 198 struct of_device *mdio_dev; ··· 320 317 * The 405EX and 460EX contain the EMAC4SYNC core 321 318 */ 322 319 #define EMAC_FTR_EMAC4SYNC 0x00000200 320 + /* 321 + * Set if we need phy clock workaround for 460ex or 460gt 322 + */ 323 + #define EMAC_FTR_460EX_PHY_CLK_FIX 0x00000400 323 324 324 325 325 326 /* Right now, we don't quite handle the always/possible masks on the ··· 348 341 #ifdef CONFIG_IBM_NEW_EMAC_RGMII 349 342 EMAC_FTR_HAS_RGMII | 350 343 #endif 344 + #ifdef CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL 345 + EMAC_FTR_NO_FLOW_CONTROL_40x | 346 + #endif 347 + EMAC_FTR_460EX_PHY_CLK_FIX | 351 348 EMAC_FTR_440EP_PHY_CLK_FIX, 352 349 }; 353 350
+55 -5
drivers/net/ibm_newemac/mal.c
··· 28 28 #include <linux/delay.h> 29 29 30 30 #include "core.h" 31 + #include <asm/dcr-regs.h> 31 32 32 33 static int mal_count; 33 34 ··· 280 279 mal_schedule_poll(mal); 281 280 set_mal_dcrn(mal, MAL_TXEOBISR, r); 282 281 282 + if (mal_has_feature(mal, MAL_FTR_CLEAR_ICINTSTAT)) 283 + mtdcri(SDR0, DCRN_SDR_ICINTSTAT, 284 + (mfdcri(SDR0, DCRN_SDR_ICINTSTAT) | ICINTSTAT_ICTX)); 285 + 283 286 return IRQ_HANDLED; 284 287 } 285 288 ··· 297 292 298 293 mal_schedule_poll(mal); 299 294 set_mal_dcrn(mal, MAL_RXEOBISR, r); 295 + 296 + if (mal_has_feature(mal, MAL_FTR_CLEAR_ICINTSTAT)) 297 + mtdcri(SDR0, DCRN_SDR_ICINTSTAT, 298 + (mfdcri(SDR0, DCRN_SDR_ICINTSTAT) | ICINTSTAT_ICRX)); 300 299 301 300 return IRQ_HANDLED; 302 301 } ··· 342 333 mal_schedule_poll(mal); 343 334 set_mal_dcrn(mal, MAL_RXDEIR, deir); 344 335 336 + return IRQ_HANDLED; 337 + } 338 + 339 + static irqreturn_t mal_int(int irq, void *dev_instance) 340 + { 341 + struct mal_instance *mal = dev_instance; 342 + u32 esr = get_mal_dcrn(mal, MAL_ESR); 343 + 344 + if (esr & MAL_ESR_EVB) { 345 + /* descriptor error */ 346 + if (esr & MAL_ESR_DE) { 347 + if (esr & MAL_ESR_CIDT) 348 + return mal_rxde(irq, dev_instance); 349 + else 350 + return mal_txde(irq, dev_instance); 351 + } else { /* SERR */ 352 + return mal_serr(irq, dev_instance); 353 + } 354 + } 345 355 return IRQ_HANDLED; 346 356 } 347 357 ··· 521 493 unsigned int dcr_base; 522 494 const u32 *prop; 523 495 u32 cfg; 496 + unsigned long irqflags; 497 + irq_handler_t hdlr_serr, hdlr_txde, hdlr_rxde; 524 498 525 499 mal = kzalloc(sizeof(struct mal_instance), GFP_KERNEL); 526 500 if (!mal) { ··· 572 542 goto fail; 573 543 } 574 544 545 + if (of_device_is_compatible(ofdev->node, "ibm,mcmal-405ez")) 546 + mal->features |= (MAL_FTR_CLEAR_ICINTSTAT | 547 + MAL_FTR_COMMON_ERR_INT); 548 + 575 549 mal->txeob_irq = irq_of_parse_and_map(ofdev->node, 0); 576 550 mal->rxeob_irq = irq_of_parse_and_map(ofdev->node, 1); 577 551 mal->serr_irq = irq_of_parse_and_map(ofdev->node, 2); 578 - mal->txde_irq = irq_of_parse_and_map(ofdev->node, 3); 579 - mal->rxde_irq = irq_of_parse_and_map(ofdev->node, 4); 552 + 553 + if (mal_has_feature(mal, MAL_FTR_COMMON_ERR_INT)) { 554 + mal->txde_irq = mal->rxde_irq = mal->serr_irq; 555 + } else { 556 + mal->txde_irq = irq_of_parse_and_map(ofdev->node, 3); 557 + mal->rxde_irq = irq_of_parse_and_map(ofdev->node, 4); 558 + } 559 + 580 560 if (mal->txeob_irq == NO_IRQ || mal->rxeob_irq == NO_IRQ || 581 561 mal->serr_irq == NO_IRQ || mal->txde_irq == NO_IRQ || 582 562 mal->rxde_irq == NO_IRQ) { ··· 648 608 sizeof(struct mal_descriptor) * 649 609 mal_rx_bd_offset(mal, i)); 650 610 651 - err = request_irq(mal->serr_irq, mal_serr, 0, "MAL SERR", mal); 611 + if (mal_has_feature(mal, MAL_FTR_COMMON_ERR_INT)) { 612 + irqflags = IRQF_SHARED; 613 + hdlr_serr = hdlr_txde = hdlr_rxde = mal_int; 614 + } else { 615 + irqflags = 0; 616 + hdlr_serr = mal_serr; 617 + hdlr_txde = mal_txde; 618 + hdlr_rxde = mal_rxde; 619 + } 620 + 621 + err = request_irq(mal->serr_irq, hdlr_serr, irqflags, "MAL SERR", mal); 652 622 if (err) 653 623 goto fail2; 654 - err = request_irq(mal->txde_irq, mal_txde, 0, "MAL TX DE", mal); 624 + err = request_irq(mal->txde_irq, hdlr_txde, irqflags, "MAL TX DE", mal); 655 625 if (err) 656 626 goto fail3; 657 627 err = request_irq(mal->txeob_irq, mal_txeob, 0, "MAL TX EOB", mal); 658 628 if (err) 659 629 goto fail4; 660 - err = request_irq(mal->rxde_irq, mal_rxde, 0, "MAL RX DE", mal); 630 + err = request_irq(mal->rxde_irq, hdlr_rxde, irqflags, "MAL RX DE", mal); 661 631 if (err) 662 632 goto fail5; 663 633 err = request_irq(mal->rxeob_irq, mal_rxeob, 0, "MAL RX EOB", mal);
+34
drivers/net/ibm_newemac/mal.h
··· 213 213 struct of_device *ofdev; 214 214 int index; 215 215 spinlock_t lock; 216 + 217 + unsigned int features; 216 218 }; 217 219 218 220 static inline u32 get_mal_dcrn(struct mal_instance *mal, int reg) ··· 225 223 static inline void set_mal_dcrn(struct mal_instance *mal, int reg, u32 val) 226 224 { 227 225 dcr_write(mal->dcr_host, reg, val); 226 + } 227 + 228 + /* Features of various MAL implementations */ 229 + 230 + /* Set if you have interrupt coalescing and you have to clear the SDR 231 + * register for TXEOB and RXEOB interrupts to work 232 + */ 233 + #define MAL_FTR_CLEAR_ICINTSTAT 0x00000001 234 + 235 + /* Set if your MAL has SERR, TXDE, and RXDE OR'd into a single UIC 236 + * interrupt 237 + */ 238 + #define MAL_FTR_COMMON_ERR_INT 0x00000002 239 + 240 + enum { 241 + MAL_FTRS_ALWAYS = 0, 242 + 243 + MAL_FTRS_POSSIBLE = 244 + #ifdef CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT 245 + MAL_FTR_CLEAR_ICINTSTAT | 246 + #endif 247 + #ifdef CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR 248 + MAL_FTR_COMMON_ERR_INT | 249 + #endif 250 + 0, 251 + }; 252 + 253 + static inline int mal_has_feature(struct mal_instance *dev, 254 + unsigned long feature) 255 + { 256 + return (MAL_FTRS_ALWAYS & feature) || 257 + (MAL_FTRS_POSSIBLE & dev->features & feature); 228 258 } 229 259 230 260 /* Register MAL devices */
+84
drivers/net/ibm_newemac/phy.c
··· 38 38 phy->mdio_write(phy->dev, phy->address, reg, val); 39 39 } 40 40 41 + static inline int gpcs_phy_read(struct mii_phy *phy, int reg) 42 + { 43 + return phy->mdio_read(phy->dev, phy->gpcs_address, reg); 44 + } 45 + 46 + static inline void gpcs_phy_write(struct mii_phy *phy, int reg, int val) 47 + { 48 + phy->mdio_write(phy->dev, phy->gpcs_address, reg, val); 49 + } 50 + 41 51 int emac_mii_reset_phy(struct mii_phy *phy) 42 52 { 43 53 int val; ··· 68 58 } 69 59 if ((val & BMCR_ISOLATE) && limit > 0) 70 60 phy_write(phy, MII_BMCR, val & ~BMCR_ISOLATE); 61 + 62 + return limit <= 0; 63 + } 64 + 65 + int emac_mii_reset_gpcs(struct mii_phy *phy) 66 + { 67 + int val; 68 + int limit = 10000; 69 + 70 + val = gpcs_phy_read(phy, MII_BMCR); 71 + val &= ~(BMCR_ISOLATE | BMCR_ANENABLE); 72 + val |= BMCR_RESET; 73 + gpcs_phy_write(phy, MII_BMCR, val); 74 + 75 + udelay(300); 76 + 77 + while (limit--) { 78 + val = gpcs_phy_read(phy, MII_BMCR); 79 + if (val >= 0 && (val & BMCR_RESET) == 0) 80 + break; 81 + udelay(10); 82 + } 83 + if ((val & BMCR_ISOLATE) && limit > 0) 84 + gpcs_phy_write(phy, MII_BMCR, val & ~BMCR_ISOLATE); 85 + 86 + if (limit > 0 && phy->mode == PHY_MODE_SGMII) { 87 + /* Configure GPCS interface to recommended setting for SGMII */ 88 + gpcs_phy_write(phy, 0x04, 0x8120); /* AsymPause, FDX */ 89 + gpcs_phy_write(phy, 0x07, 0x2801); /* msg_pg, toggle */ 90 + gpcs_phy_write(phy, 0x00, 0x0140); /* 1Gbps, FDX */ 91 + } 71 92 72 93 return limit <= 0; 73 94 } ··· 373 332 return 0; 374 333 } 375 334 335 + static int m88e1112_init(struct mii_phy *phy) 336 + { 337 + /* 338 + * Marvell 88E1112 PHY needs to have the SGMII MAC 339 + * interace (page 2) properly configured to 340 + * communicate with the 460EX/GT GPCS interface. 341 + */ 342 + 343 + u16 reg_short; 344 + 345 + pr_debug("%s: Marvell 88E1112 Ethernet\n", __func__); 346 + 347 + /* Set access to Page 2 */ 348 + phy_write(phy, 0x16, 0x0002); 349 + 350 + phy_write(phy, 0x00, 0x0040); /* 1Gbps */ 351 + reg_short = (u16)(phy_read(phy, 0x1a)); 352 + reg_short |= 0x8000; /* bypass Auto-Negotiation */ 353 + phy_write(phy, 0x1a, reg_short); 354 + emac_mii_reset_phy(phy); /* reset MAC interface */ 355 + 356 + /* Reset access to Page 0 */ 357 + phy_write(phy, 0x16, 0x0000); 358 + 359 + return 0; 360 + } 361 + 376 362 static int et1011c_init(struct mii_phy *phy) 377 363 { 378 364 u16 reg_short; ··· 452 384 .ops = &m88e1111_phy_ops, 453 385 }; 454 386 387 + static struct mii_phy_ops m88e1112_phy_ops = { 388 + .init = m88e1112_init, 389 + .setup_aneg = genmii_setup_aneg, 390 + .setup_forced = genmii_setup_forced, 391 + .poll_link = genmii_poll_link, 392 + .read_link = genmii_read_link 393 + }; 394 + 395 + static struct mii_phy_def m88e1112_phy_def = { 396 + .phy_id = 0x01410C90, 397 + .phy_id_mask = 0x0ffffff0, 398 + .name = "Marvell 88E1112 Ethernet", 399 + .ops = &m88e1112_phy_ops, 400 + }; 401 + 455 402 static struct mii_phy_def *mii_phy_table[] = { 456 403 &et1011c_phy_def, 457 404 &cis8201_phy_def, 458 405 &bcm5248_phy_def, 459 406 &m88e1111_phy_def, 407 + &m88e1112_phy_def, 460 408 &genmii_phy_def, 461 409 NULL 462 410 };
+2
drivers/net/ibm_newemac/phy.h
··· 57 57 or determined automaticaly */ 58 58 int address; /* PHY address */ 59 59 int mode; /* PHY mode */ 60 + int gpcs_address; /* GPCS PHY address */ 60 61 61 62 /* 1: autoneg enabled, 0: disabled */ 62 63 int autoneg; ··· 82 81 */ 83 82 int emac_mii_phy_probe(struct mii_phy *phy, int address); 84 83 int emac_mii_reset_phy(struct mii_phy *phy); 84 + int emac_mii_reset_gpcs(struct mii_phy *phy); 85 85 86 86 #endif /* __IBM_NEWEMAC_PHY_H */