ARM: dts: imx6sx: Fix LCDIF interrupt type
authorMarek Vasut <marex@denx.de>
Sun, 2 Oct 2016 16:44:35 +0000 (18:44 +0200)
committerShawn Guo <shawnguo@kernel.org>
Mon, 24 Oct 2016 08:47:50 +0000 (16:47 +0800)
The LCDIF interrupt should be triggered by the rising edge of the
IRQ line because we only want the interrupt to trigger once per each
frame. It seems the LCDIF IRQ line cannot be explicitly de-asserted
by software, so the previous behavior before this patch, where the
interrupt was triggered by level-high status of the IRQ line, caused
the interrupt to fire again immediatelly after it was handled, which
caused the system to lock up due to the high rate of interrupts.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6sx.dtsi

index 1a473e83efbfd8960ac0af7f25469d227caa2d3f..9526c3854b28920777e238985d5b0fd46686b288 100644 (file)
                                lcdif1: lcdif@02220000 {
                                        compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
                                        reg = <0x02220000 0x4000>;
-                                       interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+                                       interrupts = <GIC_SPI 5 IRQ_TYPE_EDGE_RISING>;
                                        clocks = <&clks IMX6SX_CLK_LCDIF1_PIX>,
                                                 <&clks IMX6SX_CLK_LCDIF_APB>,
                                                 <&clks IMX6SX_CLK_DISPLAY_AXI>;
                                lcdif2: lcdif@02224000 {
                                        compatible = "fsl,imx6sx-lcdif", "fsl,imx28-lcdif";
                                        reg = <0x02224000 0x4000>;
-                                       interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+                                       interrupts = <GIC_SPI 6 IRQ_TYPE_EDGE_RISING>;
                                        clocks = <&clks IMX6SX_CLK_LCDIF2_PIX>,
                                                 <&clks IMX6SX_CLK_LCDIF_APB>,
                                                 <&clks IMX6SX_CLK_DISPLAY_AXI>;