| // SPDX-License-Identifier: GPL-2.0-or-later |
| * Copyright (c) 2011 Zhang, Keguang <keguang.zhang@gmail.com> |
| static void __iomem *wdt_reg_base; |
| static void ls1x_halt(void) |
| static void ls1x_restart(char *command) |
| __raw_writel(0x1, wdt_reg_base + WDT_EN); |
| __raw_writel(0x1, wdt_reg_base + WDT_TIMER); |
| __raw_writel(0x1, wdt_reg_base + WDT_SET); |
| static void ls1x_power_off(void) |
| static int __init ls1x_reboot_setup(void) |
| wdt_reg_base = ioremap_nocache(LS1X_WDT_BASE, (SZ_4 + SZ_8)); |
| panic("Failed to remap watchdog registers"); |
| _machine_restart = ls1x_restart; |
| _machine_halt = ls1x_halt; |
| pm_power_off = ls1x_power_off; |
| arch_initcall(ls1x_reboot_setup); |