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

POWERPC: Add support for the mpc8560 eval board

This makes the 8560 evaluation board fully supported under arch/powerpc,
as the first board with CPM2 SoC peripherals. The brand new devicetree
nodes are introduced (intending to be a subset of the QuiccEngine-equipped
models, with dts sources placed into the kernel according to the new convention.

Assuming all the preceding stuff applied (PAL+fs_enet related+ CPM_UART
update), the both TSEC eth ,FCC Eths, and both SCC UARTs are
working. The relevant drivers are still capable to drive users in ppc,
which was verified with 8272ADS (SCC uart+FCC eth).

This is also verified on mpc8540 and actually make it work (PCI stuff
working as well)

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>

+1401
+302
arch/powerpc/boot/dts/mpc8560ads.dts
··· 1 + /* 2 + * MPC8560 ADS Device Tree Source 3 + * 4 + * Copyright 2006 Freescale Semiconductor Inc. 5 + * 6 + * This program is free software; you can redistribute it and/or modify it 7 + * under the terms of the GNU General Public License as published by the 8 + * Free Software Foundation; either version 2 of the License, or (at your 9 + * option) any later version. 10 + */ 11 + 12 + 13 + / { 14 + model = "MPC8560ADS"; 15 + compatible = "MPC85xxADS"; 16 + #address-cells = <1>; 17 + #size-cells = <1>; 18 + linux,phandle = <100>; 19 + 20 + cpus { 21 + #cpus = <1>; 22 + #address-cells = <1>; 23 + #size-cells = <0>; 24 + linux,phandle = <200>; 25 + 26 + PowerPC,8560@0 { 27 + device_type = "cpu"; 28 + reg = <0>; 29 + d-cache-line-size = <20>; // 32 bytes 30 + i-cache-line-size = <20>; // 32 bytes 31 + d-cache-size = <8000>; // L1, 32K 32 + i-cache-size = <8000>; // L1, 32K 33 + timebase-frequency = <04ead9a0>; 34 + bus-frequency = <13ab6680>; 35 + clock-frequency = <312c8040>; 36 + 32-bit; 37 + linux,phandle = <201>; 38 + linux,boot-cpu; 39 + }; 40 + }; 41 + 42 + memory { 43 + device_type = "memory"; 44 + linux,phandle = <300>; 45 + reg = <00000000 10000000>; 46 + }; 47 + 48 + soc8560@e0000000 { 49 + #address-cells = <1>; 50 + #size-cells = <1>; 51 + #interrupt-cells = <2>; 52 + device_type = "soc"; 53 + ranges = <0 e0000000 00100000>; 54 + reg = <e0000000 00000200>; 55 + bus-frequency = <13ab6680>; 56 + 57 + mdio@24520 { 58 + device_type = "mdio"; 59 + compatible = "gianfar"; 60 + reg = <24520 20>; 61 + linux,phandle = <24520>; 62 + #address-cells = <1>; 63 + #size-cells = <0>; 64 + ethernet-phy@0 { 65 + linux,phandle = <2452000>; 66 + interrupt-parent = <40000>; 67 + interrupts = <35 1>; 68 + reg = <0>; 69 + device_type = "ethernet-phy"; 70 + }; 71 + ethernet-phy@1 { 72 + linux,phandle = <2452001>; 73 + interrupt-parent = <40000>; 74 + interrupts = <35 1>; 75 + reg = <1>; 76 + device_type = "ethernet-phy"; 77 + }; 78 + ethernet-phy@2 { 79 + linux,phandle = <2452002>; 80 + interrupt-parent = <40000>; 81 + interrupts = <37 1>; 82 + reg = <2>; 83 + device_type = "ethernet-phy"; 84 + }; 85 + ethernet-phy@3 { 86 + linux,phandle = <2452003>; 87 + interrupt-parent = <40000>; 88 + interrupts = <37 1>; 89 + reg = <3>; 90 + device_type = "ethernet-phy"; 91 + }; 92 + }; 93 + 94 + ethernet@24000 { 95 + device_type = "network"; 96 + model = "TSEC"; 97 + compatible = "gianfar"; 98 + reg = <24000 1000>; 99 + address = [ 00 00 0C 00 00 FD ]; 100 + interrupts = <d 2 e 2 12 2>; 101 + interrupt-parent = <40000>; 102 + phy-handle = <2452000>; 103 + }; 104 + 105 + ethernet@25000 { 106 + #address-cells = <1>; 107 + #size-cells = <0>; 108 + device_type = "network"; 109 + model = "TSEC"; 110 + compatible = "gianfar"; 111 + reg = <25000 1000>; 112 + address = [ 00 00 0C 00 01 FD ]; 113 + interrupts = <13 2 14 2 18 2>; 114 + interrupt-parent = <40000>; 115 + phy-handle = <2452001>; 116 + }; 117 + 118 + pci@8000 { 119 + linux,phandle = <8000>; 120 + #interrupt-cells = <1>; 121 + #size-cells = <2>; 122 + #address-cells = <3>; 123 + compatible = "85xx"; 124 + device_type = "pci"; 125 + reg = <8000 400>; 126 + clock-frequency = <3f940aa>; 127 + interrupt-map-mask = <f800 0 0 7>; 128 + interrupt-map = < 129 + 130 + /* IDSEL 0x2 */ 131 + 1000 0 0 1 40000 31 1 132 + 1000 0 0 2 40000 32 1 133 + 1000 0 0 3 40000 33 1 134 + 1000 0 0 4 40000 34 1 135 + 136 + /* IDSEL 0x3 */ 137 + 1800 0 0 1 40000 34 1 138 + 1800 0 0 2 40000 31 1 139 + 1800 0 0 3 40000 32 1 140 + 1800 0 0 4 40000 33 1 141 + 142 + /* IDSEL 0x4 */ 143 + 2000 0 0 1 40000 33 1 144 + 2000 0 0 2 40000 34 1 145 + 2000 0 0 3 40000 31 1 146 + 2000 0 0 4 40000 32 1 147 + 148 + /* IDSEL 0x5 */ 149 + 2800 0 0 1 40000 32 1 150 + 2800 0 0 2 40000 33 1 151 + 2800 0 0 3 40000 34 1 152 + 2800 0 0 4 40000 31 1 153 + 154 + /* IDSEL 12 */ 155 + 6000 0 0 1 40000 31 1 156 + 6000 0 0 2 40000 32 1 157 + 6000 0 0 3 40000 33 1 158 + 6000 0 0 4 40000 34 1 159 + 160 + /* IDSEL 13 */ 161 + 6800 0 0 1 40000 34 1 162 + 6800 0 0 2 40000 31 1 163 + 6800 0 0 3 40000 32 1 164 + 6800 0 0 4 40000 33 1 165 + 166 + /* IDSEL 14*/ 167 + 7000 0 0 1 40000 33 1 168 + 7000 0 0 2 40000 34 1 169 + 7000 0 0 3 40000 31 1 170 + 7000 0 0 4 40000 32 1 171 + 172 + /* IDSEL 15 */ 173 + 7800 0 0 1 40000 32 1 174 + 7800 0 0 2 40000 33 1 175 + 7800 0 0 3 40000 34 1 176 + 7800 0 0 4 40000 31 1 177 + 178 + /* IDSEL 18 */ 179 + 9000 0 0 1 40000 31 1 180 + 9000 0 0 2 40000 32 1 181 + 9000 0 0 3 40000 33 1 182 + 9000 0 0 4 40000 34 1 183 + 184 + /* IDSEL 19 */ 185 + 9800 0 0 1 40000 34 1 186 + 9800 0 0 2 40000 31 1 187 + 9800 0 0 3 40000 32 1 188 + 9800 0 0 4 40000 33 1 189 + 190 + /* IDSEL 20 */ 191 + a000 0 0 1 40000 33 1 192 + a000 0 0 2 40000 34 1 193 + a000 0 0 3 40000 31 1 194 + a000 0 0 4 40000 32 1 195 + 196 + /* IDSEL 21 */ 197 + a800 0 0 1 40000 32 1 198 + a800 0 0 2 40000 33 1 199 + a800 0 0 3 40000 34 1 200 + a800 0 0 4 40000 31 1>; 201 + 202 + interrupt-parent = <40000>; 203 + interrupts = <42 0>; 204 + bus-range = <0 0>; 205 + ranges = <02000000 0 80000000 80000000 0 20000000 206 + 01000000 0 00000000 e2000000 0 01000000>; 207 + }; 208 + 209 + pic@40000 { 210 + linux,phandle = <40000>; 211 + interrupt-controller; 212 + #address-cells = <0>; 213 + #interrupt-cells = <2>; 214 + reg = <40000 20100>; 215 + built-in; 216 + device_type = "open-pic"; 217 + }; 218 + 219 + cpm@e0000000 { 220 + linux,phandle = <e0000000>; 221 + #address-cells = <1>; 222 + #size-cells = <1>; 223 + #interrupt-cells = <2>; 224 + device_type = "cpm"; 225 + model = "CPM2"; 226 + ranges = <0 0 c0000>; 227 + reg = <80000 40000>; 228 + command-proc = <919c0>; 229 + brg-frequency = <9d5b340>; 230 + 231 + pic@90c00 { 232 + linux,phandle = <90c00>; 233 + interrupt-controller; 234 + #address-cells = <0>; 235 + #interrupt-cells = <2>; 236 + interrupts = <1e 0>; 237 + interrupt-parent = <40000>; 238 + reg = <90c00 80>; 239 + built-in; 240 + device_type = "cpm-pic"; 241 + }; 242 + 243 + scc@91a00 { 244 + device_type = "serial"; 245 + compatible = "cpm_uart"; 246 + model = "SCC"; 247 + device-id = <2>; 248 + reg = <91a00 20 88000 100>; 249 + clock-setup = <00ffffff 0>; 250 + rx-clock = <1>; 251 + tx-clock = <1>; 252 + current-speed = <1c200>; 253 + interrupts = <64 1>; 254 + interrupt-parent = <90c00>; 255 + }; 256 + 257 + scc@91a20 { 258 + device_type = "serial"; 259 + compatible = "cpm_uart"; 260 + model = "SCC"; 261 + device-id = <3>; 262 + reg = <91a20 20 88100 100>; 263 + clock-setup = <ff00ffff 90000>; 264 + rx-clock = <2>; 265 + tx-clock = <2>; 266 + current-speed = <1c200>; 267 + interrupts = <65 1>; 268 + interrupt-parent = <90c00>; 269 + }; 270 + 271 + fcc@91320 { 272 + device_type = "network"; 273 + compatible = "fs_enet"; 274 + model = "FCC"; 275 + device-id = <3>; 276 + reg = <91320 20 88500 100 913a0 30>; 277 + mac-address = [ 00 00 0C 00 02 FD ]; 278 + clock-setup = <ff00ffff 250000>; 279 + rx-clock = <15>; 280 + tx-clock = <16>; 281 + interrupts = <5d 1>; 282 + interrupt-parent = <90c00>; 283 + phy-handle = <2452002>; 284 + }; 285 + 286 + fcc@91340 { 287 + device_type = "network"; 288 + compatible = "fs_enet"; 289 + model = "FCC"; 290 + device-id = <4>; 291 + reg = <91340 20 88600 100 913d0 30>; 292 + mac-address = [ 00 00 0C 00 03 FD ]; 293 + clock-setup = <ffff00ff 3700>; 294 + rx-clock = <17>; 295 + tx-clock = <18>; 296 + interrupts = <5e 1>; 297 + interrupt-parent = <90c00>; 298 + phy-handle = <2452003>; 299 + }; 300 + }; 301 + }; 302 + };
+854
arch/powerpc/configs/mpc8560_ads_defconfig
··· 1 + # 2 + # Automatically generated make config: don't edit 3 + # Linux kernel version: 2.6.18-rc4 4 + # Fri Aug 11 16:45:05 2006 5 + # 6 + # CONFIG_PPC64 is not set 7 + CONFIG_PPC32=y 8 + CONFIG_PPC_MERGE=y 9 + CONFIG_MMU=y 10 + CONFIG_GENERIC_HARDIRQS=y 11 + CONFIG_IRQ_PER_CPU=y 12 + CONFIG_RWSEM_XCHGADD_ALGORITHM=y 13 + CONFIG_GENERIC_HWEIGHT=y 14 + CONFIG_GENERIC_CALIBRATE_DELAY=y 15 + CONFIG_GENERIC_FIND_NEXT_BIT=y 16 + CONFIG_PPC=y 17 + CONFIG_EARLY_PRINTK=y 18 + CONFIG_GENERIC_NVRAM=y 19 + CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 20 + CONFIG_ARCH_MAY_HAVE_PC_FDC=y 21 + CONFIG_PPC_OF=y 22 + # CONFIG_PPC_UDBG_16550 is not set 23 + # CONFIG_GENERIC_TBSYNC is not set 24 + CONFIG_DEFAULT_UIMAGE=y 25 + 26 + # 27 + # Processor support 28 + # 29 + # CONFIG_CLASSIC32 is not set 30 + # CONFIG_PPC_52xx is not set 31 + # CONFIG_PPC_82xx is not set 32 + # CONFIG_PPC_83xx is not set 33 + CONFIG_PPC_85xx=y 34 + # CONFIG_PPC_86xx is not set 35 + # CONFIG_40x is not set 36 + # CONFIG_44x is not set 37 + # CONFIG_8xx is not set 38 + # CONFIG_E200 is not set 39 + CONFIG_85xx=y 40 + CONFIG_E500=y 41 + CONFIG_BOOKE=y 42 + CONFIG_FSL_BOOKE=y 43 + # CONFIG_PHYS_64BIT is not set 44 + CONFIG_SPE=y 45 + CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 46 + 47 + # 48 + # Code maturity level options 49 + # 50 + CONFIG_EXPERIMENTAL=y 51 + CONFIG_BROKEN_ON_SMP=y 52 + CONFIG_INIT_ENV_ARG_LIMIT=32 53 + 54 + # 55 + # General setup 56 + # 57 + CONFIG_LOCALVERSION="" 58 + CONFIG_LOCALVERSION_AUTO=y 59 + CONFIG_SWAP=y 60 + CONFIG_SYSVIPC=y 61 + # CONFIG_POSIX_MQUEUE is not set 62 + # CONFIG_BSD_PROCESS_ACCT is not set 63 + # CONFIG_TASKSTATS is not set 64 + CONFIG_SYSCTL=y 65 + # CONFIG_AUDIT is not set 66 + # CONFIG_IKCONFIG is not set 67 + # CONFIG_RELAY is not set 68 + CONFIG_INITRAMFS_SOURCE="" 69 + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 70 + CONFIG_EMBEDDED=y 71 + CONFIG_KALLSYMS=y 72 + # CONFIG_KALLSYMS_ALL is not set 73 + # CONFIG_KALLSYMS_EXTRA_PASS is not set 74 + CONFIG_HOTPLUG=y 75 + CONFIG_PRINTK=y 76 + CONFIG_BUG=y 77 + CONFIG_ELF_CORE=y 78 + CONFIG_BASE_FULL=y 79 + CONFIG_RT_MUTEXES=y 80 + CONFIG_FUTEX=y 81 + CONFIG_EPOLL=y 82 + CONFIG_SHMEM=y 83 + CONFIG_SLAB=y 84 + CONFIG_VM_EVENT_COUNTERS=y 85 + # CONFIG_TINY_SHMEM is not set 86 + CONFIG_BASE_SMALL=0 87 + # CONFIG_SLOB is not set 88 + 89 + # 90 + # Loadable module support 91 + # 92 + # CONFIG_MODULES is not set 93 + 94 + # 95 + # Block layer 96 + # 97 + # CONFIG_LBD is not set 98 + # CONFIG_BLK_DEV_IO_TRACE is not set 99 + # CONFIG_LSF is not set 100 + 101 + # 102 + # IO Schedulers 103 + # 104 + CONFIG_IOSCHED_NOOP=y 105 + CONFIG_IOSCHED_AS=y 106 + CONFIG_IOSCHED_DEADLINE=y 107 + CONFIG_IOSCHED_CFQ=y 108 + CONFIG_DEFAULT_AS=y 109 + # CONFIG_DEFAULT_DEADLINE is not set 110 + # CONFIG_DEFAULT_CFQ is not set 111 + # CONFIG_DEFAULT_NOOP is not set 112 + CONFIG_DEFAULT_IOSCHED="anticipatory" 113 + CONFIG_MPIC=y 114 + CONFIG_CPM2=y 115 + # CONFIG_WANT_EARLY_SERIAL is not set 116 + 117 + # 118 + # Platform support 119 + # 120 + # CONFIG_MPC8540_ADS is not set 121 + CONFIG_MPC8560_ADS=y 122 + # CONFIG_MPC85xx_CDS is not set 123 + CONFIG_MPC8560=y 124 + CONFIG_PPC_INDIRECT_PCI_BE=y 125 + 126 + # 127 + # Kernel options 128 + # 129 + # CONFIG_HIGHMEM is not set 130 + # CONFIG_HZ_100 is not set 131 + CONFIG_HZ_250=y 132 + # CONFIG_HZ_1000 is not set 133 + CONFIG_HZ=250 134 + CONFIG_PREEMPT_NONE=y 135 + # CONFIG_PREEMPT_VOLUNTARY is not set 136 + # CONFIG_PREEMPT is not set 137 + CONFIG_BINFMT_ELF=y 138 + CONFIG_BINFMT_MISC=y 139 + # CONFIG_MATH_EMULATION is not set 140 + CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 141 + # CONFIG_PC_KEYBOARD is not set 142 + CONFIG_ARCH_FLATMEM_ENABLE=y 143 + CONFIG_SELECT_MEMORY_MODEL=y 144 + CONFIG_FLATMEM_MANUAL=y 145 + # CONFIG_DISCONTIGMEM_MANUAL is not set 146 + # CONFIG_SPARSEMEM_MANUAL is not set 147 + CONFIG_FLATMEM=y 148 + CONFIG_FLAT_NODE_MEM_MAP=y 149 + # CONFIG_SPARSEMEM_STATIC is not set 150 + CONFIG_SPLIT_PTLOCK_CPUS=4 151 + # CONFIG_RESOURCES_64BIT is not set 152 + # CONFIG_PROC_DEVICETREE is not set 153 + # CONFIG_CMDLINE_BOOL is not set 154 + # CONFIG_PM is not set 155 + # CONFIG_SOFTWARE_SUSPEND is not set 156 + # CONFIG_SECCOMP is not set 157 + CONFIG_ISA_DMA_API=y 158 + 159 + # 160 + # Bus options 161 + # 162 + # CONFIG_PPC_I8259 is not set 163 + CONFIG_PPC_INDIRECT_PCI=y 164 + CONFIG_FSL_SOC=y 165 + CONFIG_PCI=y 166 + CONFIG_PCI_DOMAINS=y 167 + # CONFIG_PCIEPORTBUS is not set 168 + CONFIG_PCI_DEBUG=y 169 + 170 + # 171 + # PCCARD (PCMCIA/CardBus) support 172 + # 173 + # CONFIG_PCCARD is not set 174 + 175 + # 176 + # PCI Hotplug Support 177 + # 178 + # CONFIG_HOTPLUG_PCI is not set 179 + 180 + # 181 + # Advanced setup 182 + # 183 + # CONFIG_ADVANCED_OPTIONS is not set 184 + 185 + # 186 + # Default settings for advanced configuration options are used 187 + # 188 + CONFIG_HIGHMEM_START=0xfe000000 189 + CONFIG_LOWMEM_SIZE=0x30000000 190 + CONFIG_KERNEL_START=0xc0000000 191 + CONFIG_TASK_SIZE=0x80000000 192 + CONFIG_BOOT_LOAD=0x00800000 193 + 194 + # 195 + # Networking 196 + # 197 + CONFIG_NET=y 198 + 199 + # 200 + # Networking options 201 + # 202 + # CONFIG_NETDEBUG is not set 203 + CONFIG_PACKET=y 204 + # CONFIG_PACKET_MMAP is not set 205 + CONFIG_UNIX=y 206 + CONFIG_XFRM=y 207 + # CONFIG_XFRM_USER is not set 208 + # CONFIG_NET_KEY is not set 209 + CONFIG_INET=y 210 + CONFIG_IP_MULTICAST=y 211 + # CONFIG_IP_ADVANCED_ROUTER is not set 212 + CONFIG_IP_FIB_HASH=y 213 + CONFIG_IP_PNP=y 214 + CONFIG_IP_PNP_DHCP=y 215 + CONFIG_IP_PNP_BOOTP=y 216 + # CONFIG_IP_PNP_RARP is not set 217 + # CONFIG_NET_IPIP is not set 218 + # CONFIG_NET_IPGRE is not set 219 + # CONFIG_IP_MROUTE is not set 220 + # CONFIG_ARPD is not set 221 + CONFIG_SYN_COOKIES=y 222 + # CONFIG_INET_AH is not set 223 + # CONFIG_INET_ESP is not set 224 + # CONFIG_INET_IPCOMP is not set 225 + # CONFIG_INET_XFRM_TUNNEL is not set 226 + # CONFIG_INET_TUNNEL is not set 227 + CONFIG_INET_XFRM_MODE_TRANSPORT=y 228 + CONFIG_INET_XFRM_MODE_TUNNEL=y 229 + CONFIG_INET_DIAG=y 230 + CONFIG_INET_TCP_DIAG=y 231 + # CONFIG_TCP_CONG_ADVANCED is not set 232 + CONFIG_TCP_CONG_BIC=y 233 + # CONFIG_IPV6 is not set 234 + # CONFIG_INET6_XFRM_TUNNEL is not set 235 + # CONFIG_INET6_TUNNEL is not set 236 + # CONFIG_NETWORK_SECMARK is not set 237 + # CONFIG_NETFILTER is not set 238 + 239 + # 240 + # DCCP Configuration (EXPERIMENTAL) 241 + # 242 + # CONFIG_IP_DCCP is not set 243 + 244 + # 245 + # SCTP Configuration (EXPERIMENTAL) 246 + # 247 + # CONFIG_IP_SCTP is not set 248 + 249 + # 250 + # TIPC Configuration (EXPERIMENTAL) 251 + # 252 + # CONFIG_TIPC is not set 253 + # CONFIG_ATM is not set 254 + # CONFIG_BRIDGE is not set 255 + # CONFIG_VLAN_8021Q is not set 256 + # CONFIG_DECNET is not set 257 + # CONFIG_LLC2 is not set 258 + # CONFIG_IPX is not set 259 + # CONFIG_ATALK is not set 260 + # CONFIG_X25 is not set 261 + # CONFIG_LAPB is not set 262 + # CONFIG_NET_DIVERT is not set 263 + # CONFIG_ECONET is not set 264 + # CONFIG_WAN_ROUTER is not set 265 + 266 + # 267 + # QoS and/or fair queueing 268 + # 269 + # CONFIG_NET_SCHED is not set 270 + 271 + # 272 + # Network testing 273 + # 274 + # CONFIG_NET_PKTGEN is not set 275 + # CONFIG_HAMRADIO is not set 276 + # CONFIG_IRDA is not set 277 + # CONFIG_BT is not set 278 + # CONFIG_IEEE80211 is not set 279 + 280 + # 281 + # Device Drivers 282 + # 283 + 284 + # 285 + # Generic Driver Options 286 + # 287 + CONFIG_STANDALONE=y 288 + CONFIG_PREVENT_FIRMWARE_BUILD=y 289 + # CONFIG_FW_LOADER is not set 290 + # CONFIG_DEBUG_DRIVER is not set 291 + # CONFIG_SYS_HYPERVISOR is not set 292 + 293 + # 294 + # Connector - unified userspace <-> kernelspace linker 295 + # 296 + # CONFIG_CONNECTOR is not set 297 + 298 + # 299 + # Memory Technology Devices (MTD) 300 + # 301 + # CONFIG_MTD is not set 302 + 303 + # 304 + # Parallel port support 305 + # 306 + # CONFIG_PARPORT is not set 307 + 308 + # 309 + # Plug and Play support 310 + # 311 + 312 + # 313 + # Block devices 314 + # 315 + # CONFIG_BLK_DEV_FD is not set 316 + # CONFIG_BLK_CPQ_DA is not set 317 + # CONFIG_BLK_CPQ_CISS_DA is not set 318 + # CONFIG_BLK_DEV_DAC960 is not set 319 + # CONFIG_BLK_DEV_UMEM is not set 320 + # CONFIG_BLK_DEV_COW_COMMON is not set 321 + CONFIG_BLK_DEV_LOOP=y 322 + # CONFIG_BLK_DEV_CRYPTOLOOP is not set 323 + # CONFIG_BLK_DEV_NBD is not set 324 + # CONFIG_BLK_DEV_SX8 is not set 325 + CONFIG_BLK_DEV_RAM=y 326 + CONFIG_BLK_DEV_RAM_COUNT=16 327 + CONFIG_BLK_DEV_RAM_SIZE=32768 328 + CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 329 + CONFIG_BLK_DEV_INITRD=y 330 + # CONFIG_CDROM_PKTCDVD is not set 331 + # CONFIG_ATA_OVER_ETH is not set 332 + 333 + # 334 + # ATA/ATAPI/MFM/RLL support 335 + # 336 + # CONFIG_IDE is not set 337 + 338 + # 339 + # SCSI device support 340 + # 341 + # CONFIG_RAID_ATTRS is not set 342 + # CONFIG_SCSI is not set 343 + 344 + # 345 + # Multi-device support (RAID and LVM) 346 + # 347 + # CONFIG_MD is not set 348 + 349 + # 350 + # Fusion MPT device support 351 + # 352 + # CONFIG_FUSION is not set 353 + 354 + # 355 + # IEEE 1394 (FireWire) support 356 + # 357 + # CONFIG_IEEE1394 is not set 358 + 359 + # 360 + # I2O device support 361 + # 362 + # CONFIG_I2O is not set 363 + 364 + # 365 + # Macintosh device drivers 366 + # 367 + # CONFIG_WINDFARM is not set 368 + 369 + # 370 + # Network device support 371 + # 372 + CONFIG_NETDEVICES=y 373 + # CONFIG_DUMMY is not set 374 + # CONFIG_BONDING is not set 375 + # CONFIG_EQUALIZER is not set 376 + # CONFIG_TUN is not set 377 + 378 + # 379 + # ARCnet devices 380 + # 381 + # CONFIG_ARCNET is not set 382 + 383 + # 384 + # PHY device support 385 + # 386 + CONFIG_PHYLIB=y 387 + 388 + # 389 + # MII PHY device drivers 390 + # 391 + CONFIG_MARVELL_PHY=y 392 + CONFIG_DAVICOM_PHY=y 393 + # CONFIG_QSEMI_PHY is not set 394 + # CONFIG_LXT_PHY is not set 395 + # CONFIG_CICADA_PHY is not set 396 + # CONFIG_VITESSE_PHY is not set 397 + # CONFIG_SMSC_PHY is not set 398 + # CONFIG_FIXED_PHY is not set 399 + 400 + # 401 + # Ethernet (10 or 100Mbit) 402 + # 403 + CONFIG_NET_ETHERNET=y 404 + CONFIG_MII=y 405 + # CONFIG_HAPPYMEAL is not set 406 + # CONFIG_SUNGEM is not set 407 + # CONFIG_CASSINI is not set 408 + # CONFIG_NET_VENDOR_3COM is not set 409 + 410 + # 411 + # Tulip family network device support 412 + # 413 + # CONFIG_NET_TULIP is not set 414 + # CONFIG_HP100 is not set 415 + # CONFIG_NET_PCI is not set 416 + CONFIG_FS_ENET=y 417 + # CONFIG_FS_ENET_HAS_SCC is not set 418 + CONFIG_FS_ENET_HAS_FCC=y 419 + 420 + # 421 + # Ethernet (1000 Mbit) 422 + # 423 + # CONFIG_ACENIC is not set 424 + # CONFIG_DL2K is not set 425 + CONFIG_E1000=y 426 + CONFIG_E1000_NAPI=y 427 + # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 428 + # CONFIG_NS83820 is not set 429 + # CONFIG_HAMACHI is not set 430 + # CONFIG_YELLOWFIN is not set 431 + # CONFIG_R8169 is not set 432 + # CONFIG_SIS190 is not set 433 + # CONFIG_SKGE is not set 434 + # CONFIG_SKY2 is not set 435 + # CONFIG_SK98LIN is not set 436 + # CONFIG_TIGON3 is not set 437 + # CONFIG_BNX2 is not set 438 + CONFIG_GIANFAR=y 439 + CONFIG_GFAR_NAPI=y 440 + 441 + # 442 + # Ethernet (10000 Mbit) 443 + # 444 + # CONFIG_CHELSIO_T1 is not set 445 + # CONFIG_IXGB is not set 446 + # CONFIG_S2IO is not set 447 + # CONFIG_MYRI10GE is not set 448 + 449 + # 450 + # Token Ring devices 451 + # 452 + # CONFIG_TR is not set 453 + 454 + # 455 + # Wireless LAN (non-hamradio) 456 + # 457 + # CONFIG_NET_RADIO is not set 458 + 459 + # 460 + # Wan interfaces 461 + # 462 + # CONFIG_WAN is not set 463 + # CONFIG_FDDI is not set 464 + # CONFIG_HIPPI is not set 465 + # CONFIG_PPP is not set 466 + # CONFIG_SLIP is not set 467 + # CONFIG_SHAPER is not set 468 + # CONFIG_NETCONSOLE is not set 469 + # CONFIG_NETPOLL is not set 470 + # CONFIG_NET_POLL_CONTROLLER is not set 471 + 472 + # 473 + # ISDN subsystem 474 + # 475 + # CONFIG_ISDN is not set 476 + 477 + # 478 + # Telephony Support 479 + # 480 + # CONFIG_PHONE is not set 481 + 482 + # 483 + # Input device support 484 + # 485 + CONFIG_INPUT=y 486 + 487 + # 488 + # Userland interfaces 489 + # 490 + # CONFIG_INPUT_MOUSEDEV is not set 491 + # CONFIG_INPUT_JOYDEV is not set 492 + # CONFIG_INPUT_TSDEV is not set 493 + # CONFIG_INPUT_EVDEV is not set 494 + # CONFIG_INPUT_EVBUG is not set 495 + 496 + # 497 + # Input Device Drivers 498 + # 499 + # CONFIG_INPUT_KEYBOARD is not set 500 + # CONFIG_INPUT_MOUSE is not set 501 + # CONFIG_INPUT_JOYSTICK is not set 502 + # CONFIG_INPUT_TOUCHSCREEN is not set 503 + # CONFIG_INPUT_MISC is not set 504 + 505 + # 506 + # Hardware I/O ports 507 + # 508 + # CONFIG_SERIO is not set 509 + # CONFIG_GAMEPORT is not set 510 + 511 + # 512 + # Character devices 513 + # 514 + # CONFIG_VT is not set 515 + # CONFIG_SERIAL_NONSTANDARD is not set 516 + 517 + # 518 + # Serial drivers 519 + # 520 + # CONFIG_SERIAL_8250 is not set 521 + 522 + # 523 + # Non-8250 serial port support 524 + # 525 + CONFIG_SERIAL_CORE=y 526 + CONFIG_SERIAL_CORE_CONSOLE=y 527 + CONFIG_SERIAL_CPM=y 528 + CONFIG_SERIAL_CPM_CONSOLE=y 529 + CONFIG_SERIAL_CPM_SCC1=y 530 + CONFIG_SERIAL_CPM_SCC2=y 531 + # CONFIG_SERIAL_CPM_SCC3 is not set 532 + # CONFIG_SERIAL_CPM_SCC4 is not set 533 + # CONFIG_SERIAL_CPM_SMC1 is not set 534 + # CONFIG_SERIAL_CPM_SMC2 is not set 535 + # CONFIG_SERIAL_JSM is not set 536 + CONFIG_UNIX98_PTYS=y 537 + CONFIG_LEGACY_PTYS=y 538 + CONFIG_LEGACY_PTY_COUNT=256 539 + # CONFIG_BRIQ_PANEL is not set 540 + 541 + # 542 + # IPMI 543 + # 544 + # CONFIG_IPMI_HANDLER is not set 545 + 546 + # 547 + # Watchdog Cards 548 + # 549 + # CONFIG_WATCHDOG is not set 550 + CONFIG_HW_RANDOM=y 551 + # CONFIG_NVRAM is not set 552 + CONFIG_GEN_RTC=y 553 + # CONFIG_GEN_RTC_X is not set 554 + # CONFIG_DTLK is not set 555 + # CONFIG_R3964 is not set 556 + # CONFIG_APPLICOM is not set 557 + 558 + # 559 + # Ftape, the floppy tape device driver 560 + # 561 + # CONFIG_AGP is not set 562 + # CONFIG_DRM is not set 563 + # CONFIG_RAW_DRIVER is not set 564 + 565 + # 566 + # TPM devices 567 + # 568 + # CONFIG_TCG_TPM is not set 569 + # CONFIG_TELCLOCK is not set 570 + 571 + # 572 + # I2C support 573 + # 574 + # CONFIG_I2C is not set 575 + 576 + # 577 + # SPI support 578 + # 579 + # CONFIG_SPI is not set 580 + # CONFIG_SPI_MASTER is not set 581 + 582 + # 583 + # Dallas's 1-wire bus 584 + # 585 + 586 + # 587 + # Hardware Monitoring support 588 + # 589 + CONFIG_HWMON=y 590 + # CONFIG_HWMON_VID is not set 591 + # CONFIG_SENSORS_ABITUGURU is not set 592 + # CONFIG_SENSORS_F71805F is not set 593 + # CONFIG_HWMON_DEBUG_CHIP is not set 594 + 595 + # 596 + # Misc devices 597 + # 598 + 599 + # 600 + # Multimedia devices 601 + # 602 + # CONFIG_VIDEO_DEV is not set 603 + CONFIG_VIDEO_V4L2=y 604 + 605 + # 606 + # Digital Video Broadcasting Devices 607 + # 608 + # CONFIG_DVB is not set 609 + 610 + # 611 + # Graphics support 612 + # 613 + CONFIG_FIRMWARE_EDID=y 614 + # CONFIG_FB is not set 615 + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 616 + 617 + # 618 + # Sound 619 + # 620 + # CONFIG_SOUND is not set 621 + 622 + # 623 + # USB support 624 + # 625 + CONFIG_USB_ARCH_HAS_HCD=y 626 + CONFIG_USB_ARCH_HAS_OHCI=y 627 + CONFIG_USB_ARCH_HAS_EHCI=y 628 + # CONFIG_USB is not set 629 + 630 + # 631 + # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 632 + # 633 + 634 + # 635 + # USB Gadget Support 636 + # 637 + # CONFIG_USB_GADGET is not set 638 + 639 + # 640 + # MMC/SD Card support 641 + # 642 + # CONFIG_MMC is not set 643 + 644 + # 645 + # LED devices 646 + # 647 + # CONFIG_NEW_LEDS is not set 648 + 649 + # 650 + # LED drivers 651 + # 652 + 653 + # 654 + # LED Triggers 655 + # 656 + 657 + # 658 + # InfiniBand support 659 + # 660 + # CONFIG_INFINIBAND is not set 661 + 662 + # 663 + # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 664 + # 665 + 666 + # 667 + # Real Time Clock 668 + # 669 + # CONFIG_RTC_CLASS is not set 670 + 671 + # 672 + # DMA Engine support 673 + # 674 + # CONFIG_DMA_ENGINE is not set 675 + 676 + # 677 + # DMA Clients 678 + # 679 + 680 + # 681 + # DMA Devices 682 + # 683 + 684 + # 685 + # File systems 686 + # 687 + CONFIG_EXT2_FS=y 688 + # CONFIG_EXT2_FS_XATTR is not set 689 + # CONFIG_EXT2_FS_XIP is not set 690 + CONFIG_EXT3_FS=y 691 + CONFIG_EXT3_FS_XATTR=y 692 + # CONFIG_EXT3_FS_POSIX_ACL is not set 693 + # CONFIG_EXT3_FS_SECURITY is not set 694 + CONFIG_JBD=y 695 + # CONFIG_JBD_DEBUG is not set 696 + CONFIG_FS_MBCACHE=y 697 + # CONFIG_REISERFS_FS is not set 698 + # CONFIG_JFS_FS is not set 699 + # CONFIG_FS_POSIX_ACL is not set 700 + # CONFIG_XFS_FS is not set 701 + # CONFIG_OCFS2_FS is not set 702 + # CONFIG_MINIX_FS is not set 703 + # CONFIG_ROMFS_FS is not set 704 + CONFIG_INOTIFY=y 705 + CONFIG_INOTIFY_USER=y 706 + # CONFIG_QUOTA is not set 707 + CONFIG_DNOTIFY=y 708 + # CONFIG_AUTOFS_FS is not set 709 + # CONFIG_AUTOFS4_FS is not set 710 + # CONFIG_FUSE_FS is not set 711 + 712 + # 713 + # CD-ROM/DVD Filesystems 714 + # 715 + # CONFIG_ISO9660_FS is not set 716 + # CONFIG_UDF_FS is not set 717 + 718 + # 719 + # DOS/FAT/NT Filesystems 720 + # 721 + # CONFIG_MSDOS_FS is not set 722 + # CONFIG_VFAT_FS is not set 723 + # CONFIG_NTFS_FS is not set 724 + 725 + # 726 + # Pseudo filesystems 727 + # 728 + CONFIG_PROC_FS=y 729 + CONFIG_PROC_KCORE=y 730 + CONFIG_SYSFS=y 731 + CONFIG_TMPFS=y 732 + # CONFIG_HUGETLB_PAGE is not set 733 + CONFIG_RAMFS=y 734 + # CONFIG_CONFIGFS_FS is not set 735 + 736 + # 737 + # Miscellaneous filesystems 738 + # 739 + # CONFIG_ADFS_FS is not set 740 + # CONFIG_AFFS_FS is not set 741 + # CONFIG_HFS_FS is not set 742 + # CONFIG_HFSPLUS_FS is not set 743 + # CONFIG_BEFS_FS is not set 744 + # CONFIG_BFS_FS is not set 745 + # CONFIG_EFS_FS is not set 746 + # CONFIG_CRAMFS is not set 747 + # CONFIG_VXFS_FS is not set 748 + # CONFIG_HPFS_FS is not set 749 + # CONFIG_QNX4FS_FS is not set 750 + # CONFIG_SYSV_FS is not set 751 + # CONFIG_UFS_FS is not set 752 + 753 + # 754 + # Network File Systems 755 + # 756 + CONFIG_NFS_FS=y 757 + # CONFIG_NFS_V3 is not set 758 + # CONFIG_NFS_V4 is not set 759 + # CONFIG_NFS_DIRECTIO is not set 760 + # CONFIG_NFSD is not set 761 + CONFIG_ROOT_NFS=y 762 + CONFIG_LOCKD=y 763 + CONFIG_NFS_COMMON=y 764 + CONFIG_SUNRPC=y 765 + # CONFIG_RPCSEC_GSS_KRB5 is not set 766 + # CONFIG_RPCSEC_GSS_SPKM3 is not set 767 + # CONFIG_SMB_FS is not set 768 + # CONFIG_CIFS is not set 769 + # CONFIG_NCP_FS is not set 770 + # CONFIG_CODA_FS is not set 771 + # CONFIG_AFS_FS is not set 772 + # CONFIG_9P_FS is not set 773 + 774 + # 775 + # Partition Types 776 + # 777 + CONFIG_PARTITION_ADVANCED=y 778 + # CONFIG_ACORN_PARTITION is not set 779 + # CONFIG_OSF_PARTITION is not set 780 + # CONFIG_AMIGA_PARTITION is not set 781 + # CONFIG_ATARI_PARTITION is not set 782 + # CONFIG_MAC_PARTITION is not set 783 + # CONFIG_MSDOS_PARTITION is not set 784 + # CONFIG_LDM_PARTITION is not set 785 + # CONFIG_SGI_PARTITION is not set 786 + # CONFIG_ULTRIX_PARTITION is not set 787 + # CONFIG_SUN_PARTITION is not set 788 + # CONFIG_KARMA_PARTITION is not set 789 + # CONFIG_EFI_PARTITION is not set 790 + 791 + # 792 + # Native Language Support 793 + # 794 + # CONFIG_NLS is not set 795 + 796 + # 797 + # Library routines 798 + # 799 + # CONFIG_CRC_CCITT is not set 800 + # CONFIG_CRC16 is not set 801 + CONFIG_CRC32=y 802 + # CONFIG_LIBCRC32C is not set 803 + CONFIG_PLIST=y 804 + 805 + # 806 + # Instrumentation Support 807 + # 808 + # CONFIG_PROFILING is not set 809 + 810 + # 811 + # Kernel hacking 812 + # 813 + # CONFIG_PRINTK_TIME is not set 814 + # CONFIG_MAGIC_SYSRQ is not set 815 + # CONFIG_UNUSED_SYMBOLS is not set 816 + CONFIG_DEBUG_KERNEL=y 817 + CONFIG_LOG_BUF_SHIFT=14 818 + CONFIG_DETECT_SOFTLOCKUP=y 819 + # CONFIG_SCHEDSTATS is not set 820 + # CONFIG_DEBUG_SLAB is not set 821 + # CONFIG_DEBUG_RT_MUTEXES is not set 822 + # CONFIG_RT_MUTEX_TESTER is not set 823 + # CONFIG_DEBUG_SPINLOCK is not set 824 + CONFIG_DEBUG_MUTEXES=y 825 + # CONFIG_DEBUG_RWSEMS is not set 826 + # CONFIG_DEBUG_SPINLOCK_SLEEP is not set 827 + # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 828 + # CONFIG_DEBUG_KOBJECT is not set 829 + # CONFIG_DEBUG_INFO is not set 830 + # CONFIG_DEBUG_FS is not set 831 + # CONFIG_DEBUG_VM is not set 832 + # CONFIG_UNWIND_INFO is not set 833 + CONFIG_FORCED_INLINING=y 834 + # CONFIG_RCU_TORTURE_TEST is not set 835 + # CONFIG_DEBUGGER is not set 836 + # CONFIG_KGDB_CONSOLE is not set 837 + # CONFIG_BDI_SWITCH is not set 838 + # CONFIG_BOOTX_TEXT is not set 839 + # CONFIG_PPC_EARLY_DEBUG is not set 840 + 841 + # 842 + # Security options 843 + # 844 + # CONFIG_KEYS is not set 845 + # CONFIG_SECURITY is not set 846 + 847 + # 848 + # Cryptographic options 849 + # 850 + # CONFIG_CRYPTO is not set 851 + 852 + # 853 + # Hardware crypto devices 854 + #
+21
arch/powerpc/platforms/85xx/Kconfig
··· 11 11 help 12 12 This option enables support for the MPC 8540 ADS board 13 13 14 + config MPC8560_ADS 15 + bool "Freescale MPC8560 ADS" 16 + select DEFAULT_UIMAGE 17 + help 18 + This option enables support for the MPC 8560 ADS board 19 + 14 20 config MPC85xx_CDS 15 21 bool "Freescale MPC85xx CDS" 16 22 select DEFAULT_UIMAGE ··· 31 25 select PPC_INDIRECT_PCI 32 26 default y if MPC8540_ADS || MPC85xx_CDS 33 27 28 + config MPC8560 29 + bool 30 + select PPC_INDIRECT_PCI 31 + default y if MPC8560_ADS 32 + 34 33 config PPC_INDIRECT_PCI_BE 35 34 bool 36 35 depends on PPC_85xx ··· 44 33 config MPIC 45 34 bool 46 35 default y 36 + 37 + config CPM2 38 + bool 39 + depends on MPC8560 40 + default y 41 + help 42 + The CPM2 (Communications Processor Module) is a coprocessor on 43 + embedded CPUs made by Motorola. Selecting this option means that 44 + you wish to build a kernel for a machine with a CPM2 coprocessor 45 + on it. 47 46 48 47 endmenu
+1
arch/powerpc/platforms/85xx/Makefile
··· 3 3 # 4 4 obj-$(CONFIG_PPC_85xx) += misc.o pci.o 5 5 obj-$(CONFIG_MPC8540_ADS) += mpc85xx_ads.o 6 + obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads.o 6 7 obj-$(CONFIG_MPC85xx_CDS) += mpc85xx_cds.o
+109
arch/powerpc/platforms/85xx/mpc85xx_ads.c
··· 32 32 #include <sysdev/fsl_soc.h> 33 33 #include "mpc85xx.h" 34 34 35 + #ifdef CONFIG_CPM2 36 + #include <asm/cpm2.h> 37 + #include <sysdev/cpm2_pic.h> 38 + #include <asm/fs_pd.h> 39 + #endif 40 + 35 41 #ifndef CONFIG_PCI 36 42 unsigned long isa_io_base = 0; 37 43 unsigned long isa_mem_base = 0; ··· 63 57 } 64 58 #endif /* CONFIG_PCI */ 65 59 60 + #ifdef CONFIG_CPM2 61 + 62 + static void cpm2_cascade(unsigned int irq, struct irq_desc *desc, 63 + struct pt_regs *regs) 64 + { 65 + int cascade_irq; 66 + 67 + while ((cascade_irq = cpm2_get_irq(regs)) >= 0) { 68 + generic_handle_irq(cascade_irq, regs); 69 + } 70 + desc->chip->eoi(irq); 71 + } 72 + 73 + #endif /* CONFIG_CPM2 */ 66 74 67 75 void __init mpc85xx_ads_pic_init(void) 68 76 { 69 77 struct mpic *mpic; 70 78 struct resource r; 71 79 struct device_node *np = NULL; 80 + #ifdef CONFIG_CPM2 81 + int irq; 82 + #endif 72 83 73 84 np = of_find_node_by_type(np, "open-pic"); 74 85 ··· 127 104 mpic_assign_isu(mpic, 14, r.start + 0x10100); 128 105 129 106 mpic_init(mpic); 107 + 108 + #ifdef CONFIG_CPM2 109 + /* Setup CPM2 PIC */ 110 + np = of_find_node_by_type(NULL, "cpm-pic"); 111 + if (np == NULL) { 112 + printk(KERN_ERR "PIC init: can not find cpm-pic node\n"); 113 + return; 114 + } 115 + irq = irq_of_parse_and_map(np, 0); 116 + 117 + cpm2_pic_init(np); 118 + set_irq_chained_handler(irq, cpm2_cascade); 119 + #endif 130 120 } 131 121 132 122 /* 133 123 * Setup the architecture 134 124 */ 125 + #ifdef CONFIG_CPM2 126 + static void init_fcc_ioports(void) 127 + { 128 + struct immap *immap; 129 + struct io_port *io; 130 + u32 tempval; 131 + 132 + immap = cpm2_immr; 133 + 134 + io = &immap->im_ioport; 135 + /* FCC2/3 are on the ports B/C. */ 136 + tempval = in_be32(&io->iop_pdirb); 137 + tempval &= ~PB2_DIRB0; 138 + tempval |= PB2_DIRB1; 139 + out_be32(&io->iop_pdirb, tempval); 140 + 141 + tempval = in_be32(&io->iop_psorb); 142 + tempval &= ~PB2_PSORB0; 143 + tempval |= PB2_PSORB1; 144 + out_be32(&io->iop_psorb, tempval); 145 + 146 + tempval = in_be32(&io->iop_pparb); 147 + tempval |= (PB2_DIRB0 | PB2_DIRB1); 148 + out_be32(&io->iop_pparb, tempval); 149 + 150 + tempval = in_be32(&io->iop_pdirb); 151 + tempval &= ~PB3_DIRB0; 152 + tempval |= PB3_DIRB1; 153 + out_be32(&io->iop_pdirb, tempval); 154 + 155 + tempval = in_be32(&io->iop_psorb); 156 + tempval &= ~PB3_PSORB0; 157 + tempval |= PB3_PSORB1; 158 + out_be32(&io->iop_psorb, tempval); 159 + 160 + tempval = in_be32(&io->iop_pparb); 161 + tempval |= (PB3_DIRB0 | PB3_DIRB1); 162 + out_be32(&io->iop_pparb, tempval); 163 + 164 + tempval = in_be32(&io->iop_pdirc); 165 + tempval |= PC3_DIRC1; 166 + out_be32(&io->iop_pdirc, tempval); 167 + 168 + tempval = in_be32(&io->iop_pparc); 169 + tempval |= PC3_DIRC1; 170 + out_be32(&io->iop_pparc, tempval); 171 + 172 + /* Port C has clocks...... */ 173 + tempval = in_be32(&io->iop_psorc); 174 + tempval &= ~(CLK_TRX); 175 + out_be32(&io->iop_psorc, tempval); 176 + 177 + tempval = in_be32(&io->iop_pdirc); 178 + tempval &= ~(CLK_TRX); 179 + out_be32(&io->iop_pdirc, tempval); 180 + tempval = in_be32(&io->iop_pparc); 181 + tempval |= (CLK_TRX); 182 + out_be32(&io->iop_pparc, tempval); 183 + 184 + /* Configure Serial Interface clock routing. 185 + * First, clear all FCC bits to zero, 186 + * then set the ones we want. 187 + */ 188 + immap->im_cpmux.cmx_fcr &= ~(CPMUX_CLK_MASK); 189 + immap->im_cpmux.cmx_fcr |= CPMUX_CLK_ROUTE; 190 + } 191 + #endif 192 + 135 193 static void __init mpc85xx_ads_setup_arch(void) 136 194 { 137 195 struct device_node *cpu; ··· 234 130 loops_per_jiffy = 50000000 / HZ; 235 131 of_node_put(cpu); 236 132 } 133 + 134 + #ifdef CONFIG_CPM2 135 + cpm2_reset(); 136 + init_fcc_ioports(); 137 + #endif 237 138 238 139 #ifdef CONFIG_PCI 239 140 for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
+61
arch/powerpc/platforms/85xx/mpc85xx_ads.h
··· 1 + /* 2 + * MPC85xx ADS board definitions 3 + * 4 + * Maintainer: Kumar Gala <galak@kernel.crashing.org> 5 + * 6 + * Copyright 2004 Freescale Semiconductor Inc. 7 + * 8 + * 2006 (c) MontaVista Software, Inc. 9 + * Vitaly Bordug <vbordug@ru.mvista.com> 10 + * 11 + * This program is free software; you can redistribute it and/or modify it 12 + * under the terms of the GNU General Public License as published by the 13 + * Free Software Foundation; either version 2 of the License, or (at your 14 + * option) any later version. 15 + * 16 + */ 17 + 18 + #ifndef __MACH_MPC85XXADS_H 19 + #define __MACH_MPC85XXADS_H 20 + 21 + #include <linux/config.h> 22 + #include <linux/initrd.h> 23 + #include <sysdev/fsl_soc.h> 24 + 25 + #define BCSR_ADDR ((uint)0xf8000000) 26 + #define BCSR_SIZE ((uint)(32 * 1024)) 27 + 28 + #ifdef CONFIG_CPM2 29 + 30 + #define MPC85xx_CPM_OFFSET (0x80000) 31 + 32 + #define CPM_MAP_ADDR (get_immrbase() + MPC85xx_CPM_OFFSET) 33 + #define CPM_IRQ_OFFSET 60 34 + 35 + #define SIU_INT_SMC1 ((uint)0x04+CPM_IRQ_OFFSET) 36 + #define SIU_INT_SMC2 ((uint)0x05+CPM_IRQ_OFFSET) 37 + #define SIU_INT_SCC1 ((uint)0x28+CPM_IRQ_OFFSET) 38 + #define SIU_INT_SCC2 ((uint)0x29+CPM_IRQ_OFFSET) 39 + #define SIU_INT_SCC3 ((uint)0x2a+CPM_IRQ_OFFSET) 40 + #define SIU_INT_SCC4 ((uint)0x2b+CPM_IRQ_OFFSET) 41 + 42 + /* FCC1 Clock Source Configuration. These can be 43 + * redefined in the board specific file. 44 + * Can only choose from CLK9-12 */ 45 + #define F1_RXCLK 12 46 + #define F1_TXCLK 11 47 + 48 + /* FCC2 Clock Source Configuration. These can be 49 + * redefined in the board specific file. 50 + * Can only choose from CLK13-16 */ 51 + #define F2_RXCLK 13 52 + #define F2_TXCLK 14 53 + 54 + /* FCC3 Clock Source Configuration. These can be 55 + * redefined in the board specific file. 56 + * Can only choose from CLK13-16 */ 57 + #define F3_RXCLK 15 58 + #define F3_TXCLK 16 59 + 60 + #endif /* CONFIG_CPM2 */ 61 + #endif /* __MACH_MPC85XXADS_H */
+53
include/asm-powerpc/mpc85xx.h
··· 1 + /* 2 + * include/asm-powerpc/mpc85xx.h 3 + * 4 + * MPC85xx definitions 5 + * 6 + * Maintainer: Kumar Gala <galak@kernel.crashing.org> 7 + * 8 + * Copyright 2004 Freescale Semiconductor, Inc 9 + * 10 + * This program is free software; you can redistribute it and/or modify it 11 + * under the terms of the GNU General Public License as published by the 12 + * Free Software Foundation; either version 2 of the License, or (at your 13 + * option) any later version. 14 + */ 15 + 16 + #ifdef __KERNEL__ 17 + #ifndef __ASM_MPC85xx_H__ 18 + #define __ASM_MPC85xx_H__ 19 + 20 + #include <asm/mmu.h> 21 + 22 + #ifdef CONFIG_85xx 23 + 24 + #if defined(CONFIG_MPC8540_ADS) || defined(CONFIG_MPC8560_ADS) 25 + #include <platforms/85xx/mpc85xx_ads.h> 26 + #endif 27 + #if defined(CONFIG_MPC8555_CDS) || defined(CONFIG_MPC8548_CDS) 28 + #include <platforms/85xx/mpc8555_cds.h> 29 + #endif 30 + #ifdef CONFIG_MPC85xx_CDS 31 + #include <platforms/85xx/mpc85xx_cds.h> 32 + #endif 33 + 34 + #define _IO_BASE isa_io_base 35 + #define _ISA_MEM_BASE isa_mem_base 36 + #ifdef CONFIG_PCI 37 + #define PCI_DRAM_OFFSET pci_dram_offset 38 + #else 39 + #define PCI_DRAM_OFFSET 0 40 + #endif 41 + 42 + /* Let modules/drivers get at CCSRBAR */ 43 + extern phys_addr_t get_ccsrbar(void); 44 + 45 + #ifdef MODULE 46 + #define CCSRBAR get_ccsrbar() 47 + #else 48 + #define CCSRBAR BOARD_CCSRBAR 49 + #endif 50 + 51 + #endif /* CONFIG_85xx */ 52 + #endif /* __ASM_MPC85xx_H__ */ 53 + #endif /* __KERNEL__ */