我正在使用运行 Android 2.3.1 的DevKit7000,我想使用 TV Out(复合)接口,但我在 TV Out 上没有得到任何输出(信号)。虽然我在内核中启用了 TV Out。这是处理 TV Out 和视频内容的内核配置文件 (.config) 文件的一部分。
config VIDEO_TV20=y
config HDMI_CEC=y
config HDMI_HPD=y
config TV_FB=y
CONFIG_VIDEO_SAMSUNG=y
CONFIG_VIDEO_SAMSUNG_V4L2=y
这是板子启动时超级终端的输出部分,(请参阅第二次更新)
[ 2.007845] FIMC0 registered successfully
[ 2.011670] FIMC1 registered successfully
[ 2.015652] FIMC2 registered successfully
[ 2.018470] <6>S5PC1XX TVOUT Driver, (c) 2009 Samsung Electronics
[ 2.025187] s5p-tvout s5p-tvout: hpd status is cable removed
[ 2.036115] DBUG_PORT must not use AFC!
[ 2.038533] Freeing init memory: 152K
这表明已成功包含并加载了TVOUT驱动程序,但我不知道hpd status is cable removed 是什么意思,如果你能告诉这是什么意思?
我可以在网上找到的关于“在 Android 上启用 TV OUT”的唯一相关链接是这个,但这是基于OMAP的设备,但我有ARM。
TV Out 在可用设备列表中也可见,这是 adb shell中ls /dev/devices/platform命令的输出。
# ls sys/devices/platofrm
uevent
power
power.0
s5pv210-nand
smdkc110-rtc
devkit7000-keypad
s3c-g2d
s5p-tvout
s5p-cec
s5p-hpd
pvrsrvkm
显然一切都很好,但 TV OUT 仍然无法正常工作。所以如果你能告诉我如何使用(启用)电视输出?
更新:输出/sys/module/
是(为简洁而编辑):
cd /sys/module
# ls
s3cfb pvrsrvkm scsi_mod sg dm9000
usbcore ehci_hcd usb_storage u_ether
tuner_xc2028 tuner_simple mt20xx tda8290
tea5767 tea5761 tda9887 xc5000 v4l1_compat
mmc_core sdhci hid usbhid usbserialbinder
snd snd_timer snd_pcm sch_htb
第二次更新:
深入查看启动日志会发现可能的问题,这是启动时超级终端的输出(仅与电视输出相关的部分输出):
[ 2.043158] <6>s5p_tv_init
[ 2.046943] <6>S5PC1XX TVOUT Driver, (c) 2009 Samsung Electronics [Screwed]!
[ 2.053992] <6> __devinit s5p_tv_probe
[ 2.058895] <6> __devinit tv_clk_get
[ 2.063516] <6> s5p_tv_base_clk_gate
[ 2.068191] <6> s5p_hpd_get_state
[ 2.072152] s5p-tvout s5p-tvout: hpd status is cable removed
[ 2.077964] <6> s5p_tv_if_init_param
[ 2.082293] <6> s5ptvfb_set_lcd_info
[ 2.086796] <6> s5ptvfb_alloc_framebuffer
[ 2.091825] <6> s5ptvfb_init_fbinfo
[ 2.096239] <6> s5ptvfb_set_bitfield
[ 2.100747] <6> s5ptvfb_set_alpha_info
[ 2.105424] <6> s5ptvfb_register_framebuffer
[ 2.116337] <6> s5p_tv_base_clk_gate
[ 2.119670] DBUG_PORT must not use AFC!
[ 13.997353] s5p_vlayer_stop::s5p_vp_stop() fail
所以s5p_vlayer_stop:: s5p_vp_stop()失败,这显然会停止调用其他负责使电视初始化/正常工作的方法。但我不是驱动专家,无法弄清楚/回溯所有的函数调用,如果你们中的任何一个有经验并且可以帮助防止 s5p_vp_stop() 失败?
谢谢 !
问候
乌萨马