i.MX6 DCIC freeze

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6 DCIC freeze

1,440 Views
marioschuknecht
Contributor III

We use DCIC in our system. Sometimes the system freezes.
We use kernel 4.1.15, Yocto as build environment, and the device tree is configured as follows:

dcic1: dcic@020e4000 {
   compatible = "fsl,imx6q-dcic";
   reg = <0x020e4000 0x4000>;
   interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
   clocks = <&clks IMX6QDL_CLK_DCIC1>, <&clks IMX6QDL_CLK_DCIC1>;
   clock-names = "dcic", "disp-axi";
   gpr = <&gpr>;
   status = "disabled";
};

&dcic1 {
   dcic_id = <0>;
   dcic_mux = "dcic-lvds0";
   status = "okay";
};

The demo program mxc_dcic_test.out from the imx-test package works without problems. 

I can create a similar behavior when the line 
      Ioctl (fd_fb0, FBIOBLANK, FB_BLANK_UNBLANK);

is removed in the main function from mxc_dcic_test.c.

echo 1 > /sys/class/graphics/fb0/blank
and
mxc_dcic_test.out -dev 0
cause the system to freeze immediately.

Has anyone observed this behavior? Or can give hints how I can find the error?

Labels (4)
Tags (2)
0 Kudos
3 Replies

946 Views
igorpadykov
NXP Employee
NXP Employee

Hi Mario

seems it freezes as fb is turned off with command

force enter in the fb sleep mode
echo 1 >/sys/class/graphics/fb0/blank     # off 

to disable lcd turning off one can check

https://community.nxp.com/thread/323250

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

946 Views
marioschuknecht
Contributor III

Hi Igor,

You're right. It seems that something turns off fb0 during boot.

If I unblank fb0 each time before call of DCIC-ioctl in my loop, the system does not freeze.

while (1)

{

    ioctl(fd_fb0, FBIOBLANK, FB_BLANK_UNBLANK);

    ioctl(fd_dcic, DCIC_IOC_GET_RESULT, &result);

    ....

}

Regards

Mario

0 Kudos

946 Views
marioschuknecht
Contributor III

Hi Igor,

Interesting hint and link. The vt.c driver is enabled in my kernel. I've checked your note and add "consoleblank=0" to kernel bootargs.

The problem still exists.

If the error occurs, it always occurs when booting. A systemd service starts my unit and then it comes to the error.

Mario

0 Kudos