器件型号: AM62L
您好、
我尝试将 Waveshare 4 英寸电容式触摸 DSI LCD (480x800、双通道 MIPI DSI、ICN6211 桥接器、位于 I2C 地址 0x45) 与运行 Linux 6.18 的 AM62L3 EVM 连接。
当前状态
在 I2C 上正确检测到 Waveshare 桥接器:
root@tmds62levm:~# i2cdetect -y -r 0
40: -- -- -- -- -- 45 -- --
Waveshare 驱动程序已加载并绑定:
root@tmds62levm:~# lsmod | grep waveshare
waveshare_dsi 12288 0
root@tmds62levm:~# readlink /sys/bus/i2c/devices/0-0045/driver
../../../../../../bus/i2c/drivers/ws_dsi2dpi
创建背光设备:
/sys/class/backlight/0-0045
亮度控制的工作原理:
echo 10 > /sys/class/backlight/0-0045/brightness
echo 255 > /sys/class/backlight/0-0045/brightness
显示屏背光灯打开。
器件树图验证
DT 图显示已正确连接:
DSS port0 <-> DSI port1
DSI port0 <-> Waveshare bridge port0
Bridge port1 <-> panel0
Phandle 检查确认所有远程端点链接均有效。
器件树
面板节点:
panel0 {
compatible = "panel-dpi";
status = "okay";
width-mm = <86>;
height-mm = <54>;
bpc = <8>;
panel-timing {
clock-frequency = <30000000>;
hactive = <480>;
vactive = <800>;
hback-porch = <40>;
hfront-porch = <10>;
hsync-len = <10>;
vback-porch = <12>;
vfront-porch = <5>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
port {
panel_in: endpoint {
remote-endpoint = <&bridge_out>;
};
};
};
桥接器节点:
bridge@45 {
compatible = "waveshare,dsi2dpi";
reg = <0x45>;
ports {
port@0 {
reg = <0>;
bridge_in: endpoint {
data-lanes = <1 2>;
remote-endpoint = <&dsi0_out>;
};
};
port@1 {
reg = <1>;
bridge_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
};
发现问题
DRM 从不创建卡:
root@tmds62levm:~# ls /sys/class/drm
version
预期:
card0
card0-DSI-1
renderD128
version
延迟探头显示:
root@tmds62levm:~# cat /sys/kernel/debug/devices_deferred
30200000.dss tidss: port 0 probe failed
内核消息:
panel-simple panel0: Specify missing bus_format
panel-simple panel0: Expected bpc in {6,8} but got: 0
panel-simple panel0: supply power not found, using dummy regulator
但是、实时 DT 包含:
root@tmds62levm:~# hexdump -C /proc/device-tree/panel0/bpc
00000000 00 00 00 08
和
root@tmds62levm:~# hexdump -C /proc/device-tree/panel0/power-supply
00000000 00 00 00 1f
指示加载的 DT 中存在这两个属性。
问题
-
缺少的
bus-format属性是否足以导致tidss: port 0 probe failed和阻止创建 DRM 卡? -
bus-format对于 Waveshare DSI 至 DPI 桥接器后面的 480x800 RGB888 面板、什么是正确的? -
panel-dpi节点是否是此面板的正确方法、或者是否应使用不同的面板驱动器? -
TI 的 TIDSS 驱动程序是否需要其他属性来成功创建 DRM 流水线?
如有任何进一步调试的建议、将不胜感激。