Re: [uCsimm] LCD connected, now what ???

From: Tom Walsh (tom@cyberiansoftware.com)
Date: Sat Sep 16 2000 - 18:34:54 EDT


Johan Severeyns wrote:
>
> Hi Tom,
>
> Tom Walsh wrote:
>
> > Try something like this:
> >
> > void SetupLCD (void)
> > {/* set scan rate, etc. */
> > Frame1 = (BYTE *) malloc (FrameSize);
> > /* turn LCD off. */
> > *(vBytePtr) LCKCON_ADDR = 0x0; /* LCD Clocking Control Register. */
> > *(vBytePtr) LVPW_ADDR = 0x14; /* LCD Virtual Page Width Register. */
> > *(vWordPtr) LXMAX_ADDR = 640; /* LCD Screen Width Register. */
> > *(vWordPtr) LYMAX_ADDR = 240; /* LCD Screen Height Register. */
> > *(vBytePtr) LRRA_ADDR = 0x70; /* LCD refresh rate. */
> > *(vBytePtr) LPXCD_ADDR = 1; /* LCD Pixel Clock Divider Register. */
> > *(vBytePtr) LPICF_ADDR = 8; /* LCD Panel Interface Config Register. */
> > *(vBytePtr) LPOLCF_ADDR = 0xf; /* LCD Polarity Configuration Register.
> > */
> > *(vWordPtr) PCPDEN_ADDR = 0xff00; /* LCD pins Port C Pull-Down enb. reg
> > */
> > *(vIntPtr) LSSA_ADDR = (int) Frame1; /* LCD starting address. */
> > /* turn LCD back on. */
> > *(vBytePtr) LCKCON_ADDR = 0x80; /* LCD Clocking Control Register. */
> > }
>
> You mean user space here, not kernel source, right ?
> Since you initialize the LCD controller here, there is no need any more
> to modify the kernel 'crt0_rom.S' or to set environment variables from
> the boot loader, right ?
> Did you try the above code on your display ?

Yup, that is correct, you can either do it in CRT0 or in userland code,
makes no difference, since there is no MMU to 'slap you down' if you
violate the "supervisory code space"! Welcome to embedded systems. ;-)

BTW, the above code will work, as is, if you do an "#include
<asm/MC68EZ328.h" at the top of your C source file.

TomW

>
> >
> > I got an image on the display for about 1 second of power-on before the
> > display went blank. No clue as to what is wrong, there may be some
> > funky initialization that has to be done to immediately after power-on
> > and before it can be used? Maybe something like "wiggle these clock
> > lines this way..." or "stuff these bytes into it first..."???
>
> Do you mean garbage on the display or a real image ? Mine shows some
> garbage that dissapears after a little while, at power-on.
>
> > You can find the area to change these values in
> > linux/arch/m68knommu/platform/68EZ328/ucsimm/crt0_rom.S, you may need to
> > tinker with the LPOLCF register values, these control the polarity of
> > the clock, etc., signals.
> >
> > TomW
> >
> > BTW. My backlight is a bit dim, how is yours? The display is a 3.3v
> > display, not a 5v unit!
>
> Yep, the same here, but I think this is normal for a low power EL backlight
> like this. After all it seems like a PDA display to me, which explains the low
> power consumption (approx 80mA).
>
> >
> > --
> > Tom Walsh - WN3L - Embedded Systems Consultant
> > 'www.openhardware.net', 'www.cyberiansoftware.com'
> > "Windows? No thanks, I have work to do..."
> > This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/
>
> --
> Johan Severeyns
> R&D Engineer, Network Administrator
> IDCS N.V.
>
> This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/

-- 
Tom Walsh - WN3L - Embedded Systems Consultant
'www.openhardware.net', 'www.cyberiansoftware.com'
"Windows? No thanks, I have work to do..."
This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/



This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:38 EST