wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 1 | Broadcom 95xx BMW CPCI Platform |
| 2 | |
| 3 | Overview |
| 4 | ========= |
| 5 | BMW is an MPC8245 system controller featuring: |
| 6 | * 3U CPCI Form Factor |
| 7 | * BCM5703 Gigabit Ethernet |
| 8 | * M48T59Y NVRAM |
| 9 | * 16MB DOC |
| 10 | * DIP Socket for Socketed DOC up to 1GB |
| 11 | * 64MB SDRAM |
| 12 | * LCD Display |
| 13 | * Configurable Jumper options for 66,85, and 100Mhz memory bus |
| 14 | |
| 15 | |
| 16 | BMW System Address Map |
| 17 | ====================== |
| 18 | BMW uses the MPC8245 CHRP Address MAP B found in the MPC8245 Users Manual |
| 19 | (P.121, Section 3.1 Address Maps, Address Map B). Other I/O devices found |
| 20 | onboard the processor module are listed briefly below: |
| 21 | |
| 22 | 0x00000000 - 0x40000000 - 64MB SDRAM SIMM |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 23 | (Unregistered PC-100 SDRAM DIMM Module) |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 24 | |
| 25 | 0xFF000000 - 0xFF001FFF - M-Systems DiskOnChip (TM) 2000 |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 26 | TSOP 16MB (MD2211-D16-V3) |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 27 | |
| 28 | 0x70000000 - 0x70001FFF - M-Systems DiskOnChip (TM) 2000 |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 29 | DIP32 (Socketed 16MB - 1GB ) * |
| 30 | NOTE: this is not populated on all systems. |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 31 | |
| 32 | 0x7c000000 - 0x7c000000 - Reset Register |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 33 | (Write 0 to reset) |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 34 | |
| 35 | 0x7c000001 - 0x7c000001 - System LED |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 36 | (Clear Bit 7 to turn on, set to shut off) |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 37 | |
| 38 | 0x7c000002 - 0x7c000002 - M48T59 Watchdog IRQ3 |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 39 | (Clear bit 7 to reset, set to assert IRQ3) |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 40 | |
| 41 | 0x7c000003 - 0x7c000003 - M48T59 Write-Protect Register |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 42 | (Clear bit 7 to make R/W, set to make R/O) |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 43 | |
| 44 | 0x7c002000 - 0x7c002003 - Infineon OSRAM DLR2416 4 Character |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 45 | 5x7 Dot Matrix Alphanumeric Display |
| 46 | (Each byte sets the appropriate character) |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 47 | |
| 48 | 0x7c004000 - 0x7c005FF0 - SGS-THOMSON M48T59Y 8K NVRAM/RTC |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 49 | NVRAM Memory Region |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 50 | |
| 51 | 0x7c005FF0 - 0x7c005FFF - SGS-THOMSON M48T59Y 8K NVRAM/RTC |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 52 | Realtime Clock Registers |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 53 | |
| 54 | 0xFFF00000 - 0xFFF80000 - 512K PLCC32 BootRom |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 55 | (AMD AM29F040, ST 29W040B) |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 56 | |
| 57 | 0xFFF00100 - System Reset Vector |
| 58 | |
| 59 | |
| 60 | IO/MMU (BAT) Configuration |
| 61 | ====================== |
| 62 | The following Block-Address-Translation (BAT) configuration |
| 63 | is recommended to access all I/O devices. |
| 64 | |
| 65 | #define CFG_IBAT0L (0x00000000 | BATL_PP_10 | BATL_MEMCOHERENCE) |
| 66 | #define CFG_IBAT0U (0x00000000 | BATU_BL_256M | BATU_VS | BATU_VP) |
| 67 | |
| 68 | #define CFG_IBAT1L (0x70000000 | BATL_PP_10 | BATL_CACHEINHIBIT) |
| 69 | #define CFG_IBAT1U (0x70000000 | BATU_BL_256M | BATU_VS | BATU_VP) |
| 70 | |
| 71 | #define CFG_IBAT2L (0x80000000 | BATL_PP_10 | BATL_CACHEINHIBIT) |
| 72 | #define CFG_IBAT2U (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP) |
| 73 | |
| 74 | #define CFG_IBAT3L (0xF0000000 | BATL_PP_10 | BATL_CACHEINHIBIT) |
| 75 | #define CFG_IBAT3U (0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP) |
| 76 | |
| 77 | #define CFG_DBAT0L CFG_IBAT0L |
| 78 | #define CFG_DBAT0U CFG_IBAT0U |
| 79 | #define CFG_DBAT1L CFG_IBAT1L |
| 80 | #define CFG_DBAT1U CFG_IBAT1U |
| 81 | #define CFG_DBAT2L CFG_IBAT2L |
| 82 | #define CFG_DBAT2U CFG_IBAT2U |
| 83 | #define CFG_DBAT3L CFG_IBAT3L |
| 84 | #define CFG_DBAT3U CFG_IBAT3U |
| 85 | |
| 86 | |
| 87 | Interrupt Mappings |
| 88 | ====================== |
| 89 | BMW uses MPC8245 discrete mode interrupts. With the following |
| 90 | hardwired mappings: |
| 91 | |
Wolfgang Denk | 53677ef | 2008-05-20 16:00:29 +0200 | [diff] [blame^] | 92 | BCM5701 10/100/1000 Ethernet IRQ1 |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 93 | CompactPCI Interrupt A IRQ2 |
| 94 | RTC/Watchdog Interrupt IRQ3 |
| 95 | Internal NS16552 UART IRQ4 |
| 96 | |
| 97 | |
| 98 | Jumper Settings |
| 99 | ====================== |
| 100 | |
| 101 | BMW has a jumper (JP600) for selecting 66, 85, or 100Mhz memory bus. |
| 102 | A jumper (X) is a 0 bit. |
| 103 | |
| 104 | Hence 66= 10110 |
| 105 | 85= 11000 |
| 106 | 100= 10000 |
| 107 | |
| 108 | Jumper Settings for various Speeds |
| 109 | ======================= |
| 110 | J1 J2 J3 J4 J5 |
| 111 | X X 66Mhz |
| 112 | ======================= |
| 113 | J1 J2 J3 J4 J5 |
| 114 | X X X 85Mhz |
| 115 | ======================= |
| 116 | J1 J2 J3 J4 J5 |
| 117 | X X X X 100Mhz |
| 118 | ======================= |
| 119 | |
| 120 | Obviously, 100Mhz memory bus is recommended for optimum performance. |
| 121 | |
| 122 | |
| 123 | U-Boot |
| 124 | =============== |
| 125 | Broadcom BMW board is supported under config_BWM option. |
| 126 | Supported features: |
| 127 | |
| 128 | - NVRAM setenv/getenv (used by Linux Kernel for configuration variables) |
| 129 | - BCM570x TFTP file transfer support |
| 130 | - LCD Display Support |
| 131 | - DOC Support - (underway) |
| 132 | |
| 133 | |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 134 | U-Boot 1.2.0 (Aug 6 2002 - 17:44:48) |
| 135 | |
| 136 | CPU: MPC8245 Revision 16.20 at 264 MHz: 16 kB I-Cache 16 kB D-Cache |
| 137 | Board: BMW MPC8245/KAHLUA2 - CHRP (MAP B) |
| 138 | Built: Aug 6 2002 at 17:44:37 |
| 139 | Local Bus at 66 MHz |
| 140 | DRAM: 64 MB |
| 141 | FLASH: 4095 MB |
| 142 | In: serial |
| 143 | Out: serial |
| 144 | Err: serial |
| 145 | DOC: No DiskOnChip found |
| 146 | Hit any key to stop autoboot: 0 |
| 147 | =>printenv |
| 148 | bootdelay=5 |
| 149 | baudrate=9600 |
| 150 | clocks_in_mhz=1 |
| 151 | hostname=switch-2 |
| 152 | bootcmd=tftp 100000 vmlinux.img;bootm |
| 153 | gateway=10.16.64.1 |
| 154 | ethaddr=00:00:10:18:10:10 |
| 155 | nfsroot=172.16.40.111:/boot/root-fs |
| 156 | filesize=5ec8c |
| 157 | netmask=255.255.240.0 |
| 158 | ipaddr=172.16.40.114 |
| 159 | serverip=172.16.40.111 |
| 160 | root=/dev/nfs |
| 161 | stdin=serial |
| 162 | stdout=serial |
| 163 | stderr=serial |
| 164 | |
| 165 | Environment size: 315/8172 bytes |
| 166 | =>boot |
| 167 | |
| 168 | |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 169 | DevTools |
| 170 | ======== |
| 171 | ELDK |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 172 | DENX Embedded Linux Development Kit |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 173 | |
| 174 | ROM Emulator |
| 175 | Grammar Engine PROMICE P1160-90-AI21E (2MBx8bit, 90ns access time) |
| 176 | Grammar Engine PL32E 32Pin PLCC Emulation cables |
| 177 | Grammar Engine 3VA8CON (3Volt adapter with Short cables) |
| 178 | Grammar Engine FPNET PromICE Ethernet Adapters |
| 179 | |
| 180 | ICE |
| 181 | WRS/EST VisionICE-II (PPC8240) |
| 182 | |
| 183 | |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 184 | =>reset |
| 185 | |
| 186 | |
| 187 | U-Boot 1.2.0 (Aug 6 2002 - 17:44:48) |
| 188 | |
| 189 | CPU: MPC8245 Revision 16.20 at 264 MHz: 16 kB I-Cache 16 kB D-Cache |
| 190 | Board: BMW MPC8245/KAHLUA2 - CHRP (MAP B) |
| 191 | Built: Aug 6 2002 at 17:44:37 |
| 192 | Local Bus at 66 MHz |
| 193 | DRAM: 64 MB |
| 194 | FLASH: 4095 MB |
| 195 | In: serial |
| 196 | Out: serial |
| 197 | Err: serial |
| 198 | DOC: No DiskOnChip found |
| 199 | Hit any key to stop autoboot: 0 |
| 200 | |
| 201 | Broadcom BCM5701 1000Base-T: bus 0, device 13, function 0: MBAR=0x80100000 |
| 202 | BCM570x PCI Memory base address @0x80100000 |
| 203 | eth0:Broadcom BCM5701 1000Base-T: 100 Mbps half duplex link up, flow control OFF |
| 204 | eth0: Broadcom BCM5701 1000Base-T @0x80100000,node addr 000010181010 |
| 205 | eth0: BCM5700 with Broadcom BCM5701 Integrated Copper transceiver found |
| 206 | eth0: 32-bit PCI 33MHz, MTU: 1500,Rx Checksum ON |
| 207 | ARP broadcast 1 |
| 208 | TFTP from server 172.16.40.111; our IP address is 172.16.40.114 |
| 209 | Filename 'vmlinux.img'. |
| 210 | Load address: 0x100000 |
| 211 | Loading: ################################################################# |
wdenk | 8bde7f7 | 2003-06-27 21:31:46 +0000 | [diff] [blame] | 212 | ####################################T ############################# |
| 213 | ###################### |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 214 | done |
| 215 | Bytes transferred = 777199 (bdbef hex) |
| 216 | |
| 217 | eth0:Broadcom BCM5701 1000Base-T,HALT,POWER DOWN,done - offline. |
| 218 | ## Booting image at 00100000 ... |
| 219 | Image Name: vmlinux.bin.gz |
| 220 | Created: 2002-08-06 6:30:13 UTC |
| 221 | Image Type: PowerPC Linux Kernel Image (gzip compressed) |
| 222 | Data Size: 777135 Bytes = 758 kB = 0 MB |
| 223 | Load Address: 00000000 |
| 224 | Entry Point: 00000000 |
| 225 | Verifying Checksum ... OK |
| 226 | Uncompressing Kernel Image ... OK |
| 227 | Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb |
| 228 | 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 |
| 229 | CPU:82xx: 32 I-Cache Block Size, 32 D-Cache Block Size PVR: 0x810000 |
| 230 | U-Boot Environment: 0xc01b08f0 |
| 231 | IP PNP: 802.3 Ethernet Address=<0:0:10:18:10:10> |
| 232 | cpu0: MPC8245/KAHLUA-II : BMW Platform : 64MB RAM: BPLD Rev. 6e |
| 233 | NOTICE: mounting root file system via NFS |
| 234 | IP PNP: switch-2: eth0 IP 172.16.40.114/255.255.240.0 gateway 10.16.64.1 server 172.16.40.111 |
| 235 | On node 0 totalpages: 16384 |
| 236 | zone(0): 16384 pages. |
| 237 | zone(1): 0 pages. |
| 238 | zone(2): 0 pages. |
| 239 | 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 |
| 240 | root_dev_setup:/dev/nfs or 00:ff |
| 241 | time_init: decrementer frequency = 16.501145 MHz |
| 242 | Calibrating delay loop... 175.71 BogoMIPS |
| 243 | Memory: 62572k available (1396k kernel code, 436k data, 100k init, 0k highmem) |
| 244 | Dentry cache hash table entries: 8192 (order: 4, 65536 bytes) |
| 245 | Inode cache hash table entries: 4096 (order: 3, 32768 bytes) |
| 246 | Mount-cache hash table entries: 1024 (order: 1, 8192 bytes) |
| 247 | Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) |
| 248 | Page-cache hash table entries: 16384 (order: 4, 65536 bytes) |
| 249 | POSIX conformance testing by UNIFIX |
| 250 | PCI: Probing PCI hardware |
| 251 | Linux NET4.0 for Linux 2.4 |
| 252 | Based upon Swansea University Computer Society NET3.039 |
| 253 | Initializing RT netlink socket |
| 254 | Starting kswapd |
| 255 | devfs: v1.12a (20020514) Richard Gooch (rgooch@atnf.csiro.au) |
| 256 | devfs: devfs_debug: 0x0 |
| 257 | devfs: boot_options: 0x1 |
| 258 | Installing knfsd (copyright (C) 1996 okir@monad.swb.de). |
| 259 | pty: 256 Unix98 ptys configured |
| 260 | Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled |
| 261 | Testing ttyS0 (0xf7f51500, 0xf7f51500)... |
| 262 | Testing ttyS1 (0xfc004600, 0xfc004600)... |
| 263 | ttyS00 at 0xf7f51500 (irq = 24) is a ST16650 |
| 264 | ttyS01 at 0xfc004600 (irq = 25) is a 16550A |
| 265 | Real Time Clock Driver v1.10e |
| 266 | RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize |
| 267 | loop: loaded (max 8 devices) |
| 268 | TFFS 5.1.1 Flash disk driver for DiskOnChip |
| 269 | Copyright (C) 1998,2001 M-Systems Flash Disk Pioneers Ltd. |
| 270 | DOC device(s) found: 1 |
| 271 | fl_init: registered device at major: 100 |
| 272 | fl_geninit: registered device at major: 100 |
| 273 | Partition check: |
| 274 | fla: p1 |
| 275 | partition: /dev/fl/0: start_sect: 0,nr_sects: 32000 Fl_blk_size[]: 16000KB |
| 276 | partition: /dev/fl/1: start_sect: 2,nr_sects: 31998 Fl_blk_size[]: 15999KB |
| 277 | partition: /dev/fl/2: start_sect: 0,nr_sects: 0 Fl_blk_size[]: 0KB |
| 278 | partition: /dev/fl/3: start_sect: 0,nr_sects: 0 Fl_blk_size[]: 0KB |
| 279 | Broadcom Gigabit Ethernet Driver bcm5700 ver. 3.0.7 (07/17/02) |
| 280 | eth0: Broadcom BCM5701 found at mem bfff0000, IRQ 1, node addr 000010181010 |
| 281 | eth0: Broadcom BCM5701 Integrated Copper transceiver found |
| 282 | eth0: Scatter-gather ON, 64-bit DMA ON, Tx Checksum ON, Rx Checksum ON, 802.1Q VLAN ON |
| 283 | bond0 registered without MII link monitoring, in bonding mode. |
| 284 | rtc: unable to get misc minor |
| 285 | NET4: Linux TCP/IP 1.0 for NET4.0 |
| 286 | IP Protocols: ICMP, UDP, TCP, IGMP |
| 287 | IP: routing cache hash table of 512 buckets, 4Kbytes |
| 288 | TCP: Hash tables configured (established 4096 bind 4096) |
| 289 | bcm5700: eth0 NIC Link is UP, 100 Mbps half duplex |
| 290 | IP-Config: Gateway not on directly connected network. |
| 291 | NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. |
| 292 | 802.1Q VLAN Support v1.7 Ben Greear <greearb@candelatech.com> |
| 293 | All bugs added by David S. Miller <davem@redhat.com> |
| 294 | Looking up port of RPC 100003/2 on 172.16.40.111 |
| 295 | Looking up port of RPC 100005/1 on 172.16.40.111 |
| 296 | VFS: Mounted root (nfs filesystem). |
| 297 | Mounted devfs on /dev |
| 298 | Freeing unused kernel memory: 100k init |
| 299 | INIT: version 2.78 booting |
| 300 | Mounting local filesystems... |
| 301 | not mounted anything |
| 302 | Setting up symlinks in /dev...done. |
| 303 | Setting up extra devices in /dev...done. |
| 304 | Starting devfsd...Started device management daemon for /dev |
| 305 | INIT: Entering runlevel: 2 |
| 306 | Starting internet superserver: inetd. |
| 307 | |
| 308 | |
| 309 | Welcome to Linux/PPC |
| 310 | MPC8245/BMW |
| 311 | |
| 312 | |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 313 | switch-2 login: root |
| 314 | Password: |
| 315 | PAM_unix[49]: (login) session opened for user root by LOGIN(uid=0) |
| 316 | Last login: Thu Nov 25 11:51:14 1920 on console |
| 317 | |
| 318 | |
| 319 | Welcome to Linux/PPC |
| 320 | MPC8245/BMW |
| 321 | |
| 322 | |
wdenk | f9087a3 | 2002-11-03 00:30:25 +0000 | [diff] [blame] | 323 | login[49]: ROOT LOGIN on `console' |
| 324 | |
| 325 | root@switch-2:~# cat /proc/cpuinfo |
| 326 | cpu : 82xx |
| 327 | revision : 16.20 (pvr 8081 1014) |
| 328 | bogomips : 175.71 |
| 329 | vendor : Broadcom |
| 330 | machine : BMW/MPC8245 |
| 331 | root@switch-2:~# |