Mini6410 Backlight driver.

Max_egodom3
Hi,
I downloaded last update, but I didn't find Backlight driver for Wince6 R3.
Where I can find it?
I'm a satisfied user of mini2440; this board have a complete backlight
driver, but it have only 64M ram instead of 128M of Mini6410; but this one
has not all functionality of the smallest one.

For backlight, I found only some commented lines in:
"C:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\DISPLAY\s3c6410_disp_drv\s3c6410
_disp.cpp"


line: 2265
        // Backlight On
        // TODO: To be Replaced with Backlight Driver

  //m_pGPIOReg->GPFDAT |= (1<<15);                                       
// set GPF[15] to High
       // m_pGPIOReg->GPFCON = (m_pGPIOReg->GPFCON & ~(3<<30)) | (1<<30);  
 // set GPF[15] as Output
    }

and at line: 2292 about same lines for  Backlight OFF.

So, I can hope that this driver will be available in a few days (as I found
in update topic for this board), or I can restore the above lines and use
it with GPIO?

Thanks to all.

Max_egodom3
Attachment: Backlight.rar (24.62 KB)
nothing??? :(

I found full backlight driver for mini 2440 on BSP package for this board.
It's possible friendlyarm didn't port it to mini6410?

Can someone help me? 
I have no experience to write drivers, so I attached source code of
backlight for mini2440. 
I hope someone can do it.

THANKS.

yopo
Hi,

I did some modifications in my project in order to control backlight. I
didn't use that driver, I modified PWM.cpp. Control backlight has to be
done with a PWM signal (like motor control) in some pin (check
schematics!). Then, check CPU datasheet and see what registers has to be
configured for duty cycle control.

Sorry, I don't have more time now... let me know if you understood, I'll
check this topic as soon as possible.

See you!
Leo

Max_egodom3
Hi yopo, THANKS for your great help.
I found PWM.cpp for mini6410, and from schematics I think you used GPE0 =
PIN 30 lcd connector - PIN 5 CPU.
unfortunately I don't have experience in driver building.
Can yuo share in this topic, your PWM.cpp (and other files if necessary)?
PLEASE.
Thanks again.

yopo
mmm... I think my pwm is not useful, because is a very dirty code and the
only thing I did was to change PWM signal from buzzer in mini2440 to pin
for backlight in LCD.

Let's see some things first, do you understand what is a PWM signal?? If
you do, the main thing on this is configure some registers, like frequency
of signal and duty cycle. Frequency must be a constant value, but duty
cycle have to be controled from any application; this value controls
backlight intensity.

CPU has many timers; one of them is associated to PWM what you need, you
have to see pinout of uC.

Looking my datasheet (remember: mini2440), I see this registers:

TCFG0, TCFG1, TCON: basic configurations
TCNTBx:  defines frequency for Timer x
TCMPBx:  defines duty cycle for Timer x (this is what you have to control).

I recommend you this steps:

1- Check this link:
http://geekswithblogs.net/BruceEitman/archive/2010/08/01/windows-ce-usin...
2- Then, read datasheet (PWM section). Identify registers you need (check
pinout!)
3- Check PWM driver, how it is implementated. I don't know what do by
default in mini6410, but in mini2440 it configures PWM signal to buzzer.
So, understand that and then do modifications for use your PWM
 Obs: you will need some application to call driver... do you have any
example in DVDs?? (in mini2440, I used Buzzer app)

See you!
Leo

Dezso
Anyone have find a way to implement the backlight control for this board ?
I really need to be able to turn off backlight once user inactive. 
Please help me if you can. 
Ty

davef
The Pengutronix BSP for the mini2440 has this ability.  I assume their BSP
for the mini6410 would also support this. You'd have go digging into the
their patch files to see how they did it.

Dezso
I need it for WINCE6..

Found some drivers around but steel cant figure it out how to implement it,
I'm not a C/C++ expert.
This line sets the GPF15 high and output

m_pGPIOReg->GPFDAT |= (1<<15); 
m_pGPIOReg->GPFCON = (m_pGPIOReg->GPFCON & ~(3<<30)) | (1<<30);

My LCD connected to GPF14 ! how to change this for GPF14 ?
m_pGPIOReg->GPFDAT |= (1<<14); 
m_pGPIOReg->GPFCON = (m_pGPIOReg->GPFCON & ~(3<<30)) | (1<<28);

Is this right ? It does not working! Managed to control the buzzer as the
backlight, like the buzzer pich change as the backlight time out take
effect, Buzzer connected to GPF15...

Dezso
Got it figured out. 
Driver not in the best shape but works. 

Check out the video. 
http://youtu.be/ofmu74wV1n8

Dezso
Any here would be able to modify the controlpanel/screen/backlight panel ?
Want to add a slider to change one of the registry setting so don't need
separate app to do that.