Lines Matching refs:wdev

94 	struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
98 if (wdev->ext_reset)
104 regmap_write(wdev->regmap, IMX2_WDT_WCR, wcr_enable);
112 regmap_write(wdev->regmap, IMX2_WDT_WCR, wcr_enable);
113 regmap_write(wdev->regmap, IMX2_WDT_WCR, wcr_enable);
123 struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
126 regmap_read(wdev->regmap, IMX2_WDT_WCR, &val);
133 if (!wdev->ext_reset)
143 regmap_write(wdev->regmap, IMX2_WDT_WCR, val);
147 regmap_write(wdev->regmap, IMX2_WDT_WCR, val);
150 static inline bool imx2_wdt_is_running(struct imx2_wdt_device *wdev)
154 regmap_read(wdev->regmap, IMX2_WDT_WCR, &val);
161 struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
163 regmap_write(wdev->regmap, IMX2_WDT_WSR, IMX2_WDT_SEQ1);
164 regmap_write(wdev->regmap, IMX2_WDT_WSR, IMX2_WDT_SEQ2);
171 struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
173 regmap_update_bits(wdev->regmap, IMX2_WDT_WCR, IMX2_WDT_WCR_WT,
191 struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
198 regmap_update_bits(wdev->regmap, IMX2_WDT_WICR,
207 struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
209 regmap_write_bits(wdev->regmap, IMX2_WDT_WICR,
219 struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
221 if (imx2_wdt_is_running(wdev))
255 struct imx2_wdt_device *wdev;
261 wdev = devm_kzalloc(dev, sizeof(*wdev), GFP_KERNEL);
262 if (!wdev)
269 wdev->regmap = devm_regmap_init_mmio_clk(dev, NULL, base,
271 if (IS_ERR(wdev->regmap)) {
273 return PTR_ERR(wdev->regmap);
276 wdev->clk = devm_clk_get(dev, NULL);
277 if (IS_ERR(wdev->clk)) {
279 return PTR_ERR(wdev->clk);
282 wdog = &wdev->wdog;
296 ret = clk_prepare_enable(wdev->clk);
300 ret = devm_add_action_or_reset(dev, imx2_wdt_action, wdev->clk);
304 regmap_read(wdev->regmap, IMX2_WDT_WRSR, &val);
307 wdev->ext_reset = of_property_read_bool(dev->of_node,
310 watchdog_set_drvdata(wdog, wdev);
315 if (imx2_wdt_is_running(wdev)) {
325 regmap_write(wdev->regmap, IMX2_WDT_WMCR, 0);
333 struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
335 if (imx2_wdt_is_running(wdev)) {
350 struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
353 if (imx2_wdt_is_running(wdev)) {
362 clk_disable_unprepare(wdev->clk);
371 struct imx2_wdt_device *wdev = watchdog_get_drvdata(wdog);
374 ret = clk_prepare_enable(wdev->clk);
378 if (watchdog_active(wdog) && !imx2_wdt_is_running(wdev)) {
386 if (imx2_wdt_is_running(wdev)) {