针对-s5pv210,但对其他平台也使用
lcd显示logo失败,若显示成功默认的logo是一只企鹅,但是串口打印“Start display and show logo”,但是LCD屏没有显示   
[    0.833071] s3cfb s3cfb: [fb2] dma: 0x465ab000, cpu: 0xe1000000, size: 0x005dc000
[ 0.845112] FIMD src sclk =
[ 0.965701] s3cfb s3cfb: registered successfully
[ 0.965744] Start display and show logo
 
原因:LCD驱动有问题。
第一步:在arch/arm/mach-s5pv210/mach-smdkc110.c当中,约712行,将之前的LCD初始化删掉,并修改如下:
#ifdef CONFIG_FB_S3C_LTE480WV
static struct s3cfb_lcd wvga_s70 = { .width = ,
.height = ,
.p_width = ,
.p_height = ,
.bpp = ,
.freq = , .timing = {
.h_fp = ,
.h_bp = ,
.h_sw = ,
.v_fp = ,
.v_fpe = ,
.v_bp = ,
.v_bpe = ,
.v_sw = ,
},
.polarity = {
.rise_vclk = ,
.inv_hsync = ,
.inv_vsync = ,
.inv_vden = ,
},
}; static void lcd_cfg_gpio(struct platform_device *pdev)
{
int i; for (i = ; i < ; i++) {
s3c_gpio_cfgpin(S5PV210_GPF0(i), S3C_GPIO_SFN());
s3c_gpio_setpull(S5PV210_GPF0(i), S3C_GPIO_PULL_NONE);
} for (i = ; i < ; i++) {
s3c_gpio_cfgpin(S5PV210_GPF1(i), S3C_GPIO_SFN());
s3c_gpio_setpull(S5PV210_GPF1(i), S3C_GPIO_PULL_NONE);
} for (i = ; i < ; i++) {
s3c_gpio_cfgpin(S5PV210_GPF2(i), S3C_GPIO_SFN());
s3c_gpio_setpull(S5PV210_GPF2(i), S3C_GPIO_PULL_NONE);
} for (i = ; i < ; i++) {
s3c_gpio_cfgpin(S5PV210_GPF3(i), S3C_GPIO_SFN());
s3c_gpio_setpull(S5PV210_GPF3(i), S3C_GPIO_PULL_NONE);
} /* mDNIe SEL: why we shall write 0x2 ? */
writel(0x2, S5P_MDNIE_SEL); /* drive strength to max */
writel(0xaaaaaaaa, S5PV210_GPF0_BASE + 0xc);
writel(0xaaaaaaaa, S5PV210_GPF1_BASE + 0xc);
writel(0xaaaaaaaa, S5PV210_GPF2_BASE + 0xc);
writel(0x000000aa, S5PV210_GPF3_BASE + 0xc);
} #define S5PV210_GPD_0_0_TOUT_0 (0x2)
#define S5PV210_GPD_0_1_TOUT_1 (0x2 << 4)
#define S5PV210_GPD_0_2_TOUT_2 (0x2 << 8)
#define S5PV210_GPD_0_3_TOUT_3 (0x2 << 12)
static int lcd_backlight_on(struct platform_device *pdev)
{
int err; err = gpio_request(S5PV210_GPD0(), "GPD0"); if (err) {
printk(KERN_ERR "failed to request GPD0 for "
"lcd backlight control\n");
return err;
} gpio_direction_output(S5PV210_GPD0(), ); s3c_gpio_cfgpin(S5PV210_GPD0(), S5PV210_GPD_0_3_TOUT_3); gpio_free(S5PV210_GPD0());
return ;
} static int lcd_backlight_off(struct platform_device *pdev, int onoff)
{
int err; err = gpio_request(S5PV210_GPD0(), "GPD0"); if (err) {
printk(KERN_ERR "failed to request GPD0 for "
"lcd backlight control\n");
return err;
} gpio_direction_output(S5PV210_GPD0(), );
gpio_free(S5PV210_GPD0());
return ;
} static int lcd_reset_lcd(struct platform_device *pdev)
{
int err; err = gpio_request(S5PV210_GPH0(), "GPH0");
if (err) {
printk(KERN_ERR "failed to request GPH0 for "
"lcd reset control\n");
return err;
} gpio_direction_output(S5PV210_GPH0(), );
mdelay(); gpio_set_value(S5PV210_GPH0(), );
mdelay(); gpio_set_value(S5PV210_GPH0(), );
mdelay(); gpio_free(S5PV210_GPH0()); return ;
} static struct s3c_platform_fb lte480wv_fb_data __initdata = {
.hw_ver = 0x62,
.nr_wins = ,
.default_win = CONFIG_FB_S3C_DEFAULT_WINDOW,
.swap = FB_SWAP_WORD | FB_SWAP_HWORD,
.lcd = &wvga_s70,
.cfg_gpio = lcd_cfg_gpio,
.backlight_on = lcd_backlight_on,
.backlight_onoff = lcd_backlight_off,
.reset_lcd = lcd_reset_lcd,
};
#endif
 
第二步:使用make menuconfig,去配置当前显示的windows,请配置为windows0

Device Drivers
  -->Graphics support
  --> Support for frame buffer devices
  --> () Default Window (-)
 
修改为
Device Drivers
  -->Graphics support
  --> Support for frame buffer devices
  --> () Default Window (-)

内核启动后,lcd显示logo失败的更多相关文章

  1. STM32F103 ucLinux开发之四(内核启动后的调试)

    Stm32-uclinux启动后的调试 1.  修改__pfn_to_page使得能够启动 根据STM32F103 ucLinux开发之三(内核启动后不正常)的描述,内核无法启动是选择了平板内存模式后 ...

  2. Matlab7.1——启动时只显示Logo

    1. 现象 Matlab7.1在启动时只显示Matlab的Logo: 2. 解决方法 听我的吧,这个是官方办法,我也亲自试过了1结束matlab进程:2在C:\user\APPDATA\Roaming ...

  3. 通过JTAG对比内核启动后text/rodata段内容

    关键词:vmlinux.strip.dump._text.__end_rodata等等. 在日常的调试中,可能会在某些情况下踩到内核重要的数据,比如代码段或者rodata之类. 这种情况下,需要确认这 ...

  4. 自定义内核启动后的Logo

    1.使用图像GIMP工具   2.详细步骤如下:   A.将800x480的图片导入到GIMP工具.   B.选中GIMP菜单栏进行以下操作     图像         -->模式       ...

  5. qt designer启动后不显示界面问题的原因与解决办法

    Qt 5.6.1无论是在vs里双击ui文件还是直接启动designer.exe都一直无法显示界面,但任务管理器中可以看到该进程是存在的.前几天还正常的,但昨天加了一块NVIDIA的显卡(机器自带核显) ...

  6. STM32F103 ucLinux开发之三(内核启动后不正常)(完结)

    STM32F103 ucLinux内核没有完全启动 从BOOT跳转到内核后,执行一长段的汇编语言,然后来到startkernel函数,开启C语言之旅. 但是内核输出不正常,如下所示: Linux ve ...

  7. 设置vue启动项目后默认显示的页面

    通过配置路由,可以设置vue项目启动后默认显示的页面.路由的path设置为path:"/",启动项目后就会显示默认的组件页面. import Vue from 'vue' impo ...

  8. I.MX6Q(TQIMX6Q/TQE9)学习笔记——内核启动与文件系统挂载

    经过前面的移植,u-boot已经有能力启动内核了,本文主要来看下如何通过之前移植的u-boot来启动内核.如果按照前面的文章完成了LTIB 的编译,那么,Linux的内核应该就会出现rpm/BUILD ...

  9. linux内核启动以及文件系统的加载过程

    Linux 内核启动及文件系统加载过程 当u-boot 开始执行 bootcmd 命令,就进入 Linux 内核启动阶段.普通 Linux 内核的启动过程也可以分为两个阶段.本文以项目中使用的 lin ...

随机推荐

  1. 侯捷STL学习(十)--容器hashtable探索(unordered set/map)

    layout: post title: 侯捷STL学习(十) date: 2017-07-23 tag: 侯捷STL --- 第二十三节 容器hashtable探索 hashtable冲突(碰撞)处理 ...

  2. 开发环境入门 linux基础 基本操作命令(部分) 文本结构和基本命令

    文本结构和基本命令 linux系统中系统提示符:$ 表示普通用户 su  root切换用户命令(用户名 root),输入密码,切换到其他用户状态 root 命令提示符:# exit 退出当前用户,返回 ...

  3. 2016.7.10 SqlServer语句中类似decode、substr、instr、replace、length等函数的用法

    Decode() 对应 case when函数 case CHARINDEX('/',start_point_name) when 0 then start_point_name else subst ...

  4. java反射专题二

    一丶Class中常用方法详解 1)getFields() 只能获取到运行时类中及其父类中声明为public的属性 2)getDeclaredFields() 获取运行时类本身声明的所有属性 3)get ...

  5. python之数据库的操作(课前准备)

    数据库(Database)是按照数据结构来组织.存储和管理数据的仓库. 上面的就是数据库的定义. 何为数据库,简单的来说,就是我们的大型数据的存放地点. 而我们学习的呢就是数据库的访问层的制作. 何为 ...

  6. Android Studio 搭配 Tortoise SVN 安装问题汇总

    (1)Android studio 中想要使用SVN,但是在安装 1.9版本的SVN,会报SVN is too old(实际是太新了)的错误.所以只能下载1.8以下版本 (2)安装svn时,需要手动选 ...

  7. 关于play!的attachments.path配置、以及关于Form表单上传请求的认识

    相关链接 form表单提交multipart/form-data的请求分析:http://blog.csdn.net/five3/article/details/7181521.http://blog ...

  8. JavaScript中常用的函数

    javascript函数一共可分为五类:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数 1.常规函数  javascript常规函数包括以下9个函数:  (1)alert函数 ...

  9. HDU 4348(主席树 标记永久化)

    题面一看就是裸的数据结构题,而且一看就知道是主席树... 一共四种操作:1:把区间[l, r]的数都加上d,并且更新时间.2:查询当前时间的区间和.3:查询历史时间的区间和.4:时光倒流到某个时间. ...

  10. uniqid() 函数 和 microtime()函数

    uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.语法 uniqid(prefix,more_entropy) 参数     描述prefix     可选.为 ID 规定前缀.如果 ...