天嵌 ARM开发社区

 找回密码
 注册
查看: 2835|回复: 13

TQ LCD驱动移植问题

[复制链接]
gaotao 发表于 2010-12-22 11:23:40 | 显示全部楼层 |阅读模式
请教版主,我按照天嵌科技出品-Linux移植之Step By Step_V4.5_20100605.pdf移植2.6.30.4内核,按照手册移植,一直正常。现在在移植LCD驱动这一部分,按照上述手册移植LCD驱动(至94页),手册上说内核启动时,可以看到开机logo,可是我的屏一直是黑的啊,背光灯也没有打开(屏是好的),参照网友经验,在arch/arm/mach-s3c2440/mach-smdk2440.c下添加
s3c2410_gpio_cfgpin(S3C2410_GPG4,S3C2410_GPG4_OUTP);
s3c2410_gpio_setpin(S3C2410_GPG4,1);
内核启动后背光灯打开了,可是还是没有logo,哪位能指点一下啊,谢谢!!
 楼主| gaotao 发表于 2010-12-22 16:53:18 | 显示全部楼层
:(怎么没人回答啊~~~~~~
天嵌_support1 发表于 2010-12-22 19:08:18 | 显示全部楼层
1# gaotao

烧写LOGO就可以了。
 楼主| gaotao 发表于 2010-12-23 11:02:08 | 显示全部楼层
3# embedsky_lxt
LOGO的二进制代码在内核中已经含有了啊,请问为什么还要再烧写LOGO?
天嵌_support1 发表于 2010-12-23 11:19:16 | 显示全部楼层
4# gaotao


我不明白你说的管脚和LOGO的显示有什么关系。
你没有LOGO,到底是你换了LOGO后不显示你的呢?
还是你自己移植内核,就是看不到LOGO?
你也说说一下呀。
 楼主| gaotao 发表于 2010-12-23 19:45:55 | 显示全部楼层
是自己移植的内核,正在做LCD的驱动移植,参照Linux移植之Step By Step_V4.5_20100605.pdf移植的,试了好多遍了,屏幕一直是黑色的,LOGO的代码是直接存在内核中的。
天嵌_support1 发表于 2010-12-24 10:34:22 | 显示全部楼层
6# gaotao


几寸的LCD?
时序对不对呢?
你启动后的打印信息呢?
 楼主| gaotao 发表于 2010-12-25 09:48:42 | 显示全部楼层
本帖最后由 gaotao 于 2010-12-25 09:52 编辑

是3.5寸奇美的屏。

打印信息:

U-Boot 2009.08 (Dec 22 2010 - 15:34:19)

DRAM:  64 MB
Flash:  2 MB
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Net:   dm9000
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x200000, size 0x300000
3145728 bytes read: OK
## Booting kernel from Legacy Image at 31000000 ...
   Image Name:   linux-2.6.30.4
   Created:      2010-12-23  14:46:22 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1591192 Bytes =  1.5 MB
   Load Address: 30008000
   Entry Point:  30008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux.................................................................................................... done, booting the kernel.
Linux version 2.6.30.4EmbedSky (root@localhost.localdomain) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176) ) #1 Thu Dec 23 22:46:00 CST 2010
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=00007177
CPU: VIVT data cache, VIVT instruction cache
Machine: SMDK2440
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, (c) 2004 Simtec Electronics
S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0
Experimental hierarchical RCU implementation.
Experimental hierarchical RCU init done.
NR_IRQS:85
irq: clearing pending ext status 00080000
irq: clearing subpending status 00000002
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
console [ttySAC0] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 61560KB available (2852K code, 323K data, 108K init, 0K highmem)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 50.27 BogoMIPS (lpj=125696)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 296 bytes
NET: Registered protocol family 16
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
DMA channel 0 at c4808000, irq 33
DMA channel 1 at c4808040, irq 34
DMA channel 2 at c4808080, irq 35
DMA channel 3 at c48080c0, irq 36
S3C244X: Clock Support, DVS off
bio: create slab <bio-0> at 0
SCSI subsystem initialized
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 98 KHz
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
cfg80211: Calling CRDA to update world regulatory domain
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
yaffs Dec 23 2010 22:43:12 Installing.
msgmni has been set to 120
alg: No test for stdrng (krng)
io scheduler noop registered (default)
s3c2440-uart.0: tq2440_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: tq2440_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: tq2440_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
loop: module loaded
Driver 'sd' needs updating - please use bus_type methods
dm9000 Ethernet Driver, V1.31
Now use the default MAC address: 10:23:45:67:89:ab
eth0 (dm9000): not using net_device_ops yet
eth0: dm9000e at c4810000,c4814004 IRQ 51 MAC: 10:23:45:67:89:ab (EmbedSky)
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2440-nand s3c2440-nand: Tacls=2, 19ns Twrph0=3 29ns, Twrph1=2 19ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 192 at 0x000001800000
Bad eraseblock 193 at 0x000001820000
Bad eraseblock 253 at 0x000001fa0000
Bad eraseblock 1565 at 0x00000c3a0000
Bad eraseblock 1984 at 0x00000f800000
Creating 3 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x000000000000-0x000000040000 : "EmbedSky_Board_uboot"
0x000000200000-0x000000500000 : "EmbedSky_Boad_kernel"
0x000000500000-0x000010000000 : "EmbedSky_Board_yaffs2"
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
Linux video capture interface: v2.00
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
TCP cubic registered
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
lib80211: common routines for IEEE802.11 drivers
end_request: I/O error, dev mtdblock2, sector 256
isofs_fill_super: bread failed, dev=mtdblock2, iso_blknum=64, block=128
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
yaffs: auto selecting yaffs2
block 153 is bad
block 154 is bad
block 214 is bad
block 1526 is bad
block 1945 is bad
Partially written block 123 detected
Partially written block 123 detected
Partially written block 123 detected
Partially written block 123 detected
Partially written block 123 detected
Partially written block 123 detected
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:2.
Freeing init memory: 108K
Try to bring eth0 interface up ...
ifconfig eth0 hw ether 10:23:45:67:89:ab
eth0: link down
ifconfig eth0 172.30.0.10 netmask 255.255.0.0 up
add default gw 172.30.8.3
Done
/etc/rc.d/init.d/httpd: line 16: /sbin/boa: not found
Please press Enter to activate this console.
-/bin/sh: /bin: Permission denied
-/bin/sh: bin/: Permission denied
[root@EmbedSky /]#

麻烦斑竹啦~~
天嵌_support1 发表于 2010-12-25 10:15:04 | 显示全部楼层
8# gaotao


你有没有添加了LCD的相关时序呢?
arch/arm/math-smdk2440.c 文件中
 楼主| gaotao 发表于 2010-12-25 10:50:42 | 显示全部楼层
9# embedsky_lxt
109         .lcdcon5        = S3C2410_LCDCON5_FRM565 |
110                           S3C2410_LCDCON5_INVVLINE |
111                           S3C2410_LCDCON5_INVVFRAME |
112                           S3C2410_LCDCON5_PWREN |
113                           S3C2410_LCDCON5_HWSWP,
114
115         .type           = S3C2410_LCDCON1_TFT,
/*
116~132
*/
133         .width          = 320,
134         .height         = 240,
135
136         .pixclock       = 80000,// 166667, /* HCLK 60 MHz, divisor 10 */
137         .setclkval      =0x3,
138         .xres           = 320,
139         .yres           = 240,
140         .bpp            = 16,
141         .left_margin    = 28,
142         .right_margin   = 24,
143         .hsync_len      = 42,
144         .upper_margin   = 6,
145         .lower_margin   = 2,
146         .vsync_len      = 12,

150 static struct s3c2410fb_mach_info smdk2440_fb_info __initdata = {
151 //static struct s3c2410fb_mach_info tq2440_fb_info __initdata = {
152         .displays       = &smdk2440_lcd_cfg,
153         //.displays     = &tq2440_lcd_cfg,      
154         .num_displays   = 1,
155         .default_display = 0,
156
157 #if 0
158         /* currently setup by downloader */
159         .gpccon         = 0xaa940659,
160         .gpccon_mask    = 0xffffffff,
161         .gpcup          = 0x0000ffff,
162         .gpcup_mask     = 0xffffffff,
163         .gpdcon         = 0xaa84aaa0,
164         .gpdcon_mask    = 0xffffffff,
165         .gpdup          = 0x0000faff,
166         .gpdup_mask     = 0xffffffff,
167 #endif
168
169         //.lpcsel               = ((0xCE6) & ~7) | 1<<4,
170 };
 楼主| gaotao 发表于 2010-12-27 21:03:05 | 显示全部楼层
版主,出现啊。。。
 楼主| gaotao 发表于 2010-12-31 16:04:15 | 显示全部楼层
唉……是没希望了
阳光梦 发表于 2012-2-24 14:58:40 | 显示全部楼层
我也是此问题,我的是4.3的屏
亚瑟王 发表于 2012-2-27 12:11:58 | 显示全部楼层
亲,在楼主提供的串口打印信息里面没有对LCD初始化的提示信息出现,如果没有说错的话,他的内核中根本没有初始化LCD。
至于为什么没有初始化,应该是配置内核时没有配置上LCD相关的选项。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-29 07:25 , Processed in 1.031290 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表