1830906_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

1830906_zh-CN

1830906_zh-CN

显示界面的 Android 13 LCDIF 无法运行

恩智浦参考设计代码库:
i.mx8MQ 平台/安卓 13 .0.0_2.0.0 (L6.1.22_2.0.0 电路板支持包)


在 Android 13(GKI) 上连接到 MIPI-DSI 的 LCDIF 无法工作,但在 Android 11 上该功能可以工作。

Android 11 日志: (Android11_LCDIF_OK.log)

[ 3.511971] nwl-dsi 30a00000.mipi-dsi:[drm:nwl_dsi_probe] 使用 LCDIF 作为输入源
[ 4.084346] [gm8775c_bridge_attach]
[ 4.084349] [gm8775c_simple_panel_host_register]
[ 4.084353] 子节点 panel, panel@0
[ 4.084609] panel-simple panel0: DMA 屏蔽未设置
[ 4.084653] [panel_simple_probe]
[ 4.084686] panel-simple panel0: supply power not found, using dummy regulator
[ 4.084862] [gm8775c_attach_dsi]
[ 4.084955] nwl-dsi 30a00000.mipi-dsi:[drm:nwl_dsi_host_attach] lanes=4, format=0x0 flags=0x15
[ 4.085966] [drm] Initialized mxsfb-drm 1.0.0 20160824 for 30320000.lcd-controlleron minor 1
[ 4.237089] mxsfb 30320000.lcd-controller:[drm] fb0:mxsfb-drmdrmfb 帧缓冲区设备


Android 13 日志:(Android13_LCDIF_Fail.log)
[ 2.401658][ T8] nwl-dsi 30a00000.mipi-dsi:[drm: nwl_dsi_probe [nwl_dsi]] 使用 LCDIF 作为输入源
[ 2.412617][ T8] [gm8775c_bridge_attach] DRM_BRIDGE_ATTACH_NO_CONNECTOR
[ 2.419684][ T8] [drm:drm_bridge_attach] *错误* 无法连接网桥 /soc@0/bus@30800000/i2c@30a20000/gm8775c@2C2
[ 2.419734][ T1] __power_supply_register: “电池” 的预期父设备是合适的
[ 2.420045][ T1] __power_supply_register: “usb” 的预期父设备是合适的
[ 2.432612][ T8] [drm:drm_bridge_attach] *错误* 无法连接网桥 /soc@0/bus@30800000/mipi-dsi@30a00000 到 en2
[ 2.460891][ T8] mxsfb 30320000.lcd-控制器:错误 -EINVAL:Failed to attach bridge
[ 2.469098][ T8] mxsfb 30320000.lcd-controller:error -EINVAL: Cannot connect bridge
[ 2.477247][ T8] mxsfb: probe of 30320000.lcd-controller失败,错误 -22

附带的LCDIF_Log.zip 文件包括 Android11_LCDIF_OK.log 和 Android13_LCDIF_Fail.log。

Android 11 日志显示"Initialized mxsfb-drm" ,但我们在 Android 13 日志中找不到这条信息。
我们还在互联网上查找"mxsfb" :
[ 11.141177] mxsfb 30320000.lcdif:无法连接网桥:-22
[ 11.161062] mxsfb:探测 30320000.lcdif 失败,错误 -22
mxsfb 等于 lcdif 吗?


如果 mxsfb-drm 可以初始化,问题是否可以得到解决?
如果是,如何在 Android 13(GKI) 上启用 mxsfb-drm?
如果没有,如何解决问题?


另外,我们认为 DSI 至 LVDS 桥接驱动器 (gm8775c) 可以工作,因为我们使用&dcss 而不是&lcdif,连接到 Android 13 的 MIPI-DSI 的 DCSS 可以工作。

Display_Interface.png

eDP_LVDS.jpg

我们尝试按如下方式设置 U-启动 环境变量,但它仍然无法运行。
u-启动= > setenv append_bootargs androidboot.primary_display=mxsfb-drm
u-启动= > saveenv


Re: Android 13 LCDIF of display interface can't work你好,HyleChang,ı 也遇到了类似的问题。请与我共享 devicetree 文件,ı 我想解决这个问题。我已经成功地用 dcss 驱动了 lvds,但用 lcdif 驱动的 lvds 却不起作用。我更改了面板尺寸、驱动程序代码等。此外,ı 还更换了硬件,以确定问题出在软件方面,但仍然没有进展。我需要帮助。
这就是我在论坛上的问题定义。
https://community.nxp.com/t5/i-MX-Processors/IMX8MQ-Android-11-LCDIF-Display-Not-Working-by-MIPI-DSI...

致以最崇高的敬意
Re: Android 13 LCDIF of display interface can't work

亲爱的朋友们,ı 也有类似的问题。SN65dsi 网桥用于支持 lvds。
条件
1) dcss+lvds 工作正常
2) dcss+hdmi 工作正常
,但 lcdif+lvds 不工作。我需要支持双显示器,因此 lvds 应由 lcdif 驱动,而 hdmi 应由 dcss 驱动。

你能否分享一下你在 Android11 设备上实现双显示的 devicetree 配置?我查看了日志,情况类似。


Re: Android 13 LCDIF of display interface can't work非常感谢,在 Android 13 上连接到 MIPI-DSI 的 LCDIF 可以正常工作。Re: Android 13 LCDIF of display interface can't work

对于 i.MX8MQ,mxsfb 是 lcdif 驱动程序,lcdif 只能输出 MIPI DSI。DCSS 可同时输出 DSI 和 HDMI。

Zhiming_Liu_0-1711677495978.png


imx-dcnano 和 imx-drm 也是其他 i.MX 平台的显示控制器驱动程序。

Re: Android 13 LCDIF of display interface can't work

亲爱的志明

我们查找"primary_display" ,Android_Quick_Start_Guide.pdf 的描述与下图不尽相同。
请整理一下恩智浦专有术语的含义?谢谢。

primary_display=mxsfb-drm
primary_display=imx-dcss
primary_display=imx-drm
primary_display=imx-dcnano

primary_display.png


Re: Android 13 LCDIF of display interface can't work

你的意思是如果网桥连接成功,mxsfb-drm 就会在内核空间初始化。

-->是的,我们没有这样的文档,你可以参考 uboot 和内核源代码。

Re: Android 13 LCDIF of display interface can't work

亲爱的刘志明

我们将再次检查桥接驱动程序,因为我们移植 GM8775C 驱动程序是指恩智浦提供的适用于 Android 11 的 imx8mp_ite6151_mipi2edp_linux_5.4.24_20200921.patch 以及安卓 13 电路板支持包上的 adv7511 桥接驱动程序,因此我们将重点关注 DRM_BRIDGE_ATTACH_NO_CONNECTOR 标志。

另外,你说"mxsfb-drm 无法初始化,因为网桥连接失败"
=>你的意思是如果网桥连接成功,mxsfb-drm 将在内核空间初始化。
如果是,我们想在 u-boot 中使用 mxsfb 制作安卓启动动画(徽标),你有 Android-13 文档供我们研究和实现吗?谢谢。
如果我说错了,请指正。


Re: Android 13 LCDIF of display interface can't work

你好@KyleChang

mxsfb 等于 lcdif 吗?

--> i.MX8MQ 中的 lcdif 驱动程序是 drivers/gpu/drm/mxsfb/mxsfb_drv.c、所以是 MXSFB。 mxsfb-drm 无法初始化,因为网桥连接失败

看起来与处理DRM_BRIDGE_ATTACH_NO_CONNECTOR 标志的方式有关。你能检查一下这一点吗?

mxsfb 不会传递 DRM_BRIDGE_ATTACH_NO_CONNECTOR,但 dcss 驱动程序会。

ret = drm_bridge_attach(&mxsfb->encoder, bridge, NULL, 0);
	if (ret)
		return dev_err_probe(drm->dev, ret, "Failed to attach bridge\n");

	mxsfb->bridge = bridge;

顺祝商祺!

志明

标记 (1)
无评分
版本历史
最后更新:
‎11-21-2025 09:38 AM
更新人: