Lines Matching refs:mtk_wdt

213 	struct mtk_wdt_dev *mtk_wdt = platform_get_drvdata(pdev);  in toprgu_register_reset_controller()  local
215 spin_lock_init(&mtk_wdt->lock); in toprgu_register_reset_controller()
217 mtk_wdt->rcdev.owner = THIS_MODULE; in toprgu_register_reset_controller()
218 mtk_wdt->rcdev.nr_resets = rst_num; in toprgu_register_reset_controller()
219 mtk_wdt->rcdev.ops = &toprgu_reset_ops; in toprgu_register_reset_controller()
220 mtk_wdt->rcdev.of_node = pdev->dev.of_node; in toprgu_register_reset_controller()
221 ret = devm_reset_controller_register(&pdev->dev, &mtk_wdt->rcdev); in toprgu_register_reset_controller()
231 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev); in mtk_wdt_restart() local
235 wdt_base = mtk_wdt->wdt_base; in mtk_wdt_restart()
252 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev); in mtk_wdt_ping() local
253 void __iomem *wdt_base = mtk_wdt->wdt_base; in mtk_wdt_ping()
263 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev); in mtk_wdt_set_timeout() local
264 void __iomem *wdt_base = mtk_wdt->wdt_base; in mtk_wdt_set_timeout()
290 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev); in mtk_wdt_init() local
293 wdt_base = mtk_wdt->wdt_base; in mtk_wdt_init()
303 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev); in mtk_wdt_stop() local
304 void __iomem *wdt_base = mtk_wdt->wdt_base; in mtk_wdt_stop()
318 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev); in mtk_wdt_start() local
319 void __iomem *wdt_base = mtk_wdt->wdt_base; in mtk_wdt_start()
331 if (mtk_wdt->disable_wdt_extrst) in mtk_wdt_start()
333 if (mtk_wdt->reset_by_toprgu) in mtk_wdt_start()
344 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdd); in mtk_wdt_set_pretimeout() local
345 void __iomem *wdt_base = mtk_wdt->wdt_base; in mtk_wdt_set_pretimeout()
401 struct mtk_wdt_dev *mtk_wdt; in mtk_wdt_probe() local
405 mtk_wdt = devm_kzalloc(dev, sizeof(*mtk_wdt), GFP_KERNEL); in mtk_wdt_probe()
406 if (!mtk_wdt) in mtk_wdt_probe()
409 platform_set_drvdata(pdev, mtk_wdt); in mtk_wdt_probe()
411 mtk_wdt->wdt_base = devm_platform_ioremap_resource(pdev, 0); in mtk_wdt_probe()
412 if (IS_ERR(mtk_wdt->wdt_base)) in mtk_wdt_probe()
413 return PTR_ERR(mtk_wdt->wdt_base); in mtk_wdt_probe()
418 &mtk_wdt->wdt_dev); in mtk_wdt_probe()
422 mtk_wdt->wdt_dev.info = &mtk_wdt_pt_info; in mtk_wdt_probe()
423 mtk_wdt->wdt_dev.pretimeout = WDT_MAX_TIMEOUT / 2; in mtk_wdt_probe()
428 mtk_wdt->wdt_dev.info = &mtk_wdt_info; in mtk_wdt_probe()
431 mtk_wdt->wdt_dev.ops = &mtk_wdt_ops; in mtk_wdt_probe()
432 mtk_wdt->wdt_dev.timeout = WDT_MAX_TIMEOUT; in mtk_wdt_probe()
433 mtk_wdt->wdt_dev.max_hw_heartbeat_ms = WDT_MAX_TIMEOUT * 1000; in mtk_wdt_probe()
434 mtk_wdt->wdt_dev.min_timeout = WDT_MIN_TIMEOUT; in mtk_wdt_probe()
435 mtk_wdt->wdt_dev.parent = dev; in mtk_wdt_probe()
437 watchdog_init_timeout(&mtk_wdt->wdt_dev, timeout, dev); in mtk_wdt_probe()
438 watchdog_set_nowayout(&mtk_wdt->wdt_dev, nowayout); in mtk_wdt_probe()
439 watchdog_set_restart_priority(&mtk_wdt->wdt_dev, 128); in mtk_wdt_probe()
441 watchdog_set_drvdata(&mtk_wdt->wdt_dev, mtk_wdt); in mtk_wdt_probe()
443 mtk_wdt_init(&mtk_wdt->wdt_dev); in mtk_wdt_probe()
445 watchdog_stop_on_reboot(&mtk_wdt->wdt_dev); in mtk_wdt_probe()
446 err = devm_watchdog_register_device(dev, &mtk_wdt->wdt_dev); in mtk_wdt_probe()
451 mtk_wdt->wdt_dev.timeout, nowayout); in mtk_wdt_probe()
460 mtk_wdt->has_swsysrst_en = wdt_data->has_swsysrst_en; in mtk_wdt_probe()
463 mtk_wdt->disable_wdt_extrst = in mtk_wdt_probe()
466 mtk_wdt->reset_by_toprgu = in mtk_wdt_probe()
474 struct mtk_wdt_dev *mtk_wdt = dev_get_drvdata(dev); in mtk_wdt_suspend() local
476 if (watchdog_active(&mtk_wdt->wdt_dev)) in mtk_wdt_suspend()
477 mtk_wdt_stop(&mtk_wdt->wdt_dev); in mtk_wdt_suspend()
484 struct mtk_wdt_dev *mtk_wdt = dev_get_drvdata(dev); in mtk_wdt_resume() local
486 if (watchdog_active(&mtk_wdt->wdt_dev)) { in mtk_wdt_resume()
487 mtk_wdt_start(&mtk_wdt->wdt_dev); in mtk_wdt_resume()
488 mtk_wdt_ping(&mtk_wdt->wdt_dev); in mtk_wdt_resume()