U-Boot for a Musenki M-3/M-1 board
---------------------------

Musenki M-1 and M-3 have two banks of flash of 4MB or 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 located in flash separately from
U-Boot, at the address of 0xFF800000.

There is a Davicom 9102A on-board, but I don't have it working yet.

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

x.x Operation on all available serial consoles

x.x.x CONFIG_CONS_INDEX 1


U-Boot 1.1.1 (Nov 20 2001 - 15:55:32)

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


x.x.x CONFIG_CONS_INDEX 2

**** NOT TESTED ****

x.x Flash Driver Operation


Boot 1.1.1 (Nov 20 2001 - 15:55:32)

CPU:   MPC8245 Revision 16.20 at 250 MHz: 16 kB I-Cache 16 kB D-Cache
Board: MUSENKI Local Bus at 100 MHz
DRAM:  32 MB
FLASH:  4 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=>
=> md ff800000
ff800000: 46989bf8 626f6f74 636d643d 626f6f74    F...bootcmd=boot
ff800010: 6d204646 38323030 30300062 6f6f7464    m FF820000.bootd
ff800020: 656c6179 3d350062 61756472 6174653d    elay=5.baudrate=
ff800030: 39363030 00636c6f 636b735f 696e5f6d    9600.clocks_in_m
ff800040: 687a3d31 00737464 696e3d73 65726961    hz=1.stdin=seria
ff800050: 6c007374 646f7574 3d736572 69616c00    l.stdout=serial.
ff800060: 73746465 72723d73 65726961 6c006970    stderr=serial.ip
ff800070: 61646472 3d313932 2e313638 2e302e34    addr=192.168.0.4
ff800080: 32007365 72766572 69703d31 39322e31    2.serverip=192.1
ff800090: 36382e30 2e380000 00000000 00000000    68.0.8..........
ff8000a0: 00000000 00000000 00000000 00000000    ................
ff8000b0: 00000000 00000000 00000000 00000000    ................
ff8000c0: 00000000 00000000 00000000 00000000    ................
ff8000d0: 00000000 00000000 00000000 00000000    ................
ff8000e0: 00000000 00000000 00000000 00000000    ................
ff8000f0: 00000000 00000000 00000000 00000000    ................
=> protect off ff800000 ff81ffff
Un-Protected 1 sectors
=> erase ff800000 ff81ffff
Erase Flash from 0xff800000 to 0xff81ffff
 done
Erased 1 sectors
=> md ff800000
ff800000: ffffffff ffffffff ffffffff ffffffff    ................
ff800010: ffffffff ffffffff ffffffff ffffffff    ................
ff800020: ffffffff ffffffff ffffffff ffffffff    ................
ff800030: ffffffff ffffffff ffffffff ffffffff    ................
ff800040: ffffffff ffffffff ffffffff ffffffff    ................
ff800050: ffffffff ffffffff ffffffff ffffffff    ................
ff800060: ffffffff ffffffff ffffffff ffffffff    ................
ff800070: ffffffff ffffffff ffffffff ffffffff    ................
ff800080: ffffffff ffffffff ffffffff ffffffff    ................
ff800090: ffffffff ffffffff ffffffff ffffffff    ................
ff8000a0: ffffffff ffffffff ffffffff ffffffff    ................
ff8000b0: ffffffff ffffffff ffffffff ffffffff    ................
ff8000c0: ffffffff ffffffff ffffffff ffffffff    ................
ff8000d0: ffffffff ffffffff ffffffff ffffffff    ................
ff8000e0: ffffffff ffffffff ffffffff ffffffff    ................
ff8000f0: ffffffff ffffffff ffffffff ffffffff    ................

x.x.x Information


U-Boot 1.1.1 (Nov 20 2001 - 15:55:32)

CPU:   MPC8245 Revision 16.20 at 250 MHz: 16 kB I-Cache 16 kB D-Cache
Board: MUSENKI Local Bus at 100 MHz
DRAM:  32 MB
FLASH:  4 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=> flinfo

Bank # 1: Intel 28F320J3A (32Mbit = 128K x 32)
  Size: 4 MB in 32 Sectors
  Sector Start Addresses:
    FF800000 (RO) FF820000      FF840000      FF860000      FF880000
    FF8A0000      FF8C0000      FF8E0000      FF900000      FF920000
    FF940000      FF960000      FF980000      FF9A0000      FF9C0000
    FF9E0000      FFA00000      FFA20000      FFA40000      FFA60000
    FFA80000      FFAA0000      FFAC0000      FFAE0000      FFB00000
    FFB20000      FFB40000      FFB60000      FFB80000      FFBA0000
    FFBC0000      FFBE0000

Bank # 2: missing or unknown FLASH type
=>


x.x.x Flash Programming


U-Boot 1.1.1 (Nov 20 2001 - 15:55:32)

CPU:   MPC8245 Revision 16.20 at 250 MHz: 16 kB I-Cache 16 kB D-Cache
Board: MUSENKI Local Bus at 100 MHz
DRAM:  32 MB
FLASH:  4 MB

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=>
=>
=>
=> protect off ff800000 ff81ffff
Un-Protected 1 sectors
=> cp 0 ff800000 20
Copy to Flash... done
=> md ff800000
ff800000: 37ce33ec 33cc334c 33c031cc 33cc35cc    7.3.3.3L3.1.3.5.
ff800010: 33ec13ce 30ccb3ec b3c833c4 31c836cc    3...0.....3.1.6.
ff800020: 33cc3b9d 31ec33ee 13ecf3cc 338833ec    3.;.1.3.....3.3.
ff800030: 234c33ec 32cc22cc 33883bdc 534433cc    #L3.2.".3.;.SD3.
ff800040: 33cc30c8 31cc32ec 338c33cc 330c33dc    3.0.1.2.3.3.3.3.
ff800050: 33cc13dc 334c534c b1c433d8 128c13cc    3...3LSL..3.....
ff800060: 37ec36cd 33dc33cc bbc9f7e8 bbcc77cc    7.6.3.3.......w.
ff800070: 314c0adc 139c30ed 33cc334c 33c833ec    1L....0.3.3L3.3.
ff800080: ffffffff ffffffff ffffffff ffffffff    ................
ff800090: ffffffff ffffffff ffffffff ffffffff    ................
ff8000a0: ffffffff ffffffff ffffffff ffffffff    ................
ff8000b0: ffffffff ffffffff ffffffff ffffffff    ................
ff8000c0: ffffffff ffffffff ffffffff ffffffff    ................
ff8000d0: ffffffff ffffffff ffffffff ffffffff    ................
ff8000e0: ffffffff ffffffff ffffffff ffffffff    ................
ff8000f0: ffffffff ffffffff ffffffff ffffffff    ................


x.x.x Storage of environment variables in flash


U-Boot 1.1.1 (Nov 20 2001 - 15:55:32)

CPU:   MPC8245 Revision 16.20 at 250 MHz: 16 kB I-Cache 16 kB D-Cache
Board: MUSENKI Local Bus at 100 MHz
DRAM:  32 MB
FLASH:  4 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=> printenv
bootcmd=bootm FF820000
bootdelay=5
baudrate=9600
clocks_in_mhz=1
stdin=serial
stdout=serial
stderr=serial

Environment size: 106/16380 bytes
=> setenv myvar 1234
=> saveenv
Un-Protected 1 sectors
Erasing Flash...
 done
Erased 1 sectors
Saving Environment to Flash...
Protected 1 sectors
=> reset


U-Boot 1.1.1 (Nov 20 2001 - 15:55:32)

CPU:   MPC8245 Revision 16.20 at 250 MHz: 16 kB I-Cache 16 kB D-Cache
Board: MUSENKI Local Bus at 100 MHz
DRAM:  32 MB
FLASH:  4 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=> printenv
bootcmd=bootm FF820000
bootdelay=5
baudrate=9600
clocks_in_mhz=1
myvar=1234
stdin=serial
stdout=serial
stderr=serial

Environment size: 117/16380 bytes

x.x Image Download and run over serial port


U-Boot 1.1.1 (Nov 20 2001 - 15:55:32)

CPU:   MPC8245 Revision 16.20 at 250 MHz: 16 kB I-Cache 16 kB D-Cache
Board: MUSENKI Local Bus at 100 MHz
DRAM:  32 MB
FLASH:  4 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
=> loads
## Ready for S-Record download ...

## First Load Addr = 0x00040000
## Last  Load Addr = 0x00050177
## Total Size      = 0x00010178 = 65912 Bytes
## Start Addr      = 0x00040004
=> 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

untested (not working yet, actually)
