diff options
Diffstat (limited to 'packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410_fb.patch')
-rw-r--r-- | packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410_fb.patch | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410_fb.patch b/packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410_fb.patch deleted file mode 100644 index b50853554b..0000000000 --- a/packages/uboot/u-boot-mkimage-gta01-native/uboot-s3c2410_fb.patch +++ /dev/null @@ -1,215 +0,0 @@ -Index: u-boot/drivers/Makefile -=================================================================== ---- u-boot.orig/drivers/Makefile -+++ u-boot/drivers/Makefile -@@ -52,7 +52,7 @@ - ks8695eth.o \ - pxa_pcmcia.o mpc8xx_pcmcia.o tqm8xx_pcmcia.o \ - rpx_pcmcia.o \ -- fsl_i2c.o -+ fsl_i2c.o s3c2410_fb.o - - SRCS := $(COBJS:.o=.c) - OBJS := $(addprefix $(obj),$(COBJS)) -Index: u-boot/drivers/s3c2410_fb.c -=================================================================== ---- /dev/null -+++ u-boot/drivers/s3c2410_fb.c -@@ -0,0 +1,166 @@ -+/* -+ * (C) Copyright 2006 by OpenMoko, Inc. -+ * Author: Harald Welte <laforge@openmoko.org> -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of -+ * the License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, -+ * MA 02111-1307 USA -+ */ -+ -+#include <common.h> -+ -+#if defined(CONFIG_VIDEO_S3C2410) -+ -+#include <video_fb.h> -+#include "videomodes.h" -+#include <s3c2410.h> -+/* -+ * Export Graphic Device -+ */ -+GraphicDevice smi; -+ -+#define VIDEO_MEM_SIZE 0x200000 /* 480x640x16bit = 614400 bytes */ -+ -+extern void board_video_init(GraphicDevice *pGD); -+ -+/******************************************************************************* -+ * -+ * Init video chip with common Linux graphic modes (lilo) -+ */ -+void *video_hw_init (void) -+{ -+ S3C24X0_LCD * const lcd = S3C24X0_GetBase_LCD(); -+ GraphicDevice *pGD = (GraphicDevice *)&smi; -+ int videomode; -+ unsigned long t1, hsynch, vsynch; -+ char *penv; -+ int tmp, i, bits_per_pixel; -+ struct ctfb_res_modes *res_mode; -+ struct ctfb_res_modes var_mode; -+ unsigned char videoout; -+ -+ /* Search for video chip */ -+ printf("Video: "); -+ -+ tmp = 0; -+ -+ videomode = CFG_DEFAULT_VIDEO_MODE; -+ /* get video mode via environment */ -+ if ((penv = getenv ("videomode")) != NULL) { -+ /* deceide if it is a string */ -+ if (penv[0] <= '9') { -+ videomode = (int) simple_strtoul (penv, NULL, 16); -+ tmp = 1; -+ } -+ } else { -+ tmp = 1; -+ } -+ if (tmp) { -+ /* parameter are vesa modes */ -+ /* search params */ -+ for (i = 0; i < VESA_MODES_COUNT; i++) { -+ if (vesa_modes[i].vesanr == videomode) -+ break; -+ } -+ if (i == VESA_MODES_COUNT) { -+ printf ("no VESA Mode found, switching to mode 0x%x ", CFG_DEFAULT_VIDEO_MODE); -+ i = 0; -+ } -+ res_mode = -+ (struct ctfb_res_modes *) &res_mode_init[vesa_modes[i]. -+ resindex]; -+ bits_per_pixel = vesa_modes[i].bits_per_pixel; -+ } else { -+ -+ res_mode = (struct ctfb_res_modes *) &var_mode; -+ bits_per_pixel = video_get_params (res_mode, penv); -+ } -+ -+ /* calculate hsynch and vsynch freq (info only) */ -+ t1 = (res_mode->left_margin + res_mode->xres + -+ res_mode->right_margin + res_mode->hsync_len) / 8; -+ t1 *= 8; -+ t1 *= res_mode->pixclock; -+ t1 /= 1000; -+ hsynch = 1000000000L / t1; -+ t1 *= -+ (res_mode->upper_margin + res_mode->yres + -+ res_mode->lower_margin + res_mode->vsync_len); -+ t1 /= 1000; -+ vsynch = 1000000000L / t1; -+ -+ /* fill in Graphic device struct */ -+ sprintf (pGD->modeIdent, "%dx%dx%d %ldkHz %ldHz", res_mode->xres, -+ res_mode->yres, bits_per_pixel, (hsynch / 1000), -+ (vsynch / 1000)); -+ printf ("%s\n", pGD->modeIdent); -+ pGD->winSizeX = res_mode->xres; -+ pGD->winSizeY = res_mode->yres; -+ pGD->plnSizeX = res_mode->xres; -+ pGD->plnSizeY = res_mode->yres; -+ switch (bits_per_pixel) { -+ case 8: -+ pGD->gdfBytesPP = 1; -+ pGD->gdfIndex = GDF__8BIT_INDEX; -+ break; -+ case 15: -+ pGD->gdfBytesPP = 2; -+ pGD->gdfIndex = GDF_15BIT_555RGB; -+ break; -+ case 16: -+ pGD->gdfBytesPP = 2; -+ pGD->gdfIndex = GDF_16BIT_565RGB; -+ break; -+ case 24: -+ pGD->gdfBytesPP = 3; -+ pGD->gdfIndex = GDF_24BIT_888RGB; -+ break; -+ } -+ -+ /* statically configure settings */ -+ pGD->winSizeX = pGD->plnSizeX = 480; -+ pGD->winSizeY = pGD->plnSizeY = 640; -+ pGD->gdfBytesPP = 2; -+ pGD->gdfIndex = GDF_16BIT_565RGB; -+ -+ pGD->frameAdrs = LCD_VIDEO_ADDR; -+ pGD->memSize = VIDEO_MEM_SIZE; -+ -+ board_video_init(pGD); -+ -+ lcd->LCDSADDR1 = pGD->frameAdrs >> 1; -+ -+ /* This marks the end of the frame buffer. */ -+ lcd->LCDSADDR2 = (lcd->LCDSADDR1&0x1fffff) + (pGD->winSizeX+0) * pGD->winSizeY; -+ lcd->LCDSADDR3 = pGD->winSizeX; -+ -+ /* Clear video memory */ -+ memset(pGD->frameAdrs, 0, pGD->memSize); -+ -+ /* Enable Display */ -+ lcd->LCDCON1 |= 0x01; /* ENVID = 1 */ -+ -+ return ((void*)&smi); -+} -+ -+void -+video_set_lut (unsigned int index, /* color number */ -+ unsigned char r, /* red */ -+ unsigned char g, /* green */ -+ unsigned char b /* blue */ -+ ) -+{ -+} -+ -+#endif /* CONFIG_VIDEO_S3C2410 */ -Index: u-boot/drivers/cfb_console.c -=================================================================== ---- u-boot.orig/drivers/cfb_console.c -+++ u-boot/drivers/cfb_console.c -@@ -141,6 +141,14 @@ - #endif - - /*****************************************************************************/ -+/* Defines for the S3C2410 driver */ -+/*****************************************************************************/ -+#ifdef CONFIG_VIDEO_S3C2410 -+/* it actually is little-endian, but the host CPU, too ! */ -+//#define VIDEO_FB_LITTLE_ENDIAN -+#endif -+ -+/*****************************************************************************/ - /* Include video_fb.h after definitions of VIDEO_HW_RECTFILL etc */ - /*****************************************************************************/ - #include <video_fb.h> -@@ -307,6 +315,11 @@ - #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 |