Thin Client / Single Board Computer

The Thin Client, a low cost high power single board computer, has been
designed to provide intuitive graphical displays in embedded systems.

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

Current Linux support for this product has been provided by Nicolas Pitre
<nico@cam.org>.

It's currently possible to mount a root filesystem via NFS providing a
complete Linux environment.  Otherwise a ramdisk image may be used.  Use
'make thinclient_config' before any 'make config'.  This will set up
defaults for ThinClient 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 = 24	(this is the ThinClient architecture number)

Here is a tipical angel.opt option file if the kernel is loaded through
the Angel Debug Monitor:

----- begin angelboot.opt -----
base 0xc0200000
entry 0xc0200000
r0 0x00000000
r1 0x00000018
device /dev/ttyS1
options "9600 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 ThinClient is connected to ttyS1 on your PC
and that minicom is preconfigured with /dev/ttyS1, 9600 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 (only 8bpp yet)
- on-board SMC 92C94 ethernet NIC
- SA1100 serial port
- flash memory access
- possibly UCB1200 audio (not tested yet)

To do:
- touchscreen driver
- 16bpp frame buffer support
- extra (external) serial port driver
- pcmcia
- some console keyboard support (maybe IR?)
- everything else!  :-)

Any contribution can be sent to nico@cam.org and will be greatly welcome!

