rk3399更换屏幕尺寸后出现drm/rockchip: dw-mipi: fix phy clk lane stop state timeout 的解决办法

由于板子支持不同尺寸的屏幕,我这边用的是5寸屏幕,对应设备树文件kernel/arch/arm64/boot/dts/rockchip/rp-rk3399.dts 头文件中放开#include “rp_lcd_mipi_720_1280.dtsi”
然后编译内核,打包update.img,烧写,重启,出现drm/rockchip: dw-mipi: fix phy clk lane stop state timeout

-----------------------------原文网址-https://www.spinics.net/lists/arm-kernel/msg517057.html ----------------------------致谢—

drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 3 +± 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
index 72d7f48…8401185 100644
— a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
@@ -477,6 +477,8 @@ static int dw_mipi_dsi_phy_init(struct dw_mipi_dsi *dsi)
dev_err(dsi->dev,
“failed to wait for phy clk lane stop state\n”);

	+ dsi_write(dsi, DSI_LPCLK_CTRL, PHY_TXREQUESTCLKHS);

phy_init_end:
if (!IS_ERR(dsi->phy_cfg_clk))
clk_disable_unprepare(dsi->phy_cfg_clk);
@@ -714,7 +716,6 @@ static void dw_mipi_dsi_init(struct dw_mipi_dsi *dsi)
| PHY_RSTZ | PHY_SHUTDOWNZ);
dsi_write(dsi, DSI_CLKMGR_CFG, TO_CLK_DIVIDSION(10) |
TX_ESC_CLK_DIVIDSION(7));

    - dsi_write(dsi, DSI_LPCLK_CTRL, PHY_TXREQUESTCLKHS);

}

static void dw_mipi_dsi_dpi_config(struct dw_mipi_dsi *dsi,


上面的意思就是:打开/drivers/gpu/drm/rockchip/dw-mipi-dsi.c文件
1、在"failed to wait for phy clk lane stop state\n");后面增加
dsi_write(dsi, DSI_LPCLK_CTRL, PHY_TXREQUESTCLKHS);
2、把static void dw_mipi_dsi_init(struct dw_mipi_dsi *dsi)函数中的
dsi_write(dsi, DSI_LPCLK_CTRL, PHY_TXREQUESTCLKHS); 注释掉

然后保存编译重新搞一遍内核,烧写。ok。

你可能感兴趣的:(RK3399)