AM3358--Uboot支持LCD输出1024*768 分类: TI-AM335X 2015-06-10 19:21 351人阅读 评论(0) 收藏

1. uboot/include/lcd/tq3358_fb.h

#define TFT240320								1
#define TFT320240								2
#define TFT480272								3//T43(天嵌4.3寸屏)
#define TFT800480_H50							4//H50(5寸高清屏)
#define TFT800480								5//A70(群创7.0寸屏)
#define TFT800600								6//A104(友达10.4寸屏)
#define TFT1024600_H70							7//H70(7寸高清屏)
#define DYNAMIC_CONFIG							8//动态配置LCD

typedef enum _LCD_TYPE{
	X240Y320=0,
	X320Y240,
	X480Y272,
	X640Y480,
	X800Y480,
	X800Y480_H50,
	X800Y600,
	X1024Y600_H70,
	X1024Y768,
	X1280Y800,
	LCD_TYPE_MAX,
} LCD_TYPE;

2. uboot\common\cmd_menu.c


void lcd_menu_usage()
{
	printf("\r\n##### LCD select Menu #####\r\n");
	printf("[1] T43\" screen.\r\n");
	printf("[2] A70\" screen.\r\n");
	printf("[3] A104\" screen.\r\n");
	printf("[4] H50\" screen.\r\n");
	printf("[5] H70\" screen.\r\n");
	printf("[6] A133\" screen.\r\n");
	printf("[7] W35\" screen.\r\n");
	printf("[8] VGA1280X800\" screen.\r\n");
        printf("[9] X1024Y768\" screen.\r\n");
	printf("[r] Reboot u-boot\r\n");
//	printf("[s] Reinitializtion lcd.\r\n");
	printf("[q] Return Parameter Menu \r\n");
	printf("Enter your selection: ");
}
void lcd_menu_shell()
{
	char c;
	char cmd_buf[256];
	while (1)
	{
		lcd_menu_usage();
		c = getc();
		printf("%c\n", c);
		switch (c)
		{
			case '1':
			{
				sprintf(cmd_buf, "setenv lcdtype X480Y272;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
			}
			case '2':
			{
				sprintf(cmd_buf, "setenv lcdtype X800Y480;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
			}
			case '3':
			{
				sprintf(cmd_buf, "setenv lcdtype X800Y600;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
			}
			case '4':
			{
				sprintf(cmd_buf, "setenv lcdtype X800Y480_H50;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
			}
			case '5':
			{
				sprintf(cmd_buf, "setenv lcdtype X1024Y600_H70;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
				break;
			}
			case '6':
			{
				sprintf(cmd_buf, "setenv lcdtype X1280Y800;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
				break;
			}
			case '7':
			{
				sprintf(cmd_buf, "setenv lcdtype X320Y240;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
			}
			case '8':
			{
				sprintf(cmd_buf, "setenv lcdtype VGA1280X800;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
				break;
			}
                        case '9':
			{
				sprintf(cmd_buf, "setenv lcdtype X1024Y768;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
				break;
			}
			case 'R':
			case 'r':
			{
				strcpy(cmd_buf, "reset");
				run_command(cmd_buf, 0);
				break;
			}
			case 'Q':
			case 'q':
			{
				return;
				break;
			}
		}
	}
}

3. include\configs\tq3358.h  ub0ot默认设置
#ifdef CONFIG_TQ3358
#define CONFIG_IPADDR 192.168.1.6
#define CONFIG_SERVERIP 192.168.1.8
#define CONFIG_NETMASK 255.255.255.0
#define CONFIG_ETHADDR 00:40:5c:26:0a:52
#define CONFIG_GATEWAYIP 192.168.1.2
#ifdef CONFIG_NAND
#define CONFIG_EXTRA_ENV_SETTINGS \
"mloimgname=MLO\0"\
"ubootimgname=u-boot.bin\0"\
"kernelimgname=zImage.bin\0"\
"rootimgname=root.bin\0"\
"lcdtype=X800Y480\0" \
"uart1_d_can=uart1\0" \
"uart2_i2c2=uart2\0" \
"kloadaddr=0x80008000\0" \
"cpaddr=0x81000000\0"\
"loadaddr=0x80200000\0" \
"console=ttySAC0,115200n8\0" \
"yaffs_root=/dev/mtdblock9\0" \
"yaffs_root_fs_type=yaffs2 rw rootwait=1\0" \
"ubi_root=ubi0:rootfs\0" \
"ubi_root_fs_type=ubifs ubi.mtd=9,2048 rw rootwait=1\0" \
"nfsserverip=192.168.1.7\0" \
"nfsipaddr=192.168.1.6\0" \

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-06-10 19:21  毛毛虫的薄刻  阅读(240)  评论(0编辑  收藏  举报