TSC2102 Linux driver

From ArmadeusWiki
Revision as of 15:35, 7 January 2009 by JulienB (Talk | contribs) (Driver Installation)

Jump to: navigation, search

This page details the installation and the usage of the Linux drivers for the TSC2102 touchscreen & sound chip. Sound (ALSA) specific part can be found here.

Driver Installation

Drivers are now installed by default in standard Armadeus rootfs. Following instructions are only given as references or if you want to remove these drivers from your confiugration.

$ make linux26-menuconfig
in Device Drivers  ---> Input device support  ---> select <*>   Event interface  as builtin
in Device Drivers  ---> Input device support  ---> [*]   Touchscreens  ---> select <M>   TSC 2102 based touchscreens as module

in Device Drivers  ---> SPI support  --->  select <M> Freescale iMX SPI controller as module
in Device Drivers  ---> SPI support  ---> --- TSC2102 codec support should be selected

in Device Drivers  ---> select <M> Hardware Monitoring support  ---> as module
$ make

Then reflash your Linux kernel and your Rootfs...

Architecture

Touchscreen (tsc2102_ts.ko) HWmon ALSA
TSC2102 Main driver (tsc2102.ko)
Linux API

Usage

  • load all the needed drivers:
# modprobe spi_imx
# modprobe tsc2102_ts
TI TSC2102 driver initializing
input: TSC2102 Touchscreen as /class/input/input0
TSC2102 touchscreen driver initialized
  • To check:
# lsmod
Module                  Size  Used by    Not tainted
tsc2102_ts              1188  0
tsc2102                10192  3 tsc2102_ts
hwmon                    916  1 tsc2102
spi_imx                 7136  0

Then, you can:

  • get temperature and voltage with hwmon (Hardware Monitoring) interface. For example:
# cat /sys/class/hwmon/hwmon0/device/temp1_input    -- result in m°C

Quick test

To quickly check driver fonctionnality, touch the screen and check that tsc2102 interrupts count is increasing:

# cat /proc/interrupts
          CPU0
26:          0         MPU  IMX-uart
29:         17         MPU  IMX-uart
30:         22         MPU  IMX-uart
35:         12         MPU  imx-mmc
39:         14         MPU  I2C_IMX
40:         16         MPU  imx-spi.2
41:          0         MPU  imx-spi.1
59:       3682         MPU  i.MX Timer Tick
60:          0         MPU  DMA
61:          0         MPU  DMA
110:         0        GPIO  eth0
168:         0        GPIO  tsc2102
Err:         0
#

then, after having configured Tslib, start the touchscreen calibration tool:

# /usr/bin/ts_calibrate

Links