微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > uboot 下S3C6410 的LCD 显示

uboot 下S3C6410 的LCD 显示

时间:11-11 来源:互联网 点击:

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top