|
@@ -422,12 +422,36 @@ static const TypeInfo aspeed_1030_wdt_info = {
|
|
.class_init = aspeed_1030_wdt_class_init,
|
|
.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)
|
|
static void wdt_aspeed_register_types(void)
|
|
{
|
|
{
|
|
type_register_static(&aspeed_wdt_info);
|
|
type_register_static(&aspeed_wdt_info);
|
|
type_register_static(&aspeed_2400_wdt_info);
|
|
type_register_static(&aspeed_2400_wdt_info);
|
|
type_register_static(&aspeed_2500_wdt_info);
|
|
type_register_static(&aspeed_2500_wdt_info);
|
|
type_register_static(&aspeed_2600_wdt_info);
|
|
type_register_static(&aspeed_2600_wdt_info);
|
|
|
|
+ type_register_static(&aspeed_2700_wdt_info);
|
|
type_register_static(&aspeed_1030_wdt_info);
|
|
type_register_static(&aspeed_1030_wdt_info);
|
|
}
|
|
}
|
|
|
|
|