Information about the hardware interface between the i.MX27 and the TSC2101.
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
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).
Configuration is done through SPI2 bus and audio data exchange through SSIA
|SPI2_TXD/SPL_SPR||MOSI||SPI MasterOut SlaveIn|
|SPI2_RXD_1/PS||MISO||SPI MasterIn SlaveOut|
|PortB 17/SSI1_TXDAT||SSn||SPI Chip select|
|Reset (on Reset switch)||RESETn||Global reset signal|
- 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.
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
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
English • Français