| Broadcom 95xx BMW CPCI Platform | |
| Overview | |
| ========= | |
| BMW is an MPC8245 system controller featuring: | |
| * 3U CPCI Form Factor | |
| * BCM5703 Gigabit Ethernet | |
| * M48T59Y NVRAM | |
| * 16MB DOC | |
| * DIP Socket for Socketed DOC up to 1GB | |
| * 64MB SDRAM | |
| * LCD Display | |
| * Configurable Jumper options for 66,85, and 100Mhz memory bus | |
| BMW System Address Map | |
| ====================== | |
| BMW uses the MPC8245 CHRP Address MAP B found in the MPC8245 Users Manual | |
| (P.121, Section 3.1 Address Maps, Address Map B). Other I/O devices found | |
| onboard the processor module are listed briefly below: | |
| 0x00000000 - 0x40000000 - 64MB SDRAM SIMM | |
| (Unregistered PC-100 SDRAM DIMM Module) | |
| 0xFF000000 - 0xFF001FFF - M-Systems DiskOnChip (TM) 2000 | |
| TSOP 16MB (MD2211-D16-V3) | |
| 0x70000000 - 0x70001FFF - M-Systems DiskOnChip (TM) 2000 | |
| DIP32 (Socketed 16MB - 1GB ) * | |
| NOTE: this is not populated on all systems. | |
| 0x7c000000 - 0x7c000000 - Reset Register | |
| (Write 0 to reset) | |
| 0x7c000001 - 0x7c000001 - System LED | |
| (Clear Bit 7 to turn on, set to shut off) | |
| 0x7c000002 - 0x7c000002 - M48T59 Watchdog IRQ3 | |
| (Clear bit 7 to reset, set to assert IRQ3) | |
| 0x7c000003 - 0x7c000003 - M48T59 Write-Protect Register | |
| (Clear bit 7 to make R/W, set to make R/O) | |
| 0x7c002000 - 0x7c002003 - Infineon OSRAM DLR2416 4 Character | |
| 5x7 Dot Matrix Alphanumeric Display | |
| (Each byte sets the appropriate character) | |
| 0x7c004000 - 0x7c005FF0 - SGS-THOMSON M48T59Y 8K NVRAM/RTC | |
| NVRAM Memory Region | |
| 0x7c005FF0 - 0x7c005FFF - SGS-THOMSON M48T59Y 8K NVRAM/RTC | |
| Realtime Clock Registers | |
| 0xFFF00000 - 0xFFF80000 - 512K PLCC32 BootRom | |
| (AMD AM29F040, ST 29W040B) | |
| 0xFFF00100 - System Reset Vector | |
| IO/MMU (BAT) Configuration | |
| ====================== | |
| The following Block-Address-Translation (BAT) configuration | |
| is recommended to access all I/O devices. | |
| #define CFG_IBAT0L (0x00000000 | BATL_PP_10 | BATL_MEMCOHERENCE) | |
| #define CFG_IBAT0U (0x00000000 | BATU_BL_256M | BATU_VS | BATU_VP) | |
| #define CFG_IBAT1L (0x70000000 | BATL_PP_10 | BATL_CACHEINHIBIT) | |
| #define CFG_IBAT1U (0x70000000 | BATU_BL_256M | BATU_VS | BATU_VP) | |
| #define CFG_IBAT2L (0x80000000 | BATL_PP_10 | BATL_CACHEINHIBIT) | |
| #define CFG_IBAT2U (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP) | |
| #define CFG_IBAT3L (0xF0000000 | BATL_PP_10 | BATL_CACHEINHIBIT) | |
| #define CFG_IBAT3U (0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP) | |
| #define CFG_DBAT0L CFG_IBAT0L | |
| #define CFG_DBAT0U CFG_IBAT0U | |
| #define CFG_DBAT1L CFG_IBAT1L | |
| #define CFG_DBAT1U CFG_IBAT1U | |
| #define CFG_DBAT2L CFG_IBAT2L | |
| #define CFG_DBAT2U CFG_IBAT2U | |
| #define CFG_DBAT3L CFG_IBAT3L | |
| #define CFG_DBAT3U CFG_IBAT3U | |
| Interrupt Mappings | |
| ====================== | |
| BMW uses MPC8245 discrete mode interrupts. With the following | |
| hardwired mappings: | |
| BCM5701 10/100/1000 Ethernet IRQ1 | |
| CompactPCI Interrupt A IRQ2 | |
| RTC/Watchdog Interrupt IRQ3 | |
| Internal NS16552 UART IRQ4 | |
| Jumper Settings | |
| ====================== | |
| BMW has a jumper (JP600) for selecting 66, 85, or 100Mhz memory bus. | |
| A jumper (X) is a 0 bit. | |
| Hence 66= 10110 | |
| 85= 11000 | |
| 100= 10000 | |
| Jumper Settings for various Speeds | |
| ======================= | |
| J1 J2 J3 J4 J5 | |
| X X 66Mhz | |
| ======================= | |
| J1 J2 J3 J4 J5 | |
| X X X 85Mhz | |
| ======================= | |
| J1 J2 J3 J4 J5 | |
| X X X X 100Mhz | |
| ======================= | |
| Obviously, 100Mhz memory bus is recommended for optimum performance. | |
| U-Boot | |
| =============== | |
| Broadcom BMW board is supported under config_BWM option. | |
| Supported features: | |
| - NVRAM setenv/getenv (used by Linux Kernel for configuration variables) | |
| - BCM570x TFTP file transfer support | |
| - LCD Display Support | |
| - DOC Support - (underway) | |
| U-Boot 1.2.0 (Aug 6 2002 - 17:44:48) | |
| CPU: MPC8245 Revision 16.20 at 264 MHz: 16 kB I-Cache 16 kB D-Cache | |
| Board: BMW MPC8245/KAHLUA2 - CHRP (MAP B) | |
| Built: Aug 6 2002 at 17:44:37 | |
| Local Bus at 66 MHz | |
| DRAM: 64 MB | |
| FLASH: 4095 MB | |
| In: serial | |
| Out: serial | |
| Err: serial | |
| DOC: No DiskOnChip found | |
| Hit any key to stop autoboot: 0 | |
| =>printenv | |
| bootdelay=5 | |
| baudrate=9600 | |
| clocks_in_mhz=1 | |
| hostname=switch-2 | |
| bootcmd=tftp 100000 vmlinux.img;bootm | |
| gateway=10.16.64.1 | |
| ethaddr=00:00:10:18:10:10 | |
| nfsroot=172.16.40.111:/boot/root-fs | |
| filesize=5ec8c | |
| netmask=255.255.240.0 | |
| ipaddr=172.16.40.114 | |
| serverip=172.16.40.111 | |
| root=/dev/nfs | |
| stdin=serial | |
| stdout=serial | |
| stderr=serial | |
| Environment size: 315/8172 bytes | |
| =>boot | |
| DevTools | |
| ======== | |
| ELDK | |
| DENX Embedded Linux Development Kit | |
| ROM Emulator | |
| Grammar Engine PROMICE P1160-90-AI21E (2MBx8bit, 90ns access time) | |
| Grammar Engine PL32E 32Pin PLCC Emulation cables | |
| Grammar Engine 3VA8CON (3Volt adapter with Short cables) | |
| Grammar Engine FPNET PromICE Ethernet Adapters | |
| ICE | |
| WRS/EST VisionICE-II (PPC8240) | |
| =>reset | |
| U-Boot 1.2.0 (Aug 6 2002 - 17:44:48) | |
| CPU: MPC8245 Revision 16.20 at 264 MHz: 16 kB I-Cache 16 kB D-Cache | |
| Board: BMW MPC8245/KAHLUA2 - CHRP (MAP B) | |
| Built: Aug 6 2002 at 17:44:37 | |
| Local Bus at 66 MHz | |
| DRAM: 64 MB | |
| FLASH: 4095 MB | |
| In: serial | |
| Out: serial | |
| Err: serial | |
| DOC: No DiskOnChip found | |
| Hit any key to stop autoboot: 0 | |
| Broadcom BCM5701 1000Base-T: bus 0, device 13, function 0: MBAR=0x80100000 | |
| BCM570x PCI Memory base address @0x80100000 | |
| eth0:Broadcom BCM5701 1000Base-T: 100 Mbps half duplex link up, flow control OFF | |
| eth0: Broadcom BCM5701 1000Base-T @0x80100000,node addr 000010181010 | |
| eth0: BCM5700 with Broadcom BCM5701 Integrated Copper transceiver found | |
| eth0: 32-bit PCI 33MHz, MTU: 1500,Rx Checksum ON | |
| ARP broadcast 1 | |
| TFTP from server 172.16.40.111; our IP address is 172.16.40.114 | |
| Filename 'vmlinux.img'. | |
| Load address: 0x100000 | |
| Loading: ################################################################# | |
| ####################################T ############################# | |
| ###################### | |
| done | |
| Bytes transferred = 777199 (bdbef hex) | |
| eth0:Broadcom BCM5701 1000Base-T,HALT,POWER DOWN,done - offline. | |
| ## Booting image at 00100000 ... | |
| Image Name: vmlinux.bin.gz | |
| Created: 2002-08-06 6:30:13 UTC | |
| Image Type: PowerPC Linux Kernel Image (gzip compressed) | |
| Data Size: 777135 Bytes = 758 kB = 0 MB | |
| Load Address: 00000000 | |
| Entry Point: 00000000 | |
| Verifying Checksum ... OK | |
| Uncompressing Kernel Image ... OK | |
| Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb | |
| Linux version 2.4.19-rc3 (jfd@que) (gcc version 2.95.3 20010111 (prerelease/franzo/20010111)) #168 Mon Aug 5 23:29:20 PDT 2002 | |
| CPU:82xx: 32 I-Cache Block Size, 32 D-Cache Block Size PVR: 0x810000 | |
| U-Boot Environment: 0xc01b08f0 | |
| IP PNP: 802.3 Ethernet Address=<0:0:10:18:10:10> | |
| cpu0: MPC8245/KAHLUA-II : BMW Platform : 64MB RAM: BPLD Rev. 6e | |
| NOTICE: mounting root file system via NFS | |
| IP PNP: switch-2: eth0 IP 172.16.40.114/255.255.240.0 gateway 10.16.64.1 server 172.16.40.111 | |
| On node 0 totalpages: 16384 | |
| zone(0): 16384 pages. | |
| zone(1): 0 pages. | |
| zone(2): 0 pages. | |
| Kernel command line: console=ttyS0,9600 ip=172.16.40.114:172.16.40.111:10.16.64.1:255.255.240.0:switch-2:eth0 root=/dev/nfs rw nfsroot=172.16.40.111:/boot/root-fs,timeo=200,retrans=500 nfsaddrs=172.16.40.114:172.16.40.111 | |
| root_dev_setup:/dev/nfs or 00:ff | |
| time_init: decrementer frequency = 16.501145 MHz | |
| Calibrating delay loop... 175.71 BogoMIPS | |
| Memory: 62572k available (1396k kernel code, 436k data, 100k init, 0k highmem) | |
| Dentry cache hash table entries: 8192 (order: 4, 65536 bytes) | |
| Inode cache hash table entries: 4096 (order: 3, 32768 bytes) | |
| Mount-cache hash table entries: 1024 (order: 1, 8192 bytes) | |
| Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) | |
| Page-cache hash table entries: 16384 (order: 4, 65536 bytes) | |
| POSIX conformance testing by UNIFIX | |
| PCI: Probing PCI hardware | |
| Linux NET4.0 for Linux 2.4 | |
| Based upon Swansea University Computer Society NET3.039 | |
| Initializing RT netlink socket | |
| Starting kswapd | |
| devfs: v1.12a (20020514) Richard Gooch (rgooch@atnf.csiro.au) | |
| devfs: devfs_debug: 0x0 | |
| devfs: boot_options: 0x1 | |
| Installing knfsd (copyright (C) 1996 okir@monad.swb.de). | |
| pty: 256 Unix98 ptys configured | |
| Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled | |
| Testing ttyS0 (0xf7f51500, 0xf7f51500)... | |
| Testing ttyS1 (0xfc004600, 0xfc004600)... | |
| ttyS00 at 0xf7f51500 (irq = 24) is a ST16650 | |
| ttyS01 at 0xfc004600 (irq = 25) is a 16550A | |
| Real Time Clock Driver v1.10e | |
| RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize | |
| loop: loaded (max 8 devices) | |
| TFFS 5.1.1 Flash disk driver for DiskOnChip | |
| Copyright (C) 1998,2001 M-Systems Flash Disk Pioneers Ltd. | |
| DOC device(s) found: 1 | |
| fl_init: registered device at major: 100 | |
| fl_geninit: registered device at major: 100 | |
| Partition check: | |
| fla: p1 | |
| partition: /dev/fl/0: start_sect: 0,nr_sects: 32000 Fl_blk_size[]: 16000KB | |
| partition: /dev/fl/1: start_sect: 2,nr_sects: 31998 Fl_blk_size[]: 15999KB | |
| partition: /dev/fl/2: start_sect: 0,nr_sects: 0 Fl_blk_size[]: 0KB | |
| partition: /dev/fl/3: start_sect: 0,nr_sects: 0 Fl_blk_size[]: 0KB | |
| Broadcom Gigabit Ethernet Driver bcm5700 ver. 3.0.7 (07/17/02) | |
| eth0: Broadcom BCM5701 found at mem bfff0000, IRQ 1, node addr 000010181010 | |
| eth0: Broadcom BCM5701 Integrated Copper transceiver found | |
| eth0: Scatter-gather ON, 64-bit DMA ON, Tx Checksum ON, Rx Checksum ON, 802.1Q VLAN ON | |
| bond0 registered without MII link monitoring, in bonding mode. | |
| rtc: unable to get misc minor | |
| NET4: Linux TCP/IP 1.0 for NET4.0 | |
| IP Protocols: ICMP, UDP, TCP, IGMP | |
| IP: routing cache hash table of 512 buckets, 4Kbytes | |
| TCP: Hash tables configured (established 4096 bind 4096) | |
| bcm5700: eth0 NIC Link is UP, 100 Mbps half duplex | |
| IP-Config: Gateway not on directly connected network. | |
| NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. | |
| 802.1Q VLAN Support v1.7 Ben Greear <greearb@candelatech.com> | |
| All bugs added by David S. Miller <davem@redhat.com> | |
| Looking up port of RPC 100003/2 on 172.16.40.111 | |
| Looking up port of RPC 100005/1 on 172.16.40.111 | |
| VFS: Mounted root (nfs filesystem). | |
| Mounted devfs on /dev | |
| Freeing unused kernel memory: 100k init | |
| INIT: version 2.78 booting | |
| Mounting local filesystems... | |
| not mounted anything | |
| Setting up symlinks in /dev...done. | |
| Setting up extra devices in /dev...done. | |
| Starting devfsd...Started device management daemon for /dev | |
| INIT: Entering runlevel: 2 | |
| Starting internet superserver: inetd. | |
| Welcome to Linux/PPC | |
| MPC8245/BMW | |
| switch-2 login: root | |
| Password: | |
| PAM_unix[49]: (login) session opened for user root by LOGIN(uid=0) | |
| Last login: Thu Nov 25 11:51:14 1920 on console | |
| Welcome to Linux/PPC | |
| MPC8245/BMW | |
| login[49]: ROOT LOGIN on `console' | |
| root@switch-2:~# cat /proc/cpuinfo | |
| cpu : 82xx | |
| revision : 16.20 (pvr 8081 1014) | |
| bogomips : 175.71 | |
| vendor : Broadcom | |
| machine : BMW/MPC8245 | |
| root@switch-2:~# |