【求助】关于在linux内核中LCD,VGA,HDMI的区别

podjman 2014-07-03 04:18:54
最近在调试内核的显示驱动模块,被LCD,VGA,HDMI这三个的区分给弄糊涂了。

之前听别人说若要进行VGA输出的话,就要将LCD驱动配置好。LCD的分辨率即是VGA的分辨率。

而HDMI的话,我仅仅修改了sacfb.c文件中的分辨率参数,其他的都没有变,编译出来的内核就能输出相应分辨率的HDMI信号。

这是怎么回事呢。

在Linux中式怎么划分这三样显示设备的呢?

还有两个问题:
1.板子能进行HDMI输出却不能进行VGA输出,这是哪里没有配置好吗?

2.因为板子跑得是安卓系统,我把USB鼠标插进板子之后,HDMI信号就断了,logcat显示:
D/Vold    ( 1289): HDMI: offline
D/SecTVOutService( 1293): virtual void android::SecTVOutService::setHdmiStatus(uint32_t) HDMI cable status = 0
I/ ( 1293): EDID is reset!!!

而且鼠标下面的灯也不亮,就好像断电了一样。可是拔出鼠标之后HDMI输出又恢复了。。。测试过硬件是没有问题的,是内核的配置有什么问题吗?
...全文
1650 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
CMLliuyu 2015-11-12
  • 打赏
  • 举报
回复
博主,求教怎么配置VGA输出?
podjman 2014-07-28
  • 打赏
  • 举报
回复
先结贴吧,之后补一篇问题分析
podjman 2014-07-12
  • 打赏
  • 举报
回复
引用 7 楼 Huntercao 的回复:
和原始镜像对比一下log信息,系统的设备配置信息,驱动加载信息等。 看看原始镜像下,鼠标插入的时候系统打印信息是什么样的。
好像找到问题所在了,我看到我下载下来的内核的USB口设定是两路独立的USB HOST2.0接口,而且其中一路一扩四。而我这块板子只有一路USB HOST,可能是内核中USB的GPIO口设定与我这块板子不符,导致通电后插入USB设备无反应。 另外我在系统启动后在/dev 目录下发现了usb_accessory设备,而安卓下的USB Accessory模式是要由外部设备供给电源的,就好像手机插进电脑,由电脑进行供电,就是这种模式(参考:http://blog.csdn.net/feiyangxiaomi/article/details/19617179) 这就是为什么我的鼠标插进板子而板子没有供电给鼠标的原因。我还要在看看内核对USB HOST的GPIO口分配。这个帖子先不结,等我找到解决方法发上来之后再结。
曹大夯 2014-07-12
  • 打赏
  • 举报
回复
引用 8 楼 podjman 的回复:
这就是为什么我的鼠标插进板子而板子没有供电给鼠标的原因。我还要在看看内核对USB HOST的GPIO口分配。
赞,希望你尽快找到解决办法,让后把结果和大家分享。
曹大夯 2014-07-09
  • 打赏
  • 举报
回复
和原始镜像对比一下log信息,系统的设备配置信息,驱动加载信息等。 看看原始镜像下,鼠标插入的时候系统打印信息是什么样的。
podjman 2014-07-09
  • 打赏
  • 举报
回复
引用 5 楼 Huntercao 的回复:
你恐怕得看看原始的镜像是怎么配的。确保你的OS Image是配置对的。
原始的内核只有镜像没有源码,所以可以获得的资料有限,我再查查看吧
曹大夯 2014-07-07
  • 打赏
  • 举报
回复
你恐怕得看看原始的镜像是怎么配的。确保你的OS Image是配置对的。
podjman 2014-07-07
  • 打赏
  • 举报
回复
引用 1 楼 Huntercao 的回复:
[quote=引用 楼主 podjman 的回复:] 测试过硬件是没有问题的
你怎么确定硬件没有问题的? 从Debug信息看“EDID is reset”,看起来HID鼠标造成了HDMI控制器Reset了。 你的系统的CPU是哪家?USB Host Controller是哪家? HDMI的Controller是哪家?[/quote] 谢谢回答~ 我这块板子用的是三星4412的cpu,原先有一套系统,可是只有系统的内核只有镜像而没有源码,我就想着自己移植一个。使用板子自带的内核插进鼠标时没有问题的,可是使用我移植的内核的话就出现了上述情况。所以我认为硬件没有问题。 USB Host Controller,我还没有注意到这一块,因为我是个新手,嘿嘿~ 我看了一下原理图,用的是fe1.1s HDMI Controller的话。。应该已经集成到CPU里面了吧,在板子上只需要有一个接口就可以了。 另外,在内核启动的过程中出现了一个小错误,但没有使启动停止:
[    2.023972] ------------[ cut here ]------------
[    2.028573] WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x58/0x114()
[    2.036372] autorequest GPIO-282
[    2.039583] Modules linked in:
[    2.042621] Backtrace: 
[    2.045068] [<c004b494>] (dump_backtrace+0x0/0x110) from [<c0579490>] (dump_stack+0x18/0x1c)
[    2.053472]  r6:00000065 r5:c020f41c r4:d6849db0 r3:d6848000
[    2.059123] [<c0579478>] (dump_stack+0x0/0x1c) from [<c0077118>] (warn_slowpath_common+0x5c/0x6c)
[    2.067973] [<c00770bc>] (warn_slowpath_common+0x0/0x6c) from [<c00771cc>] (warn_slowpath_fmt+0x38/0x40)
[    2.077429]  r8:0000011a r7:00000000 r6:c0771d38 r5:c07151a4 r4:c0771d3c
[    2.083939] r3:00000009
[    2.086550] [<c0077194>] (warn_slowpath_fmt+0x0/0x40) from [<c020f41c>] (gpio_ensure_requested+0x58/0x114)
[    2.096178]  r3:0000011a r2:c067882c
[    2.099743] [<c020f3c4>] (gpio_ensure_requested+0x0/0x114) from [<c020fb4c>] (gpio_direction_output+0x98/0x100)
[    2.109813] [<c020fab4>] (gpio_direction_output+0x0/0x100) from [<c005c528>] (usb_hub_gpio_init+0xb8/0xd4)
[    2.119445] [<c005c470>] (usb_hub_gpio_init+0x0/0xd4) from [<c005c5e4>] (s5p_usb_phy_init+0xa0/0x344)
[    2.128647] [<c005c544>] (s5p_usb_phy_init+0x0/0x344) from [<c05714dc>] (s5p_ehci_probe+0x1b4/0x2b4)
[    2.137755]  r6:d6881c00 r5:c070a908 r4:00000086 r3:c005c544
[    2.143405] [<c0571328>] (s5p_ehci_probe+0x0/0x2b4) from [<c0257730>] (platform_drv_probe+0x20/0x24)
[    2.152517] [<c0257710>] (platform_drv_probe+0x0/0x24) from [<c02560cc>] (driver_probe_device+0xa4/0x1ac)
[    2.162065] [<c0256028>] (driver_probe_device+0x0/0x1ac) from [<c0256268>] (__driver_attach+0x94/0x98)
[    2.171346]  r8:00000000 r7:c02561d4 r6:c070a93c r5:c071c2ec r4:c070a908
[    2.177856] r3:c02579a4
[    2.180466] [<c02561d4>] (__driver_attach+0x0/0x98) from [<c02557fc>] (bus_for_each_dev+0x68/0x94)
[    2.189401]  r6:d6849ee0 r5:00000000 r4:c071c2ec r3:00000000
[    2.195048] [<c0255794>] (bus_for_each_dev+0x0/0x94) from [<c0255f18>] (driver_attach+0x24/0x28)
[    2.203809]  r7:00000000 r6:d6943780 r5:c0719ec8 r4:c071c2ec
[    2.209457] [<c0255ef4>] (driver_attach+0x0/0x28) from [<c02550c4>] (bus_add_driver+0x1fc/0x2c8)
[    2.218224] [<c0254ec8>] (bus_add_driver+0x0/0x2c8) from [<c02568cc>] (driver_register+0x80/0x194)
[    2.227165] [<c025684c>] (driver_register+0x0/0x194) from [<c0257c44>] (platform_driver_register+0x58/0x60)
[    2.236880]  r8:00000000 r7:c00220a0 r6:00000000 r5:c0035ff4 r4:c07757a8
[    2.243390] r3:c025776c
[    2.246003] [<c0257bec>] (platform_driver_register+0x0/0x60) from [<c0022114>] (ehci_hcd_init+0x74/0x94)
[    2.255465] [<c00220a0>] (ehci_hcd_init+0x0/0x94) from [<c004067c>] (do_one_initcall+0x3c/0x18c)
[    2.264223]  r4:c0743c80 r3:d6848000
[    2.267788] [<c0040640>] (do_one_initcall+0x0/0x18c) from [<c0008488>] (kernel_init+0xb0/0x13c)
[    2.276461]  r9:00000000 r8:00000000 r7:00000013 r6:c007b8ac r5:c0035ff4
[    2.282971] r4:c0035a4c
[    2.285581] [<c00083d8>] (kernel_init+0x0/0x13c) from [<c007b8ac>] (do_exit+0x0/0x748)
[    2.293474]  r5:c00083d8 r4:00000000
[    2.297044] ---[ end trace 70beb1661d848b95 ]---
这会不会跟我的这些问题有关联呢? 谢谢
podjman 2014-07-07
  • 打赏
  • 举报
回复
我发现不光是USB鼠标插进去会失去HDMI输出,就连插入一个读卡器也会 就是说只要是USB设备插入的话就会导致HDMI无法正常工作,这会是哪里出问题了呢。。。。
podjman 2014-07-07
  • 打赏
  • 举报
回复
好像有点弄明白是哪里出问题了 在内核的启动过程中出现了一个错误:
[    2.010845] ------------[ cut here ]------------
[    2.015445] WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x58/0x114()
[    2.023245] autorequest GPIO-282
[    2.026456] Modules linked in:
[    2.029494] Backtrace: 
[    2.031940] [<c004b494>] (dump_backtrace+0x0/0x110) from [<c056c110>] (dump_stack+0x18/0x1c)
[    2.040345]  r6:00000065 r5:c020f2fc r4:d6849db0 r3:d6848000
[    2.045995] [<c056c0f8>] (dump_stack+0x0/0x1c) from [<c0077118>] (warn_slowpath_common+0x5c/0x6c)
[    2.054846] [<c00770bc>] (warn_slowpath_common+0x0/0x6c) from [<c00771cc>] (warn_slowpath_fmt+0x38/0x40)
[    2.064301]  r8:0000011a r7:00000000 r6:c0761698 r5:c0704fa4 r4:c076169c
[    2.070811] r3:00000009
[    2.073422] [<c0077194>] (warn_slowpath_fmt+0x0/0x40) from [<c020f2fc>] (gpio_ensure_requested+0x58/0x114)
[    2.083050]  r3:0000011a r2:c066a25c
[    2.086616] [<c020f2a4>] (gpio_ensure_requested+0x0/0x114) from [<c020fa2c>] (gpio_direction_output+0x98/0x100)
[    2.096685] [<c020f994>] (gpio_direction_output+0x0/0x100) from [<c005c528>] (usb_hub_gpio_init+0xb8/0xd4)
[    2.106318] [<c005c470>] (usb_hub_gpio_init+0x0/0xd4) from [<c005c5e4>] (s5p_usb_phy_init+0xa0/0x344)
[    2.115520] [<c005c544>] (s5p_usb_phy_init+0x0/0x344) from [<c0564150>] (s5p_ehci_probe+0x1b4/0x2b4)
[    2.124628]  r6:d6b48800 r5:c06fa7e8 r4:00000086 r3:c005c544
[    2.130278] [<c0563f9c>] (s5p_ehci_probe+0x0/0x2b4) from [<c0257610>] (platform_drv_probe+0x20/0x24)
[    2.139389] [<c02575f0>] (platform_drv_probe+0x0/0x24) from [<c0255fac>] (driver_probe_device+0xa4/0x1ac)
[    2.148937] [<c0255f08>] (driver_probe_device+0x0/0x1ac) from [<c0256148>] (__driver_attach+0x94/0x98)
[    2.158219]  r8:00000000 r7:c02560b4 r6:c06fa81c r5:c070bc5c r4:c06fa7e8
[    2.164729] r3:c0257884
[    2.167339] [<c02560b4>] (__driver_attach+0x0/0x98) from [<c02556dc>] (bus_for_each_dev+0x68/0x94)
[    2.176273]  r6:d6849ee0 r5:00000000 r4:c070bc5c r3:00000000
[    2.181921] [<c0255674>] (bus_for_each_dev+0x0/0x94) from [<c0255df8>] (driver_attach+0x24/0x28)
[    2.190682]  r7:00000000 r6:d68d8300 r5:c0709cc8 r4:c070bc5c
[    2.196329] [<c0255dd4>] (driver_attach+0x0/0x28) from [<c0254fa4>] (bus_add_driver+0x1fc/0x2c8)
[    2.205096] [<c0254da8>] (bus_add_driver+0x0/0x2c8) from [<c02567ac>] (driver_register+0x80/0x194)
[    2.214037] [<c025672c>] (driver_register+0x0/0x194) from [<c0257b24>] (platform_driver_register+0x58/0x60)
[    2.223753]  r8:00000000 r7:c0021afc r6:00000000 r5:c0035808 r4:c07650a0
[    2.230263] r3:c025764c
[    2.232876] [<c0257acc>] (platform_driver_register+0x0/0x60) from [<c0021b70>] (ehci_hcd_init+0x74/0x94)
[    2.242337] [<c0021afc>] (ehci_hcd_init+0x0/0x94) from [<c004067c>] (do_one_initcall+0x3c/0x18c)
[    2.251095]  r4:c07335e0 r3:d6848000
[    2.254661] [<c0040640>] (do_one_initcall+0x0/0x18c) from [<c0008488>] (kernel_init+0xb0/0x13c)
[    2.263334]  r9:00000000 r8:00000000 r7:00000013 r6:c007b8ac r5:c0035808
[    2.269844] r4:c0035260
[    2.272454] [<c00083d8>] (kernel_init+0x0/0x13c) from [<c007b8ac>] (do_exit+0x0/0x748)
[    2.280347]  r5:c00083d8 r4:00000000
[    2.283916] ---[ end trace 74f730c51b1a8ca7 ]---
这其中有usb_hub_gpio_init和s5p_usb_phy_init这两个函数是跟USB方面有关系的。 而在内核启动完毕后,安卓系统的启动过程中,出现了如下错误:
[    5.248824] ------------[ cut here ]------------
[    5.251984] WARNING: at drivers/gpio/gpiolib.c:101 gpio_ensure_requested+0x58/0x114()
[    5.259777] autorequest GPIO-262
[    5.262987] Modules linked in:
[    5.266025] Backtrace: 
[    5.268474] [<c004b494>] (dump_backtrace+0x0/0x110) from [<c056c110>] (dump_stack+0x18/0x1c)
[    5.276879]  r6:00000065 r5:c020f2fc r4:d6ec9ac8 r3:d6ec8000
[    5.282530] [<c056c0f8>] (dump_stack+0x0/0x1c) from [<c0077118>] (warn_slowpath_common+0x5c/0x6c)
[    5.291379] [<c00770bc>] (warn_slowpath_common+0x0/0x6c) from [<c00771cc>] (warn_slowpath_fmt+0x38/0x40)
[    5.300833]  r8:00000106 r7:00000000 r6:c07615a8 r5:c0704e54 r4:c07615ac
[    5.307343] r3:00000009
[    5.309954] [<c0077194>] (warn_slowpath_fmt+0x0/0x40) from [<c020f2fc>] (gpio_ensure_requested+0x58/0x114)
[    5.319582]  r3:00000106 r2:c066a25c
[    5.323150] [<c020f2a4>] (gpio_ensure_requested+0x0/0x114) from [<c020fa2c>] (gpio_direction_output+0x98/0x100)
[    5.333231] [<c020f994>] (gpio_direction_output+0x0/0x100) from [<c034b1d4>] (s5p_hdmi_ctrl_start+0x40/0x654)
[    5.343117] [<c034b194>] (s5p_hdmi_ctrl_start+0x0/0x654) from [<c034b83c>] (s5p_tvif_ctrl_internal_start+0x54/0x64)
[    5.353528] [<c034b7e8>] (s5p_tvif_ctrl_internal_start+0x0/0x64) from [<c034b928>] (s5p_tvif_ctrl_start+0xac/0xe8)
[    5.363850]  r5:00001008 r4:c0720e3c
[    5.367420] [<c034b87c>] (s5p_tvif_ctrl_start+0x0/0xe8) from [<c03475d0>] (s5p_tvout_tvif_s_output+0x174/0x498)
[    5.377477]  r5:00000000 r4:0a000000
[    5.381049] [<c034745c>] (s5p_tvout_tvif_s_output+0x0/0x498) from [<c0303d10>] (__video_do_ioctl+0x9c0/0x712c)
[    5.391018]  r6:c004562f r5:d6ec9df0 r4:c0720750
[    5.395626] [<c0303350>] (__video_do_ioctl+0x0/0x712c) from [<c0302f20>] (video_usercopy+0x17c/0x530)
[    5.404827] [<c0302da4>] (video_usercopy+0x0/0x530) from [<c03032ec>] (video_ioctl2+0x18/0x1c)
[    5.413421] [<c03032d4>] (video_ioctl2+0x0/0x1c) from [<c0347b7c>] (s5p_tvout_tvif_ioctl+0x78/0x184)
[    5.422549] [<c0347b04>] (s5p_tvout_tvif_ioctl+0x0/0x184) from [<c0301fec>] (v4l2_ioctl+0x128/0x150)
[    5.431641]  r6:c004562f r5:d50c28c0 r4:c0720750 r3:c0720ba0
[    5.437293] [<c0301ec4>] (v4l2_ioctl+0x0/0x150) from [<c010c99c>] (do_vfs_ioctl+0x88/0x608)
[    5.445616]  r7:0000000e r6:c004562f r5:d50c28c0 r4:100ffc64
[    5.451265] [<c010c914>] (do_vfs_ioctl+0x0/0x608) from [<c010cf5c>] (sys_ioctl+0x40/0x68)
[    5.459425] [<c010cf1c>] (sys_ioctl+0x0/0x68) from [<c0047200>] (ret_fast_syscall+0x0/0x30)
[    5.467750]  r7:00000036 r6:00000000 r5:403bc278 r4:403bc1a0
[    5.473393] ---[ end trace 74f730c51b1a8ca9 ]---
这其中有s5p_hdmi_ctrl_start和s5p_tvif_ctrl_internal_start是跟视频输出有关系的。 我在想是否因为是GPIO口分配错误的原因而导致我上述的问题呢?
曹大夯 2014-07-04
  • 打赏
  • 举报
回复
引用 楼主 podjman 的回复:
测试过硬件是没有问题的
你怎么确定硬件没有问题的? 从Debug信息看“EDID is reset”,看起来HID鼠标造成了HDMI控制器Reset了。 你的系统的CPU是哪家?USB Host Controller是哪家? HDMI的Controller是哪家?

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧