mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-27 04:18:51 +09:00
![Hannes Petermaier](/assets/img/avatar_default.png)
Sometimes, for example if the display is mounted in portrait mode or even if it is mounted landscape but rotated by 180 degrees, we need to rotate our content of the display respectively the framebuffer, so that user can read the messages which 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. If CONFIG_LCD_ROTATION is not defined, the console will be initialized with 0 degrees rotation. Signed-off-by: Hannes Petermaier <hannes.petermaier@br-automation.com> Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at> Acked-by: Nikita Kiryanov <nikita@compulab.co.il> [agust: fixed 'struct vidinfo' has no member named 'vl_rot' errors] Signed-off-by: Anatolij Gustschin <agust@denx.de>
45 lines
1.4 KiB
C
45 lines
1.4 KiB
C
/*
|
|
* mpc823_lcd.h - MPC823 LCD Controller structures
|
|
*
|
|
* (C) Copyright 2001
|
|
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef _MPC823_LCD_H_
|
|
#define _MPC823_LCD_H_
|
|
|
|
/*
|
|
* LCD controller stucture for MPC823 CPU
|
|
*/
|
|
typedef struct vidinfo {
|
|
ushort vl_col; /* Number of columns (i.e. 640) */
|
|
ushort vl_row; /* Number of rows (i.e. 480) */
|
|
ushort vl_rot; /* Rotation of Display (0, 1, 2, 3) */
|
|
ushort vl_width; /* Width of display area in millimeters */
|
|
ushort vl_height; /* Height of display area in millimeters */
|
|
|
|
/* LCD configuration register */
|
|
u_char vl_clkp; /* Clock polarity */
|
|
u_char vl_oep; /* Output Enable polarity */
|
|
u_char vl_hsp; /* Horizontal Sync polarity */
|
|
u_char vl_vsp; /* Vertical Sync polarity */
|
|
u_char vl_dp; /* Data polarity */
|
|
u_char vl_bpix; /* Bits per pixel, 0 = 1, 1 = 2, 2 = 4, 3 = 8 */
|
|
u_char vl_lbw; /* LCD Bus width, 0 = 4, 1 = 8 */
|
|
u_char vl_splt; /* Split display, 0 = single-scan, 1 = dual-scan */
|
|
u_char vl_clor; /* Color, 0 = mono, 1 = color */
|
|
u_char vl_tft; /* 0 = passive, 1 = TFT */
|
|
|
|
/* Horizontal control register. Timing from data sheet */
|
|
ushort vl_wbl; /* Wait between lines */
|
|
|
|
/* Vertical control register */
|
|
u_char vl_vpw; /* Vertical sync pulse width */
|
|
u_char vl_lcdac; /* LCD AC timing */
|
|
u_char vl_wbf; /* Wait between frames */
|
|
} vidinfo_t;
|
|
|
|
#endif
|