-------------------------------- Unofficial Zipit "Peeks & Pokes" -------------------------------- Version 1.1 - June 3, 2005 Contributors: "Ken McGuire" ("cynfab") "matt_westervelt" ("mattw") "Adam Tilghman" ("atilghma") Updates/Corrections/Additions: Please send them to Adam Tilghman . Message board, files, links to chipset data sheets: http://groups.yahoo.com/group/zipitwireless ---- Cirrus ep7312 (Main CPU) General-purpose I/O (GPIO) pins: Port A: All = input [ keyboard row inputs ] Port B: Bit 0 = unused [ unaccessable ] 1 = output [ green LED ] 2 = input [ battery charging ] 3 = input [ lid-closed switch status & tied to R115; also tied to Port A interrupt ] 4 = input [ hpdet from audio jack & WM8751L 23 ] 5 = unused [ goes to a via on the back of the board ] 6 = i/o [ i2c SDA ] 7 = i/o [ i2c SCK ] Port D: 0 = output [ yellow/orange LED ] 1 = output [ drives gate of "CR5" a 2N7002 fet part of contrast control ] 2 = output [ drives gate of "CR6" a 2N7002 fet part of contrast control ] 3 = output [ drives gate of "CR8" a 2N7002 fet part of contrast control ] 4 = output? [ cynfab: Set & cleared by the Zipit audiodrv.o code; not sure what it does, unaccessable.] 5 = output [ enable/disable LCD ] 6 = reserved [ used for SDRAM interface ] 7 = reserved [ used for SDRAM interface ] Port E: 0 = tied low [ ==> boot ROM is 16-bits wide ] 1 = tied high [ ==> boot ROM is 16-bits wide ] DSR: [ unused and unaccessable ] DCD: [ unused and accessable on bottom of board ] CTS: [ unused and unaccessable ] --- Zipit I2C bus: Device 0x1b = wm8751l DAC (handles audio output) [ cynfab has written a working driver for this chip ] Device 0x55 = LPC915 microcontroller (?? handles battery charging, power mgmt, more? ??) Register 0x01 = ??? (writing to 0x02 loads a value into this reg.) Register 0x02 = READ: battery charge state? (per cynfab) [ atilghma: by averaging the last 20 values I get a consistent reading which seems to approximate battery charge level. Reading this register may directly sample the voltage across the battery via the LPC915's ADC comparator.] WRITE: writing to this location seems to load a related value into Register 0x01, Register 0x04 = ??? (value seems to fluctuate) Register 0x81 = READs or WRITEs: Power down the system immediately Register 0x84 = READs or WRITEs: Reboot the system after ~1 sec. delay -- end --