SiS95XX series TOUCH DATA FORMAT SiS95XX series
Power On/Reset Sequence

Figure 2-2 Power on rising time

Figure 2-3 Reset pulse width

Figure 2-4 Power On Sequence
Description | Min | Max | Unit |
---|---|---|---|
VDD power on rising time from 0.1*VDD to 0.9*VDD | - | 1 | ms |
External reset pulse width | 5 | - | ms |
From VDD stable at 3.3V to RESET# reach at 2V | 5 | - | ms |
Time of starting to report point after Reset# reach at 3.3V | 100 | - | ms |
### I2C AC Waveform

Figure 2-5 AC Waveform
Symbol | Parameter | SCL=100KHz | SCL=400KHz | Unit | ||
---|---|---|---|---|---|---|
Min | Max | Min | Max | |||
Tw(SCLH) | SCL clock high time | 4.7 | 1.3 | us | ||
Tw(SCLL) | SCL clock low time | 4.0 | 0.6 | |||
Tsu(SDA) | SDA setup time | 250 | 100 | ns | ||
Th(SDA) | SDA data hold time | 0 | 0 | 900 | ||
Tr(SDA)Tr(SCL) | SDA&SCL rise time | 1000 | 300 | |||
Tf(SDA)Tf(SCL) | SDA&SCLA fall time | 300 | 300 | |||
Th(STA) | Start condition hold time | 4.0 | 0.6 | us | ||
Tsu(STA) | Repeated Start condition setup time | 4.7 | 9.6 | |||
Tsu(STO) | Stop condition setup time | 4.0 | 0.6 | |||
Tw(STO:STA) | Stop to Start condition time(bus free) | 4.7 | 1.3 |
I2C Touch Package Format
HID over I2C Touch Package Format
The HID over I2C touch packet format is fixed length which depends on Report ID. While the touch event is happening, each touch packet will have maximum 5 touch data. If actual touch data is less than 5, the rest of touch data should be set zero in each touch packet for keeping the fixed length.
There is no Cyclic Reduntancy Check(CRC) in the HID over I2C touch packet format.
The 1st packet, sending touch data from touch data0 to touch data4 with total touch count number in this touch package. The 2nd package, sending touch data from touch data5 to touch data9 with touch count equal to 0.
1st packet
2 Bytes | 1 Byte | 6-11 Bytes | … | 6-11 Bytes | 1 Byte | 2 Bytes |
---|---|---|---|---|---|---|
Length | Report ID | Touch Data() | … | Touch Data4 | Touch CNT | Scan Time |
2nd packet
2 Bytes | 1 Byte | 6-11 Bytes | … | 6-11 Bytes | 1 Byte | 2 Bytes |
---|---|---|---|---|---|---|
Length | Report ID | Touch Data5 | … | Touch Data9 | Touch CNT=0 | Scan Time |
#### Touch Data Format
**General I2C Touch Packet Format**

Life: Report touch event
Death: Don’t report touch event
#### Customized Touch Data Format
**Customized I2C Touch Packet Format**

Customer application can get Palm or Eraser data format while the byte0 status is 0x1 and can be set it as Palm/Eraser function if needed by the application.
USB Touch Protocol
SiS95XX series is using USB standard control flow such as device enumeration and configuration. Interrupt type is used for touch data format. Each HID transaction frame transfers one HID packet data.
Host will use the report descripter information of USB HID enumeration and read the touch data by polling.

### USB Touch Packet Format
The default USB touch packet format is report ID 0x10. One USB HID packet is sending 64 bytes data with maximum 10 touch datas. If there are more than 10 touch datas, it will be reported by multi touch packets.
**USB HID package**
1 Bytes | 6 Bytes | ... | 6 Bytes | 1 Bytes | 2 Bytes |
---|---|---|---|---|---|
Report ID | Touch Data0 | ... | Touch DataN | Touch CNT | Scan Time |
#### Touch Data format
General USB Touch Packet Format

Life: Report touch event
Death: Don’t report touch event
#### Customized Touch Data Format
One touch package is splitted to 2 packets if there are 10 touch datas. The 1st packet, sending touch data from touch data0 to touch data4 with total touch count number in this touch package. The 2nd packet, sending touch data from touch data5 to touch data9 with touch count equal to 0.
The touch packet format is fixed length which depends on Report ID. While the touch event is happening, each touch packet will have maximum 5 touch data. If actual touch data is less than 5, the rest of touch data should be set 0xFF in each touch packet for keeping the fixed length.
You can refer to Report ID Definition and data format table in next section.
Below is the example of touch packet format and touch data with Width, Height and Pressure.
**USB HID Packet Format**

Customer application can get Palm or Eraser data format while the byte0 status is 0x1 and can be set it as Palm/Eraser function if needed by the application.
I2C Touch Protocol
Each I2C transaction transfers one I2C package data. The INT pin is low level trigger. Touch device controller will pulls INT pin low until all data was stored in controller buffer or all controller buffer data was received by host.

Figure 2-1 I2C Touch Protocol
Each touch packet is maximum 64 bytes. Normally, there are 2 packets in one touch package. Host needs to read the package for input report retrieval. Each touch packet contains 2 bytes”Length” and maximum 62 bytes data payload. The value of “Length” is calculated by 2 bytes for “Length” field and N bytes for valid input data in the payload.
S | Address | R | Ack | Length-LSB | Ack | Length-MSB | Ack | DATA | Ack | ..... | Data | Nack | P |
S: Start
Address: bit7~bit1, touch device slave address (default 0x5C)
R: bit0, Host Read
Length: byte number of all valid input data including length field, touch data, CNT, scan time and CRC DATA: input data
P: Stop
### I2C I/O Pin Definition
Pin Number | Pin Name | Pin Attribute | Description |
---|---|---|---|
1 | VDD | PWR | 3.3V |
2 | I2C_CLK | In/Out | I2C Clock |
3 | I2C_DA | In/Out | I2C Data |
4 | INT | Out | Interrupt Pin |
5 | GND | PWR | Ground |
6 | GND | PWR | Ground |
I2C ACPI setting
Vendor | SiS |
Slave Address | 0x5c(7-bits addressing, programmable) |
Clock rate | @400 kHz (fast mode) |
Interrupt mode | Default active low, level trigger |
_CID | PNP0C50 |
_DSM | 3CDFF6F7-4267-4555-AD05-B30A3D8938DE |
HID Descriptor address | 0x0000 |
Touch Data Format Table
Report ID Definition
Bit (0 ~ 3) | Main class for Report ID | Bit (4 ~ 7) | Extend class for Data Format | ||
---|---|---|---|---|---|
value | binary | Description | value | binary | Description |
0x1 | 0001 | General Touch Data | 0x0 | 0000 | Touch |
0x4 | 0100 | Function Key | 0x1 | 0001 | Touch + Area(Width, Height) |
0x4 | 0100 | Touch + Pressure | |||
0x5 | 0101 | Touch+ Pressure + Area(Width, Height) | |||
0x8 | 1000 | Touch + Scan time | |||
0x9 | 1001 | Touch + Area (Width, Height) + Scan time | |||
0xc | 1100 | Touch + Pressure + Scan time | |||
0xd | 1101 | Touch+ Pressure + Area (Width, Height) + Scan time |
- Report ID for communicating with AP tool is: 0x21, 0x25, 0x29, 0x2d.
### USB Touch Data Format Table
Report ID | Length |
---|---|
0x21 | 64 * 1 |
0x25 | 64 * 5 |
0x29 | 64 * 9 |
0x2d | 64 * 13 |
### USB Touch Data Format Table
B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | B9 | B10 | B11 | B12 | B13 | B14 | B15 | B16 | B17 | ... | ... | Bxx | ... | ... | ... | ... | ... | B63 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x24 | 0x00 | 0x81 | S1 | ID1 | X1 | X1 | Y1 | Y1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | ... | ... | ... | ... | ... | ... | ... | Y5 | Cnt | Time | Time | |||
0x24 | 0x00 | 0x81 | S6 | ID6 | X6 | X6 | Y6 | Y6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | ... | ... | ... | ... | ... | ... | ... | Y10 | Cnt | Time | Time | |||
0x38 | 0x00 | 0x91 | S1 | ID1 | X1 | X1 | Y1 | Y1 | W1 | W1 | H1 | H1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | W2 | W2 | ... | H5 | Cnt | Time | Time | |||
0x38 | 0x00 | 0x91 | S6 | ID6 | X6 | X6 | Y6 | Y6 | W6 | W6 | H6 | H6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | W7 | W7 | ... | H10 | Cnt | Time | Time | |||
0x29 | 0x00 | 0xc1 | S1 | ID1 | X1 | X1 | Y1 | Y1 | P1 | S2 | ID2X2 | X2 | Y2 | Y2 | P2 | ... | ... | ... | ... | ... | ... | P5 | Cnt | Time | Time | |||
0x29 | 0x00 | 0xc1 | S6 | ID6 | X6 | X6 | Y6 | Y6 | P6 | S7 | ID7X7 | X7 | Y7 | Y7 | P7 | ... | ... | ... | ... | ... | ... | P10 | Cnt | Time | Time | |||
0x3D | 0x00 | 0xd1 | S1 | ID1 | X1 | X1 | Y1 | Y1 | P1 | W1 | W1 | H1 | H1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | P2 | ... | H5 | Cnt | Time | Time | |||
0x3D | 0x00 | 0xd1 | S6 | ID6 | X6 | X6 | Y6 | Y6 | P6 | W6 | W6 | H6 | H6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | P7 | ... | H10 | Cnt | Time | Time | |||
0x24 | 0x00 | 0x04 | S1 | ID1 | X1 | X1 | Y1 | Y1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | ... | ... | ... | ... | ... | ... | Y5 | Cnt | FK | FK | ||||
0x24 | 0x00 | 0x04 | S6 | ID6 | X6 | X6 | Y6 | Y6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | ... | ... | ... | ... | ... | ... | Y10 | Cnt | FK | FK | ||||
0x38 | 0x00 | 0x14 | S1 | ID1 | X1 | X1 | Y1 | Y1 | W1 | W1 | H1 | H1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | W2 | W2 | .. | H5 | Cnt | FK | FK | |||
0x38 | 0x00 | 0x14 | S6 | ID6 | X6 | X6 | Y6 | Y6 | W6 | W6 | H6 | H6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | W7 | W7 | ... | H10 | Cnt | FK | FK | |||
0x29 | 0x00 | 0x44 | S1 | ID1 | X1 | X1 | Y1 | Y1 | P1 | S2 | ID2X2 | X2 | Y2 | Y2 | P2 | ... | ... | ... | ... | ... | P5 | Cnt | FK | FK | ||||
0x29 | 0x00 | 0x44 | S6 | ID6 | X6 | X6 | Y6 | Y6 | P6 | S7 | ID7X7 | X7 | Y7 | Y7 | P7 | ... | ... | ... | ... | ... | P10 | Cnt | FK | FK | ||||
0x3D | 0x00 | 0x54 | S1 | ID1 | X1 | X1 | Y1 | Y1 | P1 | W1 | W1 | H1 | H1 | ID2 | S2 | X2 | X2 | Y2 | Y2 | P2 | ... | H5 | Cnt | FK | FK | |||
0x3D | 0x00 | 0x54 | S6 | ID6 | X6 | X6 | Y6 | Y6 | P6 | W6 | W6 | H6 | H6 | ID7 | S7 | X7 | X7 | Y7 | Y7 | P7 | ... | H10 | Cnt | FK | FK | |||
0x26 | 0x00 | 0x84 | S1 | ID1 | X1 | X1 | Y1 | Y1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | ... | ... | ... | ... | ... | ... | Y5 | Cnt | Time | Time | FK | FK | ||
0x26 | 0x00 | 0x84 | S6 | ID6 | X6 | X6 | Y6 | Y6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | ... | ... | ... | ... | ... | ... | Y10 | Cnt | Time | Time | FK | FK | ||
0x3A | 0x00 | 0x94 | S1 | ID1 | X1 | X1 | Y1 | Y1 | W1 | W1 | H1 | H1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | W2 | W2 | ... | H5 | Cnt | Time | Time | FK | FK | |
0x3A | 0x00 | 0x94 | S6 | ID6 | X6 | X6 | Y6 | Y6 | W6 | W6 | H6 | H6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | W7 | W7 | ... | H10 | Cnt | Time | Time | FK | FK | |
0x2B | 0x00 | 0xc4 | S1 | ID1 | X1 | X1 | Y1 | Y1 | P1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | P2 | ... | ... | ... | ... | P5 | Cnt | Time | Time | FK | FK | ||
0x2B | 0x00 | 0xc4 | S6 | ID6 | X6 | X6 | Y6 | Y6 | P6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | P7 | ... | ... | ... | ... | P10 | Cnt | Time | Time | FK | FK | ||
0x3F | 0x00 | 0xd4 | S1 | ID1 | X1 | X1 | Y1 | Y1 | P1 | W1 | W1 | H1 | H1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | P2 | ... | H5 | Cnt | Time | Time | FK | FK | |
0x3F | 0x00 | 0xd4 | S6 | ID6 | X6 | X6 | Y6 | Y6 | P6 | W6 | W6 | H6 | H6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | P7 | ... | H10 | Cnt | Time | Time | FK | FK |
### HID over I2C Touch Data Format Table
B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | B9 | B10 | B11 | B12 | B13 | B14 | B15 | B16 | B17 | ... | ... | Bxx | ... | ... | ... | ... | ... | B63 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x24 | 0x00 | 0x81 | S1 | ID1 | X1 | X1 | Y1 | Y1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | ... | ... | ... | ... | ... | |||||||||
0x24 | 0x00 | 0x81 | S6 | ID6 | X6 | X6 | Y6 | Y6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | ... | ... | ... | ... | ... | |||||||||
0x38 | 0x00 | 0x91 | S1 | ID1 | X1 | X1 | Y1 | Y1 | W1 | W1 | H1 | H1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | W2 | W2 | ... | H5 | Cnt | Time | Time | |||
0x38 | 0x00 | 0x91 | S6 | ID6 | X6 | X6 | Y6 | Y6 | W6 | W | 6H6 | H6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | W7 | W7 | ... | H10 | Cnt | Time | Time | |||
0x29 | 0x00 | 0xc1 | S1 | ID1 | X1 | X1 | Y1 | Y1 | P1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | P2 | ... | ... | ... | ... | ... | P5 | Cnt | Time | Time | |||
0x29 | 0x00 | 0xc1 | S6 | ID6 | X6 | X6 | Y6 | Y6 | P6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | P7 | ... | ... | ... | ... | ... | P10 | Cnt | Time | Time | |||
0x3D | 0x00 | 0xd1 | S1 | ID1 | X1 | X1 | Y1 | Y1 | P1 | W1 | W1 | H1 | H1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | P2 | ... | H5 | Cnt | Time | Time | |||
0x3D | 0x00 | 0xd1 | S6 | ID6 | X6 | X6 | Y6 | Y6 | P6 | W6 | W6 | H6 | H6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | P7 | ... | H10 | Cnt | Time | Time | |||
0x26 | 0x00 | 0x84 | S1 | ID1 | X1 | X1 | Y1 | Y1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | ... | ... | ... | ... | ... | ... | ... | Y5 | Cnt | Time | Time | FK | FK | |
0x26 | 0x00 | 0x84 | S6 | ID6 | X6 | X6 | Y6 | Y6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | ... | ... | ... | ... | ... | ... | ... | Y10 | Cnt | Time | Time | FK | FK | |
0x3A | 0x00 | 0x94 | S1 | ID1 | X1 | X1 | Y1 | Y1 | W1 | W1 | H1 | H1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | W2 | W2 | ... | H5 | Cnt | Time | Time | FK | FK | |
0x3A | 0x00 | 0x94 | S6 | ID6 | X6 | X6 | Y6 | Y6 | W6 | W6 | H6 | H6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | W7 | W7 | ... | H10 | Cnt | Time | Time | FK | FK | |
0x2B | 0x00 | 0xc4 | S1 | ID1 | X1 | X1 | Y1 | Y1 | P1 | S2 | ID2 | X2 | X2 | Y2 | Y2 | P2 | ... | ... | ... | ... | ... | P5 | Cnt | Time | Time | FK | FK | |
0x2B | 0x00 | 0xc4 | S6 | ID6 | X6 | X6 | Y6 | Y6 | P6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | P7 | ... | ... | ... | ... | ... | P10 | Cnt | Time | Time | FK | FK | |
0x3F | 0x00 | 0xd4 | S1 | ID1 | X1 | X1 | Y1 | Y1 | P1 | W1 | W1 | H1 | H1 | S2 | ID2X | 2 | X2 | Y2 | Y2 | P2 | ... | H5 | Cnt | Time | Time | FK | FK | |
0x3F | 0x00 | 0xd4 | S6 | ID6 | X6 | X6 | Y6 | Y6 | P6 | W6 | W6 | H6 | H6 | S7 | ID7 | X7 | X7 | Y7 | Y7 | P7 | ... | H10 | Cnt | Time | Time | FK | FK |