Lines Matching refs:wdt
60 struct bcm2835_wdt *wdt = watchdog_get_drvdata(wdog); in bcm2835_wdt_start() local
64 spin_lock_irqsave(&wdt->lock, flags); in bcm2835_wdt_start()
67 PM_WDOG_TIME_SET), wdt->base + PM_WDOG); in bcm2835_wdt_start()
68 cur = readl_relaxed(wdt->base + PM_RSTC); in bcm2835_wdt_start()
70 PM_RSTC_WRCFG_FULL_RESET, wdt->base + PM_RSTC); in bcm2835_wdt_start()
72 spin_unlock_irqrestore(&wdt->lock, flags); in bcm2835_wdt_start()
79 struct bcm2835_wdt *wdt = watchdog_get_drvdata(wdog); in bcm2835_wdt_stop() local
81 writel_relaxed(PM_PASSWORD | PM_RSTC_RESET, wdt->base + PM_RSTC); in bcm2835_wdt_stop()
94 struct bcm2835_wdt *wdt = watchdog_get_drvdata(wdog); in bcm2835_wdt_get_timeleft() local
96 uint32_t ret = readl_relaxed(wdt->base + PM_WDOG); in bcm2835_wdt_get_timeleft()
125 struct bcm2835_wdt *wdt = container_of(this, struct bcm2835_wdt, in bcm2835_restart() local
130 writel_relaxed(10 | PM_PASSWORD, wdt->base + PM_WDOG); in bcm2835_restart()
131 val = readl_relaxed(wdt->base + PM_RSTC); in bcm2835_restart()
134 writel_relaxed(val, wdt->base + PM_RSTC); in bcm2835_restart()
152 struct bcm2835_wdt *wdt = platform_get_drvdata(pdev); in bcm2835_power_off() local
160 val = readl_relaxed(wdt->base + PM_RSTS); in bcm2835_power_off()
162 writel_relaxed(val, wdt->base + PM_RSTS); in bcm2835_power_off()
165 bcm2835_restart(&wdt->restart_handler, REBOOT_HARD, NULL); in bcm2835_power_off()
172 struct bcm2835_wdt *wdt; in bcm2835_wdt_probe() local
175 wdt = devm_kzalloc(dev, sizeof(struct bcm2835_wdt), GFP_KERNEL); in bcm2835_wdt_probe()
176 if (!wdt) in bcm2835_wdt_probe()
178 platform_set_drvdata(pdev, wdt); in bcm2835_wdt_probe()
180 spin_lock_init(&wdt->lock); in bcm2835_wdt_probe()
182 wdt->base = of_iomap(np, 0); in bcm2835_wdt_probe()
183 if (!wdt->base) { in bcm2835_wdt_probe()
188 watchdog_set_drvdata(&bcm2835_wdt_wdd, wdt); in bcm2835_wdt_probe()
195 iounmap(wdt->base); in bcm2835_wdt_probe()
199 wdt->restart_handler.notifier_call = bcm2835_restart; in bcm2835_wdt_probe()
200 wdt->restart_handler.priority = 128; in bcm2835_wdt_probe()
201 register_restart_handler(&wdt->restart_handler); in bcm2835_wdt_probe()
211 struct bcm2835_wdt *wdt = platform_get_drvdata(pdev); in bcm2835_wdt_remove() local
213 unregister_restart_handler(&wdt->restart_handler); in bcm2835_wdt_remove()
217 iounmap(wdt->base); in bcm2835_wdt_remove()