diff mbox series

[v2,5/8] hw/arm/fsl-imx6: Connect watchdog interrupts

Message ID 20200322211919.11335-6-linux@roeck-us.net
State New
Headers show
Series hw/arm: Implement i.MX watchdog support | expand

Commit Message

Guenter Roeck March 22, 2020, 9:19 p.m. UTC
With this patch applied, the watchdog in the sabrelite emulation
is fully operational, including pretimeout support.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
v2: No change

 hw/arm/fsl-imx6.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Philippe Mathieu-Daudé March 24, 2020, 12:53 p.m. UTC | #1
On 3/22/20 10:19 PM, Guenter Roeck wrote:
> With this patch applied, the watchdog in the sabrelite emulation
> is fully operational, including pretimeout support.
> 
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
> v2: No change
> 
>   hw/arm/fsl-imx6.c | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 
> diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c
> index 13f1bf23a6..f58c85aa8c 100644
> --- a/hw/arm/fsl-imx6.c
> +++ b/hw/arm/fsl-imx6.c
> @@ -433,11 +433,20 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
>               FSL_IMX6_WDOG1_ADDR,
>               FSL_IMX6_WDOG2_ADDR,
>           };
> +        static const int FSL_IMX6_WDOGn_IRQ[FSL_IMX6_NUM_WDTS] = {
> +            FSL_IMX6_WDOG1_IRQ,
> +            FSL_IMX6_WDOG2_IRQ,
> +        };
>   
> +        object_property_set_bool(OBJECT(&s->wdt[i]), true, "pretimeout-support",
> +                                 &error_abort);
>           object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized",
>                                    &error_abort);
>   
>           sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, FSL_IMX6_WDOGn_ADDR[i]);
> +        sysbus_connect_irq(SYS_BUS_DEVICE(&s->wdt[i]), 0,
> +                           qdev_get_gpio_in(DEVICE(&s->a9mpcore),
> +                                            FSL_IMX6_WDOGn_IRQ[i]));
>       }
>   
>       /* ROM memory */
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff mbox series

Patch

diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c
index 13f1bf23a6..f58c85aa8c 100644
--- a/hw/arm/fsl-imx6.c
+++ b/hw/arm/fsl-imx6.c
@@ -433,11 +433,20 @@  static void fsl_imx6_realize(DeviceState *dev, Error **errp)
             FSL_IMX6_WDOG1_ADDR,
             FSL_IMX6_WDOG2_ADDR,
         };
+        static const int FSL_IMX6_WDOGn_IRQ[FSL_IMX6_NUM_WDTS] = {
+            FSL_IMX6_WDOG1_IRQ,
+            FSL_IMX6_WDOG2_IRQ,
+        };
 
+        object_property_set_bool(OBJECT(&s->wdt[i]), true, "pretimeout-support",
+                                 &error_abort);
         object_property_set_bool(OBJECT(&s->wdt[i]), true, "realized",
                                  &error_abort);
 
         sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, FSL_IMX6_WDOGn_ADDR[i]);
+        sysbus_connect_irq(SYS_BUS_DEVICE(&s->wdt[i]), 0,
+                           qdev_get_gpio_in(DEVICE(&s->a9mpcore),
+                                            FSL_IMX6_WDOGn_IRQ[i]));
     }
 
     /* ROM memory */