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.applieddata.com/developers/linux 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!

