1 2This file contains basic information on the port of U-Boot to IPHASE4539 3(Interphase 4539 T1/E1/J1 PMC Communications Controller). 4All the changes fit in the common U-Boot infrastructure, providing a new 5IPHASE4539-specific entry in makefiles. To build U-Boot for IPHASE4539, 6type "make IPHASE4539_config", edit the "include/config_IPHASE4539.h" 7file if necessary, then type "make". 8 9 10Common file modifications: 11-------------------------- 12 13The following common files have been modified by this project: 14(starting from the ppcboot-1.1.5/ directory) 15 16MAKEALL - IPHASE4539 entry added 17Makefile - IPHASE4539_config entry added 18 19 20New files: 21---------- 22 23The following new files have been added by this project: 24(starting from the ppcboot-1.1.5/ directory) 25 26board/iphase4539/ - board-specific directory 27board/iphase4539/Makefile - board-specific makefile 28board/iphase4539/config.mk - config file 29board/iphase4539/flash.c - flash driver (for AM29LV033C) 30board/iphase4539/ppcboot.lds - linker script 31board/iphase4539/iphase4539.c - ioport and memory initialization 32include/config_IPHASE4539.h - main configuration file 33 34 35New configuration options: 36-------------------------- 37 38CONFIG_IPHASE4539 39 40 Main board-specific option (should be defined for IPHASE4539). 41 42 43Acceptance criteria tests: 44-------------------------- 45 46The following tests have been conducted to validate the port of U-Boot 47to IPHASE4539: 48 491. Operation on serial console: 50 51With SMC1 defined as console in the main configuration file, the U-Boot 52output appeared on the serial terminal connected to the 2.5mm stereo jack 53connector as follows: 54 55------------------------------------------------------------------------------ 56=> help 57base - print or set address offset 58bdinfo - print Board Info structure 59bootm - boot application image from memory 60bootp - boot image via network using BootP/TFTP protocol 61bootd - boot default, i.e., run 'bootcmd' 62cmp - memory compare 63coninfo - print console devices and informations 64cp - memory copy 65crc32 - checksum calculation 66dcache - enable or disable data cache 67echo - echo args to console 68erase - erase FLASH memory 69flinfo - print FLASH memory information 70go - start application at address 'addr' 71help - print online help 72icache - enable or disable instruction cache 73iminfo - print header information for application image 74loadb - load binary file over serial line (kermit mode) 75loads - load S-Record file over serial line 76loop - infinite loop on address range 77md - memory display 78mm - memory modify (auto-incrementing) 79mtest - simple RAM test 80mw - memory write (fill) 81nm - memory modify (constant address) 82printenv- print environment variables 83protect - enable or disable FLASH write protection 84rarpboot- boot image via network using RARP/TFTP protocol 85reset - Perform RESET of the CPU 86run - run commands in an environment variable 87saveenv - save environment variables to persistent storage 88setenv - set environment variables 89sleep - delay execution for some time 90source - run script from memory 91tftpboot- boot image via network using TFTP protocol 92 and env variables ipaddr and serverip 93version - print monitor version 94? - alias for 'help' 95=> 96------------------------------------------------------------------------------ 97 98 992. Flash driver operation 100 101The following sequence was performed to test the "flinfo" command: 102 103------------------------------------------------------------------------------ 104=> flinfo 105 106Bank # 1: AMD AM29LV033C (32 Mbit, uniform sectors) 107 Size: 4 MB in 64 Sectors 108 Sector Start Addresses: 109 FF800000 (RO) FF810000 (RO) FF820000 FF830000 FF840000 110 FF850000 FF860000 FF870000 FF880000 FF890000 111 FF8A0000 FF8B0000 FF8C0000 FF8D0000 FF8E0000 112 FF8F0000 FF900000 FF910000 FF920000 FF930000 113 FF940000 FF950000 FF960000 FF970000 FF980000 114 FF990000 FF9A0000 FF9B0000 FF9C0000 FF9D0000 115 FF9E0000 FF9F0000 FFA00000 FFA10000 FFA20000 116 FFA30000 FFA40000 FFA50000 FFA60000 FFA70000 117 FFA80000 FFA90000 FFAA0000 FFAB0000 FFAC0000 118 FFAD0000 FFAE0000 FFAF0000 FFB00000 (RO) FFB10000 (RO) 119 FFB20000 (RO) FFB30000 (RO) FFB40000 FFB50000 FFB60000 120 FFB70000 FFB80000 FFB90000 FFBA0000 FFBB0000 121 FFBC0000 FFBD0000 FFBE0000 FFBF0000 122------------------------------------------------------------------------------ 123 124Note: the Hardware Configuration Word (HWC) of the 8260 is on the 125first sector of the flash and should not be touched. The U-Boot 126environment variables are stored on second sector and U-Boot 127starts at the address 0xFFB00000. 128 129 130The following sequence was performed to test the erase command: 131 132------------------------------------------------------------------------------ 133=> cp 0 ff880000 10 134Copy to Flash... done 135=> md ff880000 20 136ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x 137ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x 138ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. 139ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x 140ff880040: ffffffff ffffffff ffffffff ffffffff ................ 141ff880050: ffffffff ffffffff ffffffff ffffffff ................ 142ff880060: ffffffff ffffffff ffffffff ffffffff ................ 143ff880070: ffffffff ffffffff ffffffff ffffffff ................ 144=> erase ff880000 ff88ffff 145Erase Flash from 0xff880000 to 0xff88ffff 146.. done 147Erased 1 sectors 148=> md ff880000 149ff880000: ffffffff ffffffff ffffffff ffffffff ................ 150ff880010: ffffffff ffffffff ffffffff ffffffff ................ 151ff880020: ffffffff ffffffff ffffffff ffffffff ................ 152ff880030: ffffffff ffffffff ffffffff ffffffff ................ 153ff880040: ffffffff ffffffff ffffffff ffffffff ................ 154ff880050: ffffffff ffffffff ffffffff ffffffff ................ 155ff880060: ffffffff ffffffff ffffffff ffffffff ................ 156ff880070: ffffffff ffffffff ffffffff ffffffff ................ 157=> cp 0 ff880000 10 158Copy to Flash... done 159=> md ff880000 20 160ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x 161ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x 162ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. 163ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x 164ff880040: ffffffff ffffffff ffffffff ffffffff ................ 165ff880050: ffffffff ffffffff ffffffff ffffffff ................ 166ff880060: ffffffff ffffffff ffffffff ffffffff ................ 167ff880070: ffffffff ffffffff ffffffff ffffffff ................ 168=> erase 1:8 169Erase Flash Sectors 8-8 in Bank # 1 170.. done 171=> md ff880000 20 172ff880000: ffffffff ffffffff ffffffff ffffffff ................ 173ff880010: ffffffff ffffffff ffffffff ffffffff ................ 174ff880020: ffffffff ffffffff ffffffff ffffffff ................ 175ff880030: ffffffff ffffffff ffffffff ffffffff ................ 176ff880040: ffffffff ffffffff ffffffff ffffffff ................ 177ff880050: ffffffff ffffffff ffffffff ffffffff ................ 178ff880060: ffffffff ffffffff ffffffff ffffffff ................ 179ff880070: ffffffff ffffffff ffffffff ffffffff ................ 180=> cp 0 ff880000 10 181Copy to Flash... done 182=> cp 0 ff890000 10 183=> md ff880000 20 184ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x 185ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x 186ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. 187ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x 188ff880040: ffffffff ffffffff ffffffff ffffffff ................ 189ff880050: ffffffff ffffffff ffffffff ffffffff ................ 190ff880060: ffffffff ffffffff ffffffff ffffffff ................ 191ff880070: ffffffff ffffffff ffffffff ffffffff ................ 192=> md ff890000 193ff890000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x 194ff890010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x 195ff890020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. 196ff890030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x 197ff890040: ffffffff ffffffff ffffffff ffffffff ................ 198ff890050: ffffffff ffffffff ffffffff ffffffff ................ 199ff890060: ffffffff ffffffff ffffffff ffffffff ................ 200ff890070: ffffffff ffffffff ffffffff ffffffff ................ 201=> erase 1:8-9 202Erase Flash Sectors 8-9 in Bank # 1 203.... done 204=> md ff880000 20 205ff880000: ffffffff ffffffff ffffffff ffffffff ................ 206ff880010: ffffffff ffffffff ffffffff ffffffff ................ 207ff880020: ffffffff ffffffff ffffffff ffffffff ................ 208ff880030: ffffffff ffffffff ffffffff ffffffff ................ 209ff880040: ffffffff ffffffff ffffffff ffffffff ................ 210ff880050: ffffffff ffffffff ffffffff ffffffff ................ 211ff880060: ffffffff ffffffff ffffffff ffffffff ................ 212ff880070: ffffffff ffffffff ffffffff ffffffff ................ 213=> md ff890000 214ff890000: ffffffff ffffffff ffffffff ffffffff ................ 215ff890010: ffffffff ffffffff ffffffff ffffffff ................ 216ff890020: ffffffff ffffffff ffffffff ffffffff ................ 217ff890030: ffffffff ffffffff ffffffff ffffffff ................ 218ff890040: ffffffff ffffffff ffffffff ffffffff ................ 219ff890050: ffffffff ffffffff ffffffff ffffffff ................ 220ff890060: ffffffff ffffffff ffffffff ffffffff ................ 221ff890070: ffffffff ffffffff ffffffff ffffffff ................ 222=> 223------------------------------------------------------------------------------ 224 225 226The following sequence was performed to test the Flash programming commands: 227 228------------------------------------------------------------------------------ 229=> erase ff880000 ff88ffff 230Erase Flash from 0xff880000 to 0xff88ffff 231.. done 232Erased 1 sectors 233=> cp 0 ff880000 10 234Copy to Flash... done 235=> md 0 20 23600000000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x 23700000010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x 23800000020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. 23900000030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x 24000000040: 3c83c000 2c040000 40823378 7c0000a6 <...,...@.3x|... 24100000050: 60000030 7c1b03a6 3c00c000 600035ec `..0|...<...`.5. 24200000060: 7c1a03a6 4c000064 00000000 00000000 |...L..d........ 24300000070: 00000000 00000000 00000000 00000000 ................ 244=> md ff880000 20 245ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x 246ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x 247ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. 248ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x 249ff880040: ffffffff ffffffff ffffffff ffffffff ................ 250ff880050: ffffffff ffffffff ffffffff ffffffff ................ 251ff880060: ffffffff ffffffff ffffffff ffffffff ................ 252ff880070: ffffffff ffffffff ffffffff ffffffff ................ 253=> 254------------------------------------------------------------------------------ 255 256 257The following sequence was performed to test storage of the environment 258variables in Flash: 259 260------------------------------------------------------------------------------ 261=> setenv foo bar 262=> saveenv 263Un-Protected 1 sectors 264Erasing Flash... 265.. done 266Erased 1 sectors 267Saving Environment to Flash... 268Protected 1 sectors 269=> reset 270... 271=> printenv 272... 273foo=bar 274... 275Environment size: 339/65532 bytes 276=> 277------------------------------------------------------------------------------ 278 279 280The following sequence was performed to test image download and run over 281Ethernet interface (both interfaces were tested): 282 283------------------------------------------------------------------------------ 284=> tftpboot 40000 hello_world.bin 285ARP broadcast 1 286TFTP from server 10.0.0.1; our IP address is 10.0.0.8 287Filename 'hello_world.bin'. 288Load address: 0x40000 289Loading: ############# 290done 291Bytes transferred = 65932 (1018c hex) 292=> go 40004 293## Starting application at 0x00040004 ... 294Hello World 295argc = 1 296argv[0] = "40004" 297argv[1] = "<NULL>" 298Hit any key to exit ... 299 300## Application terminated, rc = 0x0 301=> 302------------------------------------------------------------------------------ 303 304 3053. Known Problems 306 307None for the moment. 308 309 310---------------------------------------------------------------------------- 311U-Boot and Linux for Interphase 4539 T1/E1/J1 PMC Communications Controller 312---------------------------------------------------------------------------- 313 314U-Boot: 315 316 Configure and make U-Boot: 317 318 $ cd <path>/u-boot 319 $ make IPHASE4539_config 320 $ make dep 321 $ make 322 $ cp -p u-boot.bin /tftpboot 323 324 Load u-boot.bin into the Flash memory at 0xffb00000. 325 326 327Linux: 328 329 Configure and make Linux: 330 331 $ cd <patch>/linux-2.4 332 $ make IPHASE4539_config 333 $ make oldconfig 334 $ make dep 335 $ make uImage 336 $ cp -p arch/powerpc/mbxboot/uImage /tftpboot 337 338 Load uImage via tftp and boot it. 339 340 341Flash organisation: 342 343 The following preliminary layout of the Flash memory 344 is defined: 345 346 0xff800000 ( 0 - 64 kB): Hardware Configuration Word. 347 0xff810000 ( 64 kB - 128 kB): U-Boot Environment. 348 0xff820000 ( 128 kB - 3 MB): RAMdisk. 349 0xffb00000 ( 3 MB - 3328 kB): U-Boot. 350 0xffb40000 (3328 KB - 4 MB): Linux Kernel. 351 352 353For further information concerning U-Boot and Linux please consult 354the "DENX U-Boot and Linux Guide". 355 356 357(C) 2002 Wolfgang Grandegger, DENX Software Engineering, wg@denx.de 358=================================================================== 359