Chinaunix首页 | 论坛 | 博客
  • 博客访问: 137646
  • 博文数量: 28
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 165
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-14 10:02
文章分类

全部博文(28)

文章存档

2014年(12)

2013年(16)

我的朋友

分类: 嵌入式

2014-07-10 21:47:08

本移植主要参考友善之臂移植手册完成,做个笔记以备不时之需
Linux-2.6.32 内核LCD驱动移植
使用环境:fedora9
交叉编译工具链:arm-linux-gcc-4.4.3
内核源码来源:
内核存放目录:/opt/mymini2440/linux-2.6.32

一、LCD背光驱动移植
在、opt/mymini2440/linux-2.6.32/drivers/video/目录下添加背光驱动程序mini2440_backlight.c,内容如下:
  1. //以下头文件可能并不是每一个都必须的,但多余的并不会影响驱动程序的内容
  2. #include <linux/errno.h>
  3. #include <linux/kernel.h>
  4. #include <linux/module.h>
  5. #include <linux/slab.h>
  6. #include <linux/input.h>
  7. #include <linux/init.h>
  8. #include <linux/serio.h>
  9. #include <linux/delay.h>
  10. #include <linux/clk.h>
  11. #include <linux/miscdevice.h>
  12. #include <linux/gpio.h>
  13. #include <asm/io.h>
  14. #include <asm/irq.h>
  15. #include <asm/uaccess.h>
  16. #include <mach/regs-clock.h>
  17. #include <plat/regs-timer.h>
  18. #include <mach/regs-gpio.h>
  19. #include <linux/cdev.h>
  20. #undef DEBUG
  21. //#define DEBUG
  22. #ifdef DEBUG
  23. #define DPRINTK(x...) {printk(__FUNCTION__"(%d): ",__LINE__);printk(##x);}
  24. #else
  25. #define DPRINTK(x...) (void)(0)
  26. #endif
  27. //定义背光驱动的名称为backligh,将会出现在/dev/backlight
  28. #define DEVICE_NAME "backlight"
  29. //定义背光变量bl_state,以记录背光的开关状态
  30. static unsigned int bl_state;
  31. //设置背光开关的函数,主要是翻转背光变量bl_state
  32. static inline void set_bl(int state)
  33. {
  34. bl_state = !!state; //翻转bl_state 变量
  35. s3c2410_gpio_setpin(S3C2410_GPG(4), bl_state); //把结果写入背光所用的寄存器GPG4
  36. }
  37. //获取背光状态
  38. static inline unsigned int get_bl(void)
  39. {
  40. return bl_state;
  41. }
  42. //从应用程序读取参数,并传递到内核中
  43. static ssize_t dev_write(struct file *file, const char *buffer, size_t count, loff_t * ppos)
  44. {
  45. unsigned char ch;
  46. int ret;
  47. if (count == 0) {
  48. return count;
  49. }
  50. //使用copy_from_user 函数从用户层/应用层读取参数
  51. ret = copy_from_user(&ch, buffer, sizeof ch) ? -EFAULT : 0;
  52. if (ret) {
  53. return ret;
  54. }
  55. ch &= 0x01; //判断奇数还是偶数
  56. set_bl(ch); //设置背光状态
  57. return count;
  58. }
  59. //把内核参数传递给用户层/应用层的读函数
  60. static ssize_t dev_read(struct file *filp, char *buffer, size_t count, loff_t *ppos)
  61. {
  62. int ret;
  63. unsigned char str[] = {'0', '1' };
  64. if (count == 0) {
  65. return 0;
  66. }
  67. //使用copy_to_user 函数把内核参数传递到用户层/应用层
  68. ret = copy_to_user(buffer, str + get_bl(), sizeof(unsigned char) ) ? -EFAULT : 0;
  69. if (ret) {
  70. return ret;
  71. }
  72. return sizeof(unsigned char);
  73. }
  74. //设备操作集
  75. static struct file_operations dev_fops = {
  76. owner: THIS_MODULE,
  77. read:dev_read,
  78. write: dev_write,
  79. };
  80. static struct miscdevice misc = {
  81. .minor = MISC_DYNAMIC_MINOR,
  82. .name = DEVICE_NAME,
  83. .fops = &dev_fops,
  84. };
  85. //设备初始化,内核启动时就有效
  86. static int __init dev_init(void)
  87. {
  88. int ret;
  89. ret = misc_register(&misc);
  90. printk (DEVICE_NAME"\tinitialized\n");
  91. //初始化背光所用的端口GPG4 为输出
  92. s3c2410_gpio_cfgpin(S3C2410_GPG(4), S3C2410_GPIO_OUTPUT);
  93. //启动内核时打开背光
  94. set_bl(1);
  95. return ret;
  96. }
  97. static void __exit dev_exit(void)
  98. {
  99. misc_deregister(&misc);
  100. }
  101. module_init(dev_init); //注册背光驱动模块
  102. module_exit(dev_exit); //卸载背光驱动模块
  103. MODULE_LICENSE("GPL");
  104. MODULE_AUTHOR("FriendlyARM Inc.");
在/opt/mymini2440/linux-2.6.32/drivers/video/目录项的菜单文件Kconfig中添加LCD背光驱动配置菜单如下:

  1. config FB_S3C2410_DEBUG
  2. bool "S3C2410 lcd debug messages"
  3. depends on FB_S3C2410
  4. help
  5. Turn on debugging messages. Note that you can set/unset at run time
  6. through sysfs

  7. config BACKLIGHT_MINI2440
  8. tristate "Backlight support for mini2440 from FriendlyARM"
  9. depends on MACH_MINI2440 && FB_S3C2410
  10. help
  11. backlight driver for MINI2440 from FriendlyARM

  12. config FB_SM501
  13. tristate "Silicon Motion SM501 framebuffer support"
在/opt/mymini2440/linux-2.6.32/drivers/video/Makefile中添加背光驱动目标文件
  1. # the test framebuffer is last
  2. obj-$(CONFIG_FB_VIRTUAL) += vfb.o
  3. #video output switch sysfs driver
  4. obj-$(CONFIG_VIDEO_OUTPUT_CONTROL) += output.o
  5. obj-$(CONFIG_BACKLIGHT_MINI2440) += mini2440_backlight.o
配置内核:
Device Drivers  ---> Graphics support --->  <*> Support for frame buffer devices          
    ---> <*>   Backlight support for mini2440 from FriendlyARM 
背光驱动移植完毕!
二、LCD驱动移植
在内核中添加各种LCD 类型的支持(我是X35的屏,也是我只需关注的部分,不过还是都添加了,X35有红色标出
删除mach-mini2440.c原有代码(本人115行-158行)
  1. 115 static struct s3c2410fb_display mini2440_lcd_cfg __initdata = {
  2. 116
  3. 117 .lcdcon5 = S3C2410_LCDCON5_FRM565 |
  4. 118 S3C2410_LCDCON5_INVVLINE |
  5. 119 S3C2410_LCDCON5_INVVFRAME |
  6. 120 S3C2410_LCDCON5_PWREN |
  7. 121 S3C2410_LCDCON5_HWSWP,
  8. 122
  9. 123 .type = S3C2410_LCDCON1_TFT,
  10. 124
  11. 125 .width = 240,
  12. 126 .height = 320,
  13. 127
  14. 128 .pixclock = 166667, /* HCLK 60 MHz, divisor 10 */
  15. 129 .xres = 240,
  16. 130 .yres = 320,
  17. 131 .bpp = 16,
  18. 132 .left_margin = 20,
  19. 133 .right_margin = 8,
  20. 134 .hsync_len = 4,
  21. 135 .upper_margin = 8,
  22. 136 .lower_margin = 7,
  23. 137 .vsync_len = 4,
  24. 138 };
  25. 139 
    140 static struct s3c2410fb_mach_info mini2440_fb_info __initdata = {
    141         .displays       = &mini2440_lcd_cfg,
    142         .num_displays   = 1,
    143         .default_display = 0,
    144 
    145 #if 0
    146         /* currently setup by downloader */
    147         .gpccon         = 0xaa940659,
    148         .gpccon_mask    = 0xffffffff,
    149         .gpcup          = 0x0000ffff,
    150         .gpcup_mask     = 0xffffffff,
    151         .gpdcon         = 0xaa84aaa0,
    152         .gpdcon_mask    = 0xffffffff,
    153         .gpdup          = 0x0000faff,
    154         .gpdup_mask     = 0xffffffff,
    155 #endif
    156 
    157         .lpcsel         = ((0xCE6) & ~7) | 1<<4,
    158 };
将删除部分替换成如下代码:

  1. 115 //NEC 3.5”LCD 的配置和参数设置
  2. 116 #if defined(CONFIG_FB_S3C2410_N240320)
  3. 117 #define LCD_WIDTH 240
  4. 118 #define LCD_HEIGHT 320
  5. 119 #define LCD_PIXCLOCK 100000
  6. 120 #define LCD_RIGHT_MARGIN 36
  7. 121 #define LCD_LEFT_MARGIN 19
  8. 122 #define LCD_HSYNC_LEN 5
  9. 123 #define LCD_UPPER_MARGIN 1
  10. 124 #define LCD_LOWER_MARGIN 5
  11. 125 #define LCD_VSYNC_LEN 1
  12. 126
  13. 127 //夏普8”LCD 的配置和参数设置
  14. 128 #elif defined(CONFIG_FB_S3C2410_TFT640480)
  15. 129 #define LCD_WIDTH 640
  16. 130 #define LCD_HEIGHT 480
  17. 131 #define LCD_PIXCLOCK 80000
  18. 132 #define LCD_RIGHT_MARGIN 67
  19. 133 #define LCD_LEFT_MARGIN 40
  20. 134 #define LCD_HSYNC_LEN 31
  21. 135 #define LCD_UPPER_MARGIN 25
  22. 136 #define LCD_LOWER_MARGIN 5
  23. 137 #define LCD_VSYNC_LEN 1
  24. 138
  25. 139 //统宝3.5”LCD 的配置和参数设置
  26. 140 #elif defined(CONFIG_FB_S3C2410_T240320)
  27. 141 #define LCD_WIDTH 240
  28. 142 #define LCD_HEIGHT 320
    143 #define LCD_PIXCLOCK 146250//170000
    144 #define LCD_RIGHT_MARGIN 25
    145 #define LCD_LEFT_MARGIN 0
    146 #define LCD_HSYNC_LEN 4
    147 #define LCD_UPPER_MARGIN 1
    148 #define LCD_LOWER_MARGIN 4
    149 #define LCD_VSYNC_LEN 1
    150 
    151 //群创7”LCD 的配置和参数设置
    152 #elif defined(CONFIG_FB_S3C2410_TFT800480)
    153 #define LCD_WIDTH 800
    154 #define LCD_HEIGHT 480
    155 #define LCD_PIXCLOCK 11463//40000
    156 #define LCD_RIGHT_MARGIN 67
    157 #define LCD_LEFT_MARGIN 40
    158 #define LCD_HSYNC_LEN 31
    159 #define LCD_UPPER_MARGIN 25
    160 #define LCD_LOWER_MARGIN 5
    161 #define LCD_VSYNC_LEN 1
    162 
    163 //LCD2VGA(分辨率为1024x768)模块的配置和参数设置
    164 #elif defined(CONFIG_FB_S3C2410_VGA1024768)
    165 #define LCD_WIDTH 1024
    166 #define LCD_HEIGHT 768
    167 #define LCD_PIXCLOCK 80000
    168 #define LCD_RIGHT_MARGIN 15
    169 #define LCD_LEFT_MARGIN 199
    170 #define LCD_HSYNC_LEN 15
    171 #define LCD_UPPER_MARGIN 1
    172 #define LCD_LOWER_MARGIN 1
    173 #define LCD_VSYNC_LEN 1
    174 #define LCD_CON5 (S3C2410_LCDCON5_FRM565 | S3C2410_LCDCON5_HWSWP)
    175 
    176 #elif defined(CONFIG_FB_S3C2410_X240320)
    177 #define LCD_WIDTH 240
    178 #define LCD_HEIGHT 320
    179 #define LCD_PIXCLOCK 170000
    180 #define LCD_RIGHT_MARGIN 25
    181 #define LCD_LEFT_MARGIN 0
    182 #define LCD_HSYNC_LEN 4
    183 #define LCD_UPPER_MARGIN 0
    184 #define LCD_LOWER_MARGIN 4
    185 #define LCD_VSYNC_LEN 9
    186 #define LCD_CON5 (S3C2410_LCDCON5_FRM565 | S3C2410_LCDCON5_INVVDEN | S3C2410_LCDCON5_INVVFRAME |     S3C2410_LCDCON5_INVVLINE | S3C2410_LCDCON5_INVVCLK | S3C2410_LCDCON5_HWSWP ) 
    187 #endif
    188 
    189 #if defined (LCD_WIDTH)
    190 
    191 static struct s3c2410fb_display mini2440_lcd_cfg __initdata = {
    192 #if !defined (LCD_CON5)
    193         .lcdcon5      = S3C2410_LCDCON5_FRM565 |
    194                         S3C2410_LCDCON5_INVVLINE |
    195                         S3C2410_LCDCON5_INVVFRAME |
    196                         S3C2410_LCDCON5_PWREN |
    197                         S3C2410_LCDCON5_HWSWP,
    198 #else
    199         .lcdcon5 = LCD_CON5,
    200 #endif
    201         .type           = S3C2410_LCDCON1_TFT,
    202         .width          = LCD_WIDTH,
    203         .height         = LCD_HEIGHT,
    204         .pixclock       = LCD_PIXCLOCK,
    205         .xres           = LCD_WIDTH,
    206         .yres           = LCD_HEIGHT,
    207         .bpp            = 16,
    208         .left_margin    = LCD_LEFT_MARGIN + 1,
    209         .right_margin   = LCD_RIGHT_MARGIN + 1,
    210         .hsync_len      = LCD_HSYNC_LEN + 1,
    211         .upper_margin   = LCD_UPPER_MARGIN + 1,
    212         .lower_margin   = LCD_LOWER_MARGIN + 1,
    213         .vsync_len      = LCD_VSYNC_LEN + 1,
    214 };
    215 
    216 static struct s3c2410fb_mach_info mini2440_fb_info __initdata = {
    217         .displays       = &mini2440_lcd_cfg,
    218         .num_displays   = 1,
    219         .default_display = 0,
    220         .gpccon         = 0xaa955699,
    221         .gpccon_mask    = 0xffc003cc,
    222         .gpcup          = 0x0000ffff,
    223         .gpcup_mask     = 0xffffffff,
    224         .gpdcon         = 0xaa95aaa1,
    225         .gpdcon_mask    = 0xffc0fff0,
    226         .gpdup          = 0x0000faff,
    227         .gpdup_mask     = 0xffffffff,
    228         .lpcsel         = 0xf82,
    229 };
    230 
    231 #endif
    232 
然后打开drivers/video/Kconfig,在大概1935 行加入以下配置信息:

  1. 1923 config FB_S3C2410_DEBUG
  2. 1924 bool "S3C2410 lcd debug messages"
  3. 1925 depends on FB_S3C2410
  4. 1926 help
  5. 1927 Turn on debugging messages. Note that you can set/unset at run time
  6. 1928 through sysfs
  7. 1929
  8. 1930 choice
  9. 1931 prompt "LCD select"
  10. 1932 depends on FB_S3C2410
  11. 1933 help
  12. 1934 S3C24x0 LCD size select
  13. 1935
  14. 1936 config FB_S3C2410_T240320
  15. 1937 boolean "3.5 inch 240X320 Toppoly LCD"
  16. 1938 depends on FB_S3C2410
  17. 1939 help
  18. 1940 3.5 inch 240X320 Toppoly LCD
  19. 1941
  20. 1942 config FB_S3C2410_N240320
  21. 1943 boolean "3.5 inch 240X320 NEC LCD"
  22. 1944 depends on FB_S3C2410
  23. 1945 help
  24. 1946           3.5 inch 240x320 NEC LCD
    1947 
    1948 config FB_S3C2410_TFT640480
    1949         boolean "8 inch 640X480 L80 LCD"
    1950         depends on FB_S3C2410
    1951         help
    1952           8 inch 640X480 LCD
    1953 
    1954 config FB_S3C2410_TFT800480
    1955         boolean "7 inch 800x480 TFT LCD"
    1956         depends on FB_S3C2410
    1957         help
    1958           7 inch 800x480 TFT LCD
    1959 
    1960 config FB_S3C2410_VGA1024768
    1961         boolean "VGA 1024x768"
    1962         depends on FB_S3C2410
    1963         help
    1964           VGA 1024x768
    1965 
    1966 config FB_S3C2410_X240320
    1967         boolean "3.5 inch 240X320 LCD(ACX502BMU)"
    1968         depends on FB_S3C2410
    1969         help
    1970           3.5 inch 240X320 LCD(ACX502BMU)
    1971 
    1972 endchoice
    1973 
    1974 config BACKLIGHT_MINI2440
配置内核
 Device Drivers  --->  Graphics support  --->  <*> Support for frame buffer devices  --->  LCD select (3.5 inch 240X320 LCD(ACX502BMU))  --->  (X) 3.5 inch 240X320 LCD(ACX502BMU) 
LCD驱动移植完成!!!
三、开机logo和开机信息显示
Device Drivers  --->  Graphics support  --->  <*> Support for frame buffer devices  ---> [*] Bootup logo  --->  [*]   Standard 16-color Linux logo (本人的24位死活不能显示,先改成16位吧)
在文件系统rootfs/etc/inittab下作如下修改(为了在LCD上显示打印信息):
  1. 1 ::sysinit:/etc/init.d/rcS
  2.   2 tty1::askfirst:-/bin/sh    //添加
  3.   3 s3c2410_serial0::askfirst:-/bin/sh
  4.   4 ::ctrlaltdel:/sbin/reboot
  5.   5 ::shutdown:/bin/umount -a -r
  6.   6
四,编译测试
#make zImage
#cd arch/arm/boot/
#mkimage -n 'mini2440_linux' -A arm -O linux -T kernel -C none -a 0x31000000 -e 0x31000040 -d zImage uImage
#chmod a+x uImage 
#cp uImage /tftp/boot
设置U-BOOT参数如下:

  1. [u-boot]# printenv
  2. bootdelay=1
  3. baudrate=115200
  4. ethaddr=08:08:11:18:12:27
  5. ipaddr=10.50.80.1
  6. serverip=10.50.80.207
  7. gatewayip=10.50.80.207
  8. netmask=255.255.254.0
  9. tekkaman=bmp d 70000
  10.  stdin=serial
  11. stdout=serial
  12. stderr=serial
  13. ethact=dm9000
  14. bootcmd=tftp 0x31000000 uImage;bootm 0x31000000
  15. bootargs=noinitrd root=/dev/nfs rw nfsroot=10.50.80.207:/opt/mymini2440/rootfs ip=10.50.80.1:10.50.80.207::255.255.254.0 console=ttySAC0,115200 console=tty1 init=/linuxrc mem=64M

  16. Environment size: 443/131068 bytes
链接好交叉网线 NFS 启动系统!!!
  1. I2C: ready
  2. DRAM: 64 MB
  3. Flash: 2 MB
  4. NAND: 256 MiB
  5. Video: 240x320x16 20kHz 62Hz
  6. In: serial
  7. Out: serial
  8. Err: serial
  9. Net: dm9000
  10. U-Boot 2009.11 (Jul 08 2014 - 17:12:32)
  11. modified by fxc
  12. enjoy
  13. Hit any key to stop autoboot: 0
  14. dm9000 i/o: 0x20000300, id: 0x90000a46
  15. DM9000: running in 16 bit mode
  16. MAC: 08:08:11:18:12:27
  17. operating at 100M full duplex mode
  18. Using dm9000 device
  19. TFTP from server 10.50.80.207; our IP address is 10.50.80.1
  20. Filename 'uImage'.
  21. Load address: 0x31000000
  22. Loading: T #################################################################
  23.          #################################################################
  24.          ##############
  25. done
  26. Bytes transferred = 2111440 (2037d0 hex)
  27. ## Booting kernel from Legacy Image at 31000000 ...
  28.    Image Name: mini2440_name
  29.    Created: 2014-07-10 12:41:58 UTC
  30.    Image Type: ARM Linux Kernel Image (uncompressed)
  31.    Data Size: 2111376 Bytes = 2 MB
  32.    Load Address: 31000000
  33.    Entry Point: 31000040
  34.    Verifying Checksum ... OK
  35.    XIP Kernel Image ... OK
  36. OK

  37. Starting kernel ...

  38. Uncompressing Linux................................................................................................................................... done, booting the kernel.
  39. Linux version 2.6.32 (root@localhost.localdomain) (gcc version 4.4.3 (ctng-1.6.1) ) #11 Thu Jul 10 20:41:20 CST 2014
  40. CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
  41. CPU: VIVT data cache, VIVT instruction cache
  42. Machine: FriendlyARM MINI2440
  43. Memory policy: ECC disabled, Data cache writeback
  44. CPU S3C2440A (id 0x32440001)
  45. S3C24XX Clocks, (c) 2004 Simtec Electronics
  46. S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
  47. CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
  48. Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
  49. Kernel command line: noinitrd root=/dev/nfs rw nfsroot=10.50.80.207:/opt/mymini2440/rootfs ip=10.50.80.1:10.50.80.207::255.255.254.0 console=ttySAC0,115200 console=tty1 init=/linuxrc mem=64M
  50. PID hash table entries: 256 (order: -2, 1024 bytes)
  51. Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
  52. Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
  53. Memory: 64MB = 64MB total
  54. Memory: 60524KB available (3684K code, 418K data, 128K init, 0K highmem)
  55. SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
  56. Hierarchical RCU implementation.
  57. NR_IRQS:85
  58. irq: clearing subpending status 00000002
  59. Console: colour dummy device 80x30
  60. console [tty1] enabled
  61. console [ttySAC0] enabled
  62. Calibrating delay loop... 201.93 BogoMIPS (lpj=504832)
  63. Mount-cache hash table entries: 512
  64. CPU: Testing write buffer coherency: ok
  65. NET: Registered protocol family 16
  66. S3C2440: Initialising architecture
  67. S3C2440: IRQ Support
  68. S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
  69. DMA channel 0 at c4808000, irq 33
  70. DMA channel 1 at c4808040, irq 34
  71. DMA channel 2 at c4808080, irq 35
  72. DMA channel 3 at c48080c0, irq 36
  73. S3C244X: Clock Support, DVS off
  74. bio: create slab <bio-0> at 0
  75. usbcore: registered new interface driver usbfs
  76. usbcore: registered new interface driver hub
  77. usbcore: registered new device driver usb
  78. s3c-i2c s3c2440-i2c: slave address 0x10
  79. s3c-i2c s3c2440-i2c: bus frequency set to 98 KHz
  80. s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
  81. NET: Registered protocol family 2
  82. IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
  83. TCP established hash table entries: 2048 (order: 2, 16384 bytes)
  84. TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
  85. TCP: Hash tables configured (established 2048 bind 2048)
  86. TCP reno registered
  87. NET: Registered protocol family 1
  88. RPC: Registered udp transport module.
  89. RPC: Registered tcp transport module.
  90. RPC: Registered tcp NFSv4.1 backchannel transport module.
  91. JFFS2 version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.
  92. ROMFS MTD (C) 2007 Red Hat, Inc.
  93. yaffs Jul 8 2014 19:34:38 Installing.
  94. msgmni has been set to 118
  95. alg: No test for stdrng (krng)
  96. io scheduler noop registered
  97. io scheduler anticipatory registered (default)
  98. io scheduler deadline registered
  99. io scheduler cfq registered
  100. Console: switching to colour frame buffer device 60x53
  101. fb0: s3c2410fb frame buffer device
  102. backlight initialized
  103. s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
  104. s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
  105. s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
  106. brd: module loaded
  107. S3C24XX NAND Driver, (c) 2004 Simtec Electronics
  108. s3c24xx-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns
  109. s3c24xx-nand s3c2440-nand: NAND soft ECC
  110. NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
  111. Scanning device for bad blocks
  112. Bad eraseblock 250 at 0x000001f40000
  113. Creating 5 MTD partitions on "NAND 256MiB 3,3V 8-bit":
  114. 0x000000000000-0x000000040000 : "boot"
  115. 0x000000040000-0x000000060000 : "param"
  116. ftl_cs: FTL header not found.
  117. 0x000000060000-0x000000560000 : "Kernel"
  118. ftl_cs: FTL header not found.
  119. 0x000000560000-0x000040560000 : "root"
  120. mtd: partition "root" extends beyond the end of device "NAND 256MiB 3,3V 8-bit" -- size truncated to 0xfaa0000
  121. ftl_cs: FTL header not found.
  122. 0x000000000000-0x000040000000 : "nand"
  123. mtd: partition "nand" extends beyond the end of device "NAND 256MiB 3,3V 8-bit" -- size truncated to 0x10000000
  124. dm9000 Ethernet Driver, V1.31
  125. eth0: dm9000e at c486e300,c4872304 IRQ 51 MAC: 08:90:90:90:90:90 (chip)
  126. ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
  127. s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
  128. s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
  129. s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
  130. usb usb1: configuration #1 chosen from 1 choice
  131. hub 1-0:1.0: USB hub found
  132. hub 1-0:1.0: 2 ports detected
  133. usbcore: registered new interface driver libusual
  134. mice: PS/2 mouse device common for all mice
  135. S3C24XX RTC, (c) 2004,2006 Simtec Electronics
  136. s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
  137. s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
  138. i2c /dev entries driver
  139. S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
  140. s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
  141. cpuidle: using governor ladder
  142. sdhci: Secure Digital Host Controller Interface driver
  143. sdhci: Copyright(c) Pierre Ossman
  144. usbcore: registered new interface driver hiddev
  145. usbcore: registered new interface driver usbhid
  146. usbhid: v2.6:USB HID core driver
  147. Advanced Linux Sound Architecture Driver Version 1.0.21.
  148. No device for DAI UDA134X
  149. No device for DAI s3c24xx-i2s
  150. ALSA device list:
  151.   No soundcards found.
  152. TCP cubic registered
  153. NET: Registered protocol family 17
  154. s3c2410-rtc s3c2410-rtc: setting system clock to 2014-07-10 21:00:29 UTC (1405026029)
  155. eth0: link down
  156. IP-Config: Complete:
  157.      device=eth0, addr=10.50.80.1, mask=255.255.254.0, gw=255.255.255.255,
  158.      host=10.50.80.1, domain=, nis-domain=(none),
  159.      bootserver=10.50.80.207, rootserver=10.50.80.207, rootpath=
  160. Looking up port of RPC 100003/2 on 10.50.80.207
  161. eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
  162. Looking up port of RPC 100005/1 on 10.50.80.207
  163. VFS: Mounted root (nfs filesystem) on device 0:14.
  164. Freeing init memory: 128K

  165. Please press Enter to activate this console.

小企鹅出现、启动打印出现!!!
至此LCD驱动移植完成!!!
阅读(4311) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~