drivers/cfb_console.c: set SHORTSWAP to swap nibbles [ clean this up when and if HWSWP is confirmed ] drivers/s3c2410_fb.c (video_hw_init): set HWSWP in LCDCON5 drivers/s3c2410_fb.c (video_hw_init): use memset instead of open-coded equivalent - Werner Almesberger Index: u-boot/drivers/cfb_console.c =================================================================== --- u-boot.orig/drivers/cfb_console.c +++ u-boot/drivers/cfb_console.c @@ -315,6 +315,11 @@ void console_cursor (int state); #define SHORTSWAP32(x) (x) #endif +#ifdef CONFIG_VIDEO_S3C2410 +#undef SHORTSWAP32 +#define SHORTSWAP32(x) ((((x) & 0xffff) << 16) | (((x) >> 16) & 0xffff)) +#endif + #if defined(DEBUG) || defined(DEBUG_CFB_CONSOLE) #define PRINTD(x) printf(x) #else Index: u-boot/drivers/s3c2410_fb.c =================================================================== --- u-boot.orig/drivers/s3c2410_fb.c +++ u-boot/drivers/s3c2410_fb.c @@ -47,7 +47,6 @@ void *video_hw_init (void) struct ctfb_res_modes *res_mode; struct ctfb_res_modes var_mode; unsigned char videoout; - unsigned int *vm; /* Search for video chip */ printf("Video: "); @@ -148,7 +147,7 @@ void *video_hw_init (void) lcd->LCDCON2 = 0x019fc3c1; lcd->LCDCON3 = 0x0039df67; lcd->LCDCON4 = 0x00000007; - lcd->LCDCON5 = 0x0001cf08; + lcd->LCDCON5 = 0x0001cf09; lcd->LPCSEL = 0x00000000; lcd->LCDSADDR1 = LCD_VIDEO_ADDR >> 1; @@ -164,10 +163,7 @@ void *video_hw_init (void) } /* Clear video memory */ - i = pGD->memSize/4; - vm = (unsigned int *)pGD->frameAdrs; - while(i--) - *vm++ = 0; + memset(pGD->frameAdrs, 0, pGD->memSize); /* Enable Display */ lcd->LCDCON1 |= 0x01; /* ENVID = 1 */