> -----Original Message-----
> From: Cédric Le Goater <c...@kaod.org>
> Sent: Monday, March 4, 2024 10:32 PM
> To: Jamin Lin <jamin_...@aspeedtech.com>; Peter Maydell
> <peter.mayd...@linaro.org>; Andrew Jeffery <and...@codeconstruct.com.au>;
> Joel Stanley <j...@jms.id.au>; Alistair Francis <alist...@alistair23.me>; open
> list:ASPEED BMCs <qemu-...@nongnu.org>; open list:All patches CC here
> <qemu-devel@nongnu.org>
> Cc: Troy Lee <troy_...@aspeedtech.com>; Yunlin Tang
> <yunlin.t...@aspeedtech.com>
> Subject: Re: [PATCH v2 1/9] aspeed/wdt: Add AST2700 support
> 
> Hello Jamin,
> 
> On 3/4/24 10:29, Jamin Lin wrote:
> > AST2700 wdt controller is similiar to AST2600's wdt, but the AST2700
> > has 8 watchdogs, and they each have a 0x80 of registers.
> 
> ... they each have 0x80 registers.
> 
> > Introduce ast2700 object class and increse the number of regs(offset)
> > of
> 
> .. increase ...
> 
> > ast2700 model.
> >
> > Signed-off-by: Troy Lee <troy_...@aspeedtech.com>
> > Signed-off-by: Jamin Lin <jamin_...@aspeedtech.com>
>
Thanks for review and typo will be fixed in V3 patch series.
Jamin
> 
> Reviewed-by: Cédric Le Goater <c...@kaod.org>
> 
> Thanks,
> 
> C.
> 
> 
> > ---
> >   hw/watchdog/wdt_aspeed.c         | 24 ++++++++++++++++++++++++
> >   include/hw/watchdog/wdt_aspeed.h |  3 ++-
> >   2 files changed, 26 insertions(+), 1 deletion(-)
> >
> > diff --git a/hw/watchdog/wdt_aspeed.c b/hw/watchdog/wdt_aspeed.c index
> > d70b656f8e..75685c5647 100644
> > --- a/hw/watchdog/wdt_aspeed.c
> > +++ b/hw/watchdog/wdt_aspeed.c
> > @@ -422,12 +422,36 @@ static const TypeInfo aspeed_1030_wdt_info = {
> >       .class_init = aspeed_1030_wdt_class_init,
> >   };
> >
> > +static void aspeed_2700_wdt_class_init(ObjectClass *klass, void
> > +*data) {
> > +    DeviceClass *dc = DEVICE_CLASS(klass);
> > +    AspeedWDTClass *awc = ASPEED_WDT_CLASS(klass);
> > +
> > +    dc->desc = "ASPEED 2700 Watchdog Controller";
> > +    awc->iosize = 0x80;
> > +    awc->ext_pulse_width_mask = 0xfffff; /* TODO */
> > +    awc->reset_ctrl_reg = AST2600_SCU_RESET_CONTROL1;
> > +    awc->reset_pulse = aspeed_2500_wdt_reset_pulse;
> > +    awc->wdt_reload = aspeed_wdt_reload_1mhz;
> > +    awc->sanitize_ctrl = aspeed_2600_sanitize_ctrl;
> > +    awc->default_status = 0x014FB180;
> > +    awc->default_reload_value = 0x014FB180; }
> > +
> > +static const TypeInfo aspeed_2700_wdt_info = {
> > +    .name = TYPE_ASPEED_2700_WDT,
> > +    .parent = TYPE_ASPEED_WDT,
> > +    .instance_size = sizeof(AspeedWDTState),
> > +    .class_init = aspeed_2700_wdt_class_init, };
> > +
> >   static void wdt_aspeed_register_types(void)
> >   {
> >       type_register_static(&aspeed_wdt_info);
> >       type_register_static(&aspeed_2400_wdt_info);
> >       type_register_static(&aspeed_2500_wdt_info);
> >       type_register_static(&aspeed_2600_wdt_info);
> > +    type_register_static(&aspeed_2700_wdt_info);
> >       type_register_static(&aspeed_1030_wdt_info);
> >   }
> >
> > diff --git a/include/hw/watchdog/wdt_aspeed.h
> > b/include/hw/watchdog/wdt_aspeed.h
> > index e90ef86651..830b0a7936 100644
> > --- a/include/hw/watchdog/wdt_aspeed.h
> > +++ b/include/hw/watchdog/wdt_aspeed.h
> > @@ -19,9 +19,10 @@ OBJECT_DECLARE_TYPE(AspeedWDTState,
> AspeedWDTClass, ASPEED_WDT)
> >   #define TYPE_ASPEED_2400_WDT TYPE_ASPEED_WDT "-ast2400"
> >   #define TYPE_ASPEED_2500_WDT TYPE_ASPEED_WDT "-ast2500"
> >   #define TYPE_ASPEED_2600_WDT TYPE_ASPEED_WDT "-ast2600"
> > +#define TYPE_ASPEED_2700_WDT TYPE_ASPEED_WDT "-ast2700"
> >   #define TYPE_ASPEED_1030_WDT TYPE_ASPEED_WDT "-ast1030"
> >
> > -#define ASPEED_WDT_REGS_MAX        (0x30 / 4)
> > +#define ASPEED_WDT_REGS_MAX        (0x80 / 4)
> >
> >   struct AspeedWDTState {
> >       /*< private >*/

Reply via email to