W35 drivers for mini2440

WIngston
i have the mini2440 but with the w35 screen... 
the dvd that came with my board was broken.. :(
now i managed to get an iso out of andahammer.com but the iso has none of
the kernels for the w35 touch drivers.. (except for the default qtopia)..

how do i go about compiling angstorm or wince for my mini2440 without the
kernel..

i've installed android on my mini2440 but the screen is not proper.. part
of the screen shows up in random colours.. and the android screen is
disoriented 

does anybody have any idea where i can get the new w35 drivers or bin files
or anything?

Tav
I just got a W35 screen with the mini2440 ELLK II kit my employer bough for
evaluation. It also came with no W35 support. With Angstrom the screen is
rotated 90 degrees compared to the T35 and X35 displays. This is because
the geometry of the W35 is 320x240 where the geometry of all the other 3.5"
displays are 240x320.

There is no special Linux kernel driver for the LCD display. There is only
one driver for the LCD controller. The driver is s3c2410.c and it lives in
the kernel source tree under "drivers/video". You will not need to modify
this file.

The only thing you need to change is the LCD geometry and timing. This
lives in the file mach-mini2440.c under "arch/arm/mach-s3c2440.

In order to test this I did a quick hack to the T35 geometry. These values
give a decent display with Angstrom. This is only a quick hack the next
step is to create a W35 configure option in drivers/video/Kconfig. This way
the W35 will be a menu option in kernel config. Here is the W35 hack:

#elif defined(CONFIG_FB_S3C2410_T240320)
#define LCD_WIDTH 320
#define LCD_HEIGHT 240
#define LCD_PIXCLOCK 70000
#define LCD_RIGHT_MARGIN 68
#define LCD_LEFT_MARGIN 66
#define LCD_HSYNC_LEN 4
#define LCD_UPPER_MARGIN 4
#define LCD_LOWER_MARGIN 4
#define LCD_VSYNC_LEN 9
#define LCD_CON5 (S3C2410_LCDCON5_FRM565 | S3C2410_LCDCON5_INVVDEN |
S3C2410_LCDCON5_INVVFRAME | S3C2410_LCDCON5_INVVLINE |
S3C2410_LCDCON5_INVVCLK | S3C2410_LCDCON5_HWSWP ) 
#elif defined(CONFIG_FB_S3C2410_X240320)


For more information on the MINI2440 video driver and setting up custom
displays see:
http://www.gossamer-threads.com/lists/linux/kernel/1393616

If your mach_mini2440.c doesn't use #defines you might check out this
patch:
http://suchakra.wordpress.com/2011/01/12/android-on-friendlyarm-mini2440...

Don't know much about Wince but I would guess it also has the display
geometry separate from the video drive like in real Windows.

Tim

Eleandro
Hello,

I could compile this code an get the LDC working, but this LCD give me a
widescreen orientation and I don't want this orientation.
Can someone help me how to change the orientation for W35?

Thanks.

Eleandro

*Baby*
I installed Android, but I use a different LCD_LEFT_MARGIN, LCD_HSYNC_LEN
and LCD_VSYNC_LEN.

I used the value given in the w35 cofiguration file from FriendlyARM.

Android  boot well, I calibrate my touchscreen, but after that the
touchscreen is inacurate. When I touch an icon, it touch the another. 

It's like if it's not calibrate.

Do you know where does this com from ?


Thanks

*Baby*
@ Eleandro 

You dont really have a wide screen orientation.

Our screen has just a width longer that the height. So it look like a wide
orientation but in the code it's not a wide orientation.

Markus Mehlan
@ *Baby*

I have the same problem with a linux-2.6.39 (No android). The
BSP comes from pengutronix:
http://www.ptxdist.org/oselas/bsp/pengutronix/mini2440_bsp_de.html

The same board with the same kernel + rootfs and a x35/n35-Display
works fine.

Has anyone similar problems with recent kernels and w35i display?

Bye,
Markus

Juergen Beisert
Any chance to get the sources of their kernel to get an idea what they do
in a different way?

*Baby*
I successed to run Android and the LCD/Touch screen work fine.

You have to adjust the touchscreen driver too.

I will give you the steps when I come back.

Ali
Hi Baby,

 May you describe how you could successed to run Android and the LCD/Touch
screen? and how to adjust the touchscreen driver too?

krish
yes pls give details on fixing the screen problem. My screen is in
landscape mode and touch interface is in potrait mode it seems.

krish
@baby 
how did you fix the inaccurate touchscreen?? pls reply..

*Baby*
Hi, 

I'm sorry I forgot to answer you.

Currently I'm in vacation so I cannot give you the steps. I don't have a
PC.

The next I will give you all you need.

*Baby*
@krish and @Ali

The tutorial is available on :
http://ultimatewebfree.kinssha.org/index.php/tutorielmini2440

The tutorial is in french. Sorry, currently I don't have the time to
translate it.

Please, use google to translate it.

I four have further questions...

krish
thanks a lot bro.. :) :)

Alejandro
Hi.

I have the problem with WIN CE 6.0.  Somebody knows how to solve this
problem, using this OS and the w35 screen?

Please help meee!

Thanks.

macool
I successfully installed Android, but the touchscreen is not working well.
When I touch an icon, it selects another one.

I tried to visit that french tutorial, but the webpage is not available
anymore. Could  somebody help me, please?

Thanks in advance

kiran
hai macool
 

try to recalibrate using usb mouse if you have a installed recalibaration
application

vijay singh yadav
you can use arm mini 2440 with 7" inch touch panel with windows ce6 english
image.

all you have to do is just use mouse after installing windows ce6 to reach
to option caliberation under stylus menu.

after reaching use your touch panel to click at appropriate places where
cross appear.

then you will be able to use it without touch screen problem.

you can download needed softwares for windows ce6 from link below:----

http://www.friendlyarm.net/forum/topic/1582

it4rb
Hi *Baby*.
Your link had broken, could you please give me some details about touch
screen driver.
Thanks.

it4rb
Hi everyone.
I've just find out how to modify touch screen driver for W35 screen. I
write it here in case somebody dig up later.
You have to open /drivers/input/touchscreen/s3c2410_ts.c ,then find in
function "touch_timer_fire", at line 99,100 or around. You'll see to line 
disX = disX * 1024 / 240;
disY = disY * 1024 / 320;

Just change it to:
disX = disX * 1024 / 320;
disY = disY * 1024 / 240;

then make zImage, download it, boot from board, calibrate, and things'll
work fine.

ennh99
Hi I would really appreciate if you let me know how I can calibrate my
screen. I can't do it with the touch screen . Mini2440+windows ce5
many thanks

Senacharim
Followed this:
The only thing you need to change is the LCD geometry and timing. This
lives in the file mach-mini2440.c under "arch/arm/mach-s3c2440.

In order to test this I did a quick hack to the T35 geometry. These values
give a decent display with Angstrom. This is only a quick hack the next
step is to create a W35 configure option in drivers/video/Kconfig. This way
the W35 will be a menu option in kernel config. Here is the W35 hack:

#elif defined(CONFIG_FB_S3C2410_T240320)
#define LCD_WIDTH 320
#define LCD_HEIGHT 240
#define LCD_PIXCLOCK 70000
#define LCD_RIGHT_MARGIN 68
#define LCD_LEFT_MARGIN 66
#define LCD_HSYNC_LEN 4
#define LCD_UPPER_MARGIN 4
#define LCD_LOWER_MARGIN 4
#define LCD_VSYNC_LEN 9
#define LCD_CON5 (S3C2410_LCDCON5_FRM565 | S3C2410_LCDCON5_INVVDEN | \
S3C2410_LCDCON5_INVVFRAME | S3C2410_LCDCON5_INVVLINE | \
S3C2410_LCDCON5_INVVCLK | S3C2410_LCDCON5_HWSWP ) 

/* Mind the line breaks! */

with my already in place config being the _t35 one, using the
linux-2.6.32.2 kernel--compiled, flashed kernel into NAND and the screen is
now working correctly!


Thank you! Thank you!!

whitebank
Hello, you can follow this way to config W35 screen in Kernel
http://mini2440vietnam.blogspot.com/2011/10/6-code-for-x35-sony-screen-o...
good luck

sudhakar
I have the compiled the linux-2.6.32.2 and got zImage ,but when i ported on
mini2440 board ,am getting only half display ,I am using w35 screen.any
changes or any file i need to edit?