Lines Matching full:variant
106 const struct starfive_wdt_variant *variant; member
210 writel(wdt->variant->unlock_key, wdt->base + wdt->variant->unlock); in starfive_wdt_unlock()
216 writel(~wdt->variant->unlock_key, wdt->base + wdt->variant->unlock); in starfive_wdt_lock()
225 val = readl(wdt->base + wdt->variant->control); in starfive_wdt_enable_reset()
226 val |= STARFIVE_WDT_RESET_EN << wdt->variant->enrst_shift; in starfive_wdt_enable_reset()
227 writel(val, wdt->base + wdt->variant->control); in starfive_wdt_enable_reset()
233 return !!readl(wdt->base + wdt->variant->int_status); in starfive_wdt_raise_irq_status()
241 return readl_poll_timeout_atomic(wdt->base + wdt->variant->int_clr, value, in starfive_wdt_wait_int_free()
242 !(value & BIT(wdt->variant->intclr_ava_shift)), in starfive_wdt_wait_int_free()
251 if (wdt->variant->intclr_check) { in starfive_wdt_int_clr()
257 writel(STARFIVE_WDT_INTCLR, wdt->base + wdt->variant->int_clr); in starfive_wdt_int_clr()
264 writel(val, wdt->base + wdt->variant->load); in starfive_wdt_set_count()
269 return readl(wdt->base + wdt->variant->value); in starfive_wdt_get_count()
277 val = readl(wdt->base + wdt->variant->enable); in starfive_wdt_enable()
278 val |= STARFIVE_WDT_ENABLE << wdt->variant->en_shift; in starfive_wdt_enable()
279 writel(val, wdt->base + wdt->variant->enable); in starfive_wdt_enable()
287 val = readl(wdt->base + wdt->variant->enable); in starfive_wdt_disable()
288 val &= ~(STARFIVE_WDT_ENABLE << wdt->variant->en_shift); in starfive_wdt_disable()
289 writel(val, wdt->base + wdt->variant->enable); in starfive_wdt_disable()
297 if (wdt->variant->reload) in starfive_wdt_set_reload_count()
298 writel(0x1, wdt->base + wdt->variant->reload); in starfive_wdt_set_reload_count()
303 if (wdt->variant->double_timeout) in starfive_wdt_max_timeout()
319 if (wdt->variant->double_timeout && !starfive_wdt_raise_irq_status(wdt)) in starfive_wdt_get_timeleft()
397 if (wdt->variant->double_timeout) in starfive_wdt_set_timeout()
466 wdt->variant = of_device_get_match_data(&pdev->dev); in starfive_wdt_probe()