让OK6410 linux支持自己的LCD


OK6410自带的那块LCD分辨率太低了,我自己在淘宝上面淘了一块5寸的LCD,分辨率800*480,与飞凌驱动里面7寸屏分辨率一样,我就改动了一下时序参数,能用了,但是有部分不大清晰,最终发现时由于时钟边沿有效设置错了,

#include "s3cfb.h"

#define S3CFB_HFP		41	/* front porch */
#define S3CFB_HSW		175	/* hsync width */
#define S3CFB_HBP		41	/* back porch */

#define S3CFB_VFP		14	/* front porch */
#define S3CFB_VSW		5	/* vsync width */
#define S3CFB_VBP		30	/* back porch */

#define S3CFB_HRES		800	/* horizon pixel  x resolition */
#define S3CFB_VRES		480	/* line cnt       y resolution */

#define S3CFB_HRES_VIRTUAL	800	/* horizon pixel  x resolition */
#define S3CFB_VRES_VIRTUAL	960	/* line cnt       y resolution */

#define S3CFB_HRES_OSD		800	/* horizon pixel  x resolition */
#define S3CFB_VRES_OSD		480	/* line cnt       y resolution */

#define S3CFB_VFRAME_FREQ     	60	/* frame rate freq */

#define S3CFB_PIXEL_CLOCK	(S3CFB_VFRAME_FREQ * (S3CFB_HFP + S3CFB_HSW + S3CFB_HBP + S3CFB_HRES) * (S3CFB_VFP + S3CFB_VSW + S3CFB_VBP + S3CFB_VRES))

static void s3cfb_set_fimd_info(void)
{
	s3cfb_fimd.vidcon1 = S3C_VIDCON1_IVCLK_RISE_EDGE | S3C_VIDCON1_IHSYNC_INVERT | S3C_VIDCON1_IVSYNC_INVERT | S3C_VIDCON1_IVDEN_NORMAL;//S3C_VIDCON1_IVCLK_RISE_EDGE自己添加的

通过裸机程序驱动这块LCD知道了时序参数,根据自己的屏稍作修改就可以了.

让OK6410 linux支持自己的LCD_第1张图片



LCD驱动文件路径:/drivers/video/samsung  修改后编译内核,按照飞凌手册上面的方法更改LCD分辨率就行了.

你可能感兴趣的:(c,linux)