HardWare

The BluePAD is a tablet PC.

It includes:

  • AMD Geode GX1 processor @300MHz
  • Cyrix Kahlua chipset (IDE, audio, VGA)
  • 128MiB RAM on SO-DIMM (removable) (upgradable?)
  • 64MiB flash (NAND? NOR?) on he IDE bus, seen as an IDE HDD
  • RT8139 ethernet controler
  • BT878 multimedia controler
  • USB 1.1 OHCI controler
  • Cirrus Logic CL 6729 PCMCIA controler
  • MMC slot (controler un-identified)
  • 800x600 display
  • touch-screen (controler un-identified)
  • battery
  • internal 44-pin IDE slot (Yes!)

Here is a short list of PCI devices:

Bus Dev Func VID PID Class Irq PCI device
00 00 00 1078 0001 Host Bridge NA PCI Master
00 0D 00 10EC 8139 Ethernet 11 RT8139 Ethernet
00 0E 00 109E 036E Video 6 Bt878 Video Capture
00 0E 01 109E 0878 Multimedia 6 Bt878 Audio Capture
00 0F 00 1013 1100 PCMCIA Bridge 10 Cirrus Logic CL 6729
00 12 00 1078 0100 ISA Bridge NA 5530 Legacy (Kahlua)
00 12 01 1078 0101 PCI Bridge NA 5530 SMI (Kahlua)
00 12 02 1078 0102 IDE Controller NA 5530 IDE (Kahlua)
00 12 03 1078 0103 Audio NA 5530 Audio (Kahlua)
00 12 04 1078 0104 VGA Display NA 5530 Video (Kahlua)
00 13 00 0E11 A0F8 Serial Bus 11 ZFMicro Chipset USB

BIOS

Enter BIOS by pressing the "Del." key. To boot on the 'external' HDD, change the BIOS settings so that:

DRIVE ASSIGNMENT ORDER BOOT ORDER
Drive C: Ide 2/Sec Master Boot 1st: Drive C:
Drive D: Ide 0/Pri Master Boot 2nd: Drive D:

To boot on the internal flash drive, invert the drive assignment order.

Kernel

Here is a working linux-2.6.20 .config file (note that the squashfs patch was applied to this kernel).

Xorg

Xorg is working fine with either the cyrix or the fbdev drivers. If you're using cyrix, you get some kind of acceleration, but loose the console; if you use fbdev, you keep the console useable, but loose the (somewhat inexistant) acceleration. The kernel has good framebuffer support for the geode, so I suggest using that.

Touchscreen

The touchscreen data is available from ttyS1, apparently @ 9600 bauds. Below is a dump of some data obtained with the following commands and the stylus sliding along the bottom right edge of the screen, from left to right:

stty -F /dev/ttyS1 9600 -parenb cs8 -hupcl -cstopb ignbrk \
     -icrnl-ixon -ixoff -opost -onlcr -isig -icanon -iexten \
     -echo -echoe -echok -echoctl -echoke
hexdump -v -e '"%06.6_ax " 4/2 "%04x " "\n"' /dev/ttyS1

And here is the dump:

000000 3302 0186 0050 03e4
000008 4402 0186 0050 0393
000010 4402 0186 0050 0393
000018 4402 0188 0050 039d
000020 4402 0188 0050 039d
000028 4402 018b 0051 039f
000030 4402 018b 0051 039f
000038 4402 018d 0051 0399
000040 4402 018d 0051 0399
000048 4402 0192 0050 0387
000050 4402 0199 0050 038c
000058 4402 019e 0050 038b
000060 4402 01a4 0050 03b1
000068 4402 01ab 0050 03be
000070 4402 01b2 0050 03a7
000078 4402 01ba 0050 03af
000080 4402 01c2 0050 03d7
000088 4402 01cc 0050 03d9
000090 4402 01d6 0050 03c3
000098 4402 01e1 0050 03f4
0000a0 4402 01ed 0050 03f8
0000a8 4402 01f9 0050 03ec
0000b0 4402 0206 0050 0310
0000b8 4402 0212 0050 0304
0000c0 4402 021e 0050 0308
0000c8 4402 0229 0050 033f
0000d0 4402 0232 0050 0324
0000d8 4402 023a 0051 032d
0000e0 4402 0240 0050 0356
0000e8 4402 0245 0050 0353
0000f0 4402 0245 0050 0353
0000f8 4402 0248 0050 035e
000100 5502 0248 0050 034f

With a bit more of data, we can see that:

Bytes b0 b1 b2-b3 b4-b5 b6 b7
Description stylus constant X coordinates Y coordinates constant XOR
Range 0x33: stylus on
0x44: stylus move1)
0x55: stylus off
0x02 0x0025-0x03df 0x004e-0x03d7 0x03 =xor(b0,b2,b3,b4,b5)

So here are the reported coordinates for my touchscreen:

Left _ _ _ _ _ _ _ _ Right
Top X=0x0026
Y=0x03d7
X=0x03de
Y=0x03d9
!
!
!
!
Bottom X=0x0029
Y=0x004f
X=0x03de
Y=0x0052

We still have to find which Xorg or kernel driver supports this touchscreen (should be quite easy).

20070402 - Update: I have found neither a kernel- nor Xorg-side driver for this touchpad. I'm currently reading docs and code about Xorg input drivers, and will write one when I get some more time.

(More to comeā€¦)

References

A page on the BluePAD by Julian Coccia.

1) Occurs even when the stylus does not move but still touches the screen
ressources/bluepad.txt · Last modified: 20070415.194653 by ymorin
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki