ADS GraphicsClient Plus Single Board Computer

For more details, contact Applied Data Systems or see
http://www.applieddata.net/products.html

The original Linux support for this product has been provided by 
Nicolas Pitre <nico@fluxnic.net>. Continued development work by
Woojung Huh <whuh@applieddata.net>

It's currently possible to mount a root filesystem via NFS providing a
complete Linux environment.  Otherwise a ramdisk image may be used.  The
board supports MTD/JFFS, so you could also mount something on there.

Use 'make graphicsclient_config' before any 'make config'.  This will set up
defaults for GraphicsClient Plus support.

The kernel zImage is linked to be loaded and executed at 0xc0200000.  
Also the following registers should have the specified values upon entry:

	r0 = 0
	r1 = 29	(this is the GraphicsClient architecture number)

Linux can  be used with the ADS BootLoader that ships with the
newer rev boards. See their documentation on how to load Linux.
Angel is not available for the GraphicsClient Plus AFAIK.

There is a  board known as just the GraphicsClient that ADS used to
produce but has end of lifed. This code will not work on the older
board with the ADS bootloader, but should still work with Angel,
as outlined below.  In any case, if you're planning on deploying
something en masse, you should probably get the newer board.

If using Angel on the older boards, here is a typical angel.opt option file
if the kernel is loaded through the Angel Debug Monitor:

----- begin angelboot.opt -----
base 0xc0200000
entry 0xc0200000
r0 0x00000000
r1 0x0000001d
device /dev/ttyS1
options "38400 8N1"
baud 115200
#otherfile ramdisk.gz
#otherbase 0xc0800000
exec minicom
----- end angelboot.opt -----

Then the kernel (and ramdisk if otherfile/otherbase lines above are
uncommented) would be loaded with:

	angelboot -f angelboot.opt zImage

Here it is assumed that the board is connected to ttyS1 on your PC
and that minicom is preconfigured with /dev/ttyS1, 38400 baud, 8N1, no flow
control by default.

If any other bootloader is used, ensure it accomplish the same, especially
for r0/r1 register values before jumping into the kernel.


Supported peripherals:
- SA1100 LCD frame buffer (8/16bpp...sort of)
- on-board SMC 92C96 ethernet NIC
- SA1100 serial port
- flash memory access (MTD/JFFS)
- pcmcia
- touchscreen(ucb1200)
- ps/2 keyboard
- console on LCD screen
- serial ports (ttyS[0-2])
  - ttyS0 is default for serial console
- Smart I/O (ADC, keypad, digital inputs, etc)
  See http://www.eurotech-inc.com/linux-sbc.asp for IOCTL documentation
  and example user space code. ps/2 keybd is multiplexed through this driver

To do:
- UCB1200 audio with new ucb_generic layer
- everything else!  :-)

Notes:

- The flash on board is divided into 3 partitions.  mtd0 is where
  the ADS boot ROM and zImage is stored.  It's been marked as
  read-only to keep you from blasting over the bootloader. :)  mtd1 is
  for the ramdisk.gz image.  mtd2 is user flash space and can be
  utilized for either JFFS or if you're feeling crazy, running ext2
  on top of it. If you're not using the ADS bootloader, you're
  welcome to blast over the mtd1 partition also.

- 16bpp mode requires a different cable than what ships with the board.
  Contact ADS or look through the manual to wire your own. Currently,
  if you compile with 16bit mode support and switch into a lower bpp
  mode, the timing is off so the image is corrupted.  This will be
  fixed soon.

Any contribution can be sent to nico@fluxnic.net and will be greatly welcome!

