Hi folks!
I have a Beagleboard based OMAP3 platform. I have connected external TSC2046 touchscreen controller in the same manner as at OMAP3EVM, i.e. I have used the same OMAP3530 pins.
The pin-mux configuration is set in u-boot as follows:
…
MUX_VAL(CP(MCSPI1_CLK), (IEN | PTU | EN | M0)) /McSPI1_CLK/
MUX_VAL(CP(MCSPI1_SIMO), (IDIS | PTD | EN | M0)) /*McSPI1_SIMO */
MUX_VAL(CP(MCSPI1_SOMI), (IEN | PTU | EN | M0)) /*McSPI1_SOMI /
MUX_VAL(CP(MCSPI1_CS0), (IDIS | PTD | EN | M0)) /McSPI1_CS0/
MUX_VAL(CP(MCSPI1_CS1), (IEN | PTU | DIS | M4)) /GPIO_175/
/ - PEN_DOWN */\
…
The Linux kernel part is ported from Overo BSP 1:1 with a difference in Pen-down pin which is GPIO_175 at my board.
static struct ads7846_platform_data ads7846_config = {
.x_max = 0x0fff,
.y_max = 0x0fff,
.x_plate_ohms = 180,
.pressure_max = 255,
.debounce_max = 10,
.debounce_tol = 3,
.debounce_rep = 1,
.get_pendown_state = ads7846_get_pendown_state,
.keep_vref_on = 1,
};
When the kernel starts it prints the following lines:
[ 47.658782] ads7846 spi1.0: touchscreen, irq 335
[ 47.664123] input: ADS7846 Touchscreen as /devices/platform/omap2_mcspi.1/spi1.0/input/input1
I consider these lines as a confirmation of the ads7846 driver is initialized perfect.
So the system is started and first I see is “TSLIB calibration utility”. I can press on the first cross and it moves to another corner of a display. This is all, next pressings are ignored.
I tried to change debounce_tol to (~0) and then TSLIB calibration passes successfully. The problem is that at next step when I need to enter login any touches on screen are ignored.
What can I do to enable TS? Please help!
regards,
Max