u-boot/board/cu824
wdenk 3bac351370 * Patch by Josef Wagner, 12 Mar 2003:
- 16/32 MB and 50/80 MHz support with auto-detection for IP860
  - ETH05 and BEDBUG support for CU824
  - added support for MicroSys CPC45
  - new BOOTROM/FLASH0 and DOC base for PM826

* Patch by Robert Schwebel, 12 Mar 2003:
  Fix the chpart command on innokom board

* Name cleanup:
  mv include/asm-i386/ppcboot-i386.h include/asm-i386/u-boot-i386.h
  s/PPCBoot/U-Boot/ in some files
  s/pImage/uImage/  in some files

* Patch by Detlev Zundel, 15 Jan 2003:
  Fix '' command line quoting

* Patch by The LEOX team, 19 Jan 2003:
  - add support for the ELPT860 board
  - add support for Dallas ds164x RTC
2003-03-12 10:41:04 +00:00
..
config.mk Initial revision 2001-05-16 13:14:27 +00:00
cu824.c * Patch by Josef Wagner, 12 Mar 2003: 2003-03-12 10:41:04 +00:00
flash.c Initial revision 2002-08-17 09:36:01 +00:00
Makefile Initial revision 2002-04-01 14:13:16 +00:00
README Initial revision 2002-11-02 23:17:16 +00:00
u-boot.lds Initial revision 2002-08-14 10:05:16 +00:00

ppcboot for a CU824 board
---------------------------

CU824 has two banks of flash 8MB each. In board's notation, bank 0 is
the one at the address of 0xFF800000 and bank 1 is the one at the
address of 0xFF000000. On power-up the processor jumps to the address
of 0xFFF00100, the last megabyte of the bank 0 of flash. Thus,
U-Boot is configured to reside in flash starting at the address of
0xFFF00000. The environment space is not embedded in the U-Boot code
and is located in flash separately from U-Boot, at the address of
0xFF008000.


U-Boot test results
--------------------

x.x Operation on all available serial consoles

x.x.x CONFIG_CONS_INDEX 1


ppcboot 0.9.2 (May 13 2001 - 17:56:46)

Initializing...
  CPU:   MPC8240 Revsion 1.1 at 247 MHz: 16 kB I-Cache 16 kB D-Cache
  Board: CU824 Revision 1 Local Bus at 99 MHz
  DRAM:  64 MB
  FLASH: 16 MB
  In:    serial
  Out:   serial
  Err:   serial

Hit any key to stop autoboot:  0
=>
=>he
go      - start application at address 'addr'
run     - run commands in an environment variable
bootm   - boot application image from memory
bootp   - boot image via network using BootP/TFTP protocol
tftpboot- boot image via network using TFTP protocol
               and env variables ipaddr and serverip
rarpboot- boot image via network using RARP/TFTP protocol
bootd   - boot default, i.e., run 'bootcmd'
loads   - load S-Record file over serial line
loadb   - load binary file over serial line (kermit mode)
md      - memory display
mm      - memory modify (auto-incrementing)
nm      - memory modify (constant address)
mw      - memory write (fill)
cp      - memory copy
cmp     - memory compare
crc32   - checksum calculation
base    - print or set address offset
printenv- print environment variables
setenv  - set environment variables
saveenv - save environment variables to persistent storage
protect - enable or disable FLASH write protection
erase   - erase FLASH memory
flinfo  - print FLASH memory information
bdinfo  - print Board Info structure
iminfo  - print header information for application image
coninfo - print console devices and informations
loop    - infinite loop on address range
mtest   - simple RAM test
icache  - enable or disable instruction cache
dcache  - enable or disable data cache
reset   - Perform RESET of the CPU
echo    - echo args to console
version - print monitor version
help    - print online help
?       - alias for 'help'
=>


x.x.x CONFIG_CONS_INDEX 2

**** NOT TESTED ****

x.x Flash Driver Operation

x.x.x Erase Operation


ppcboot 0.9.2 (May 13 2001 - 17:56:46)

Initializing...
  CPU:   MPC8240 Revsion 1.1 at 247 MHz: 16 kB I-Cache 16 kB D-Cache
  Board: CU824 Revision 1 Local Bus at 99 MHz
  DRAM:  64 MB
  FLASH: 16 MB
  In:    serial
  Out:   serial
  Err:   serial

Hit any key to stop autoboot:  0
=>
=>
=>
=>md ff000000
ff000000: 27051956 70706362 6f6f7420 302e382e    '..Vppcboot 0.8.
ff000010: 3320284d 61792031 31203230 3031202d    3 (May 11 2001 -
ff000020: 2031343a 35373a30 33290000 00000000     14:57:03)......
ff000030: 00000000 00000000 00000000 00000000    ................
ff000040: 00000000 00000000 00000000 00000000    ................
ff000050: 00000000 00000000 00000000 00000000    ................
ff000060: 00000000 00000000 00000000 00000000    ................
ff000070: 00000000 00000000 00000000 00000000    ................
ff000080: 00000000 00000000 00000000 00000000    ................
ff000090: 00000000 00000000 00000000 00000000    ................
ff0000a0: 00000000 00000000 00000000 00000000    ................
ff0000b0: 00000000 00000000 00000000 00000000    ................
ff0000c0: 00000000 00000000 00000000 00000000    ................
ff0000d0: 00000000 00000000 00000000 00000000    ................
ff0000e0: 00000000 00000000 00000000 00000000    ................
ff0000f0: 00000000 00000000 00000000 00000000    ................
=>erase ff000000 ff007fff
Erase Flash from 0xff000000 to 0xff007fff
 done
Erased 1 sectors
=>md ff000000
ff000000: ffffffff ffffffff ffffffff ffffffff    ................
ff000010: ffffffff ffffffff ffffffff ffffffff    ................
ff000020: ffffffff ffffffff ffffffff ffffffff    ................
ff000030: ffffffff ffffffff ffffffff ffffffff    ................
ff000040: ffffffff ffffffff ffffffff ffffffff    ................
ff000050: ffffffff ffffffff ffffffff ffffffff    ................
ff000060: ffffffff ffffffff ffffffff ffffffff    ................
ff000070: ffffffff ffffffff ffffffff ffffffff    ................
ff000080: ffffffff ffffffff ffffffff ffffffff    ................
ff000090: ffffffff ffffffff ffffffff ffffffff    ................
ff0000a0: ffffffff ffffffff ffffffff ffffffff    ................
ff0000b0: ffffffff ffffffff ffffffff ffffffff    ................
ff0000c0: ffffffff ffffffff ffffffff ffffffff    ................
ff0000d0: ffffffff ffffffff ffffffff ffffffff    ................
ff0000e0: ffffffff ffffffff ffffffff ffffffff    ................
ff0000f0: ffffffff ffffffff ffffffff ffffffff    ................
=>

x.x.x Information


ppcboot 0.9.2 (May 13 2001 - 17:56:46)

Initializing...
  CPU:   MPC8240 Revsion 1.1 at 247 MHz: 16 kB I-Cache 16 kB D-Cache
  Board: CU824 Revision 1 Local Bus at 99 MHz
  DRAM:  64 MB
  FLASH: 16 MB
  In:    serial
  Out:   serial
  Err:   serial

Hit any key to stop autoboot:  0
=>
=>
=>
=>
=>flinfo

Bank # 1: Intel: 28F160F3B (16Mbit)
  Size: 8 MB in 39 Sectors
  Sector Start Addresses:
    FF000000      FF008000 (RO) FF010000      FF018000      FF020000
    FF028000      FF030000      FF038000      FF040000      FF080000
    FF0C0000      FF100000      FF140000      FF180000      FF1C0000
    FF200000      FF240000      FF280000      FF2C0000      FF300000
    FF340000      FF380000      FF3C0000      FF400000      FF440000
    FF480000      FF4C0000      FF500000      FF540000      FF580000
    FF5C0000      FF600000      FF640000      FF680000      FF6C0000
    FF700000      FF740000      FF780000      FF7C0000

Bank # 2: Intel: 28F160F3B (16Mbit)
  Size: 8 MB in 39 Sectors
  Sector Start Addresses:
    FF800000      FF808000      FF810000      FF818000      FF820000
    FF828000      FF830000      FF838000      FF840000      FF880000
    FF8C0000      FF900000      FF940000      FF980000      FF9C0000
    FFA00000      FFA40000      FFA80000      FFAC0000      FFB00000
    FFB40000      FFB80000      FFBC0000      FFC00000      FFC40000
    FFC80000      FFCC0000      FFD00000      FFD40000      FFD80000
    FFDC0000      FFE00000      FFE40000      FFE80000      FFEC0000
    FFF00000 (RO) FFF40000      FFF80000      FFFC0000
=>

x.x.x Flash Programming


ppcboot 0.9.2 (May 13 2001 - 17:56:46)

Initializing...
  CPU:   MPC8240 Revsion 1.1 at 247 MHz: 16 kB I-Cache 16 kB D-Cache
  Board: CU824 Revision 1 Local Bus at 99 MHz
  DRAM:  64 MB
  FLASH: 16 MB
  In:    serial
  Out:   serial
  Err:   serial

Hit any key to stop autoboot:  0
=>
=>
=>
=>
=>cp 0 ff000000 20
Copy to Flash... done
=>md 0
00000000: 0ec08ce0 03f9800c 00000001 040c0000    ................
00000010: 00000001 03fd1aa0 03fd1ae4 03fd1a00    ................
00000020: 03fd1a58 03fceb04 03fd34cc 03fd34d0    ...X......4...4.
00000030: 03fcd5bc 03fcdabc 00000000 00000000    ................
00000040: 00000000 00000000 00000000 00000000    ................
00000050: 00000000 00000000 00000000 00000000    ................
00000060: 00000000 00000000 00000000 00000000    ................
00000070: 00000000 00000000 00000000 00000000    ................
00000080: 00000000 00000000 00000000 00000000    ................
00000090: 00000000 00000000 00000000 00000000    ................
000000a0: 00000000 00000000 00000000 00000000    ................
000000b0: 00000000 00000000 00000000 00000000    ................
000000c0: 00000000 00000000 00000000 00000000    ................
000000d0: 00000000 00000000 00000000 00000000    ................
000000e0: 00000000 00000000 00000000 00000000    ................
000000f0: 00000000 00000000 00000000 00000000    ................
=>md ff000000
ff000000: 0ec08ce0 03f9800c 00000001 040c0000    ................
ff000010: 00000001 03fd1aa0 03fd1ae4 03fd1a00    ................
ff000020: 03fd1a58 03fceb04 03fd34cc 03fd34d0    ...X......4...4.
ff000030: 03fcd5bc 03fcdabc 00000000 00000000    ................
ff000040: 00000000 00000000 00000000 00000000    ................
ff000050: 00000000 00000000 00000000 00000000    ................
ff000060: 00000000 00000000 00000000 00000000    ................
ff000070: 00000000 00000000 00000000 00000000    ................
ff000080: ffffffff ffffffff ffffffff ffffffff    ................
ff000090: ffffffff ffffffff ffffffff ffffffff    ................
ff0000a0: ffffffff ffffffff ffffffff ffffffff    ................
ff0000b0: ffffffff ffffffff ffffffff ffffffff    ................
ff0000c0: ffffffff ffffffff ffffffff ffffffff    ................
ff0000d0: ffffffff ffffffff ffffffff ffffffff    ................
ff0000e0: ffffffff ffffffff ffffffff ffffffff    ................
ff0000f0: ffffffff ffffffff ffffffff ffffffff    ................
=>

x.x.x Storage of environment variables in flash


ppcboot 0.9.2 (May 13 2001 - 17:56:46)

Initializing...
  CPU:   MPC8240 Revsion 1.1 at 247 MHz: 16 kB I-Cache 16 kB D-Cache
  Board: CU824 Revision 1 Local Bus at 99 MHz
  DRAM:  64 MB
  FLASH: 16 MB
  In:    serial
  Out:   serial
  Err:   serial

Hit any key to stop autoboot:  0
=>
=>printenv
bootargs=
bootcmd=bootm FE020000
bootdelay=5
baudrate=9600
ipaddr=192.168.4.2
serverip=192.168.4.1
ethaddr=00:40:42:01:00:a0
stdin=serial
stdout=serial
stderr=serial

Environment size: 167/32764 bytes
=>setenv myvar 1234
=>save_env
Un-Protected 1 sectors
Erasing Flash...
 done
Erased 1 sectors
Saving Environment to Flash...
Protected 1 sectors
=>reset


ppcboot 0.9.2 (May 13 2001 - 17:56:46)

Initializing...
  CPU:   MPC8240 Revsion 1.1 at 247 MHz: 16 kB I-Cache 16 kB D-Cache
  Board: CU824 Revision 1 Local Bus at 99 MHz
  DRAM:  64 MB
  FLASH: 16 MB
  In:    serial
  Out:   serial
  Err:   serial

Hit any key to stop autoboot:  0
=>
=>printenv
bootargs=
bootcmd=bootm FE020000
bootdelay=5
baudrate=9600
ipaddr=192.168.4.2
serverip=192.168.4.1
ethaddr=00:40:42:01:00:a0
myvar=1234
stdin=serial
stdout=serial
stderr=serial

Environment size: 178/32764 bytes
=>

x.x Image Download and run over serial port


ppcboot 0.9.2 (May 13 2001 - 17:56:46)

Initializing...
  CPU:   MPC8240 Revsion 1.1 at 247 MHz: 16 kB I-Cache 16 kB D-Cache
  Board: CU824 Revision 1 Local Bus at 99 MHz
  DRAM:  64 MB
  FLASH: 16 MB
  In:    serial
  Out:   serial
  Err:   serial

Hit any key to stop autoboot:  0
=>
=>
=>mw 40000 0 10000
=>md 40000
00040000: 00000000 00000000 00000000 00000000    ................
00040010: 00000000 00000000 00000000 00000000    ................
00040020: 00000000 00000000 00000000 00000000    ................
00040030: 00000000 00000000 00000000 00000000    ................
00040040: 00000000 00000000 00000000 00000000    ................
00040050: 00000000 00000000 00000000 00000000    ................
00040060: 00000000 00000000 00000000 00000000    ................
00040070: 00000000 00000000 00000000 00000000    ................
00040080: 00000000 00000000 00000000 00000000    ................
00040090: 00000000 00000000 00000000 00000000    ................
000400a0: 00000000 00000000 00000000 00000000    ................
000400b0: 00000000 00000000 00000000 00000000    ................
000400c0: 00000000 00000000 00000000 00000000    ................
000400d0: 00000000 00000000 00000000 00000000    ................
000400e0: 00000000 00000000 00000000 00000000    ................
000400f0: 00000000 00000000 00000000 00000000    ................
=>loads
## Ready for S-Record download ...

(Back at xpert.denx.de)
[vlad@xpert vlad]$ cat hello_world.srec >/dev/ttyS0
[vlad@xpert vlad]$ kermit -l /dev/ttyS0 -b 9600 -c
Connecting to /dev/ttyS0, speed 9600.
The escape character is Ctrl-\ (ASCII 28, FS)
Type the escape character followed by C to get back,
or followed by ? to see other options.
md 40000
00040000: 00018148 9421ffe0 7c0802a6 bf61000c    ...H.!..|....a..
00040010: 90010024 48000005 7fc802a6 801effe8    ...$H...........
00040020: 7fc0f214 7c7f1b78 813f0038 7c9c2378    ....|..x.?.8|.#x
00040030: 807e8000 7cbd2b78 80090010 3b600000    .~..|.+x....;`..
00040040: 7c0803a6 4e800021 813f0038 7f84e378    |...N..!.?.8...x
00040050: 807e8004 80090010 7c0803a6 4e800021    .~......|...N..!
00040060: 7c1be000 4181003c 80bd0000 813f0038    |...A..<.....?.8
00040070: 3bbd0004 2c050000 40820008 80be8008    ;...,...@.......
00040080: 80090010 7f64db78 807e800c 3b7b0001    .....d.x.~..;{..
00040090: 7c0803a6 4e800021 7c1be000 4081ffcc    |...N..!|...@...
000400a0: 813f0038 807e8010 80090010 7c0803a6    .?.8.~......|...
000400b0: 4e800021 813f0038 80090004 7c0803a6    N..!.?.8....|...
000400c0: 4e800021 2c030000 4182ffec 813f0038    N..!,...A....?.8
000400d0: 80090000 7c0803a6 4e800021 813f0038    ....|...N..!.?.8
000400e0: 807e8014 80090010 7c0803a6 4e800021    .~......|...N..!
000400f0: 38600000 80010024 7c0803a6 bb61000c    8`.....$|....a..
=>go 40004
## Starting application at 0x00040004 ...
Hello World
argc = 1
argv[0] = "40004"
argv[1] = "<NULL>"
Hit any key to exit ...

## Application terminated, rc = 0x0
=>

x.x Image download and run over ethernet interface


ppcboot 0.9.2 (May 13 2001 - 17:56:46)

Initializing...
  CPU:   MPC8240 Revsion 1.1 at 247 MHz: 16 kB I-Cache 16 kB D-Cache
  Board: CU824 Revision 1 Local Bus at 99 MHz
  DRAM:  64 MB
  FLASH: 16 MB
  In:    serial
  Out:   serial
  Err:   serial

Hit any key to stop autoboot:  0
=>
=>
=>mw 40000 0 10000
=>md 40000
00040000: 00000000 00000000 00000000 00000000    ................
00040010: 00000000 00000000 00000000 00000000    ................
00040020: 00000000 00000000 00000000 00000000    ................
00040030: 00000000 00000000 00000000 00000000    ................
00040040: 00000000 00000000 00000000 00000000    ................
00040050: 00000000 00000000 00000000 00000000    ................
00040060: 00000000 00000000 00000000 00000000    ................
00040070: 00000000 00000000 00000000 00000000    ................
00040080: 00000000 00000000 00000000 00000000    ................
00040090: 00000000 00000000 00000000 00000000    ................
000400a0: 00000000 00000000 00000000 00000000    ................
000400b0: 00000000 00000000 00000000 00000000    ................
000400c0: 00000000 00000000 00000000 00000000    ................
000400d0: 00000000 00000000 00000000 00000000    ................
000400e0: 00000000 00000000 00000000 00000000    ................
000400f0: 00000000 00000000 00000000 00000000    ................
=>tftpboot 40000 hello_world.bin
ARP broadcast 1
TFTP from server 192.168.4.1; our IP address is 192.168.4.2
Filename 'hello_world.bin'.
Load address: 0x40000
Loading: #############
done
Bytes transferred = 65912 (10178 hex)
=>md 40000
00040000: 00018148 9421ffe0 7c0802a6 bf61000c    ...H.!..|....a..
00040010: 90010024 48000005 7fc802a6 801effe8    ...$H...........
00040020: 7fc0f214 7c7f1b78 813f0038 7c9c2378    ....|..x.?.8|.#x
00040030: 807e8000 7cbd2b78 80090010 3b600000    .~..|.+x....;`..
00040040: 7c0803a6 4e800021 813f0038 7f84e378    |...N..!.?.8...x
00040050: 807e8004 80090010 7c0803a6 4e800021    .~......|...N..!
00040060: 7c1be000 4181003c 80bd0000 813f0038    |...A..<.....?.8
00040070: 3bbd0004 2c050000 40820008 80be8008    ;...,...@.......
00040080: 80090010 7f64db78 807e800c 3b7b0001    .....d.x.~..;{..
00040090: 7c0803a6 4e800021 7c1be000 4081ffcc    |...N..!|...@...
000400a0: 813f0038 807e8010 80090010 7c0803a6    .?.8.~......|...
000400b0: 4e800021 813f0038 80090004 7c0803a6    N..!.?.8....|...
000400c0: 4e800021 2c030000 4182ffec 813f0038    N..!,...A....?.8
000400d0: 80090000 7c0803a6 4e800021 813f0038    ....|...N..!.?.8
000400e0: 807e8014 80090010 7c0803a6 4e800021    .~......|...N..!
000400f0: 38600000 80010024 7c0803a6 bb61000c    8`.....$|....a..
=>go 40004
## Starting application at 0x00040004 ...
Hello World
argc = 1
argv[0] = "40004"
argv[1] = "<NULL>"
Hit any key to exit ...

## Application terminated, rc = 0x0
=>