mxc_mipi_dsi 21e0000.mipi: mipi_dsi IRQ status0:0x0, status1:0x80!

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

mxc_mipi_dsi 21e0000.mipi: mipi_dsi IRQ status0:0x0, status1:0x80!

跳至解决方案
6,608 次查看
q11241113
Contributor III

imx6D 内核linux4.15 板子连一块mipi 720*1280 的屏和lcd 800*600的屏,当把内容输出到LCD时就出现了mxc_mipi_dsi 21e0000.mipi: mipi_dsi IRQ status0:0x0, status1:0x80 

mipi.png      

然后就崩溃了!!!!!

标签 (3)
0 项奖励
回复
1 解答
6,072 次查看
qiang_li-mpu_se
NXP Employee
NXP Employee

For example:

 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU1_DI0_PRE_SEL], clk[IMX6QDL_CLK_PLL3_PFD1_540M]);
 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU1_DI1_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);
 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI0_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);
 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI1_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);

pastedImage_1.png

在原帖中查看解决方案

7 回复数
6,072 次查看
q11241113
Contributor III

我尝试了下是可以的,真的真的非常感谢

0 项奖励
回复
6,072 次查看
q11241113
Contributor III

我用的就是不同的ipu 

0 项奖励
回复
6,072 次查看
qiang_li-mpu_se
NXP Employee
NXP Employee

Clock is the key point of your issue.

0 项奖励
回复
6,072 次查看
q11241113
Contributor III

大概需要在那些地方做设置

杭州笃远

李俊

[email protected]

0571-28833531

杭州古荡街道毛家桥路中天MCC 2#210

0 项奖励
回复
6,073 次查看
qiang_li-mpu_se
NXP Employee
NXP Employee

For example:

 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU1_DI0_PRE_SEL], clk[IMX6QDL_CLK_PLL3_PFD1_540M]);
 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU1_DI1_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);
 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI0_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);
 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI1_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);

pastedImage_1.png

6,072 次查看
q11241113
Contributor III

我尝试下 非常感谢

杭州笃远

李俊

[email protected]

0571-28833531

杭州古荡街道毛家桥路中天MCC 2#210

0 项奖励
回复
6,072 次查看
qiang_li-mpu_se
NXP Employee
NXP Employee

You should assign different IPU DI port to LCD and MIPI Display. And you should also assign different clock source for the two displays.

For example in device tree for different disp_id:

 lcd@0 {
  compatible = "fsl,lcd";
  ipu_id = <0>;
  disp_id = <0>;
  default_ifmt = "RGB565";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_ipu1>;
  status = "okay";
 };

&mipi_dsi {
 dev_id = <0>;
 disp_id = <1>;
 lcd_panel = "TRULY-WVGA";
 disp-power-on-supply = <&reg_mipi_dsi_pwr_on>;
 resets = <&mipi_dsi_reset>;
 status = "okay";
};

For clock source, it is in file arch\arm\mach-imx\clk-imx6q.c, function imx6q_clocks_init():

 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU1_DI0_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);
 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU1_DI1_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);
 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI0_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);
 imx_clk_set_parent(clk[IMX6QDL_CLK_IPU2_DI1_PRE_SEL], clk[IMX6QDL_CLK_PLL5_VIDEO_DIV]);

The default setting used the same clock source, PLL5. So when the second display was enabled, it will impact the first display.

0 项奖励
回复