U-BOOT Port for FSForth ModNET50 Board
--------------------------------------

author: Thomas Elste <info@elste.org>
        IMMS gGmbH <www.imms.de>

The port based upon an early (partial complete)
armboot-port from Stephan Linz for the ModNET50 Board.


Overview:

- board with Netsilicon NET+50 ARM7TDMI CPU without MMU
- 16 MB SDRAM
- 2 MB Flash (MBL29LV160BE)
- 10/100 Ethernet PHY (LXT971A)


Current Configuration (include/configs/modnet50.h):

Memory Map: 0x00000000 - 0x00FFFFFF 16M SDRAM
            0x10000000 - 0x101FFFFF  2M Flash

The Flash uses a BB-Architectur with 35 sectors
(0:16K; 1,2:8K; 3:32K; 4-34:64K). U-Boot is located in
the first 5 sectors.

The environment is located at the end of the 4th Flash
sector (0x1001C000-0x1001FFFF).

Build:

U-boot should be build by using the ELDK Toolchain (arm-linux-*).

	make modnet50_config
	make


Status:

Everything seems to work fine. Booting images was tested by
booting uCLinux (with and without a separate ramdisk image) from
flash.


Files:

cpu/arm720t/serial_netarm.c .. serial I/O for the cpu

board/modnet50/memsetup.S   .. memory setup for ModNET50
board/modnet50/flash.c      .. flash routines
board/modnet50/modnet50.c   .. some board init stuff

drivers/netarm_eth.c        .. ethernet driver for the NET+50 CPU
drivers/netarm_eth.h        .. header for ethernet driver

include/configs/modnet50.h  .. configuration file for ModNET50

include/netarm_*.h          .. register and macro definitions for
                               the NETARM CPU family

doc/README.modnet50         .. this readme
