Need help in configuring ADS7846 touchscreen for beagleboard

848 views
Skip to first unread message

Kets

unread,
Aug 22, 2012, 4:44:04 AM8/22/12
to beagl...@googlegroups.com
Hi,

I have managed to get xinput detect the ADS7846 touchscreen detection on the beagle board.
Here are the mux settings:
etk_d0 - mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE1
etk_d1 - mode: OMAP_PIN_INPUT | OMAP_MUX_MODE1
etk_d2 - mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE1
etk_d3 - mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE1

Perhaps there is problem in configuring. Currently the touchscreen is not responding. The /var/log/Xorg.0.log shows:
[    12.900] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/event0)
[    12.900] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    12.900] (**) ADS7846 Touchscreen: Applying InputClass "evdev touchscreen catchall"
[    12.900] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    12.900] (II) LoadModule: "evdev"
[    12.902] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[    12.919] (II) Module evdev: vendor="X.Org Foundation"
[    12.919]    compiled for 1.11.3, module version = 2.7.0
[    12.919]    Module class: X.Org XInput Driver
[    12.919]    ABI class: X.Org XInput driver, version 16.0
[    12.919] (II) Using input driver 'evdev' for 'ADS7846 Touchscreen'
[    12.919] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[    12.919] (**) ADS7846 Touchscreen: always reports core events
[    12.919] (**) evdev: ADS7846 Touchscreen: Device: "/dev/input/event0"
[    12.920] (--) evdev: ADS7846 Touchscreen: Vendor 0 Product 0
[    12.920] (--) evdev: ADS7846 Touchscreen: Found absolute axes
[    12.920] (--) evdev: ADS7846 Touchscreen: Found x and y absolute axes
[    12.920] (--) evdev: ADS7846 Touchscreen: Found absolute touchscreen
[    12.920] (II) evdev: ADS7846 Touchscreen: Configuring as touchscreen
[    12.920] (**) evdev: ADS7846 Touchscreen: YAxisMapping: buttons 4 and 5
[    12.920] (**) evdev: ADS7846 Touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    12.920] (**) Option "config_info" "udev:/sys/devices/platform/omap2_mcspi.3/spi_master/spi3/spi3.0/input/input0/event0"
[    12.921] (II) XINPUT: Adding extended input device "ADS7846 Touchscreen" (type: TOUCHSCREEN, id 6)
[    12.921] (II) evdev: ADS7846 Touchscreen: initialized for absolute axes.
[    12.930] (**) ADS7846 Touchscreen: (accel) keeping acceleration scheme 1
[    12.930] (**) ADS7846 Touchscreen: (accel) acceleration profile 0
[    12.930] (**) ADS7846 Touchscreen: (accel) acceleration factor: 2.000
[    12.930] (**) ADS7846 Touchscreen: (accel) acceleration threshold: 4
[    12.931] (II) config/udev: Adding input device ADS7846 Touchscreen (/dev/input/mouse0)
[    12.932] (**) ADS7846 Touchscreen: Applying InputClass "calibration"
[    12.932] (II) Using input driver 'evdev' for 'ADS7846 Touchscreen'
[    12.932] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[    12.932] (**) ADS7846 Touchscreen: always reports core events
[    12.932] (**) evdev: ADS7846 Touchscreen: Device: "/dev/input/mouse0"
[    12.932] (EE) ADS7846 Touchscreen: Couldn't open mtdev device
[    12.932] (EE) evdev: ADS7846 Touchscreen: ioctl EVIOCGID failed: Inappropriate ioctl for device
[    12.932] (EE) PreInit returned 8 for "ADS7846 Touchscreen"
[    12.933] (II) UnloadModule: "evdev"
[    12.933] (II) Unloading evdev

Here is the configuration file: (/etc/X11/xorg.conf.d/10-evdev.conf)
Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "57 3961 -79 4173"
        Driver "evdev"
EndSection

If i do cat /dev/input/event0 or cat /dev/input/mouse0, there is not output upon tapping the touchscreen.

Any pointers on this would be of great help.

Regards,
Ketan

Kets

unread,
Aug 22, 2012, 8:41:14 AM8/22/12
to beagl...@googlegroups.com
Got this working:

Changed configuration:

Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection
Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "57 3961 -79 4173"
EndSection

Also had to correct the mux values.
Reply all
Reply to author
Forward
0 new messages