Lines Matching defs:meson_wdt

22 #define DRV_NAME		"meson_wdt"
64 struct meson_wdt_dev *meson_wdt = watchdog_get_drvdata(wdt_dev);
67 tc_reboot |= meson_wdt->data->enable;
70 writel(tc_reboot, meson_wdt->wdt_base + MESON_WDT_TC);
79 struct meson_wdt_dev *meson_wdt = watchdog_get_drvdata(wdt_dev);
81 writel(0, meson_wdt->wdt_base + MESON_WDT_RESET);
89 struct meson_wdt_dev *meson_wdt = watchdog_get_drvdata(wdt_dev);
92 reg = readl(meson_wdt->wdt_base + MESON_WDT_TC);
93 reg &= ~meson_wdt->data->terminal_count_mask;
94 reg |= MESON_SEC_TO_TC(timeout, meson_wdt->data->count_unit);
95 writel(reg, meson_wdt->wdt_base + MESON_WDT_TC);
111 struct meson_wdt_dev *meson_wdt = watchdog_get_drvdata(wdt_dev);
114 reg = readl(meson_wdt->wdt_base + MESON_WDT_TC);
115 reg &= ~meson_wdt->data->enable;
116 writel(reg, meson_wdt->wdt_base + MESON_WDT_TC);
123 struct meson_wdt_dev *meson_wdt = watchdog_get_drvdata(wdt_dev);
126 meson_wdt_change_timeout(wdt_dev, meson_wdt->wdt_dev.timeout);
129 reg = readl(meson_wdt->wdt_base + MESON_WDT_TC);
130 reg |= meson_wdt->data->enable;
131 writel(reg, meson_wdt->wdt_base + MESON_WDT_TC);
164 struct meson_wdt_dev *meson_wdt;
167 meson_wdt = devm_kzalloc(dev, sizeof(*meson_wdt), GFP_KERNEL);
168 if (!meson_wdt)
171 meson_wdt->wdt_base = devm_platform_ioremap_resource(pdev, 0);
172 if (IS_ERR(meson_wdt->wdt_base))
173 return PTR_ERR(meson_wdt->wdt_base);
175 meson_wdt->data = device_get_match_data(dev);
177 meson_wdt->wdt_dev.parent = dev;
178 meson_wdt->wdt_dev.info = &meson_wdt_info;
179 meson_wdt->wdt_dev.ops = &meson_wdt_ops;
180 meson_wdt->wdt_dev.max_timeout =
181 meson_wdt->data->terminal_count_mask / meson_wdt->data->count_unit;
182 meson_wdt->wdt_dev.min_timeout = MESON_WDT_MIN_TIMEOUT;
183 meson_wdt->wdt_dev.timeout = min_t(unsigned int,
185 meson_wdt->wdt_dev.max_timeout);
187 watchdog_set_drvdata(&meson_wdt->wdt_dev, meson_wdt);
189 watchdog_init_timeout(&meson_wdt->wdt_dev, timeout, dev);
190 watchdog_set_nowayout(&meson_wdt->wdt_dev, nowayout);
191 watchdog_set_restart_priority(&meson_wdt->wdt_dev, 128);
193 meson_wdt_stop(&meson_wdt->wdt_dev);
195 watchdog_stop_on_reboot(&meson_wdt->wdt_dev);
196 err = devm_watchdog_register_device(dev, &meson_wdt->wdt_dev);
201 meson_wdt->wdt_dev.timeout, nowayout);