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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot