On 3/3/26 10:25 AM, Igor Mammedov wrote:
> it will be used by arm/virt board, to pick WDAT compatible watchdog impl.
> and act as switch over to WDAT ACPI table vesus default GTDT ACPI table.
> 
> Signed-off-by: Igor Mammedov <[email protected]>
> ---
>  include/hw/watchdog/sbsa_gwdt.h | 1 +
>  hw/watchdog/sbsa_gwdt.c         | 8 ++++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/include/hw/watchdog/sbsa_gwdt.h b/include/hw/watchdog/sbsa_gwdt.h
> index 307a4f291a..dc77e6be60 100644
> --- a/include/hw/watchdog/sbsa_gwdt.h
> +++ b/include/hw/watchdog/sbsa_gwdt.h
> @@ -73,6 +73,7 @@ typedef struct SBSA_GWDTState {
>      uint32_t woru;
>      uint32_t wcvl;
>      uint32_t wcvu;
> +    bool wdat;
>  } SBSA_GWDTState;
>  
>  #endif /* WDT_SBSA_GWDT_H */
> diff --git a/hw/watchdog/sbsa_gwdt.c b/hw/watchdog/sbsa_gwdt.c
> index c4dd8005b7..40d80f7f2b 100644
> --- a/hw/watchdog/sbsa_gwdt.c
> +++ b/hw/watchdog/sbsa_gwdt.c
> @@ -265,6 +265,13 @@ static void wdt_sbsa_gwdt_realize(DeviceState *dev, 
> Error **errp)
>  
>      sysbus_init_irq(sbd, &s->irq);
>  
> +    /*
> +     * WDAT supports only upto 1KHz resolution,
> +     */
> +    if (s->wdat) {
> +        s->freq = 1000;
where is it specified in the spec?

Thanks

Eric

> +    }
> +
>      s->timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, sbsa_gwdt_timer_sysinterrupt,
>                  dev);
>  }
> @@ -276,6 +283,7 @@ static const Property wdt_sbsa_gwdt_props[] = {
>       */
>      DEFINE_PROP_UINT64("clock-frequency", struct SBSA_GWDTState, freq,
>                         1000000000),
> +    DEFINE_PROP_BOOL("wdat", struct SBSA_GWDTState, wdat, false),
>  };
>  
>  static void wdt_sbsa_gwdt_class_init(ObjectClass *klass, const void *data)


Reply via email to