Skip to contentSkip to conversation

LOGO: Adds LCD color map 565 support.

PATCH New Rodolfo Giometti 4 participants 12 messages May 25, 2007 – May 30, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

---
 README           |    4 +++
 common/lcd.c     |   41 ++++++++++++++++++++++++++++++++++----
 tools/bmp_logo.c |   56 +++++++++++++++++++++++++++++++++++------------------
 3 files changed, 77 insertions(+), 24 deletions(-)
README +4 -0
index b78ea61..207c881 100644
@@ -2209,6 +2209,10 @@ Low Level (hardware related) configuration options:
   CFG_POCMR2_MASK_ATTRIB: (MPC826x only)
 		Overrides the default PCI memory map in cpu/mpc8260/pci.c if set.
 
+- CFG_LOGO_CMAP_MODE
+		Define the current LCD color map mode. Default value is 444 but
+		565 can also be used.
+
 - CONFIG_ETHER_ON_FEC[12]
 		Define to enable FEC[12] on a 8xx series processor.
 
common/lcd.c +36 -5

82 lines not on this page · raw message

tools/bmp_logo.c +37 -19

112 lines not on this page · raw message

Signature · 1 line
1.5.1.1
#1 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

README Low Level (hardware related) configuration options: · line 2215

Quoted 5 lines · In message <[email protected]> you wrote:

+- CFG_LOGO_CMAP_MODE

README +3 -0
+		Define the current LCD color map mode. Default value is 444 but
+		565 can also be used.
+

Is the color map code really only relevant for the logo display? I tend to believe thatit has an overall effect and will - for example - have impact on other bitmap files, too ?

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Uncertain fortune is thoroughly mastered by the equity of the  calcu-
lation.                                               - Blaise Pascal
#2 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

Quoted 10 lines · Wolfgang Denk

README Low Level (hardware related) configuration options: · line 2215

Quoted 5 lines · In message <[email protected]> you wrote:

+- CFG_LOGO_CMAP_MODE

README +3 -0
+		Define the current LCD color map mode. Default value is 444 but
+		565 can also be used.
+

Is the color map code really only relevant for the logo display? I tend to believe thatit has an overall effect and will - for example - have impact on other bitmap files, too ?

This modification affects only function bitmap_plot() which is called by lcd_logo() only if CONFIG_LCD_LOGO is defined.

Ciao,

Rodolfo

Signature · 4 lines
GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at gnudd.com
Embedded Systems                     		giometti at linux.it
UNIX programming                     phone:     +39 349 2432127
#3 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

Quoted 10 lines · In message <[email protected]> you wrote:
Quoted 9 lines

README Low Level (hardware related) configuration options: · line 2215

Quoted 5 lines

+- CFG_LOGO_CMAP_MODE

README +3 -0
+		Define the current LCD color map mode. Default value is 444 but
+		565 can also be used.
+

Is the color map code really only relevant for the logo display? I tend to believe thatit has an overall effect and will - for example - have impact on other bitmap files, too ?

Quoted 2 lines

This modification affects only function bitmap_plot() which is called by lcd_logo() only if CONFIG_LCD_LOGO is defined.

What about lcd_display_bitmap() and the color map it uses?

Why do we have two functions lcd_display_bitmap() and bitmap_plot(*) in the first place? I feel both do very similar things? Maybe only one function is needed?

[Please negotiate this also with Wolfgang Grandegger!]

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"We don't have to protect the environment -- the Second Coming is  at
hand."                                                   - James Watt
#4 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

Quoted 2 lines · Wolfgang Denk

What about lcd_display_bitmap() and the color map it uses?

This is used for the splash screen... to be honest I don't know which is the difference against the logo but so it is...

Quoted 3 lines

Why do we have two functions lcd_display_bitmap() and bitmap_plot(*) in the first place? I feel both do very similar things? Maybe only one function is needed?

I think so...

Quoted 1 line

[Please negotiate this also with Wolfgang Grandegger!]

Ok. Currently I only used bitmap_plot() since, in my opinion, is more easy to manage...

Ciao,

Rodolfo

Signature · 4 lines
GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at gnudd.com
Embedded Systems                     		giometti at linux.it
UNIX programming                     phone:     +39 349 2432127
#5 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

Hi Rodolfo,

sorry for the late answer.

Quoted 11 lines · Rodolfo Giometti
Quoted 1 line · Wolfgang Denk

What about lcd_display_bitmap() and the color map it uses?

This is used for the splash screen... to be honest I don't know which is the difference against the logo but so it is...

Quoted 3 lines

Why do we have two functions lcd_display_bitmap() and bitmap_plot(*) in the first place? I feel both do very similar things? Maybe only one function is needed?

I think so...

Yes, it should be possible handle both with one drawing function.

Quoted 4 lines
Quoted 1 line

[Please negotiate this also with Wolfgang Grandegger!]

Ok. Currently I only used bitmap_plot() since, in my opinion, is more easy to manage...

One limitation of bitmap_plot, and also display_bitmap is, that it does not work for back&white displays, even if the latter function is used somehow for black&white display, e.g. with ugly hacks for MCC200. I would like to have generic drawing functions for 1, 8 and 16 bpp.

Wolfgang.

#6 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

Quoted 3 lines · Wolfgang Grandegger

Hi Rodolfo,

sorry for the late answer.

Don't worry about it I'm a little busy too. :)

Quoted 4 lines

One limitation of bitmap_plot, and also display_bitmap is, that it does not work for back&white displays, even if the latter function is used somehow for black&white display, e.g. with ugly hacks for MCC200. I would like to have generic drawing functions for 1, 8 and 16 bpp.

My suggestion is to remove completely the logo support and rewrite the function:

int lcd_display_bitmap(ulong bmp_image, int x, int y)

in order to support, in a easy configurable way, all bpp LCD resolutions.

On my side I can write and test the code for 16bpp LCD on a PXA2xx but I need help and support for other resolutions and CPUs! It could be acceptable to write a first version of such function for my hardware and then adding the other support even if it could break current board logo/splash support?

Ciao,

Rodolfo

Signature · 4 lines
GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at gnudd.com
Embedded Systems                     		giometti at linux.it
UNIX programming                     phone:     +39 349 2432127
#7 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

Hi Rodolfo,

some more comments.

Quoted 17 lines · Rodolfo Giometti
Quoted 3 lines · Wolfgang Grandegger

Hi Rodolfo,

sorry for the late answer.

Don't worry about it I'm a little busy too. :)

Quoted 4 lines

One limitation of bitmap_plot, and also display_bitmap is, that it does not work for back&white displays, even if the latter function is used somehow for black&white display, e.g. with ugly hacks for MCC200. I would like to have generic drawing functions for 1, 8 and 16 bpp.

My suggestion is to remove completely the logo support and rewrite the function:

int lcd_display_bitmap(ulong bmp_image, int x, int y)

Quoted 8 lines

in order to support, in a easy configurable way, all bpp LCD resolutions.

On my side I can write and test the code for 16bpp LCD on a PXA2xx but I need help and support for other resolutions and CPUs! It could be acceptable to write a first version of such function for my hardware and then adding the other support even if it could break current board logo/splash support?

Well, LCD support is broken partly for various boards anyhow. Actually it's peppered with hacks and errors :-(. Here some examples:

- lcd_display_bitmap() does not work for black&white.

- lcd_setcolreg() is wrong for MPC823 and PXA. The color arguments are 8 bit values (0..ff) and must be converted properly for the color table of the device. e.g the MPC823 has only 16 values per color.

- #ifdef mess.

- The common code should be hardware _independent_.

- CFG_INVERT_COLORS should be removed like in the Linux driver.

I also have just a MPC823 with various panels for testing but we should at least fix the obvious things. I'm currently working on various issues, especially to support dynamic LCD controller configuration in U-Boot, requiring substantial modifications anyhow. Nevertheless, I'm not willing to spend too much time on this driver, because it's for old hardware. It's not interesting for new projects.

Wolfgang.

#8 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

Quoted 6 lines · Wolfgang Grandegger

I also have just a MPC823 with various panels for testing but we should at least fix the obvious things. I'm currently working on various issues, especially to support dynamic LCD controller configuration in U-Boot, requiring substantial modifications anyhow. Nevertheless, I'm not willing to spend too much time on this driver, because it's for old hardware. It's not interesting for new projects.

So what do you suggest to do in order to fix up and reorder this part?

If I start removing logo support and fixing up the splash management it could be useful for someone? :)

Ciao,

Rodolfo

Signature · 4 lines
GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at gnudd.com
Embedded Systems                     		giometti at linux.it
UNIX programming                     phone:     +39 349 2432127
#9 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

Quoted 9 lines · Rodolfo Giometti
Quoted 6 lines · Wolfgang Grandegger

I also have just a MPC823 with various panels for testing but we should at least fix the obvious things. I'm currently working on various issues, especially to support dynamic LCD controller configuration in U-Boot, requiring substantial modifications anyhow. Nevertheless, I'm not willing to spend too much time on this driver, because it's for old hardware. It's not interesting for new projects.

Quoted 4 lines

So what do you suggest to do in order to fix up and reorder this part?

If I start removing logo support and fixing up the splash management it could be useful for someone? :)

I suggest, that you wait for my first patch as a base of discussion and further improvement.

Thanks.

Wolfgang.

#10 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

Quoted 3 lines · Wolfgang Grandegger

I suggest, that you wait for my first patch as a base of discussion and further improvement.

Ok! :)

Rodolfo

Signature · 4 lines
GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at gnudd.com
Embedded Systems                     		giometti at linux.it
UNIX programming                     phone:     +39 349 2432127
#11 lore raw

PATCH 1/1 LOGO: Adds LCD color map 565 support.

Quoted 3 lines · Rodolfo Giometti
Quoted 2 lines · Wolfgang Grandegger

I suggest, that you wait for my first patch as a base of discussion and further improvement.

I realized that there is already for 565 support in drivers/cfb_console.c. I think it makes sense to enhance this driver with support for 1 bit per pixel (black&white) and add drivers for MPC823 and PXA with a clean interface to the framebuffer hardware.

What do you think.

Wolfgang.