mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
omap3: allow dynamic selection of gfx_format
Currently, omap3_dss_panel_config() sets gfx_format to a value that is hardcoded in the code. This forces anyone who wants to use a different gfx_format to make adjustments after calling omap3_dss_panel_config(). This could be avoided if the value of gfx_format were parameterized as input for omap3_dss_panel_config(). Make gfx_format a field in struct panel_config, and update existing structs to set this field to the value that was originally hard coded. Cc: Wolfgang Denk <wd@denx.de> Cc: Jeroen Hofstee <jeroen@myspectrum.nl> Cc: Tom Rini <trini@ti.com> Cc: Anatolij Gustschin <agust@denx.de> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
This commit is contained in:
parent
bc84b18f75
commit
bcc6cc9b37
5 changed files with 9 additions and 3 deletions
|
@ -208,6 +208,7 @@ struct panel_config {
|
|||
u32 data_lines;
|
||||
u32 load_mode;
|
||||
u32 panel_color;
|
||||
u32 gfx_format;
|
||||
void *frame_buffer;
|
||||
};
|
||||
|
||||
|
|
|
@ -130,6 +130,7 @@ static struct panel_config lcd_cfg = {
|
|||
.load_mode = 0x02, /* Frame Mode */
|
||||
.panel_color = 0,
|
||||
.lcd_size = PANEL_LCD_SIZE(800, 480),
|
||||
.gfx_format = GFXFORMAT_RGB24_UNPACKED,
|
||||
};
|
||||
|
||||
int board_video_init(void)
|
||||
|
|
|
@ -81,6 +81,7 @@ static struct panel_config lcd_cfg[] = {
|
|||
.data_lines = 0x03, /* 24 Bit RGB */
|
||||
.load_mode = 0x02, /* Frame Mode */
|
||||
.panel_color = 0,
|
||||
.gfx_format = GFXFORMAT_RGB24_UNPACKED,
|
||||
},
|
||||
{
|
||||
.timing_h = PANEL_TIMING_H(20, 192, 4),
|
||||
|
@ -91,6 +92,7 @@ static struct panel_config lcd_cfg[] = {
|
|||
.data_lines = 0x03, /* 24 Bit RGB */
|
||||
.load_mode = 0x02, /* Frame Mode */
|
||||
.panel_color = 0,
|
||||
.gfx_format = GFXFORMAT_RGB24_UNPACKED,
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -544,7 +544,8 @@ static const struct panel_config dvid_cfg = {
|
|||
.panel_type = 0x01, /* TFT */
|
||||
.data_lines = 0x03, /* 24 Bit RGB */
|
||||
.load_mode = 0x02, /* Frame Mode */
|
||||
.panel_color = DVI_BEAGLE_ORANGE_COL /* ORANGE */
|
||||
.panel_color = DVI_BEAGLE_ORANGE_COL, /* ORANGE */
|
||||
.gfx_format = GFXFORMAT_RGB24_UNPACKED,
|
||||
};
|
||||
|
||||
static const struct panel_config dvid_cfg_xm = {
|
||||
|
@ -556,6 +557,7 @@ static const struct panel_config dvid_cfg_xm = {
|
|||
.panel_type = 0x01, /* TFT */
|
||||
.data_lines = 0x03, /* 24 Bit RGB */
|
||||
.load_mode = 0x02, /* Frame Mode */
|
||||
.panel_color = DVI_BEAGLE_ORANGE_COL /* ORANGE */
|
||||
.panel_color = DVI_BEAGLE_ORANGE_COL, /* ORANGE */
|
||||
.gfx_format = GFXFORMAT_RGB24_UNPACKED,
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -121,7 +121,7 @@ void omap3_dss_panel_config(const struct panel_config *panel_cfg)
|
|||
if (!panel_cfg->frame_buffer)
|
||||
return;
|
||||
|
||||
writel(8 << GFX_FORMAT_SHIFT | GFX_ENABLE, &dispc->gfx_attributes);
|
||||
writel(panel_cfg->gfx_format | GFX_ENABLE, &dispc->gfx_attributes);
|
||||
writel(1, &dispc->gfx_row_inc);
|
||||
writel(1, &dispc->gfx_pixel_inc);
|
||||
writel(panel_cfg->lcd_size, &dispc->gfx_size);
|
||||
|
|
Loading…
Reference in a new issue