Silead Touchscreen Driver

  1. Silead Touchscreen Driver Free
  2. Silead Touch Screen Drivers
  3. Silead Touchscreen Driver Mac
  4. Silead Touchscreen Driver Windows 10

This page collects all the information about the various touch screen controllers in use on sunxi hardware.

  • My Tab's touchscreen has stopped working after the windows 10 update. After an exhaustive research online i believe the Silead Touch Screen drivers seem to have compatibility issues with Windows 10. Many other brands have their Silead touchscreens with the same problem on updating to windows 10.
  • Tablet missing the touch screen driver - MSSL-1680 Hello, I did a clean install of windows 10 on my Unisurf 7' tablet, so far I have everythign working except the touch screen drivers, when I check out the hardware id of the device, it says 'mssl 1680', just wondering if anyone has signed drivers for it, I installed kmhf drivers before and they.
  • 1General information
    • 1.5Hardware Configuration and Fex
  • 2Manufacturers
    • 2.2Elan
    • 2.3Focaltech
      • 2.3.4FT5x06
    • 2.4Goodix
    • 2.5Ilitek
    • 2.7Solomon Systech Limited
    • 2.8TCM
    • 2.9ZEITEC Semiconductor

Sep 30, 2014  Learn how to install an older touchscreen driver from the Windows Update Catalog. For other helpful videos go to hp.com/supportvideos or youtube.com/hpprinte.

In general touchscreens are configured by the ctp_para in the fex file. There's also support for resistive touch panels by setting rtp_para in the fex. An example for built in RTP (resistive touch panel) built in controller can be found in the Fex Guide.

An example (for ft5x) would be:

Example for built in RTP:

Hardware

In general a capacitive touchscreen hardware consists of 6 Pins:

  • RST - Reset Pin (Input), Used by the CPU to reset the touchscreen.
  • SDA - I2C SDA (IO)
  • SCL - I2C SDL (Input)
  • INT - Interrupt Pin (Output, can be input during startup), used by the Touchscreen to indicate to the CPU that there are new events
  • VCC - Power Supply
  • GND - GND

Some touchscreen have wakeup pins to allow the touchscreen to go to sleep mode to save battery.

Mainly the I2C pins are connected to any i2c port on the CPU and is used to communicate with the touchscreen.

In the other way a resistive touchscreen has 4 wires. Details can be found in the user manuals for Allwinner chips, in the section TP (touch panel). The interesting thing is that sun4i, sun6i and sun7i have essentially the same RTP controllers so the sun4i_ts driver can work for all of them. Testing was done on an A20 platform and gave exceptionally good results.

Startup Procedure

Usually any touchscreen has a startup procedure during which resets are sent to the touchscreen by the cpu to indicate this procedure. During the reset/startup procedure usually the touchscreen profile data is sent to the touchscreen. Also in some cases the I2C address is set by this rest procedure (for instance, GT911).

The interrupt Pin can be part of the startup procedure for handshakes or indications. In some cases the interrupt pin is also used as input to read additional data from the cpu during reset.

Touchscreen profiles

Some touchscreen (for instance, GT911) require a so call Touchscreen Profile/Configuration. This configuration is sent during or right after the reset procedure of the touchscreen and is usually written to the controller memory (in some cases selectable persistent in eeprom). The Profile/Config defines the parameters of the touchscreen (such as physical size, active area(s). also it can include touchscreen button areas, touchscreen mode and more.

THIS CONFIGURATION MUST BE PROVIDED BY THE TOUCHSCREEN PRODUCER!

Example:

Touchscreen modes

There is 2 modes a touchscreen can work in:

  • Polling Mode
  • Interrupt Mode

This mode is usually defined by the Touchscreen profile/config or the startup/reset procedure.

The preferred mode a capacitive touchscreen should work in is always interrupt mode. In Interrupt mode every time an event on the touchscreen occurs the INT pin triggers and notifies the CPU. the cpu then read the new event from the touchscreen.

In Polling mode the cpu periodically requests the touchscreen data from the touchscreen. This means that there will be a lot of communication on the i2c port since this has to happen once every few ms.

As stated above whenever possible use interrupt mode!

Hardware Configuration and Fex

It is very important to configure the FEX file correctly for your touchscreen.

Step 1

In your hardware schematics identify the I2C pins of your touchscreen and see which I2C it is connected to and set the ctp_twi_id to the id of i2c port.Now you need to find our your i2c address of your touchscreen. this is something you can get out of the chip datasheet or your touchscreen manufacture.

Remember that the address of the touchscreen might be changed when sending the profile/config or via the reset procedure.

Step 2

In your schematics find out which GPIO Pin the INT Pin is connected to.

Define:

please also note the <6> part in the line above. Verify that the Interrupt setting of your Int pin is Function number 6 of the mux setting or modify the <X> according.

Note that on some touchscreens (ft5x) it is required to define another port called the IO port on the same port as the interrupt port:

This setting will define the same port with mux setting 0 as output to allow the driver to switch to IO mode.

Step 3

In your schematics find out which GPIO Pin the RST Pin is connected to.

Note that <1> sets the port as an output.

It might be required to define additional pins for your touchscreen

Software Calibration

Calibration of a touchscreen device can be done with the xinput_calibrator. The xinput_calibrator is very simple tool which enables you to go through standard calibration procedure (press a few points on the screen) and then produces a snippet for xorg.conf.

There can be problems with produced configuration so it's good to test and see what's actually happening. Try to move your finger over the screen and see if there's some sings of miscalibration. Produced config actually scales values from touchscreen controller to map to the screen so it may happen that one axis works ok and another doesn't. Anyways, xinput_calibrator can give you good hint for start and you can tweak it further manually. Detailed list of options can be found in the evdev manual page.

ChipOne

  • Mainline kernel driver: icn8138
  • WIP drivers:
    • icn85xx - WIP branch (announcement)

Elan

EKT3632

Focaltech

Support is available for sunxi-3.4.

FT5301

Supported in sunxi-3.4

FT5302

???

FT5402DQT

Supported in sunxi-3.4

FT5x06

Supported in mainline kernel.

  • FT5206GE1
  • FT5306DE4
  • FT5406EE8

You should need to add in dtb node for support(example for a Q8 tablet):


sunxi-3.4

Supported, but the driver does not load on A20 without the following patch. See this conversation for more information.

This driver does not support transformations (e.g. x-revert), but generates events complying to the multi touch protocol.

Goodix

Datasheets for various GT9xx devices.

Driver for most of the Goodix 9xx chips (see below) is available in mainline. It is quite possible that all the 9xx-series chips are supported by this driver because they seem to have a common register layout. Goodix 8xx is currently unsupported by mainline.

For older chips there are various driver sources targeting older kernel versions (linux-3.3 or linux-3.4) scattered around in different vendor-provided source trees or SDKs.

GT801

No mainline support.Driver available in sunxi-3.4

GT801 2+1

No mainline support. RFC patch that needs to be adapted to work alongside gt9xx chips.

Driver available in sunxi-3.4

GT811

No mainline support.Driver available in sunxi-3.4

GT818

No mainline support.Driver available in sunxi-3.4

GT828

No mainline support.No driver in sunxi-3.4, WIP patch

GT9xx

Support for various Goodix GT9xx chips is available since Linux-4.1 via common goodix driver:

  • gt911
  • gt9110
  • gt912
  • gt927
  • gt9271
  • gt928
  • gt967

For sunxi-3.4, there's WIP driver.

Ilitek

aimvf

Silead

Supported in mainline kernel (gsl1680, gsl1688, gsl3670, gsl3675, gsl3692 and also MSSL1680, MSSL0001, MSSL0002 variants).

Please note that you need device-specific firmware stored under /lib/firmware/silead/ which should be extracted from original software on the device.

If you get lucky, you might find firmware supporting your device from this repository.

  • Datasheet for GSL1680 / GSL1688: GSL1680, GSL1688 datasheet, rev A1.6 – Oct 2012
  • Datasheet for GSL3680: http://dl.linux-sunxi.org/touchscreen/GSL3680_touch-screen-controller-ic-DataSheet_Chinese_RevA1.2.pdf

See also:

Silead
  • GSL1680 - capacitive, multitactile touchscreen controller

Solomon Systech Limited

This Hong Kong based company creates various LCD/OLED driver and touchscreen chips.

SSD2533

TCM

TrueCore Microelectronics

tc1680

Chip marked tc1680j [email protected]The driver for tc1680 is named tc1126 , there's a driver for allwinner kernel 3.4 (lichee) that supports A23 A33 A31 ,Here's The driver:https://github.com/xchetah/tc1126-sunxi

Silead Touchscreen Driver Free

Mainline WIP driver ported from BSP :https://github.com/miky2k/tc1126

Silead Touch Screen Drivers

See also:A33_Q7_V1.0 tablet.

ZEITEC Semiconductor

zet6221

  • WiP and more info: https://github.com/jelly/linux-zet62xx
  • Datasheet: http://linux-sunxi.org/images/2/22/ZP-HW-PS-0003_ZET6221_Product_Spec_v1_2.pdf
  • Driver: https://github.com/wingrime/zet6221-ts-drv
  • WiP driver for all zet62xx chips with firmwares loading for linux-sunxi-3.4 legacy kernel: https://github.com/xchetah/zet6221-sunxi/

Silead Touchscreen Driver Mac

zet6223

Supported in mainline Linux 4.11 (zet6223.c). No firmware (blob) required.

Silead Touchscreen Driver Windows 10

Retrieved from 'http://linux-sunxi.org/index.php?title=Touchscreen&oldid=21700'