Sometimes, for example if the display is mounted in portrait mode or even if it mounted landscape but rotated by 180 degree, we need to rotate our content of the display respectively the framebuffer, so that user can read the messages who are printed out.
For this we introduce the feature called "CONFIG_LCD_ROTATION", this may be defined in the board-configuration if needed. After this the lcd_console will be initialized with a given rotation from "vl_rot" out of "vidinfo_t" which is provided by the board specific code. The value for vl_rot is coded as following (matching to fbcon=rotate:<n> linux- kernel commandline): 0 = no rotation respectively 0 degree 1 = 90 degree rotation 2 = 180 degree rotation 3 = 270 degree rotation If CONFIG_LCD_ROTATION is not defined, the console will be initialized with 0 degrees rotation. Patch 1-3 make preparations to the code. Patch 4 implements the new feature Changes in v3: - rename lcd_address to fbbase for better readability. - remove empty line lcd_console.c - use printf instead puts to inform about invalid-fb rotation. - avoid code-duplication (move define of fbptr_t into lcd.h) Changes in v2: - cleanup README text for feature - don't make code cleanups (lcd_console.c) within this patch - remove (unnary) comment in lcd_console.h - update year to 2015 within copyright in lcd_console.c - move rotation related code into separate file lcd_console_rotation.c - rework rotation code - change meaning of vl_rot to match fbcon=rotate:<n> from the linux-kernel Hannes Petermaier (4): common/lcd_console: cleanup lcd_drawchars/lcd_putc_xy common/lcd_console: ask only one-time for bg/fg-color per call common/lcd_console: move single static variables into common (static) structure common/lcd_console: introduce display/framebuffer rotation README | 22 +++++ common/Makefile | 1 + common/lcd.c | 15 ++- common/lcd_console.c | 201 ++++++++++++++++++++------------------- common/lcd_console_rotation.c | 208 +++++++++++++++++++++++++++++++++++++++++ include/lcd.h | 9 ++ include/lcd_console.h | 18 +++- 7 files changed, 363 insertions(+), 111 deletions(-) create mode 100644 common/lcd_console_rotation.c -- 1.7.9.5 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot