[PATCH] powerpc: Add MPC834x SYS board to arch/powerpc

Add the first MPC83xx board that uses a flat device tree to arch/powerpc.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>

authored by

Kumar Gala and committed by
Paul Mackerras
7d13d21a eed32001

+1292 -2
+911
arch/powerpc/configs/mpc834x_sys_defconfig
··· 1 + # 2 + # Automatically generated make config: don't edit 3 + # Linux kernel version: 2.6.15-g461d4edf-dirty 4 + # Fri Jan 13 11:01:47 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_RWSEM_XCHGADD_ALGORITHM=y 12 + CONFIG_GENERIC_CALIBRATE_DELAY=y 13 + CONFIG_PPC=y 14 + CONFIG_EARLY_PRINTK=y 15 + CONFIG_GENERIC_NVRAM=y 16 + CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 17 + CONFIG_ARCH_MAY_HAVE_PC_FDC=y 18 + CONFIG_PPC_OF=y 19 + CONFIG_PPC_UDBG_16550=y 20 + # CONFIG_GENERIC_TBSYNC is not set 21 + CONFIG_DEFAULT_UIMAGE=y 22 + 23 + # 24 + # Processor support 25 + # 26 + # CONFIG_CLASSIC32 is not set 27 + # CONFIG_PPC_52xx is not set 28 + # CONFIG_PPC_82xx is not set 29 + CONFIG_PPC_83xx=y 30 + # CONFIG_40x is not set 31 + # CONFIG_44x is not set 32 + # CONFIG_8xx is not set 33 + # CONFIG_E200 is not set 34 + # CONFIG_E500 is not set 35 + CONFIG_6xx=y 36 + CONFIG_83xx=y 37 + CONFIG_PPC_FPU=y 38 + CONFIG_PPC_STD_MMU=y 39 + CONFIG_PPC_STD_MMU_32=y 40 + # CONFIG_SMP is not set 41 + 42 + # 43 + # Code maturity level options 44 + # 45 + CONFIG_EXPERIMENTAL=y 46 + CONFIG_CLEAN_COMPILE=y 47 + CONFIG_BROKEN_ON_SMP=y 48 + CONFIG_INIT_ENV_ARG_LIMIT=32 49 + 50 + # 51 + # General setup 52 + # 53 + CONFIG_LOCALVERSION="" 54 + CONFIG_LOCALVERSION_AUTO=y 55 + CONFIG_SWAP=y 56 + CONFIG_SYSVIPC=y 57 + # CONFIG_POSIX_MQUEUE is not set 58 + # CONFIG_BSD_PROCESS_ACCT is not set 59 + CONFIG_SYSCTL=y 60 + # CONFIG_AUDIT is not set 61 + # CONFIG_IKCONFIG is not set 62 + CONFIG_INITRAMFS_SOURCE="" 63 + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 64 + CONFIG_EMBEDDED=y 65 + # CONFIG_KALLSYMS is not set 66 + CONFIG_HOTPLUG=y 67 + CONFIG_PRINTK=y 68 + CONFIG_BUG=y 69 + CONFIG_ELF_CORE=y 70 + CONFIG_BASE_FULL=y 71 + CONFIG_FUTEX=y 72 + # CONFIG_EPOLL is not set 73 + CONFIG_SHMEM=y 74 + CONFIG_CC_ALIGN_FUNCTIONS=0 75 + CONFIG_CC_ALIGN_LABELS=0 76 + CONFIG_CC_ALIGN_LOOPS=0 77 + CONFIG_CC_ALIGN_JUMPS=0 78 + CONFIG_SLAB=y 79 + # CONFIG_TINY_SHMEM is not set 80 + CONFIG_BASE_SMALL=0 81 + # CONFIG_SLOB is not set 82 + 83 + # 84 + # Loadable module support 85 + # 86 + CONFIG_MODULES=y 87 + CONFIG_MODULE_UNLOAD=y 88 + # CONFIG_MODULE_FORCE_UNLOAD is not set 89 + CONFIG_OBSOLETE_MODPARM=y 90 + # CONFIG_MODVERSIONS is not set 91 + # CONFIG_MODULE_SRCVERSION_ALL is not set 92 + # CONFIG_KMOD is not set 93 + 94 + # 95 + # Block layer 96 + # 97 + # CONFIG_LBD is not set 98 + 99 + # 100 + # IO Schedulers 101 + # 102 + CONFIG_IOSCHED_NOOP=y 103 + CONFIG_IOSCHED_AS=y 104 + CONFIG_IOSCHED_DEADLINE=y 105 + CONFIG_IOSCHED_CFQ=y 106 + CONFIG_DEFAULT_AS=y 107 + # CONFIG_DEFAULT_DEADLINE is not set 108 + # CONFIG_DEFAULT_CFQ is not set 109 + # CONFIG_DEFAULT_NOOP is not set 110 + CONFIG_DEFAULT_IOSCHED="anticipatory" 111 + CONFIG_PPC_GEN550=y 112 + # CONFIG_WANT_EARLY_SERIAL is not set 113 + 114 + # 115 + # Platform support 116 + # 117 + CONFIG_MPC834x_SYS=y 118 + CONFIG_MPC834x=y 119 + 120 + # 121 + # Kernel options 122 + # 123 + # CONFIG_HIGHMEM is not set 124 + # CONFIG_HZ_100 is not set 125 + CONFIG_HZ_250=y 126 + # CONFIG_HZ_1000 is not set 127 + CONFIG_HZ=250 128 + CONFIG_PREEMPT_NONE=y 129 + # CONFIG_PREEMPT_VOLUNTARY is not set 130 + # CONFIG_PREEMPT is not set 131 + CONFIG_BINFMT_ELF=y 132 + # CONFIG_BINFMT_MISC is not set 133 + CONFIG_ARCH_FLATMEM_ENABLE=y 134 + CONFIG_SELECT_MEMORY_MODEL=y 135 + CONFIG_FLATMEM_MANUAL=y 136 + # CONFIG_DISCONTIGMEM_MANUAL is not set 137 + # CONFIG_SPARSEMEM_MANUAL is not set 138 + CONFIG_FLATMEM=y 139 + CONFIG_FLAT_NODE_MEM_MAP=y 140 + # CONFIG_SPARSEMEM_STATIC is not set 141 + CONFIG_SPLIT_PTLOCK_CPUS=4 142 + CONFIG_PROC_DEVICETREE=y 143 + # CONFIG_CMDLINE_BOOL is not set 144 + # CONFIG_PM is not set 145 + # CONFIG_SOFTWARE_SUSPEND is not set 146 + CONFIG_SECCOMP=y 147 + CONFIG_ISA_DMA_API=y 148 + 149 + # 150 + # Bus options 151 + # 152 + CONFIG_GENERIC_ISA_DMA=y 153 + # CONFIG_PPC_I8259 is not set 154 + CONFIG_PPC_INDIRECT_PCI=y 155 + CONFIG_FSL_SOC=y 156 + CONFIG_PCI=y 157 + CONFIG_PCI_DOMAINS=y 158 + # CONFIG_PCI_LEGACY_PROC is not set 159 + 160 + # 161 + # PCCARD (PCMCIA/CardBus) support 162 + # 163 + # CONFIG_PCCARD is not set 164 + 165 + # 166 + # PCI Hotplug Support 167 + # 168 + # CONFIG_HOTPLUG_PCI is not set 169 + 170 + # 171 + # Advanced setup 172 + # 173 + # CONFIG_ADVANCED_OPTIONS is not set 174 + 175 + # 176 + # Default settings for advanced configuration options are used 177 + # 178 + CONFIG_HIGHMEM_START=0xfe000000 179 + CONFIG_LOWMEM_SIZE=0x30000000 180 + CONFIG_KERNEL_START=0xc0000000 181 + CONFIG_TASK_SIZE=0x80000000 182 + CONFIG_BOOT_LOAD=0x00800000 183 + 184 + # 185 + # Networking 186 + # 187 + CONFIG_NET=y 188 + 189 + # 190 + # Networking options 191 + # 192 + CONFIG_PACKET=y 193 + # CONFIG_PACKET_MMAP is not set 194 + CONFIG_UNIX=y 195 + # CONFIG_NET_KEY is not set 196 + CONFIG_INET=y 197 + CONFIG_IP_MULTICAST=y 198 + # CONFIG_IP_ADVANCED_ROUTER is not set 199 + CONFIG_IP_FIB_HASH=y 200 + CONFIG_IP_PNP=y 201 + CONFIG_IP_PNP_DHCP=y 202 + CONFIG_IP_PNP_BOOTP=y 203 + # CONFIG_IP_PNP_RARP is not set 204 + # CONFIG_NET_IPIP is not set 205 + # CONFIG_NET_IPGRE is not set 206 + # CONFIG_IP_MROUTE is not set 207 + # CONFIG_ARPD is not set 208 + CONFIG_SYN_COOKIES=y 209 + # CONFIG_INET_AH is not set 210 + # CONFIG_INET_ESP is not set 211 + # CONFIG_INET_IPCOMP is not set 212 + # CONFIG_INET_TUNNEL is not set 213 + CONFIG_INET_DIAG=y 214 + CONFIG_INET_TCP_DIAG=y 215 + # CONFIG_TCP_CONG_ADVANCED is not set 216 + CONFIG_TCP_CONG_BIC=y 217 + # CONFIG_IPV6 is not set 218 + # CONFIG_NETFILTER is not set 219 + 220 + # 221 + # DCCP Configuration (EXPERIMENTAL) 222 + # 223 + # CONFIG_IP_DCCP is not set 224 + 225 + # 226 + # SCTP Configuration (EXPERIMENTAL) 227 + # 228 + # CONFIG_IP_SCTP is not set 229 + # CONFIG_ATM is not set 230 + # CONFIG_BRIDGE is not set 231 + # CONFIG_VLAN_8021Q is not set 232 + # CONFIG_DECNET is not set 233 + # CONFIG_LLC2 is not set 234 + # CONFIG_IPX is not set 235 + # CONFIG_ATALK is not set 236 + # CONFIG_X25 is not set 237 + # CONFIG_LAPB is not set 238 + # CONFIG_NET_DIVERT is not set 239 + # CONFIG_ECONET is not set 240 + # CONFIG_WAN_ROUTER is not set 241 + 242 + # 243 + # QoS and/or fair queueing 244 + # 245 + # CONFIG_NET_SCHED is not set 246 + 247 + # 248 + # Network testing 249 + # 250 + # CONFIG_NET_PKTGEN is not set 251 + # CONFIG_HAMRADIO is not set 252 + # CONFIG_IRDA is not set 253 + # CONFIG_BT is not set 254 + # CONFIG_IEEE80211 is not set 255 + 256 + # 257 + # Device Drivers 258 + # 259 + 260 + # 261 + # Generic Driver Options 262 + # 263 + CONFIG_STANDALONE=y 264 + CONFIG_PREVENT_FIRMWARE_BUILD=y 265 + # CONFIG_FW_LOADER is not set 266 + 267 + # 268 + # Connector - unified userspace <-> kernelspace linker 269 + # 270 + # CONFIG_CONNECTOR is not set 271 + 272 + # 273 + # Memory Technology Devices (MTD) 274 + # 275 + # CONFIG_MTD is not set 276 + 277 + # 278 + # Parallel port support 279 + # 280 + # CONFIG_PARPORT is not set 281 + 282 + # 283 + # Plug and Play support 284 + # 285 + 286 + # 287 + # Block devices 288 + # 289 + # CONFIG_BLK_DEV_FD is not set 290 + # CONFIG_BLK_CPQ_DA is not set 291 + # CONFIG_BLK_CPQ_CISS_DA is not set 292 + # CONFIG_BLK_DEV_DAC960 is not set 293 + # CONFIG_BLK_DEV_UMEM is not set 294 + # CONFIG_BLK_DEV_COW_COMMON is not set 295 + CONFIG_BLK_DEV_LOOP=y 296 + # CONFIG_BLK_DEV_CRYPTOLOOP is not set 297 + # CONFIG_BLK_DEV_NBD is not set 298 + # CONFIG_BLK_DEV_SX8 is not set 299 + CONFIG_BLK_DEV_RAM=y 300 + CONFIG_BLK_DEV_RAM_COUNT=16 301 + CONFIG_BLK_DEV_RAM_SIZE=32768 302 + CONFIG_BLK_DEV_INITRD=y 303 + # CONFIG_CDROM_PKTCDVD is not set 304 + # CONFIG_ATA_OVER_ETH is not set 305 + 306 + # 307 + # ATA/ATAPI/MFM/RLL support 308 + # 309 + # CONFIG_IDE is not set 310 + 311 + # 312 + # SCSI device support 313 + # 314 + # CONFIG_RAID_ATTRS is not set 315 + # CONFIG_SCSI is not set 316 + 317 + # 318 + # Multi-device support (RAID and LVM) 319 + # 320 + # CONFIG_MD is not set 321 + 322 + # 323 + # Fusion MPT device support 324 + # 325 + # CONFIG_FUSION is not set 326 + 327 + # 328 + # IEEE 1394 (FireWire) support 329 + # 330 + # CONFIG_IEEE1394 is not set 331 + 332 + # 333 + # I2O device support 334 + # 335 + # CONFIG_I2O is not set 336 + 337 + # 338 + # Macintosh device drivers 339 + # 340 + # CONFIG_WINDFARM is not set 341 + 342 + # 343 + # Network device support 344 + # 345 + CONFIG_NETDEVICES=y 346 + # CONFIG_DUMMY is not set 347 + # CONFIG_BONDING is not set 348 + # CONFIG_EQUALIZER is not set 349 + # CONFIG_TUN is not set 350 + 351 + # 352 + # ARCnet devices 353 + # 354 + # CONFIG_ARCNET is not set 355 + 356 + # 357 + # PHY device support 358 + # 359 + CONFIG_PHYLIB=y 360 + 361 + # 362 + # MII PHY device drivers 363 + # 364 + CONFIG_MARVELL_PHY=y 365 + # CONFIG_DAVICOM_PHY is not set 366 + # CONFIG_QSEMI_PHY is not set 367 + # CONFIG_LXT_PHY is not set 368 + # CONFIG_CICADA_PHY is not set 369 + 370 + # 371 + # Ethernet (10 or 100Mbit) 372 + # 373 + CONFIG_NET_ETHERNET=y 374 + CONFIG_MII=y 375 + # CONFIG_HAPPYMEAL is not set 376 + # CONFIG_SUNGEM is not set 377 + # CONFIG_CASSINI is not set 378 + # CONFIG_NET_VENDOR_3COM is not set 379 + 380 + # 381 + # Tulip family network device support 382 + # 383 + # CONFIG_NET_TULIP is not set 384 + # CONFIG_HP100 is not set 385 + CONFIG_NET_PCI=y 386 + # CONFIG_PCNET32 is not set 387 + # CONFIG_AMD8111_ETH is not set 388 + # CONFIG_ADAPTEC_STARFIRE is not set 389 + # CONFIG_B44 is not set 390 + # CONFIG_FORCEDETH is not set 391 + # CONFIG_DGRS is not set 392 + # CONFIG_EEPRO100 is not set 393 + CONFIG_E100=y 394 + # CONFIG_FEALNX is not set 395 + # CONFIG_NATSEMI is not set 396 + # CONFIG_NE2K_PCI is not set 397 + # CONFIG_8139CP is not set 398 + # CONFIG_8139TOO is not set 399 + # CONFIG_SIS900 is not set 400 + # CONFIG_EPIC100 is not set 401 + # CONFIG_SUNDANCE is not set 402 + # CONFIG_TLAN is not set 403 + # CONFIG_VIA_RHINE is not set 404 + 405 + # 406 + # Ethernet (1000 Mbit) 407 + # 408 + # CONFIG_ACENIC is not set 409 + # CONFIG_DL2K is not set 410 + # CONFIG_E1000 is not set 411 + # CONFIG_NS83820 is not set 412 + # CONFIG_HAMACHI is not set 413 + # CONFIG_YELLOWFIN is not set 414 + # CONFIG_R8169 is not set 415 + # CONFIG_SIS190 is not set 416 + # CONFIG_SKGE is not set 417 + # CONFIG_SKY2 is not set 418 + # CONFIG_SK98LIN is not set 419 + # CONFIG_VIA_VELOCITY is not set 420 + # CONFIG_TIGON3 is not set 421 + # CONFIG_BNX2 is not set 422 + CONFIG_GIANFAR=y 423 + # CONFIG_GFAR_NAPI is not set 424 + 425 + # 426 + # Ethernet (10000 Mbit) 427 + # 428 + # CONFIG_CHELSIO_T1 is not set 429 + # CONFIG_IXGB is not set 430 + # CONFIG_S2IO is not set 431 + 432 + # 433 + # Token Ring devices 434 + # 435 + # CONFIG_TR is not set 436 + 437 + # 438 + # Wireless LAN (non-hamradio) 439 + # 440 + # CONFIG_NET_RADIO is not set 441 + 442 + # 443 + # Wan interfaces 444 + # 445 + # CONFIG_WAN is not set 446 + # CONFIG_FDDI is not set 447 + # CONFIG_HIPPI is not set 448 + # CONFIG_PPP is not set 449 + # CONFIG_SLIP is not set 450 + # CONFIG_SHAPER is not set 451 + # CONFIG_NETCONSOLE is not set 452 + # CONFIG_NETPOLL is not set 453 + # CONFIG_NET_POLL_CONTROLLER is not set 454 + 455 + # 456 + # ISDN subsystem 457 + # 458 + # CONFIG_ISDN is not set 459 + 460 + # 461 + # Telephony Support 462 + # 463 + # CONFIG_PHONE is not set 464 + 465 + # 466 + # Input device support 467 + # 468 + CONFIG_INPUT=y 469 + 470 + # 471 + # Userland interfaces 472 + # 473 + # CONFIG_INPUT_MOUSEDEV is not set 474 + # CONFIG_INPUT_JOYDEV is not set 475 + # CONFIG_INPUT_TSDEV is not set 476 + # CONFIG_INPUT_EVDEV is not set 477 + # CONFIG_INPUT_EVBUG is not set 478 + 479 + # 480 + # Input Device Drivers 481 + # 482 + # CONFIG_INPUT_KEYBOARD is not set 483 + # CONFIG_INPUT_MOUSE is not set 484 + # CONFIG_INPUT_JOYSTICK is not set 485 + # CONFIG_INPUT_TOUCHSCREEN is not set 486 + # CONFIG_INPUT_MISC is not set 487 + 488 + # 489 + # Hardware I/O ports 490 + # 491 + # CONFIG_SERIO is not set 492 + # CONFIG_GAMEPORT is not set 493 + 494 + # 495 + # Character devices 496 + # 497 + # CONFIG_VT is not set 498 + # CONFIG_SERIAL_NONSTANDARD is not set 499 + 500 + # 501 + # Serial drivers 502 + # 503 + CONFIG_SERIAL_8250=y 504 + CONFIG_SERIAL_8250_CONSOLE=y 505 + CONFIG_SERIAL_8250_NR_UARTS=4 506 + CONFIG_SERIAL_8250_RUNTIME_UARTS=4 507 + # CONFIG_SERIAL_8250_EXTENDED is not set 508 + 509 + # 510 + # Non-8250 serial port support 511 + # 512 + CONFIG_SERIAL_CORE=y 513 + CONFIG_SERIAL_CORE_CONSOLE=y 514 + CONFIG_UNIX98_PTYS=y 515 + CONFIG_LEGACY_PTYS=y 516 + CONFIG_LEGACY_PTY_COUNT=256 517 + 518 + # 519 + # IPMI 520 + # 521 + # CONFIG_IPMI_HANDLER is not set 522 + 523 + # 524 + # Watchdog Cards 525 + # 526 + CONFIG_WATCHDOG=y 527 + # CONFIG_WATCHDOG_NOWAYOUT is not set 528 + 529 + # 530 + # Watchdog Device Drivers 531 + # 532 + # CONFIG_SOFT_WATCHDOG is not set 533 + CONFIG_83xx_WDT=y 534 + 535 + # 536 + # PCI-based Watchdog Cards 537 + # 538 + # CONFIG_PCIPCWATCHDOG is not set 539 + # CONFIG_WDTPCI is not set 540 + # CONFIG_NVRAM is not set 541 + CONFIG_GEN_RTC=y 542 + # CONFIG_GEN_RTC_X is not set 543 + # CONFIG_DTLK is not set 544 + # CONFIG_R3964 is not set 545 + # CONFIG_APPLICOM is not set 546 + 547 + # 548 + # Ftape, the floppy tape device driver 549 + # 550 + # CONFIG_AGP is not set 551 + # CONFIG_DRM is not set 552 + # CONFIG_RAW_DRIVER is not set 553 + 554 + # 555 + # TPM devices 556 + # 557 + # CONFIG_TCG_TPM is not set 558 + # CONFIG_TELCLOCK is not set 559 + 560 + # 561 + # I2C support 562 + # 563 + CONFIG_I2C=y 564 + CONFIG_I2C_CHARDEV=y 565 + 566 + # 567 + # I2C Algorithms 568 + # 569 + # CONFIG_I2C_ALGOBIT is not set 570 + # CONFIG_I2C_ALGOPCF is not set 571 + # CONFIG_I2C_ALGOPCA is not set 572 + 573 + # 574 + # I2C Hardware Bus support 575 + # 576 + # CONFIG_I2C_ALI1535 is not set 577 + # CONFIG_I2C_ALI1563 is not set 578 + # CONFIG_I2C_ALI15X3 is not set 579 + # CONFIG_I2C_AMD756 is not set 580 + # CONFIG_I2C_AMD8111 is not set 581 + # CONFIG_I2C_I801 is not set 582 + # CONFIG_I2C_I810 is not set 583 + # CONFIG_I2C_PIIX4 is not set 584 + CONFIG_I2C_MPC=y 585 + # CONFIG_I2C_NFORCE2 is not set 586 + # CONFIG_I2C_PARPORT_LIGHT is not set 587 + # CONFIG_I2C_PROSAVAGE is not set 588 + # CONFIG_I2C_SAVAGE4 is not set 589 + # CONFIG_SCx200_ACB is not set 590 + # CONFIG_I2C_SIS5595 is not set 591 + # CONFIG_I2C_SIS630 is not set 592 + # CONFIG_I2C_SIS96X is not set 593 + # CONFIG_I2C_STUB is not set 594 + # CONFIG_I2C_VIA is not set 595 + # CONFIG_I2C_VIAPRO is not set 596 + # CONFIG_I2C_VOODOO3 is not set 597 + # CONFIG_I2C_PCA_ISA is not set 598 + 599 + # 600 + # Miscellaneous I2C Chip support 601 + # 602 + # CONFIG_SENSORS_DS1337 is not set 603 + # CONFIG_SENSORS_DS1374 is not set 604 + # CONFIG_SENSORS_EEPROM is not set 605 + # CONFIG_SENSORS_PCF8574 is not set 606 + # CONFIG_SENSORS_PCA9539 is not set 607 + # CONFIG_SENSORS_PCF8591 is not set 608 + # CONFIG_SENSORS_RTC8564 is not set 609 + # CONFIG_SENSORS_M41T00 is not set 610 + # CONFIG_SENSORS_MAX6875 is not set 611 + # CONFIG_RTC_X1205_I2C is not set 612 + # CONFIG_I2C_DEBUG_CORE is not set 613 + # CONFIG_I2C_DEBUG_ALGO is not set 614 + # CONFIG_I2C_DEBUG_BUS is not set 615 + # CONFIG_I2C_DEBUG_CHIP is not set 616 + 617 + # 618 + # Dallas's 1-wire bus 619 + # 620 + # CONFIG_W1 is not set 621 + 622 + # 623 + # Hardware Monitoring support 624 + # 625 + CONFIG_HWMON=y 626 + # CONFIG_HWMON_VID is not set 627 + # CONFIG_SENSORS_ADM1021 is not set 628 + # CONFIG_SENSORS_ADM1025 is not set 629 + # CONFIG_SENSORS_ADM1026 is not set 630 + # CONFIG_SENSORS_ADM1031 is not set 631 + # CONFIG_SENSORS_ADM9240 is not set 632 + # CONFIG_SENSORS_ASB100 is not set 633 + # CONFIG_SENSORS_ATXP1 is not set 634 + # CONFIG_SENSORS_DS1621 is not set 635 + # CONFIG_SENSORS_FSCHER is not set 636 + # CONFIG_SENSORS_FSCPOS is not set 637 + # CONFIG_SENSORS_GL518SM is not set 638 + # CONFIG_SENSORS_GL520SM is not set 639 + # CONFIG_SENSORS_IT87 is not set 640 + # CONFIG_SENSORS_LM63 is not set 641 + # CONFIG_SENSORS_LM75 is not set 642 + # CONFIG_SENSORS_LM77 is not set 643 + # CONFIG_SENSORS_LM78 is not set 644 + # CONFIG_SENSORS_LM80 is not set 645 + # CONFIG_SENSORS_LM83 is not set 646 + # CONFIG_SENSORS_LM85 is not set 647 + # CONFIG_SENSORS_LM87 is not set 648 + # CONFIG_SENSORS_LM90 is not set 649 + # CONFIG_SENSORS_LM92 is not set 650 + # CONFIG_SENSORS_MAX1619 is not set 651 + # CONFIG_SENSORS_PC87360 is not set 652 + # CONFIG_SENSORS_SIS5595 is not set 653 + # CONFIG_SENSORS_SMSC47M1 is not set 654 + # CONFIG_SENSORS_SMSC47B397 is not set 655 + # CONFIG_SENSORS_VIA686A is not set 656 + # CONFIG_SENSORS_VT8231 is not set 657 + # CONFIG_SENSORS_W83781D is not set 658 + # CONFIG_SENSORS_W83792D is not set 659 + # CONFIG_SENSORS_W83L785TS is not set 660 + # CONFIG_SENSORS_W83627HF is not set 661 + # CONFIG_SENSORS_W83627EHF is not set 662 + # CONFIG_HWMON_DEBUG_CHIP is not set 663 + 664 + # 665 + # Misc devices 666 + # 667 + 668 + # 669 + # Multimedia Capabilities Port drivers 670 + # 671 + 672 + # 673 + # Multimedia devices 674 + # 675 + # CONFIG_VIDEO_DEV is not set 676 + 677 + # 678 + # Digital Video Broadcasting Devices 679 + # 680 + # CONFIG_DVB is not set 681 + 682 + # 683 + # Graphics support 684 + # 685 + # CONFIG_FB is not set 686 + 687 + # 688 + # Sound 689 + # 690 + # CONFIG_SOUND is not set 691 + 692 + # 693 + # USB support 694 + # 695 + CONFIG_USB_ARCH_HAS_HCD=y 696 + CONFIG_USB_ARCH_HAS_OHCI=y 697 + # CONFIG_USB is not set 698 + 699 + # 700 + # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 701 + # 702 + 703 + # 704 + # USB Gadget Support 705 + # 706 + # CONFIG_USB_GADGET is not set 707 + 708 + # 709 + # MMC/SD Card support 710 + # 711 + # CONFIG_MMC is not set 712 + 713 + # 714 + # InfiniBand support 715 + # 716 + # CONFIG_INFINIBAND is not set 717 + 718 + # 719 + # SN Devices 720 + # 721 + 722 + # 723 + # File systems 724 + # 725 + CONFIG_EXT2_FS=y 726 + # CONFIG_EXT2_FS_XATTR is not set 727 + # CONFIG_EXT2_FS_XIP is not set 728 + CONFIG_EXT3_FS=y 729 + CONFIG_EXT3_FS_XATTR=y 730 + # CONFIG_EXT3_FS_POSIX_ACL is not set 731 + # CONFIG_EXT3_FS_SECURITY is not set 732 + CONFIG_JBD=y 733 + # CONFIG_JBD_DEBUG is not set 734 + CONFIG_FS_MBCACHE=y 735 + # CONFIG_REISERFS_FS is not set 736 + # CONFIG_JFS_FS is not set 737 + # CONFIG_FS_POSIX_ACL is not set 738 + # CONFIG_XFS_FS is not set 739 + # CONFIG_OCFS2_FS is not set 740 + # CONFIG_MINIX_FS is not set 741 + # CONFIG_ROMFS_FS is not set 742 + CONFIG_INOTIFY=y 743 + # CONFIG_QUOTA is not set 744 + CONFIG_DNOTIFY=y 745 + # CONFIG_AUTOFS_FS is not set 746 + # CONFIG_AUTOFS4_FS is not set 747 + # CONFIG_FUSE_FS is not set 748 + 749 + # 750 + # CD-ROM/DVD Filesystems 751 + # 752 + # CONFIG_ISO9660_FS is not set 753 + # CONFIG_UDF_FS is not set 754 + 755 + # 756 + # DOS/FAT/NT Filesystems 757 + # 758 + # CONFIG_MSDOS_FS is not set 759 + # CONFIG_VFAT_FS is not set 760 + # CONFIG_NTFS_FS is not set 761 + 762 + # 763 + # Pseudo filesystems 764 + # 765 + CONFIG_PROC_FS=y 766 + CONFIG_PROC_KCORE=y 767 + CONFIG_SYSFS=y 768 + CONFIG_TMPFS=y 769 + # CONFIG_HUGETLB_PAGE is not set 770 + CONFIG_RAMFS=y 771 + # CONFIG_RELAYFS_FS is not set 772 + # CONFIG_CONFIGFS_FS is not set 773 + 774 + # 775 + # Miscellaneous filesystems 776 + # 777 + # CONFIG_ADFS_FS is not set 778 + # CONFIG_AFFS_FS is not set 779 + # CONFIG_HFS_FS is not set 780 + # CONFIG_HFSPLUS_FS is not set 781 + # CONFIG_BEFS_FS is not set 782 + # CONFIG_BFS_FS is not set 783 + # CONFIG_EFS_FS is not set 784 + # CONFIG_CRAMFS is not set 785 + # CONFIG_VXFS_FS is not set 786 + # CONFIG_HPFS_FS is not set 787 + # CONFIG_QNX4FS_FS is not set 788 + # CONFIG_SYSV_FS is not set 789 + # CONFIG_UFS_FS is not set 790 + 791 + # 792 + # Network File Systems 793 + # 794 + CONFIG_NFS_FS=y 795 + CONFIG_NFS_V3=y 796 + # CONFIG_NFS_V3_ACL is not set 797 + CONFIG_NFS_V4=y 798 + # CONFIG_NFS_DIRECTIO is not set 799 + # CONFIG_NFSD is not set 800 + CONFIG_ROOT_NFS=y 801 + CONFIG_LOCKD=y 802 + CONFIG_LOCKD_V4=y 803 + CONFIG_NFS_COMMON=y 804 + CONFIG_SUNRPC=y 805 + CONFIG_SUNRPC_GSS=y 806 + CONFIG_RPCSEC_GSS_KRB5=y 807 + # CONFIG_RPCSEC_GSS_SPKM3 is not set 808 + # CONFIG_SMB_FS is not set 809 + # CONFIG_CIFS is not set 810 + # CONFIG_NCP_FS is not set 811 + # CONFIG_CODA_FS is not set 812 + # CONFIG_AFS_FS is not set 813 + # CONFIG_9P_FS is not set 814 + 815 + # 816 + # Partition Types 817 + # 818 + CONFIG_PARTITION_ADVANCED=y 819 + # CONFIG_ACORN_PARTITION is not set 820 + # CONFIG_OSF_PARTITION is not set 821 + # CONFIG_AMIGA_PARTITION is not set 822 + # CONFIG_ATARI_PARTITION is not set 823 + # CONFIG_MAC_PARTITION is not set 824 + # CONFIG_MSDOS_PARTITION is not set 825 + # CONFIG_LDM_PARTITION is not set 826 + # CONFIG_SGI_PARTITION is not set 827 + # CONFIG_ULTRIX_PARTITION is not set 828 + # CONFIG_SUN_PARTITION is not set 829 + # CONFIG_EFI_PARTITION is not set 830 + 831 + # 832 + # Native Language Support 833 + # 834 + # CONFIG_NLS is not set 835 + 836 + # 837 + # Library routines 838 + # 839 + # CONFIG_CRC_CCITT is not set 840 + # CONFIG_CRC16 is not set 841 + CONFIG_CRC32=y 842 + # CONFIG_LIBCRC32C is not set 843 + 844 + # 845 + # Instrumentation Support 846 + # 847 + # CONFIG_PROFILING is not set 848 + 849 + # 850 + # Kernel hacking 851 + # 852 + # CONFIG_PRINTK_TIME is not set 853 + # CONFIG_MAGIC_SYSRQ is not set 854 + # CONFIG_DEBUG_KERNEL is not set 855 + CONFIG_LOG_BUF_SHIFT=14 856 + # CONFIG_BOOTX_TEXT is not set 857 + # CONFIG_SERIAL_TEXT_DEBUG is not set 858 + # CONFIG_PPC_EARLY_DEBUG_LPAR is not set 859 + # CONFIG_PPC_EARLY_DEBUG_G5 is not set 860 + # CONFIG_PPC_EARLY_DEBUG_RTAS is not set 861 + # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set 862 + # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set 863 + 864 + # 865 + # Security options 866 + # 867 + # CONFIG_KEYS is not set 868 + # CONFIG_SECURITY is not set 869 + 870 + # 871 + # Cryptographic options 872 + # 873 + CONFIG_CRYPTO=y 874 + # CONFIG_CRYPTO_HMAC is not set 875 + # CONFIG_CRYPTO_NULL is not set 876 + # CONFIG_CRYPTO_MD4 is not set 877 + CONFIG_CRYPTO_MD5=y 878 + # CONFIG_CRYPTO_SHA1 is not set 879 + # CONFIG_CRYPTO_SHA256 is not set 880 + # CONFIG_CRYPTO_SHA512 is not set 881 + # CONFIG_CRYPTO_WP512 is not set 882 + # CONFIG_CRYPTO_TGR192 is not set 883 + CONFIG_CRYPTO_DES=y 884 + # CONFIG_CRYPTO_BLOWFISH is not set 885 + # CONFIG_CRYPTO_TWOFISH is not set 886 + # CONFIG_CRYPTO_SERPENT is not set 887 + # CONFIG_CRYPTO_AES is not set 888 + # CONFIG_CRYPTO_CAST5 is not set 889 + # CONFIG_CRYPTO_CAST6 is not set 890 + # CONFIG_CRYPTO_TEA is not set 891 + # CONFIG_CRYPTO_ARC4 is not set 892 + # CONFIG_CRYPTO_KHAZAD is not set 893 + # CONFIG_CRYPTO_ANUBIS is not set 894 + # CONFIG_CRYPTO_DEFLATE is not set 895 + # CONFIG_CRYPTO_MICHAEL_MIC is not set 896 + # CONFIG_CRYPTO_CRC32C is not set 897 + # CONFIG_CRYPTO_TEST is not set 898 + 899 + # 900 + # Hardware crypto devices 901 + # 902 + 903 + # 904 + # SEC2.x Options 905 + # 906 + CONFIG_MPC8349E_SEC2x=y 907 + 908 + # 909 + # SEC2.x Test Options 910 + # 911 + CONFIG_MPC8349E_SEC2xTEST=y
+1 -2
arch/powerpc/kernel/ppc_ksyms.c
··· 230 230 EXPORT_SYMBOL(cpm_install_handler); 231 231 EXPORT_SYMBOL(cpm_free_handler); 232 232 #endif /* CONFIG_8xx */ 233 - #if defined(CONFIG_8xx) || defined(CONFIG_40x) || defined(CONFIG_85xx) ||\ 234 - defined(CONFIG_83xx) 233 + #if defined(CONFIG_8xx) || defined(CONFIG_40x) 235 234 EXPORT_SYMBOL(__res); 236 235 #endif 237 236
+1
arch/powerpc/platforms/83xx/Kconfig
··· 7 7 8 8 config MPC834x_SYS 9 9 bool "Freescale MPC834x SYS" 10 + select DEFAULT_UIMAGE 10 11 help 11 12 This option enables support for the MPC 834x SYS evaluation board. 12 13
+243
arch/powerpc/platforms/83xx/mpc834x_sys.c
··· 1 + /* 2 + * arch/powerpc/platforms/83xx/mpc834x_sys.c 3 + * 4 + * MPC834x SYS board specific routines 5 + * 6 + * Maintainer: Kumar Gala <galak@kernel.crashing.org> 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 as published by the 10 + * Free Software Foundation; either version 2 of the License, or (at your 11 + * option) any later version. 12 + */ 13 + 14 + #include <linux/config.h> 15 + #include <linux/stddef.h> 16 + #include <linux/kernel.h> 17 + #include <linux/init.h> 18 + #include <linux/errno.h> 19 + #include <linux/reboot.h> 20 + #include <linux/pci.h> 21 + #include <linux/kdev_t.h> 22 + #include <linux/major.h> 23 + #include <linux/console.h> 24 + #include <linux/delay.h> 25 + #include <linux/seq_file.h> 26 + #include <linux/root_dev.h> 27 + #include <linux/module.h> 28 + #include <linux/fsl_devices.h> 29 + 30 + #include <asm/system.h> 31 + #include <asm/pgtable.h> 32 + #include <asm/page.h> 33 + #include <asm/atomic.h> 34 + #include <asm/time.h> 35 + #include <asm/io.h> 36 + #include <asm/machdep.h> 37 + #include <asm/ipic.h> 38 + #include <asm/bootinfo.h> 39 + #include <asm/pci-bridge.h> 40 + #include <asm/mpc83xx.h> 41 + #include <asm/irq.h> 42 + #include <mm/mmu_decl.h> 43 + #include <asm/prom.h> 44 + #include <asm/udbg.h> 45 + #include <sysdev/fsl_soc.h> 46 + 47 + #include "mpc83xx.h" 48 + 49 + #ifndef CONFIG_PCI 50 + unsigned long isa_io_base = 0; 51 + unsigned long isa_mem_base = 0; 52 + #endif 53 + 54 + #ifdef CONFIG_PCI 55 + extern int mpc83xx_pci2_busno; 56 + 57 + static int 58 + mpc83xx_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) 59 + { 60 + static char pci_irq_table[][4] = 61 + /* 62 + * PCI IDSEL/INTPIN->INTLINE 63 + * A B C D 64 + */ 65 + { 66 + {PIRQA, PIRQB, PIRQC, PIRQD}, /* idsel 0x11 */ 67 + {PIRQC, PIRQD, PIRQA, PIRQB}, /* idsel 0x12 */ 68 + {PIRQD, PIRQA, PIRQB, PIRQC}, /* idsel 0x13 */ 69 + {0, 0, 0, 0}, 70 + {PIRQA, PIRQB, PIRQC, PIRQD}, /* idsel 0x15 */ 71 + {PIRQD, PIRQA, PIRQB, PIRQC}, /* idsel 0x16 */ 72 + {PIRQC, PIRQD, PIRQA, PIRQB}, /* idsel 0x17 */ 73 + {PIRQB, PIRQC, PIRQD, PIRQA}, /* idsel 0x18 */ 74 + {0, 0, 0, 0}, /* idsel 0x19 */ 75 + {0, 0, 0, 0}, /* idsel 0x20 */ 76 + }; 77 + 78 + const long min_idsel = 0x11, max_idsel = 0x20, irqs_per_slot = 4; 79 + return PCI_IRQ_TABLE_LOOKUP; 80 + } 81 + 82 + static int 83 + mpc83xx_exclude_device(u_char bus, u_char devfn) 84 + { 85 + if (bus == 0 && PCI_SLOT(devfn) == 0) 86 + return PCIBIOS_DEVICE_NOT_FOUND; 87 + if (mpc83xx_pci2_busno) 88 + if (bus == (mpc83xx_pci2_busno) && PCI_SLOT(devfn) == 0) 89 + return PCIBIOS_DEVICE_NOT_FOUND; 90 + return PCIBIOS_SUCCESSFUL; 91 + } 92 + #endif /* CONFIG_PCI */ 93 + 94 + /* ************************************************************************ 95 + * 96 + * Setup the architecture 97 + * 98 + */ 99 + static void __init 100 + mpc834x_sys_setup_arch(void) 101 + { 102 + struct device_node *np; 103 + 104 + if (ppc_md.progress) 105 + ppc_md.progress("mpc834x_sys_setup_arch()", 0); 106 + 107 + np = of_find_node_by_type(NULL, "cpu"); 108 + if (np != 0) { 109 + unsigned int *fp = (int *) get_property(np, "clock-frequency", NULL); 110 + if (fp != 0) 111 + loops_per_jiffy = *fp / HZ; 112 + else 113 + loops_per_jiffy = 50000000 / HZ; 114 + of_node_put(np); 115 + } 116 + 117 + #ifdef CONFIG_PCI 118 + for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;) 119 + add_bridge(np); 120 + 121 + ppc_md.pci_swizzle = common_swizzle; 122 + ppc_md.pci_map_irq = mpc83xx_map_irq; 123 + ppc_md.pci_exclude_device = mpc83xx_exclude_device; 124 + #endif 125 + 126 + #ifdef CONFIG_ROOT_NFS 127 + ROOT_DEV = Root_NFS; 128 + #else 129 + ROOT_DEV = Root_HDA1; 130 + #endif 131 + } 132 + 133 + void __init 134 + mpc834x_sys_init_IRQ(void) 135 + { 136 + u8 senses[8] = { 137 + 0, /* EXT 0 */ 138 + IRQ_SENSE_LEVEL, /* EXT 1 */ 139 + IRQ_SENSE_LEVEL, /* EXT 2 */ 140 + 0, /* EXT 3 */ 141 + #ifdef CONFIG_PCI 142 + IRQ_SENSE_LEVEL, /* EXT 4 */ 143 + IRQ_SENSE_LEVEL, /* EXT 5 */ 144 + IRQ_SENSE_LEVEL, /* EXT 6 */ 145 + IRQ_SENSE_LEVEL, /* EXT 7 */ 146 + #else 147 + 0, /* EXT 4 */ 148 + 0, /* EXT 5 */ 149 + 0, /* EXT 6 */ 150 + 0, /* EXT 7 */ 151 + #endif 152 + }; 153 + 154 + ipic_init(get_immrbase() + 0x00700, 0, 0, senses, 8); 155 + 156 + /* Initialize the default interrupt mapping priorities, 157 + * in case the boot rom changed something on us. 158 + */ 159 + ipic_set_default_priority(); 160 + } 161 + 162 + #if defined(CONFIG_I2C_MPC) && defined(CONFIG_SENSORS_DS1374) 163 + extern ulong ds1374_get_rtc_time(void); 164 + extern int ds1374_set_rtc_time(ulong); 165 + 166 + static int __init 167 + mpc834x_rtc_hookup(void) 168 + { 169 + struct timespec tv; 170 + 171 + ppc_md.get_rtc_time = ds1374_get_rtc_time; 172 + ppc_md.set_rtc_time = ds1374_set_rtc_time; 173 + 174 + tv.tv_nsec = 0; 175 + tv.tv_sec = (ppc_md.get_rtc_time)(); 176 + do_settimeofday(&tv); 177 + 178 + return 0; 179 + } 180 + late_initcall(mpc834x_rtc_hookup); 181 + #endif 182 + 183 + static void 184 + mpc83xx_restart(char *cmd) 185 + { 186 + #define RST_OFFSET 0x00000900 187 + #define RST_PROT_REG 0x00000018 188 + #define RST_CTRL_REG 0x0000001c 189 + __be32 __iomem *reg; 190 + 191 + // map reset register space 192 + reg = ioremap(get_immrbase() + 0x900, 0xff); 193 + 194 + local_irq_disable(); 195 + 196 + /* enable software reset "RSTE" */ 197 + out_be32(reg + (RST_PROT_REG >> 2), 0x52535445); 198 + 199 + /* set software hard reset */ 200 + out_be32(reg + (RST_CTRL_REG >> 2), 0x52535445); 201 + for(;;); 202 + } 203 + 204 + static long __init 205 + mpc83xx_time_init(void) 206 + { 207 + #define SPCR_OFFSET 0x00000110 208 + #define SPCR_TBEN 0x00400000 209 + __be32 __iomem *spcr = ioremap(get_immrbase() + SPCR_OFFSET, 4); 210 + __be32 tmp; 211 + 212 + tmp = in_be32(spcr); 213 + out_be32(spcr, tmp|SPCR_TBEN); 214 + 215 + iounmap(spcr); 216 + 217 + return 0; 218 + } 219 + void __init 220 + platform_init(void) 221 + { 222 + /* setup the PowerPC module struct */ 223 + ppc_md.setup_arch = mpc834x_sys_setup_arch; 224 + 225 + ppc_md.init_IRQ = mpc834x_sys_init_IRQ; 226 + ppc_md.get_irq = ipic_get_irq; 227 + 228 + ppc_md.restart = mpc83xx_restart; 229 + 230 + ppc_md.time_init = mpc83xx_time_init; 231 + ppc_md.set_rtc_time = NULL; 232 + ppc_md.get_rtc_time = NULL; 233 + ppc_md.calibrate_decr = generic_calibrate_decr; 234 + 235 + ppc_md.progress = udbg_progress; 236 + 237 + if (ppc_md.progress) 238 + ppc_md.progress("mpc834x_sys_init(): exit", 0); 239 + 240 + return; 241 + } 242 + 243 +
+23
arch/powerpc/platforms/83xx/mpc834x_sys.h
··· 1 + /* 2 + * arch/powerppc/platforms/83xx/mpc834x_sys.h 3 + * 4 + * MPC834X SYS common board definitions 5 + * 6 + * Maintainer: Kumar Gala <galak@kernel.crashing.org> 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 as published by the 10 + * Free Software Foundation; either version 2 of the License, or (at your 11 + * option) any later version. 12 + * 13 + */ 14 + 15 + #ifndef __MACH_MPC83XX_SYS_H__ 16 + #define __MACH_MPC83XX_SYS_H__ 17 + 18 + #define PIRQA MPC83xx_IRQ_EXT4 19 + #define PIRQB MPC83xx_IRQ_EXT5 20 + #define PIRQC MPC83xx_IRQ_EXT6 21 + #define PIRQD MPC83xx_IRQ_EXT7 22 + 23 + #endif /* __MACH_MPC83XX_SYS_H__ */
+14
arch/powerpc/platforms/83xx/mpc83xx.h
··· 1 + #ifndef __MPC83XX_H__ 2 + #define __MPC83XX_H__ 3 + 4 + #include <linux/init.h> 5 + #include <linux/device.h> 6 + 7 + /* 8 + * Declaration for the various functions exported by the 9 + * mpc83xx_* files. Mostly for use by mpc83xx_setup 10 + */ 11 + 12 + extern int add_bridge(struct device_node *dev); 13 + 14 + #endif /* __MPC83XX_H__ */
+99
arch/powerpc/platforms/83xx/pci.c
··· 1 + /* 2 + * FSL SoC setup code 3 + * 4 + * Maintained by Kumar Gala (see MAINTAINERS for contact information) 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 + #include <linux/config.h> 13 + #include <linux/stddef.h> 14 + #include <linux/kernel.h> 15 + #include <linux/init.h> 16 + #include <linux/errno.h> 17 + #include <linux/pci.h> 18 + #include <linux/delay.h> 19 + #include <linux/irq.h> 20 + #include <linux/module.h> 21 + 22 + #include <asm/system.h> 23 + #include <asm/atomic.h> 24 + #include <asm/io.h> 25 + #include <asm/pci-bridge.h> 26 + #include <asm/prom.h> 27 + #include <sysdev/fsl_soc.h> 28 + 29 + #undef DEBUG 30 + 31 + #ifdef DEBUG 32 + #define DBG(x...) printk(x) 33 + #else 34 + #define DBG(x...) 35 + #endif 36 + 37 + int mpc83xx_pci2_busno; 38 + 39 + #ifdef CONFIG_PCI 40 + int __init add_bridge(struct device_node *dev) 41 + { 42 + int len; 43 + struct pci_controller *hose; 44 + struct resource rsrc; 45 + int *bus_range; 46 + int primary = 1, has_address = 0; 47 + phys_addr_t immr = get_immrbase(); 48 + 49 + DBG("Adding PCI host bridge %s\n", dev->full_name); 50 + 51 + /* Fetch host bridge registers address */ 52 + has_address = (of_address_to_resource(dev, 0, &rsrc) == 0); 53 + 54 + /* Get bus range if any */ 55 + bus_range = (int *) get_property(dev, "bus-range", &len); 56 + if (bus_range == NULL || len < 2 * sizeof(int)) { 57 + printk(KERN_WARNING "Can't get bus-range for %s, assume" 58 + " bus 0\n", dev->full_name); 59 + } 60 + 61 + hose = pcibios_alloc_controller(); 62 + if (!hose) 63 + return -ENOMEM; 64 + hose->arch_data = dev; 65 + hose->set_cfg_type = 1; 66 + 67 + hose->first_busno = bus_range ? bus_range[0] : 0; 68 + hose->last_busno = bus_range ? bus_range[1] : 0xff; 69 + 70 + /* MPC83xx supports up to two host controllers one at 0x8500 from immrbar 71 + * the other at 0x8600, we consider the 0x8500 the primary controller 72 + */ 73 + /* PCI 1 */ 74 + if ((rsrc.start & 0xfffff) == 0x8500) { 75 + setup_indirect_pci(hose, immr + 0x8300, immr + 0x8304); 76 + } 77 + /* PCI 2*/ 78 + if ((rsrc.start & 0xfffff) == 0x8600) { 79 + setup_indirect_pci(hose, immr + 0x8380, immr + 0x8384); 80 + primary = 0; 81 + hose->bus_offset = hose->first_busno; 82 + mpc83xx_pci2_busno = hose->first_busno; 83 + } 84 + 85 + printk(KERN_INFO "Found MPC83xx PCI host bridge at 0x%08lx. " 86 + "Firmware bus number: %d->%d\n", 87 + rsrc.start, hose->first_busno, hose->last_busno); 88 + 89 + DBG(" ->Hose at 0x%p, cfg_addr=0x%p,cfg_data=0x%p\n", 90 + hose, hose->cfg_addr, hose->cfg_data); 91 + 92 + /* Interpret the "ranges" property */ 93 + /* This also maps the I/O region and sets isa_io/mem_base */ 94 + pci_process_bridge_OF_ranges(hose, dev, primary); 95 + 96 + return 0; 97 + } 98 + 99 + #endif