Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

watchdog: aspeed: Add support for AST2700 platform

Add AST2700 platform support to the ASPEED watchdog driver. This includes
a new per-platform configuration with SCU reset status register at
SCU1_070 and support for 5 reset mask registers.

Signed-off-by: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>

authored by

Chin-Ting Kuo and committed by
Wim Van Sebroeck
13e86646 0eb54296

+15 -1
+15 -1
drivers/watchdog/aspeed_wdt.c
··· 83 83 .num_reset_masks = 2, 84 84 }; 85 85 86 + static const struct aspeed_wdt_config ast2700_config = { 87 + .ext_pulse_width_mask = 0xfffff, 88 + .irq_shift = 0, 89 + .irq_mask = GENMASK(31, 10), 90 + .scu = { 91 + .compatible = "aspeed,ast2700-scu0", 92 + .reset_status_reg = 0x70, 93 + .wdt_reset_mask = 0xf, 94 + .wdt_reset_mask_shift = 0, 95 + }, 96 + .num_reset_masks = 5, 97 + }; 98 + 86 99 static const struct of_device_id aspeed_wdt_of_table[] = { 87 100 { .compatible = "aspeed,ast2400-wdt", .data = &ast2400_config }, 88 101 { .compatible = "aspeed,ast2500-wdt", .data = &ast2500_config }, 89 102 { .compatible = "aspeed,ast2600-wdt", .data = &ast2600_config }, 103 + { .compatible = "aspeed,ast2700-wdt", .data = &ast2700_config }, 90 104 { }, 91 105 }; 92 106 MODULE_DEVICE_TABLE(of, aspeed_wdt_of_table); ··· 497 483 } 498 484 499 485 if (!of_device_is_compatible(np, "aspeed,ast2400-wdt")) { 500 - u32 reset_mask[2]; 486 + u32 reset_mask[5]; 501 487 size_t nrstmask = wdt->cfg->num_reset_masks; 502 488 u32 reg = readl(wdt->base + WDT_RESET_WIDTH); 503 489 int i;