mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
Enable PXAFB for PXA27X and PXA3XX
This commit is contained in:
parent
d6f324d03d
commit
8c35d0c570
3 changed files with 15 additions and 8 deletions
|
@ -292,7 +292,9 @@ static int pxafb_init_mem (void *lcdbase, vidinfo_t *vid)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CPU_MONAHANS
|
||||
static inline void pxafb_setup_gpio (vidinfo_t *vid) {}
|
||||
#else
|
||||
static void pxafb_setup_gpio (vidinfo_t *vid)
|
||||
{
|
||||
u_long lccr0;
|
||||
|
@ -349,6 +351,7 @@ static void pxafb_setup_gpio (vidinfo_t *vid)
|
|||
printf("pxafb_setup_gpio: unable to determine bits per pixel\n");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void pxafb_enable_controller (vidinfo_t *vid)
|
||||
{
|
||||
|
@ -363,7 +366,11 @@ static void pxafb_enable_controller (vidinfo_t *vid)
|
|||
FDADR1 = vid->pxa.fdadr1;
|
||||
LCCR0 |= LCCR0_ENB;
|
||||
|
||||
#ifdef CONFIG_CPU_MONAHANS
|
||||
CKENA |= CKENA_1_LCD;
|
||||
#else
|
||||
CKEN |= CKEN16_LCD;
|
||||
#endif
|
||||
|
||||
debug("FDADR0 = 0x%08x\n", (unsigned int)FDADR0);
|
||||
debug("FDADR1 = 0x%08x\n", (unsigned int)FDADR1);
|
||||
|
|
12
common/lcd.c
12
common/lcd.c
|
@ -41,7 +41,7 @@
|
|||
#include <lcd.h>
|
||||
#include <watchdog.h>
|
||||
|
||||
#if defined(CONFIG_PXA250)
|
||||
#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined CONFIG_CPU_MONAHANS
|
||||
#include <asm/byteorder.h>
|
||||
#endif
|
||||
|
||||
|
@ -503,7 +503,7 @@ void bitmap_plot (int x, int y)
|
|||
uchar *bmap;
|
||||
uchar *fb;
|
||||
ushort *fb16;
|
||||
#if defined(CONFIG_PXA250)
|
||||
#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined CONFIG_CPU_MONAHANS
|
||||
struct pxafb_info *fbi = &panel_info.pxa;
|
||||
#elif defined(CONFIG_MPC823)
|
||||
volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
|
||||
|
@ -519,7 +519,7 @@ void bitmap_plot (int x, int y)
|
|||
|
||||
if (NBITS(panel_info.vl_bpix) < 12) {
|
||||
/* Leave room for default color map */
|
||||
#if defined(CONFIG_PXA250)
|
||||
#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined CONFIG_CPU_MONAHANS
|
||||
cmap = (ushort *)fbi->palette;
|
||||
#elif defined(CONFIG_MPC823)
|
||||
cmap = (ushort *)&(cp->lcd_cmap[BMP_LOGO_OFFSET*sizeof(ushort)]);
|
||||
|
@ -615,7 +615,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
|
|||
unsigned long pwidth = panel_info.vl_col;
|
||||
unsigned colors, bpix, bmp_bpix;
|
||||
unsigned long compression;
|
||||
#if defined(CONFIG_PXA250)
|
||||
#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined CONFIG_CPU_MONAHANS
|
||||
struct pxafb_info *fbi = &panel_info.pxa;
|
||||
#elif defined(CONFIG_MPC823)
|
||||
volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
|
||||
|
@ -656,7 +656,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
|
|||
#if !defined(CONFIG_MCC200)
|
||||
/* MCC200 LCD doesn't need CMAP, supports 1bpp b&w only */
|
||||
if (bmp_bpix == 8) {
|
||||
#if defined(CONFIG_PXA250)
|
||||
#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined CONFIG_CPU_MONAHANS
|
||||
cmap = (ushort *)fbi->palette;
|
||||
#elif defined(CONFIG_MPC823)
|
||||
cmap = (ushort *)&(cp->lcd_cmap[255*sizeof(ushort)]);
|
||||
|
@ -745,7 +745,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
|
|||
WATCHDOG_RESET();
|
||||
for (j = 0; j < width; j++) {
|
||||
if (bpix != 16) {
|
||||
#if defined(CONFIG_PXA250) || defined(CONFIG_ATMEL_LCD)
|
||||
#if defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined CONFIG_CPU_MONAHANS || defined(CONFIG_ATMEL_LCD)
|
||||
*(fb++) = *(bmap++);
|
||||
#elif defined(CONFIG_MPC823) || defined(CONFIG_MCC200)
|
||||
*(fb++) = 255 - *(bmap++);
|
||||
|
|
|
@ -87,7 +87,7 @@ typedef struct vidinfo {
|
|||
u_char vl_wbf; /* Wait between frames */
|
||||
} vidinfo_t;
|
||||
|
||||
#elif defined CONFIG_PXA250
|
||||
#elif defined CONFIG_PXA250 || defined CONFIG_PXA27X || defined CONFIG_CPU_MONAHANS
|
||||
/*
|
||||
* PXA LCD DMA descriptor
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue