TSC2101

From ArmadeusWiki
Revision as of 17:38, 29 December 2009 by JulienB (Talk | contribs) (Introduction)

Jump to: navigation, search

Information about the hardware interface between the i.MX27 and the TSC2101.

Introduction

This chip is a "SMART" 4-Wire Touch Screen Controller with Stereo DAC (Audio Out), Mono ADC (Audio In) and HP Amplifier. It is used on the APF27Dev development board.

Hardware interface with the i.MX27

Touchscreen

Configuration and data exchange is done through the SPI bus n°2 (SPI2).
The SPI 2 port is shared with the LCD interface of the i.MXL (these signals are present on the DevLight V2 LCD connector).

Audio

Configuration is done through SPI2 bus and audio data exchange through SSIA

Signals

i.MX27 TSC2101 Functionality
SPI2_SCLK/REV SCLK SPI clock
SPI2_TXD/SPL_SPR MOSI SPI MasterOut SlaveIn
SPI2_RXD_1/PS MISO SPI MasterIn SlaveOut
PortB 17/SSI1_TXDAT SSn SPI Chip select
SPI2_SS/PortD 8/CLS PINT/DAVn Interrupt
Reset (on Reset switch) RESETn Global reset signal

Remark:

  • i.MX27 SPI Chip Select signals are not used by Linux SPI infrastructure; it needs multiple chip select (one for each chip connected on the bus), and so GPIOs are used for that purpose.
  • Chip interrupt is on Port D because Port B has already some and interrupt are shared on the same port.

Drivers

SSI test tool

Use a special release of tsc2102 driver and imxssi for audio development purpose.

$ make menuconfig
Package Selection for the target  --->
    Armadeus specific tools/utilities  --->
        [*] imxssi
  • Requirements:

TSC2102 mclk: 16MHZ
FS rate: 32KHz

  • U-Boot: Enable i.MX register access from user space in U-Boot:
 BIOS> run unlock_regs
  • Linux: Load tsc driver
 # modprobe tsc2102
  • imxssi: generate ssi signal

Special release of imxssi can generate an audio signal.
just use imxssi with three parameters:

 # imxssi [-t type] [-l level] [-s samples] [--loop]
  • type can be 0: triangular signal or 1: sinusoïdal signal
  • samples: period of the signal in number of samples per channel
  • level: Signal level coefficient [0.0 .. 1.0]

For example to produce a 300Hz 5v(pk-pk) sinusoid:

 # imxssi -t 1 -s 50 -l 0.15
  • next step: dma transfer

Links


Other languages:

English Flag.svg English  •  French Flag.svg Français