TFTLCD在S5PV210平台调试记录

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TFTLCD在S5PV210平台调试记录

TFT LCD在S5PV210平台调试记录

分类:嵌入式Linux2013-06-25 16:52 414人阅读评论(0) 收藏举报嵌入式linuxlinux内核

首先弄清楚linux内核中LCD驱动相关文件包含内容,在驱动任务承担啥角色,然后对照《S5PV210_UM_REV1.1.pdf》和自己的LCD user manual修改参数。

我就是以前没有动过这部分调试,狠狠的看了三星samsung的芯片手册和液晶屏的Driver IC。A8核比2440和6410的LCD控制器要复杂、强大。

下面开始==>>

linux2.6.32内核中,关于lcd的驱动主要的文件为:

/drivers/video/sumsung/s3cfb.c 、s3cfb_fimd6x.c 等

一、LCD初始化入口

@s3cfb.c lines1306

1static int s3cfb_probe(struct platform_device *pdev)

2{

3struct s3c_platform_fb *pdata;

4struct resource *res;

5int ret = 0;

6printk("# s3cfb_probe() for V-PDA LCD:\n");

7#if 0

8/* ldo6 regulator on */

9 printk("\t %s \n", __func__);

10 lcd_regulator = regulator_get(NULL, "vddlcd");

11if (IS_ERR(lcd_regulator)) {

12 printk(KERN_ERR "failed to get resource %s\n", "vddlcd");

13return PTR_ERR(lcd_regulator);

14 }

15 regulator_enable(lcd_regulator);

16#endif

17/* initialzing global structure */

18 fbdev = kzalloc(sizeof(struct s3cfb_global), GFP_KERNEL); 19if (!fbdev) {

20 dev_err(fbdev->dev, "failed to allocate for " 21"global fb structure\n");

22goto err_global;

23 }

24

25 fbdev->dev = &pdev->dev;

26 s3cfb_set_lcd_info(fbdev);//added in ili9341

27

28/* gpio */

29 pdata = to_fb_plat(&pdev->dev);

30if (pdata->cfg_gpio)

31 pdata->cfg_gpio(pdev);

32

33if (pdata->clk_on)

34 pdata->clk_on(pdev, &fbdev->clock);

35

36/* io memory */

37 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 38if (!res) {

39 dev_err(fbdev->dev, "failed to get io memory region\n");

40 ret = -EINVAL;

41goto err_io;

42 }

43

44/* request mem region */

45 res = request_mem_region(res->start,

46 res->end - res->start + 1, pdev->name);

47if (!res) {

48 dev_err(fbdev->dev, "failed to request io memory region\n");

49 ret = -EINVAL;

50goto err_io;

51 }

52

53/* ioremap for register block */

54 fbdev->regs = ioremap(res->start, res->end - res->start + 1);

55if (!fbdev->regs) {

56 dev_err(fbdev->dev, "failed to remap io region\n");

57 ret = -EINVAL;

58goto err_io;

59 }

60

61/* irq */

62 fbdev->irq = platform_get_irq(pdev, 0);

63if (request_irq(fbdev->irq, s3cfb_irq_frame, IRQF_SHARED,

64 pdev->name, fbdev)) {

65 dev_err(fbdev->dev, "request_irq failed\n");

66 ret = -EINVAL;

67goto err_irq;

68 }

69

70/*set gamma LUT*///SSCR xuhui 110130

71 s3cfb_set_gamma(fbdev);

72

相关文档
最新文档