uboot/doc/README.IPHASE4539
<<
>>
Prefs
   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