Merge branch 'master' of git://git.denx.de/u-boot-video
Conflicts: include/splash.h Signed-off-by: Tom Rini <trini@ti.com>
This commit is contained in:
@@ -13,6 +13,10 @@
|
||||
#include <lcd.h>
|
||||
#include <atmel_hlcdc.h>
|
||||
|
||||
#if defined(CONFIG_LCD_LOGO)
|
||||
#include <bmp_logo.h>
|
||||
#endif
|
||||
|
||||
/* configurable parameters */
|
||||
#define ATMEL_LCDC_CVAL_DEFAULT 0xc8
|
||||
#define ATMEL_LCDC_DMA_BURST_LEN 8
|
||||
@@ -37,6 +41,15 @@ void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue)
|
||||
panel_info.mmio + ATMEL_LCDC_LUT(regno));
|
||||
}
|
||||
|
||||
ushort *configuration_get_cmap(void)
|
||||
{
|
||||
#if defined(CONFIG_LCD_LOGO)
|
||||
return bmp_logo_palette;
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
void lcd_ctrl_init(void *lcdbase)
|
||||
{
|
||||
unsigned long value;
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <asm/arch/gpio.h>
|
||||
#include <asm/arch/clk.h>
|
||||
#include <lcd.h>
|
||||
#include <bmp_layout.h>
|
||||
#include <atmel_lcdc.h>
|
||||
|
||||
/* configurable parameters */
|
||||
@@ -29,6 +30,46 @@
|
||||
#define lcdc_readl(mmio, reg) __raw_readl((mmio)+(reg))
|
||||
#define lcdc_writel(mmio, reg, val) __raw_writel((val), (mmio)+(reg))
|
||||
|
||||
ushort *configuration_get_cmap(void)
|
||||
{
|
||||
return (ushort *)(panel_info.mmio + ATMEL_LCDC_LUT(0));
|
||||
}
|
||||
|
||||
#if defined(CONFIG_BMP_16BPP) && defined(CONFIG_ATMEL_LCD_BGR555)
|
||||
void fb_put_word(uchar **fb, uchar **from)
|
||||
{
|
||||
*(*fb)++ = (((*from)[0] & 0x1f) << 2) | ((*from)[1] & 0x03);
|
||||
*(*fb)++ = ((*from)[0] & 0xe0) | (((*from)[1] & 0x7c) >> 2);
|
||||
*from += 2;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_LCD_LOGO
|
||||
#include <bmp_logo.h>
|
||||
void lcd_logo_set_cmap(void)
|
||||
{
|
||||
int i;
|
||||
uint lut_entry;
|
||||
ushort colreg;
|
||||
uint *cmap = (uint *)configuration_get_cmap();
|
||||
|
||||
for (i = 0; i < BMP_LOGO_COLORS; ++i) {
|
||||
colreg = bmp_logo_palette[i];
|
||||
#ifdef CONFIG_ATMEL_LCD_BGR555
|
||||
lut_entry = ((colreg & 0x000F) << 11) |
|
||||
((colreg & 0x00F0) << 2) |
|
||||
((colreg & 0x0F00) >> 7);
|
||||
#else
|
||||
lut_entry = ((colreg & 0x000F) << 1) |
|
||||
((colreg & 0x00F0) << 3) |
|
||||
((colreg & 0x0F00) << 4);
|
||||
#endif
|
||||
*(cmap + BMP_LOGO_OFFSET) = lut_entry;
|
||||
cmap++;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue)
|
||||
{
|
||||
#if defined(CONFIG_ATMEL_LCD_BGR555)
|
||||
@@ -40,6 +81,16 @@ void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue)
|
||||
#endif
|
||||
}
|
||||
|
||||
void lcd_set_cmap(bmp_image_t *bmp, unsigned colors)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < colors; ++i) {
|
||||
bmp_color_table_entry_t cte = bmp->color_table[i];
|
||||
lcd_setcolreg(i, cte.red, cte.green, cte.blue);
|
||||
}
|
||||
}
|
||||
|
||||
void lcd_ctrl_init(void *lcdbase)
|
||||
{
|
||||
unsigned long value;
|
||||
|
||||
@@ -37,6 +37,15 @@ vidinfo_t panel_info = {
|
||||
};
|
||||
#endif
|
||||
|
||||
ushort *configuration_get_cmap(void)
|
||||
{
|
||||
#if defined(CONFIG_LCD_LOGO)
|
||||
return bmp_logo_palette;
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void exynos_lcd_init_mem(void *lcdbase, vidinfo_t *vid)
|
||||
{
|
||||
unsigned long palette_size;
|
||||
|
||||
@@ -357,6 +357,35 @@ lcd_setcolreg (ushort regno, ushort red, ushort green, ushort blue)
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
ushort *configuration_get_cmap(void)
|
||||
{
|
||||
immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
|
||||
cpm8xx_t *cp = &(immr->im_cpm);
|
||||
return (ushort *)&(cp->lcd_cmap[255 * sizeof(ushort)]);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_MPC823)
|
||||
void fb_put_byte(uchar **fb, uchar **from)
|
||||
{
|
||||
*(*fb)++ = (255 - *(*from)++);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_LCD_LOGO
|
||||
#include <bmp_logo.h>
|
||||
void lcd_logo_set_cmap(void)
|
||||
{
|
||||
int i;
|
||||
ushort *cmap;
|
||||
immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
|
||||
cpm8xx_t *cp = &(immr->im_cpm);
|
||||
cmap = (ushort *)&(cp->lcd_cmap[BMP_LOGO_OFFSET * sizeof(ushort)]);
|
||||
|
||||
for (i = 0; i < BMP_LOGO_COLORS; ++i)
|
||||
*cmap++ = bmp_logo_palette[i];
|
||||
}
|
||||
#endif
|
||||
|
||||
void lcd_enable (void)
|
||||
{
|
||||
volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
|
||||
|
||||
@@ -342,6 +342,12 @@ static int pxafb_init (vidinfo_t *vid);
|
||||
/* --------------- PXA chipset specific functions ------------------- */
|
||||
/************************************************************************/
|
||||
|
||||
ushort *configuration_get_cmap(void)
|
||||
{
|
||||
struct pxafb_info *fbi = &panel_info.pxa;
|
||||
return (ushort *)fbi->palette;
|
||||
}
|
||||
|
||||
void lcd_ctrl_init (void *lcdbase)
|
||||
{
|
||||
pxafb_init_mem(lcdbase, &panel_info);
|
||||
|
||||
Reference in New Issue
Block a user