Lines Matching full:wdt
41 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_start() local
43 return regmap_update_bits(wdt->regmap, in pm8916_wdt_start()
44 wdt->baseaddr + PON_PMIC_WD_RESET_S2_CTL2, in pm8916_wdt_start()
50 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_stop() local
52 return regmap_update_bits(wdt->regmap, in pm8916_wdt_stop()
53 wdt->baseaddr + PON_PMIC_WD_RESET_S2_CTL2, in pm8916_wdt_stop()
59 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_ping() local
61 return regmap_update_bits(wdt->regmap, in pm8916_wdt_ping()
62 wdt->baseaddr + PON_PMIC_WD_RESET_PET, in pm8916_wdt_ping()
68 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_configure_timers() local
71 err = regmap_write(wdt->regmap, in pm8916_wdt_configure_timers()
72 wdt->baseaddr + PON_PMIC_WD_RESET_S1_TIMER, in pm8916_wdt_configure_timers()
77 return regmap_write(wdt->regmap, in pm8916_wdt_configure_timers()
78 wdt->baseaddr + PON_PMIC_WD_RESET_S2_TIMER, in pm8916_wdt_configure_timers()
100 struct pm8916_wdt *wdt = arg; in pm8916_wdt_isr() local
103 err = regmap_read(wdt->regmap, wdt->baseaddr + PON_INT_RT_STS, &sts); in pm8916_wdt_isr()
108 watchdog_notify_pretimeout(&wdt->wdev); in pm8916_wdt_isr()
115 .identity = "QCOM PM8916 PON WDT",
121 .identity = "QCOM PM8916 PON WDT",
136 struct pm8916_wdt *wdt; in pm8916_wdt_probe() local
140 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in pm8916_wdt_probe()
141 if (!wdt) in pm8916_wdt_probe()
147 * The pm8916-pon-wdt is a child of the pon device, which is a child in pm8916_wdt_probe()
152 wdt->regmap = dev_get_regmap(parent->parent, NULL); in pm8916_wdt_probe()
153 if (!wdt->regmap) { in pm8916_wdt_probe()
158 err = device_property_read_u32(parent, "reg", &wdt->baseaddr); in pm8916_wdt_probe()
167 "pm8916_wdt", wdt); in pm8916_wdt_probe()
171 wdt->wdev.info = &pm8916_wdt_pt_ident; in pm8916_wdt_probe()
176 wdt->wdev.info = &pm8916_wdt_ident; in pm8916_wdt_probe()
180 err = regmap_write(wdt->regmap, in pm8916_wdt_probe()
181 wdt->baseaddr + PON_PMIC_WD_RESET_S2_CTL, in pm8916_wdt_probe()
188 wdt->wdev.ops = &pm8916_wdt_ops, in pm8916_wdt_probe()
189 wdt->wdev.parent = dev; in pm8916_wdt_probe()
190 wdt->wdev.min_timeout = PM8916_WDT_MIN_TIMEOUT; in pm8916_wdt_probe()
191 wdt->wdev.max_timeout = PM8916_WDT_MAX_TIMEOUT; in pm8916_wdt_probe()
192 wdt->wdev.timeout = PM8916_WDT_DEFAULT_TIMEOUT; in pm8916_wdt_probe()
193 wdt->wdev.pretimeout = 0; in pm8916_wdt_probe()
194 watchdog_set_drvdata(&wdt->wdev, wdt); in pm8916_wdt_probe()
195 platform_set_drvdata(pdev, wdt); in pm8916_wdt_probe()
197 watchdog_init_timeout(&wdt->wdev, 0, dev); in pm8916_wdt_probe()
198 pm8916_wdt_configure_timers(&wdt->wdev); in pm8916_wdt_probe()
200 return devm_watchdog_register_device(dev, &wdt->wdev); in pm8916_wdt_probe()
205 struct pm8916_wdt *wdt = dev_get_drvdata(dev); in pm8916_wdt_suspend() local
207 if (watchdog_active(&wdt->wdev)) in pm8916_wdt_suspend()
208 return pm8916_wdt_stop(&wdt->wdev); in pm8916_wdt_suspend()
215 struct pm8916_wdt *wdt = dev_get_drvdata(dev); in pm8916_wdt_resume() local
217 if (watchdog_active(&wdt->wdev)) in pm8916_wdt_resume()
218 return pm8916_wdt_start(&wdt->wdev); in pm8916_wdt_resume()
227 { .compatible = "qcom,pm8916-wdt" },
235 .name = "pm8916-wdt",