AM3358--Uboot支持LCD输出1024*768

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. ubootcommoncmd_menu.c


void lcd_menu_usage()
{
	printf("
##### LCD select Menu #####
");
	printf("[1] T43" screen.
");
	printf("[2] A70" screen.
");
	printf("[3] A104" screen.
");
	printf("[4] H50" screen.
");
	printf("[5] H70" screen.
");
	printf("[6] A133" screen.
");
	printf("[7] W35" screen.
");
	printf("[8] VGA1280X800" screen.
");
        printf("[9] X1024Y768" screen.
");
	printf("[r] Reboot u-boot
");
//	printf("[s] Reinitializtion lcd.
");
	printf("[q] Return Parameter Menu 
");
	printf("Enter your selection: ");
}
void lcd_menu_shell()
{
	char c;
	char cmd_buf[256];
	while (1)
	{
		lcd_menu_usage();
		c = getc();
		printf("%c
", 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. includeconfigs q3358.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"
"ubootimgname=u-boot.bin"
"kernelimgname=zImage.bin"
"rootimgname=root.bin"
"lcdtype=X800Y480"
"uart1_d_can=uart1"
"uart2_i2c2=uart2"
"kloadaddr=0x80008000"
"cpaddr=0x81000000"
"loadaddr=0x80200000"
"console=ttySAC0,115200n8"
"yaffs_root=/dev/mtdblock9"
"yaffs_root_fs_type=yaffs2 rw rootwait=1"
"ubi_root=ubi0:rootfs"
"ubi_root_fs_type=ubifs ubi.mtd=9,2048 rw rootwait=1"
"nfsserverip=192.168.1.7"
"nfsipaddr=192.168.1.6"

原文地址:https://www.cnblogs.com/llguanli/p/7209799.html