Lines Matching refs:davinci_wdt
75 struct davinci_wdt_device *davinci_wdt = watchdog_get_drvdata(wdd); in davinci_wdt_start() local
77 wdt_freq = clk_get_rate(davinci_wdt->clk); in davinci_wdt_start()
80 iowrite32(0, davinci_wdt->base + TCR); in davinci_wdt_start()
82 iowrite32(0, davinci_wdt->base + TGCR); in davinci_wdt_start()
84 iowrite32(tgcr, davinci_wdt->base + TGCR); in davinci_wdt_start()
86 iowrite32(0, davinci_wdt->base + TIM12); in davinci_wdt_start()
87 iowrite32(0, davinci_wdt->base + TIM34); in davinci_wdt_start()
90 iowrite32(timer_margin, davinci_wdt->base + PRD12); in davinci_wdt_start()
92 iowrite32(timer_margin, davinci_wdt->base + PRD34); in davinci_wdt_start()
94 iowrite32(ENAMODE12_PERIODIC, davinci_wdt->base + TCR); in davinci_wdt_start()
100 iowrite32(WDKEY_SEQ0 | WDEN, davinci_wdt->base + WDTCR); in davinci_wdt_start()
102 iowrite32(WDKEY_SEQ1 | WDEN, davinci_wdt->base + WDTCR); in davinci_wdt_start()
108 struct davinci_wdt_device *davinci_wdt = watchdog_get_drvdata(wdd); in davinci_wdt_ping() local
111 iowrite32(WDKEY_SEQ0, davinci_wdt->base + WDTCR); in davinci_wdt_ping()
113 iowrite32(WDKEY_SEQ1, davinci_wdt->base + WDTCR); in davinci_wdt_ping()
122 struct davinci_wdt_device *davinci_wdt = watchdog_get_drvdata(wdd); in davinci_wdt_get_timeleft() local
125 val = ioread32(davinci_wdt->base + WDTCR); in davinci_wdt_get_timeleft()
129 freq = clk_get_rate(davinci_wdt->clk); in davinci_wdt_get_timeleft()
134 timer_counter = ioread32(davinci_wdt->base + TIM12); in davinci_wdt_get_timeleft()
135 timer_counter |= ((u64)ioread32(davinci_wdt->base + TIM34) << 32); in davinci_wdt_get_timeleft()
145 struct davinci_wdt_device *davinci_wdt = watchdog_get_drvdata(wdd); in davinci_wdt_restart() local
149 iowrite32(0, davinci_wdt->base + TCR); in davinci_wdt_restart()
153 iowrite32(tgcr, davinci_wdt->base + TGCR); in davinci_wdt_restart()
155 iowrite32(tgcr, davinci_wdt->base + TGCR); in davinci_wdt_restart()
158 iowrite32(0, davinci_wdt->base + TIM12); in davinci_wdt_restart()
159 iowrite32(0, davinci_wdt->base + TIM34); in davinci_wdt_restart()
160 iowrite32(0, davinci_wdt->base + PRD12); in davinci_wdt_restart()
161 iowrite32(0, davinci_wdt->base + PRD34); in davinci_wdt_restart()
165 iowrite32(wdtcr, davinci_wdt->base + WDTCR); in davinci_wdt_restart()
169 iowrite32(wdtcr, davinci_wdt->base + WDTCR); in davinci_wdt_restart()
173 iowrite32(wdtcr, davinci_wdt->base + WDTCR); in davinci_wdt_restart()
196 struct davinci_wdt_device *davinci_wdt; in davinci_wdt_probe() local
198 davinci_wdt = devm_kzalloc(dev, sizeof(*davinci_wdt), GFP_KERNEL); in davinci_wdt_probe()
199 if (!davinci_wdt) in davinci_wdt_probe()
202 davinci_wdt->clk = devm_clk_get_enabled(dev, NULL); in davinci_wdt_probe()
203 if (IS_ERR(davinci_wdt->clk)) in davinci_wdt_probe()
204 return dev_err_probe(dev, PTR_ERR(davinci_wdt->clk), in davinci_wdt_probe()
207 platform_set_drvdata(pdev, davinci_wdt); in davinci_wdt_probe()
209 wdd = &davinci_wdt->wdd; in davinci_wdt_probe()
221 watchdog_set_drvdata(wdd, davinci_wdt); in davinci_wdt_probe()
225 davinci_wdt->base = devm_platform_ioremap_resource(pdev, 0); in davinci_wdt_probe()
226 if (IS_ERR(davinci_wdt->base)) in davinci_wdt_probe()
227 return PTR_ERR(davinci_wdt->base); in davinci_wdt_probe()