Lines Matching refs:variant
106 const struct starfive_wdt_variant *variant;
208 writel(wdt->variant->unlock_key, wdt->base + wdt->variant->unlock);
214 writel(~wdt->variant->unlock_key, wdt->base + wdt->variant->unlock);
223 val = readl(wdt->base + wdt->variant->control);
224 val |= STARFIVE_WDT_RESET_EN << wdt->variant->enrst_shift;
225 writel(val, wdt->base + wdt->variant->control);
231 return !!readl(wdt->base + wdt->variant->int_status);
239 return readl_poll_timeout_atomic(wdt->base + wdt->variant->int_clr, value,
240 !(value & BIT(wdt->variant->intclr_ava_shift)),
249 if (wdt->variant->intclr_check) {
255 writel(STARFIVE_WDT_INTCLR, wdt->base + wdt->variant->int_clr);
262 writel(val, wdt->base + wdt->variant->load);
267 return readl(wdt->base + wdt->variant->value);
275 val = readl(wdt->base + wdt->variant->enable);
276 val |= STARFIVE_WDT_ENABLE << wdt->variant->en_shift;
277 writel(val, wdt->base + wdt->variant->enable);
285 val = readl(wdt->base + wdt->variant->enable);
286 val &= ~(STARFIVE_WDT_ENABLE << wdt->variant->en_shift);
287 writel(val, wdt->base + wdt->variant->enable);
295 if (wdt->variant->reload)
296 writel(0x1, wdt->base + wdt->variant->reload);
301 if (wdt->variant->double_timeout)
317 if (wdt->variant->double_timeout && !starfive_wdt_raise_irq_status(wdt))
395 if (wdt->variant->double_timeout)
464 wdt->variant = of_device_get_match_data(&pdev->dev);