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. 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("[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;
			}
		}
	}
}

时间: 2024-10-01 11:14:21

AM3358--Uboot支持LCD输出1024*768的相关文章

u-boot支持LCD显示(基于TQ2440)

平台简介 Linux版本:Linux-3.14 u-boot版本:u-boot-2015.04 硬件:TQ2440(内存:64MB  NandFlash:256MB) 作者:彭东林 邮箱:[email protected] 摘要 这个版本的u-boot支持LCD很容易,期间,参考了tq2440官方u-boot中的LCD驱动.我们只需要在配置文件中配置相应的宏,实现LCD的初始化和使能函数即可. 代码我已经上传到CSDN上了,[email protected]:pengdonglin137/u-b

基于am3358的lcd输出

/*#include<stdio.h> */ #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <string.h> #include <linux/fb.h> #include <sys/mman.h> #include <sys/ioctl.h> #include <

嵌入式Linux支持LCD console【转】

转自:http://blog.sina.com.cn/s/blog_664c545f0100v9zl.html 转载:http://www.mculee.cn/post/48.html [1]LCD 驱动基础知识 Linux- 2.6.32.2 内核已经支持S3C2440 的LCD 控制器驱动,但在此我们先介绍一下关于2440 LCD 控制器以及驱动相关的LCD 的一些基础知识.注意:在此我们只讨论 TFT LCD,也就是真彩屏.LCD 驱动中最关键的就是时钟频率(Clock frequency

Uboot支持的命令

系统启动后,进入到 U-Boot> 后输入help,将显示所有支持的内置命令,如下所示 ?       - alias for 'help'base    - print or set address offsetbdinfo  - print Board Info structureboot    - boot default, i.e., run 'bootcmd'bootd   - boot default, i.e., run 'bootcmd'bootm   - boot applic

u-boot支持yaffs映像烧写的补丁

u-boot的nand flash驱动有两个版本,似乎是以u-boot1.1.5为分界点的,之前的版本使用的是自己写的nand flash驱动,而后面的版本使用的是linux内核中nand flash的驱动.这两个版本有可能在同一个u-boot中存在,都存放在 driver目录下面,一个为nand,一个为nand_legacy,意思为传统的nand flash驱动.两者使用一个宏开关 CFG_NAND_LEGACY来打开,如果定义这个宏的话,将使用传统的nand flash驱动,否则使用最新的f

2.4、uboot配置和编译过程详解

2.4.1.uboot主Makefile分析1 2.4.1.1.uboot version分析 (1)uboot版本号分为3个级别: VERSION:主版本号 PATCHLEVEL:次版本号 SUBLEVEL:再次版本号 EXTRAVERSION:另外附加的版本信息 这四个用.隔开共同构成了最终的版本号. (2)Makefile中版本号最终生成了一个变量U_BOOT_VERSION,这个变量记录了Makefile中配置的版本号 (3)include/version_autogenerated.h

uboot主Makefile分析(t配置和编译过程详解)

1.编译uboot前需要三次make make distcleanmake x210_sd_configmake -j4 make distclean为清楚dist文件. make x210_sd_config  跳转执行mkconfig用来配置并生成config.mk(board/samsung/x210目录下为指定链接地址的与主uboot目录的config.mk不同) autuconfig.mk 2.框图 3.uboot主Makefile分析 3.1.uboot version确定(Make

uboot配置和编译过程详解【转】

本文转载自:http://blog.csdn.net/czg13548930186/article/details/53434566 uboot主Makefile分析1 1.uboot version确定(Makefile的24-29行) Makefile代码部分: [plain] view plain copy VERSION = 1 PATCHLEVEL = 30 SUBLEVEL = 4 EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHL

uboot移植准备工作二

第一部分 2.3.1uboot配置编译实践 1)源头的源代码时uboot官网下载的.这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用的SoC对应的移植版本. 2)SoC厂商在退出一款SoC后,厂商的工程师会去uboot官网下载一个uboot,根据自己Soc进行第一步移植,移植的目标是厂商推出的开发板.(譬如三星的S5PV210芯片厂商出的开发板就叫SMDKV210),所以三星的工程师移植的uboot是根据他们自己的SMDKV210开发板移植的. 3)具体的开发板提供商(