uboot 下S3C6410 的LCD 显示
le u32 VIDTCON1;
volatile u32 VIDTCON2;
volatile u8 res2[4];
volatile u32 WINCON0;
volatile u32 WINCON1;
volatile u32 WINCON2;
volatile u32 WINCON3;
volatile u32 WINCON4;
volatile u8 res3[12];
volatile u32 VIDOSD0A;
volatile u32 VIDOSD0B;
volatile u32 VIDOSD0C;
volatile u8 res4[4];
volatile u32 VIDOSD1A;
volatile u32 VIDOSD1B;
volatile u32 VIDOSD1C;
volatile u32 VIDOSD1D;
volatile u32 VIDOSD2A;
volatile u32 VIDOSD2B;
volatile u32 VIDOSD2C;
volatile u32 VIDOSD2D;
volatile u32 VIDOSD3A;
volatile u32 VIDOSD3B;
volatile u32 VIDOSD3C;
volatile u8 res5[4];
volatile u32 VIDOSD4A;
volatile u32 VIDOSD4B;
volatile u32 VIDOSD4C;
volatile u8 res6[20];
volatile u32 VIDW00ADD0B0;
volatile u32 VIDW00ADD0B1;
volatile u32 VIDW01ADD0B0;
volatile u32 VIDW01ADD0B1;
volatile u32 VIDW02ADD0;
volatile u8 res7[4];
volatile u32 VIDW03ADD0;
volatile u8 res8[4];
volatile u32 VIDW04ADD0;
volatile u8 res9[12];
volatile u32 VIDW00ADD1B0;
volatile u32 VIDW00ADD1B1;
volatile u32 VIDW01ADD1B0;
volatile u32 VIDW01ADD1B1;
volatile u32 VIDW02ADD1;
volatile u8 res10[4];
volatile u32 VIDW03ADD1;
volatile u8 res11[4];
volatile u32 VIDW04ADD1;
volatile u8 res12[12];
volatile u32 VIDW00ADD2;
volatile u32 VIDW01ADD2;
volatile u32 VIDW02ADD2;
volatile u32 VIDW03ADD2;
volatile u32 VIDW04ADD2;
volatile u8 res13[28];
volatile u32 VIDINTCON0;
volatile u32 VIDINTCON1;
volatile u8 res14[8];
volatile u32 W1KEYCON0;
volatile u32 W1KEYCON1;
volatile u32 W2KEYCON0;
volatile u32 W2KEYCON1;
volatile u32 W3KEYCON0;
volatile u32 W3KEYCON1;
volatile u32 W4KEYCON0;
volatile u32 W4KEYCON1;
volatile u8 res15[16];
volatile u32 DITHMODE;
volatile u8 res16[12];
volatile u32 WIN0MAP;
volatile u32 WIN1MAP;
volatile u32 WIN2MAP;
volatile u32 WIN3MAP;
volatile u32 WIN4MAP;
volatile u8 res17[12];
volatile u32 WPALCON;
volatile u32 TRIGCON;
volatile u32 ITUIFCON0;
volatile u8 res18[4];
volatile u32 I80IFCONA0;
volatile u32 I80IFCONA1;
volatile u32 I80IFCONB0;
volatile u32 I80IFCONB1;
volatile u8 res19[16];
volatile u32 LDI_CMDCON0;
volatile u32 LDI_CMDCON1;
volatile u8 res20[8];
volatile u32 SIFCCON0;
volatile u32 SIFCCON1;
volatile u32 SIFCCON2;
volatile u8 res21[148];
volatile u32 LDI_CMD0;
volatile u32 LDI_CMD1;
volatile u32 LDI_CMD2;
volatile u32 LDI_CMD3;
volatile u32 LDI_CMD4;
volatile u32 LDI_CMD5;
volatile u32 LDI_CMD6;
volatile u32 LDI_CMD7;
volatile u32 LDI_CMD8;
volatile u32 LDI_CMD9;
volatile u32 LDI_CMD10;
volatile u32 LDI_CMD11;
volatile u8 res22[80];
volatile u32 W2PDATA01;
volatile u32 W2PDATA23;
volatile u32 W2PDATA45;
volatile u32 W2PDATA67;
volatile u32 W2PDATA89;
volatile u32 W2PDATAAB;
volatile u32 W2PDATACD;
volatile u32 W2PDATAEF;
volatile u32 W3PDATA01;
volatile u32 W3PDATA23;
volatile u32 W3PDATA45;
volatile u32 W3PDATA67;
volatile u32 W3PDATA89;
volatile u32 W3PDATAAB;
volatile u32 W3PDATACD;
volatile u32 W3PDATAEF;
volatile u32 W4PDATA01;
volatile u32 W4PDATA23;
} s3c64xx_fb;
以上为lcd控制器的寄存器,通过为这个结构体赋值,来实现配置寄存器。
8、driver/video下新建s3c6410_fb.c
#include
#if defined(CONFIG_VIDEO_S3C64X0)
#include
#include "videomodes.h"
#include
#include
/*
* Export Graphic Device
*/
GraphicDevice smi;
#define VIDEO_MEM_SIZE 0x200000 /*NEC 4.3 inches: 480x272x16bit = 0x3FC00 bytes */
//CPU: S3C6400@667MHz
// Fclk = 667MHz, Hclk = 133MHz, Pclk = 66MHz (ASYNC Mode)
//extern void board_video_init(GraphicDevice *pGD);
/*******************************************************************************
*
* Init video chip with common Linux graphic modes (lilo)
*/
void *video_hw_init (void)
{
s3c64xx_fb * const fb = s3c64xx_get_base_fb();
GraphicDevice *pGD = (GraphicDevice *)&smi;
int videomode;
unsigned long t1, hsynch, vsynch;
char *penv;
int tmp, i, bits_per_pixel;
struct ctfb_res_modes
ubootS3C6410LCD显 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)