video: stm32: stm32_ltdc: add reset
authoryannick fertre <yannick.fertre@st.com>
Fri, 2 Mar 2018 14:59:21 +0000 (15:59 +0100)
committerAnatolij Gustschin <agust@denx.de>
Mon, 19 Mar 2018 09:50:25 +0000 (10:50 +0100)
Add reset of LTDC display controller.

Signed-off-by: yannick fertre <yannick.fertre@st.com>
drivers/video/stm32/stm32_ltdc.c

index b417ac260a58cffaa2ba11aa0f739216c58245ba..d8784f15905c89fbca454308f5ce1551bcf72629 100644 (file)
@@ -11,6 +11,7 @@
 #include <clk.h>
 #include <dm.h>
 #include <panel.h>
+#include <reset.h>
 #include <video.h>
 #include <asm/io.h>
 #include <asm/arch/gpio.h>
@@ -302,6 +303,7 @@ static int stm32_ltdc_probe(struct udevice *dev)
        struct stm32_ltdc_priv *priv = dev_get_priv(dev);
        struct udevice *panel;
        struct clk pclk, pxclk;
+       struct reset_ctl rst;
        int ret;
 
        priv->regs = (void *)dev_read_addr(dev);
@@ -316,6 +318,15 @@ static int stm32_ltdc_probe(struct udevice *dev)
                return ret;
        }
 
+       ret = reset_get_by_index(dev, 0, &rst);
+       if (ret) {
+               debug("%s: missing ltdc hardware reset\n", __func__);
+               return -ENODEV;
+       }
+
+       /* Reset */
+       reset_deassert(&rst);
+
        ret = panel_enable_backlight(panel);
        if (ret) {
                debug("%s: panel %s enable backlight error %d\n",