I've got a emdebian rootfs with the linux-2.6.38-20120904 source and tslib driver provided by FriendlyARM to work properly with the touchscreen. In that kernel release it creates a /dev/1-wire-touchscreen device, which when cat'ed will produce output when the LCD is tapped. Only issue is that I can't get the packages I need to cross compile as nicely as the Mini6410 git BSP can, and trying to boot with the FriendlyARM 2.6.38 kernel and the BSP rootfs gives the error that it can't find /r/dev/console. At this point I'm completely confused and would pay to get the problem solved. Thanks, - David
On Tue, Mar 5, 2013 at 4:51 PM, Tomasz Figa <[email protected]> wrote: > Hi David, > > On Monday 04 of March 2013 21:02:58 david wrote: > > Thanks for updating the git version of the mini6410 BSP, everything > > appears to be working with the exception of the 1-wire touchscreen. I > > boot using the "mini6410=1i" boot argument, and the kernel does print > > the following lines: > > > > tiny6410-1wire tiny6410-1wire: Tiny6410 1-wire host initialized. > > input: Tiny6410 Touchscreen as > > /devices/platform/tiny6410-1wire/tiny6410-1wire-touchscreen/input/input0 > > > > I edited the /etc/profile.environment file to add the tslib variables: > > > > export TSLIB_TSDEVICE=/dev/input/event0 > > export TSLIB_CONSOLEDEVICE=none > > export TSLIB_FBDEVICE=/dev/fb0 > > export TSLIB_CALIBFILE=/etc/pointercal > > export TSLIB_CONFFILE=/etc/ts.conf > > export TSLIB_PLUGINDIR=/usr/lib/ts > > > > Then I edited the /etc/ts.conf file to change to the 1-wire tslib > > driver: > > > > module_raw one-wire-ts-input > > module pthres pmin=1 > > #module variance delta=30 > > module dejitter delta=10 > > #module group radius=10 nbpoints=16 threshold=12 > > #module skip nhead=4 ntail=4 > > #module lowpass factor=1 threshold=1 > > #module median depth=2 > > module linear > > > > Running ts_calibrate gives the following output, but never waits for me > > to touch the screen: > > > > root@mini6410:~ ts_calibrate > > xres = 800, yres = 480 > > Took 1 samples... > > Top left : X = -1225105328 Y = -1092545592 > > Took 1 samples... > > Top right : X = -1225105328 Y = -1092545592 > > Took 1 samples... > > Bot right : X = -1225105328 Y = -1092545592 > > Took 1 samples... > > Bot left : X = -1225105328 Y = -1092545592 > > Took 1 samples... > > Center : X = -1225105328 Y = -1092545592 > > -0.840190 -0.677624 0.759841 > > 0.199915 -0.002156 0.002418 > > Calibration constants: -55062 -44408 49796 13101 -141 158 65536 > > > > Running "evtest /dev/input/event0" gave the following output, but didn't > > print anything when the screen was tapped: > > Input driver version is 1.0.1 > > Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0 > > Input device name: "Tiny6410 Touchscreen" > > Supported events: > > Event type 0 (Sync) > > Event type 1 (Key) > > Event code 330 (Touch) > > Event type 3 (Absolute) > > Event code 0 (X) > > Value 0 > > Min 0 > > Max 4095 > > Event code 1 (Y) > > Value 0 > > Min 0 > > Max 4095 > > Testing ... (interrupt to exit) > > > > Finally I tried to do "cat /dev/input/event0" and tapped around on the > > touchscreen, but this also produced no output. Any help would be greatly > > appreciated. Thanks, > > > Are you sure that your screen module actually uses the 1-wire interface? > > There seem to be two versions available on the market - with 1-wire > interface and with direct connection to ADC of the S3C6410. Moreover, one > can be made the other by properly reconfiguring several 0 ohm resistors. > > Btw. /* RANT MODE */ This whole 1-wire interface has nothing in common > with real Dallas' 1-wire bus. It looks more like a strange UART with 9600 > bps baud rate and long frame format. In addition there is no real > specification of this interface, so all the assumptions are made after > reading the original hacky driver from FriendlyARM's kernel. Someone > should really push FriendlyARM to give some specification... /* END OF > RANT MODE */ > > The 1-wire host driver I wrote long time ago seemed to work for me on my > board for some time, but then after some time it started to generate a lot > of CRC errors. I have no idea what was the reason, because I lost patience > and just resoldered the resistors to use the ADC directly, which I > recommend instead of wasting time with this crappy interface. > > Best regards, > Tomasz > >
