Hi all, The image on the 3.5" lcd on my mini2440 is shifted to left by about 10 pixels, and corresponding righthand side of the screen is black. I think it is a software/setting problem. Any ideas how to fix this? Thanks in advance
mini2440 3.5 lcd problem
just install a correct image, i suspect your lcd is N35, and you´ve installed the image for the T35 ( default factory comes with qtopia for T35 )
I have discovered this issue too. On linux kernel 2.6.31 from Buserror repository display image has blank area in the left side of the display. Moreover, I compiled tslib and after a scope of tests I discovered, that after touchscreen calibration and testing using ts_test utility I received next results: # ts_test For upper left corner of the screen: 191.215095: -12 0 1 191.235065: -12 0 1 191.245091: -12 0 1 191.255091: -12 0 1 For bottom left corner of the screen: 213.025056: -13 320 1 213.055057: -13 320 1 213.075057: -13 320 1 213.105065: -13 320 1 For upper right corner of the screen: 48.995089: 228 0 1 49.005106: 228 0 1 49.025067: 228 0 1 49.085230: 228 0 1 For bottom right corner of the screen: 55.140097: 227 320 1 55.170088: 227 320 1 55.180091: 227 320 1 55.190094: 227 320 1 So picture and touchscreen offset is some about 13 pixels. And after some digging in the kernel I realized that issue is in the /arch/arm/mach-s3c2440/mach-mini2440.c file (for kernel 2.6.31). In my case I had to change in _LCD_DECLARE macro parameter margin_right in mini2440_lcd_cfg[0] structure from 38 to 25 (13 pixels). Here is an example of patch (in your case offset can be different and for 7" LCD you should change mini2440_lcd_cfg[1]): ========================================================= --- a/arch/arm/mach-s3c2440/mach-mini2440.c 2009-10-09 14:04:28.000000000 +0300 +++ a/arch/arm/mach-s3c2440/mach-mini2440.c 2009-10-09 14:04:45.000000000 +0300 @@ -228,7 +228,7 @@ [0] = { /* mini2440 + 3.5" TFT + touchscreen */ _LCD_DECLARE( 7, /* The 3.5 is quite fast */ - 240, 21, 38, 6, /* x timing */ + 240, 21, 25, 6, /* x timing */ 320, 4, 4, 2, /* y timing */ 60), /* refresh rate */ .lcdcon5 = (S3C2410_LCDCON5_FRM565 | =========================================================
Excellent! Perfect.. but i see there are 2 more black pixels on the top of the screen. What value should I modify in order to get them working (toppoly 3,5" indeed :) ) Thanks in advance
Hello, I have a mini2440 device with 3.5" lcd. I can't configure my touch screen properly. When i run ts_calibrate, it gives me out of the range values (larger than 240 and 320) # ts_calibrate xres = 240, yres = 320 Took 3 samples... Top left : X = 269 Y = 802 Took 5 samples... Top right : X = 744 Y = 805 Took 5 samples... Bot right : X = 730 Y = 243 Took 5 samples... Bot left : X = 257 Y = 234 Took 5 samples... Center : X = 506 Y = 519 -24.525146 0.295405 -0.006785 360.303558 0.004907 -0.389480 Calibration constants: -1607280 19359 -444 23612854 321 -25524 65536 # ts_test For upper left corner of the screen: 1258990843.674079: 3 4 1 1258990843.684055: 3 4 1 1258990843.704042: 3 4 1 1258990843.714046: 3 4 1 1258990843.719095: 4 5 0 For bottom left corner of the screen: 1258990876.559084: 9 320 1 1258990876.599031: 9 320 1 1258990876.604118: 9 320 0 For upper right corner of the screen: 1258991168.274082: 233 9 1 1258991168.284055: 233 9 1 1258991168.294063: 233 9 1 1258991168.314031: 233 8 1 1258991168.324046: 233 8 1 For bottom right corner of the screen: 1258991214.264094: 232 315 1 1258991214.294029: 231 315 1 1258991214.304060: 231 315 1 1258991214.314062: 231 315 1 1258991214.344037: 231 315 1 What's the reason?
Hi, I m using Qt4.5.3 on mini2440 with tslib. I m trying to use same /bin/qtopia file from qtopia2.2 which comes with friendly arm for faster boot up. My /bin/qtopia file looks like this:- (These paths are correct according to my environment) #!/bin/sh mknod /dev/input/ts c 13 65 export TSLIB_TSEVENTTYPE=INPUT export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/input/ts export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONFFILE=/etc/ts.conf export TSLIB_PLUGINDIR=/usr/local/Qt/lib/ts export QTDIR=/usr/local/Qt export QPEDIR=/usr/local/Qt export PATH=$QTDIR/bin:$PATH export QWS_MOUSE_PROTO=tslib:$TSLIB_TSDEVICE export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH ....................... The qtopia file of qtopia2.2 is:- #!/bin/sh export TSLIB_TSDEVICE=/dev/input/event0 export TSLIB_CONFFILE=/usr/local/etc/ts.conf export TSLIB_PLUGINDIR=/usr/local/lib/ts export TSLIB_CALIBFILE=/etc/pointercal export QTDIR=/opt/Qtopia export QPEDIR=/opt/Qtopia export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH ..................... Now, my question is, when qtopia 2.2 boots up, as tslib paths are exported,you can directly use touch screen. But for me, touch screen won't work at boot up and on console , i have to again export above paths manually and then it works. My /etc/init.d/rcS is also same which calls /bin/qtopia. Any guess , what changes i should make?
Hello I have a problem about ./ts_calibrate command. It returns "segmentation fault". How can I solve this problem. For more infomation, I use mini2440 with nand 128mb and emdebian as the root file system. ===This is a result=== INDIR=/usr/lib/tsh-3.2# export TSLIB_CONSOLEDEVICE=none sh-3.2# export TSLIB_FBDEVICE=/dev/fb0 sh-3.2# export TSLIB_TSDEVICE=/dev/input/event1 sh-3.2# export TSLIB_CALIBFILE=/etc/pointercal sh-3.2# export TSLIB_CONFFILE=/etc/ts.conf sh-3.2# export TSLIB_PLUGINDIR=/usr/lib/ts sh-3.2# export QWS_MOUSE_PROTO=tslib:/dev/input/event1 sh-3.2# cd bin sh-3.2# ./ts_calibrate Segmentation fault ===ts.conf=== module_raw input module pthres pmin=1 module variance delta=30 module dejitter delta=100 module linear
there was small hint somewhere on the web, try following export TSLIB_CONFFILE then ./ts_calibrate then set back export TSLIB_CONFFILE=/etc/ts.conf
BTW you can have a look also here http://blog.cor-net.org/embedded/mini2440/qt-45-on-mini2440/
In reply to the original question: The blank left row can be eliminated by passing the right bootarg to kernel from the uboot. The mini2440=0tb is used for an older 3.5" LCD. The LCDs after 2009 Nov (T35) requires the 3tb parameter. Use setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=ttySAC0,115200 mini2440=3tb; saveenv; reset or similar in the uboot prompt to solve the issue.
For the question "the image on the 3.5" lcd on my mini2440 is shifted to left by about 10 pixels", I have had the sample problem and my solution is change the file march-mini2440.c. For source code kernel version 2.6.32.2 you should open the file linux-2.6.32.2/arch/arm/mach-s3c2440/mach-mini2440.c and change to: #define LCD_WIDTH 240 #define LCD_HEIGHT 320 #define LCD_PIXCLOCK 100000 #define LCD_RIGHT_MARGIN 25 #define LCD_LEFT_MARGIN 0 #define LCD_HSYNC_LEN 4 #define LCD_VSYNC_LEN 1 #define LCD_UPPER_MARGIN 1 #define LCD_LOWER_MARGIN 4 For source code kernel you download on the git, open the sample file and change this command: .displays = &mini2440_lcd_cfg[0] to .displays = &mini2440_lcd_cfg[3] if your lcd is TFT 3,5". I hope my result can help you.
Hi ,...I Compiled Linuc2.6, and Android ..both were executing fine..but no display..... Mine is Mini2440 board with TPO lcd...the image provided zImaget35 with board works...fine but i dont where i went wrong in Kernel configuration...kindly any one suggest me..
You know it works fine because you get sensible message on a remote terminal? I'll guess ... have you got all these boxes ticked in kernelconfig? Device Drivers ---> Character devices ---> [*] Virtual terminal [*] Enable character translations in console [*] Support for console on virtual terminal Graphics support ---> [*] Support for frame buffer devices ---> <*> S3C2410 LCD framebuffer support Console display driver support ---> <*> Framebuffer Console support [*] Map the console to the primary display device [*] Select compiled-in fonts [*] VGA 8x8 font Input device support ---> [*} Touchscreens ---> {*] Samsung S3c generic touchscreen input driver <*> Mouse interface [ ] Provide legacy /dev/psaux device (240) Horizontal screen resolution (320) Vertical screen resolution The last two are possibly different for you. Good luck!
Dear Davef... I just followed the steps as mentioned above but i got this error.... Device Drivers ---> Character devices ---> I din't find any of this options [*] Virtual terminal [*] Enable character translations in console [*] Support for console on virtual terminal Graphics support ---> [*] Support for frame buffer devices ---> I din't find the below option......there was no s3c2410 options <*> S3C2410 LCD framebuffer support Input device support ---> [*} Touchscreens ---> I din't find the below option......there was no s3c options {*] Samsung S3c generic touchscreen input driver drivers/input/touchscreen/eeti_ts.c: In function 'eeti_ts_irq_active': drivers/input/touchscreen/eeti_ts.c:64: error: implicit declaration of function 'irq_to_gpio' make[3]: *** [drivers/input/touchscreen/eeti_ts.o] Error 1 make[2]: *** [drivers/input/touchscreen] Error 2 make[1]: *** [drivers/input] Error 2 make: *** [drivers] Error 2 regards, mike
Hi Dave,..I am using linux-2.6.32.2-mini2440-20110413.tar.gz The ond provided by board manufacturer.... Dave ..I was not getting the options what you have provided but if compile without any modifications in my default config file...i.e config_mini2440t35...I wont get any display........ But i get with default image what they have provided ......... today i unzipped a fresh copy of kernel and configured as you mentioned ...but still there were few options missing ...But But i din't get any error let me see if i could get display
OK, what root filesystem are you using? It has been years since I used that kernel version. The last year or so I have been using the Pengutronix BSP. If you are just starting out and want to get to work I'd suggest their BSP. If you are wanting to learn the process then persist with your current kernel. So, your remote terminal gives you access to what is going on the target? I did ask that several posts up.
hi Dave, I am using rootfs_qtopia_qt4.img....I dint tried to create any image for root file system i am using the one provided with Board manufacturer Yes Dave my terminal gives me access to my kernel running on my target...Both Android and linux 2.6..... No Dave it's not like that i want to learn only that linux 2.6 or the one provided with board manufacturer... Or just learn process ..... My idea is to experiment or bring up all the available version on my board..later i want to learn debugging of the drivers.... Ok Dave can you give link to Pengutronix BSP i want to give a try for it...Since i am in starting stage i would like to go one which is current trend Regards, Devika
I think you need to work out why your display doesn't work with the supplied images. There are a number of issues people have had with various displays for these devices. So, tell us the full part number of the display. Also, I assume you have never seem anything on the touchscreen on this unit. The Pengutronix BSP covers most or all of the known displays for the mini2440. Check through their QuickStart.pdf It's all at: http://www.oselas.org/oselas/bsp/pengutronix/mini2440_bsp_en.html
Hi Dave,...I just followed your steps for linux configuration and it worked this time display came ...But is it same configuration works for Android also? If not can you provide me configuraion steps..!
Hi,..Dave...I downloaded Pengutronics....BSP for mini2440..and thought of patching with latest kernel...I am goggling but,... can you brief of patching steps... Many many thanks for your all support... regards,
Hello Dave, I want to proceed with Analyses of Linux start up, boot loader and device driver and thought of using OpenOCD. Can you please let me know the basics of OpenOCD, or MINI2440 Debugging technique. Thanks in advance regards,
Hi I am doing project on friendly arm so please can any one help me out for writing the program in c language that i want to write program as, where ever i touch on the screen i should get the co-ordinates .........so please can anyone help me
If you look in the code examples of the DVD you might find the code for ts_test, which I think will give you the co-ordinates.