[U-Boot] [PATCH 0/8] ARM Nomadik: video and keypad for nhk8815 (and RFC inside)

Alessandro Rubini rubini-list at gnudd.com
Fri Oct 9 13:16:40 CEST 2009


This adds support for display and keypad on the Nomadik evaluation kit.

I tried to split the changes as best as I can.  First the amba-lcd
is added as a generic driver, although it receives pre-computed register
values, as it misses the code to assemble register bits from higher-level
parameters.  I think it acceptable for a boot loader, although it could
be better.

Then, I add the "STMicro Port Extender 2401" as a separete driver.
It's an i2c-driven port extender found on the evaluation kit; I coded it
in order for other boards to use the code if needed.

common/lcd.c is a ifdef hell, and I had a hard time adding 32bpp
support.  Howerver, it was not something I could submit, because it
was even worse with ifdef than now, so I turned to 16bpp. 16bpp wasn't
working either, so I tried to fix it.  This is definitely suboptimal,
and I need help in making it right. Fortunately only the mimc200 uses
16bpp so any issues should be easy to fix. The mimc200 uses CONFIG_ATMEL_LCD,
actually, so it falls on different ifdefs than me.

May I tell that I'd better remove ATMEL_LCD from common/lcd.c and push
specifics in a separate file?  Is that task worth endorsing? I think
once atmel is out of the way, the other specific clases (pxa and
little ore) should be easy, so lcd.c can finally be made more
maintainable.  Will we do that?

BTW: I know the name "make 16bpp work" is not suitable for upstream, but
since I expect at least a V2 series to be needed, I'd better avoid
renaming it at this point. Similarly, there are no comments within each
patch, I'll split this explanation in proper places for V2.

Alessandro Rubini (8):
  video: add amba-clcd prime-cell
  include/nomadik.h: add physical address for cldc
  drivers/misc: add stmpe2401 port extender and keypad controller
  nhk8815.h: define we need stmpe
  lcd: make 16bpp work
  nhk8815: added keypad
  nhk8815: start lower in RAM, so the 800x480 frame buffer fits
  nhk8815: added lcd support

 board/st/nhk8815/Makefile  |    6 +-
 board/st/nhk8815/config.mk |    7 +-
 board/st/nhk8815/keypad.c  |  100 +++++++++++++++++++++++++
 board/st/nhk8815/lcd.c     |   89 ++++++++++++++++++++++
 board/st/nhk8815/nhk8815.c |    9 ++
 common/lcd.c               |   26 +++++--
 drivers/misc/Makefile      |    1 +
 drivers/misc/stmpe2401.c   |  176 ++++++++++++++++++++++++++++++++++++++++++++
 drivers/video/Makefile     |    1 +
 drivers/video/amba.c       |   86 +++++++++++++++++++++
 include/amba_clcd.h        |   85 +++++++++++++++++++++
 include/configs/nhk8815.h  |   20 +++++-
 include/nomadik.h          |    1 +
 include/stmpe2401.h        |   66 ++++++++++++++++
 14 files changed, 660 insertions(+), 13 deletions(-)
 create mode 100644 board/st/nhk8815/keypad.c
 create mode 100644 board/st/nhk8815/lcd.c
 create mode 100644 drivers/misc/stmpe2401.c
 create mode 100644 drivers/video/amba.c
 create mode 100644 include/amba_clcd.h
 create mode 100644 include/stmpe2401.h


More information about the U-Boot mailing list