Lines Matching refs:davinci_wdt

76 	struct davinci_wdt_device *davinci_wdt = watchdog_get_drvdata(wdd);  in davinci_wdt_start()  local
78 wdt_freq = clk_get_rate(davinci_wdt->clk); in davinci_wdt_start()
81 iowrite32(0, davinci_wdt->base + TCR); in davinci_wdt_start()
83 iowrite32(0, davinci_wdt->base + TGCR); in davinci_wdt_start()
85 iowrite32(tgcr, davinci_wdt->base + TGCR); in davinci_wdt_start()
87 iowrite32(0, davinci_wdt->base + TIM12); in davinci_wdt_start()
88 iowrite32(0, davinci_wdt->base + TIM34); in davinci_wdt_start()
91 iowrite32(timer_margin, davinci_wdt->base + PRD12); in davinci_wdt_start()
93 iowrite32(timer_margin, davinci_wdt->base + PRD34); in davinci_wdt_start()
95 iowrite32(ENAMODE12_PERIODIC, davinci_wdt->base + TCR); in davinci_wdt_start()
101 iowrite32(WDKEY_SEQ0 | WDEN, davinci_wdt->base + WDTCR); in davinci_wdt_start()
103 iowrite32(WDKEY_SEQ1 | WDEN, davinci_wdt->base + WDTCR); in davinci_wdt_start()
109 struct davinci_wdt_device *davinci_wdt = watchdog_get_drvdata(wdd); in davinci_wdt_ping() local
112 iowrite32(WDKEY_SEQ0, davinci_wdt->base + WDTCR); in davinci_wdt_ping()
114 iowrite32(WDKEY_SEQ1, davinci_wdt->base + WDTCR); in davinci_wdt_ping()
123 struct davinci_wdt_device *davinci_wdt = watchdog_get_drvdata(wdd); in davinci_wdt_get_timeleft() local
126 val = ioread32(davinci_wdt->base + WDTCR); in davinci_wdt_get_timeleft()
130 freq = clk_get_rate(davinci_wdt->clk); in davinci_wdt_get_timeleft()
135 timer_counter = ioread32(davinci_wdt->base + TIM12); in davinci_wdt_get_timeleft()
136 timer_counter |= ((u64)ioread32(davinci_wdt->base + TIM34) << 32); in davinci_wdt_get_timeleft()
162 struct davinci_wdt_device *davinci_wdt; in davinci_wdt_probe() local
164 davinci_wdt = devm_kzalloc(dev, sizeof(*davinci_wdt), GFP_KERNEL); in davinci_wdt_probe()
165 if (!davinci_wdt) in davinci_wdt_probe()
168 davinci_wdt->clk = devm_clk_get(dev, NULL); in davinci_wdt_probe()
169 if (WARN_ON(IS_ERR(davinci_wdt->clk))) in davinci_wdt_probe()
170 return PTR_ERR(davinci_wdt->clk); in davinci_wdt_probe()
172 clk_prepare_enable(davinci_wdt->clk); in davinci_wdt_probe()
174 platform_set_drvdata(pdev, davinci_wdt); in davinci_wdt_probe()
176 wdd = &davinci_wdt->wdd; in davinci_wdt_probe()
188 watchdog_set_drvdata(wdd, davinci_wdt); in davinci_wdt_probe()
192 davinci_wdt->base = devm_ioremap_resource(dev, wdt_mem); in davinci_wdt_probe()
193 if (IS_ERR(davinci_wdt->base)) in davinci_wdt_probe()
194 return PTR_ERR(davinci_wdt->base); in davinci_wdt_probe()
205 struct davinci_wdt_device *davinci_wdt = platform_get_drvdata(pdev); in davinci_wdt_remove() local
207 watchdog_unregister_device(&davinci_wdt->wdd); in davinci_wdt_remove()
208 clk_disable_unprepare(davinci_wdt->clk); in davinci_wdt_remove()