Firefly开源社区
标题:
ITX-3588J MIPI显示屏无法显示
[打印本页]
作者:
wqh_001
时间:
2022-6-13 20:37
标题:
ITX-3588J MIPI显示屏无法显示
本帖最后由 wqh_001 于 2022-6-13 20:44 编辑
刚到手的ITX-3588J和
DM-M10R800 V2 显示屏模组
连接到一起。
网上下载并烧录“ITX-3588J-BE45-A1_Ubuntu20.04-Gnome-r211_v0.1.0a_220424.img”,ubuntu正常启动,HDMI与MIPI-DSI均正常。
在rk3588_repo_sdk_v0.1.0a.7z开发包上更新至rk3588/linux_release_v1.0.0b。
1.未做任何修改,全编译后,仅升级kernel/boot.img,ubuntu正常启动,HDMI正常,原始dts没有panel设备树,故panel无显示。
2.修改设备树rk3588-firefly-itx-3588j.dts为:
/dts-v1/;
#include "rk3588-firefly-itx-3588j.dtsi"
#include "rk3588-firefly-itx-cam-8ms1m.dtsi"
/ {
model = "Firefly ITX-3588J HDMI(Linux)";
compatible = "rockchip,rk3588-firefly-itx-3588j", "rockchip,rk3588";
backlight: backlight {
status = "okay";
compatible = "pwm-backlight";
enable-gpios = <&gpio2 RK_PC4 GPIO_ACTIVE_HIGH>;
pwms = <&pwm12 0 50000 1>;
};
};
&pwm12 {
pinctrl-0 = <&pwm12m1_pins>;
status = "okay";
};
//设置 dsi0 的开机 logo
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
//把 dsi0 连接在 Port3 上
&dsi0_in_vp3 {
status = "okay";
};
//打开 DPHY
&mipi_dcphy0 {
status = "okay";
};
//打开 dsi0(注意这一部分较重要,涉及到屏幕的上电时序)
&dsi0 {
status = "okay";
//rockchip,lane-rate = <1000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
//选择之前的配置的背光节点
backlight = <&backlight>;
//设置 LCD 使能引脚
enable-gpios = <&pca9555 PCA_IO0_2 GPIO_ACTIVE_HIGH>;
//设置 LCD 复位引脚
reset-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_LOW>;
//设置 LCD 屏幕的上下电时序
enable-delay-ms = <50>;
prepare-delay-ms = <200>;
reset-delay-ms = <50>;
init-delay-ms = <55>;
unprepare-delay-ms = <50>;
disable-delay-ms = <20>;
mipi-data-delay-ms = <200>;
size,width = <120>;
size,height = <170>;
//设置 DSI(DPHY)的输出模式,一般默认为 Video 模式
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
//设置 DSI 像素数据的输出格式,这部分的设置取决于接收端的屏幕是否支持该格式
dsi,format = <MIPI_DSI_FMT_RGB888>;
//设置使用的 lane 数量,默认为 4 lane
dsi,lanes = <4>;
//设置 MIPI DSI 的上电指令
panel-init-sequence = [
//39 00 04 B9 83 10 2E
// 15 00 02 CF FF
05 78 01 11
05 32 01 29
//15 00 02 35 00
];
//设置 MIPI DSI 的下电指令
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
//设置 LCD 屏幕的显示时序(该部分内容一般都可以从对应屏幕的 datasheet 中获取,如上图所示)
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
/* 显示时序的换算公式一般为:
(hactive + hsync-len + hback-porch + hfront-porch)
x
( vactive + vsync-len + vback-porch + vfront-porch)x fps
= clock-frequency
*/
clock-frequency = <72600000>;//<80000000>;
hactive = <800>;//<768>;
vactive = <1280>;
hsync-len = <14>; //20, 50,10
hback-porch = <26>; //50, 56,10
hfront-porch = <32>;//50, 30,180
vsync-len = <8>;//4
vback-porch = <20>;//4
vfront-porch = <80>;//8
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
复制代码
执行
./build.sh kernel
复制代码
仅升级
sudo upgrade_tool di -b kernel/boot.img
复制代码
问题来了。测试HDMI正常显示,但是panel黑屏无显示
uboot打印
Using display timing dts
dsi@fde20000: detailed mode clock 72600 kHz, flags[a]
H: 0800 0832 0846 0872
V: 1280 1360 1368 1388
bus_format: 100e
VOP update mode to: 800x1280p0, type: MIPI0 for VP3
[list]p_rate=1188000000, best_rate=69882352, div=17, sel=0
[list]p_rate=1500000000, best_rate=71428571, div=21, sel=1
[list]p_rate=0, best_rate=71428571, div=21, sel=1
[list]p_rate=786215976, best_rate=71474179, div=11, sel=3
[result]p_rate=786215976, best_rate=71474179, div=11, sel=3
VOP VP3 enable Esmart3[500x501->500x501@150x389] fmt[2] addr[0xedf20000]
final DSI-Link bandwidth: 0 Kbps x 4
command interface is busy: 0x10001
failed to write cmd0: -110
failed to send on cmds: -110
复制代码
kernel打印
[ 4.915197] rockchip-drm display-subsystem: bound fde20000.dsi (ops 0xffffffc01115cd48)
复制代码
抓取状态打印
<b>root@firefly:~# cat /sys/kernel/ls /sys/class/drm</b>
card0 card0-DP-2 card0-HDMI-A-1 card0-Writeback-1 renderD128 version
card0-DP-1 card0-DSI-1 card0-HDMI-A-2 card1 renderD129
<b>root@firefly:~# cat /sys/kernel/debug/dri/0/summary</b>
Video Port0: DISABLED
Video Port1: ACTIVE
Connector: HDMI-A-2
bus_format[100a]: RGB888_1X24
overlay_mode[0] output_mode[f] color_space[0], eotf:0
Display mode: 1920x1080p60
clk[148500] real_clk[148500] type[48] flag[5]
H: 1920 2008 2052 2200
V: 1080 1084 1089 1125
Esmart1-win0: ACTIVE
win_id: 10
format: XR24 little-endian (0x34325258) SDR[0] color_space[0] glb_alpha[0xff]
rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
csc: y2r[0] r2y[0] csc mode[0]
zpos: 1
src: pos[0, 0] rect[1920 x 1080]
dst: pos[0, 0] rect[1920 x 1080]
buf[0]: addr: 0x00000000eed7e000 pitch: 7680 offset: 0
Video Port2: DISABLED
Video Port3: ACTIVE
Connector: DSI-1
bus_format[100a]: RGB888_1X24
overlay_mode[0] output_mode[0] color_space[0], eotf:0
Display mode: 800x1280p60
clk[72600] real_clk[72600] type[48] flag[a]
H: 800 832 846 872
V: 1280 1360 1368 1388
Esmart3-win0: ACTIVE
win_id: 11
format: XR24 little-endian (0x34325258) SDR[0] color_space[0] glb_alpha[0xff]
rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
csc: y2r[0] r2y[0] csc mode[0]
zpos: 3
src: pos[0, 0] rect[800 x 1280]
dst: pos[0, 0] rect[800 x 1280]
buf[0]: addr: 0x00000000ee996000 pitch: 3200 offset: 0
<b>root@firefly:~# cat /sys/class/drm/card0-DSI-1/status</b>
connected
复制代码
tchip_askquestions
ubuntu_rk3588j_panel_err.txt
2022-6-13 20:36 上传
点击文件名下载附件
下载积分: 灯泡 -1 , 经验 -1
87.9 KB, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1
作者:
799959745
时间:
2022-6-14 09:15
其实我们有做 mk 适配 mipi 屏幕的:
./build.sh device/rockchip/rk3588/itx-3588j-BE45-A1-ubuntu.mk
复制代码
作者:
wqh_001
时间:
2022-6-14 09:51
太着急了,今天早上才看到,感谢!
欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/)
Powered by Discuz! X3.1