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?
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!
-----------------------------------------------------------------------------------------------------------------------
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
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