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

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

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

跳至解决方案
2,503 次查看
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 解答
1,967 次查看
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 回复数
1,967 次查看
q11241113
Contributor III

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

0 项奖励
1,967 次查看
q11241113
Contributor III

我用的就是不同的ipu 

0 项奖励
1,967 次查看
qiang_li-mpu_se
NXP Employee
NXP Employee

Clock is the key point of your issue.

0 项奖励
1,967 次查看
q11241113
Contributor III

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

杭州笃远

李俊

lij@dofartech.com

0571-28833531

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

0 项奖励
1,968 次查看
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

1,967 次查看
q11241113
Contributor III

我尝试下 非常感谢

杭州笃远

李俊

lij@dofartech.com

0571-28833531

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

0 项奖励
1,967 次查看
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 项奖励