[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 4/9] aspeed/wdt: Add AST1030 support
From: |
Jamin Lin |
Subject: |
[PATCH v5 4/9] aspeed/wdt: Add AST1030 support |
Date: |
Fri, 1 Apr 2022 16:38:45 +0800 |
From: Steven Lee <steven_lee@aspeedtech.com>
AST1030 wdt controller is similiar to AST2600's wdt, but it has extra
registers.
Introduce ast1030 object class and increse the number of regs(offset) of
ast1030 model.
Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Signed-off-by: Steven Lee <steven_lee@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
---
hw/watchdog/wdt_aspeed.c | 24 ++++++++++++++++++++++++
include/hw/watchdog/wdt_aspeed.h | 1 +
2 files changed, 25 insertions(+)
diff --git a/hw/watchdog/wdt_aspeed.c b/hw/watchdog/wdt_aspeed.c
index 386928e9c0..31855afdf4 100644
--- a/hw/watchdog/wdt_aspeed.c
+++ b/hw/watchdog/wdt_aspeed.c
@@ -391,6 +391,29 @@ static const TypeInfo aspeed_2600_wdt_info = {
.class_init = aspeed_2600_wdt_class_init,
};
+static void aspeed_1030_wdt_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ AspeedWDTClass *awc = ASPEED_WDT_CLASS(klass);
+
+ dc->desc = "ASPEED 1030 Watchdog Controller";
+ awc->offset = 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_1030_wdt_info = {
+ .name = TYPE_ASPEED_1030_WDT,
+ .parent = TYPE_ASPEED_WDT,
+ .instance_size = sizeof(AspeedWDTState),
+ .class_init = aspeed_1030_wdt_class_init,
+};
+
static void wdt_aspeed_register_types(void)
{
watchdog_add_model(&model);
@@ -398,6 +421,7 @@ static void wdt_aspeed_register_types(void)
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_1030_wdt_info);
}
type_init(wdt_aspeed_register_types)
diff --git a/include/hw/watchdog/wdt_aspeed.h b/include/hw/watchdog/wdt_aspeed.h
index 0e37f39f38..dfa5dfa424 100644
--- a/include/hw/watchdog/wdt_aspeed.h
+++ b/include/hw/watchdog/wdt_aspeed.h
@@ -19,6 +19,7 @@ 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_1030_WDT TYPE_ASPEED_WDT "-ast1030"
#define ASPEED_WDT_REGS_MAX (0x20 / 4)
--
2.17.1
- [PATCH v5 0/9] Add support for AST1030 SoC, Jamin Lin, 2022/04/01
- [PATCH v5 3/9] aspeed/wdt: Fix ast2500/ast2600 default reload value, Jamin Lin, 2022/04/01
- [PATCH v5 1/9] aspeed/adc: Add AST1030 support, Jamin Lin, 2022/04/01
- [PATCH v5 5/9] aspeed/timer: Add AST1030 support, Jamin Lin, 2022/04/01
- [PATCH v5 8/9] aspeed: Add an AST1030 eval board, Jamin Lin, 2022/04/01
- [PATCH v5 2/9] aspeed/smc: Add AST1030 support, Jamin Lin, 2022/04/01
- [PATCH v5 4/9] aspeed/wdt: Add AST1030 support,
Jamin Lin <=
- [PATCH v5 9/9] test/avocado/machine_aspeed.py: Add ast1030 test case, Jamin Lin, 2022/04/01
- [PATCH v5 7/9] aspeed/soc : Add AST1030 support, Jamin Lin, 2022/04/01
- [PATCH v5 6/9] aspeed/scu: Add AST1030 support, Jamin Lin, 2022/04/01
- Re: [PATCH v5 0/9] Add support for AST1030 SoC, Cédric Le Goater, 2022/04/01
- Re: [PATCH v5 0/9] Add support for AST1030 SoC, Cédric Le Goater, 2022/04/05