Lines Matching refs:data
40 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev);
42 writel(readl(data->reg_base + GXBB_WDT_CTRL_REG) | GXBB_WDT_CTRL_EN,
43 data->reg_base + GXBB_WDT_CTRL_REG);
50 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev);
52 writel(readl(data->reg_base + GXBB_WDT_CTRL_REG) & ~GXBB_WDT_CTRL_EN,
53 data->reg_base + GXBB_WDT_CTRL_REG);
60 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev);
62 writel(0, data->reg_base + GXBB_WDT_RSET_REG);
70 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev);
80 writel(tcnt, data->reg_base + GXBB_WDT_TCNT_REG);
87 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev);
90 reg = readl(data->reg_base + GXBB_WDT_TCNT_REG);
111 struct meson_gxbb_wdt *data = dev_get_drvdata(dev);
113 if (watchdog_active(&data->wdt_dev))
114 meson_gxbb_wdt_start(&data->wdt_dev);
121 struct meson_gxbb_wdt *data = dev_get_drvdata(dev);
123 if (watchdog_active(&data->wdt_dev))
124 meson_gxbb_wdt_stop(&data->wdt_dev);
139 static void meson_clk_disable_unprepare(void *data)
141 clk_disable_unprepare(data);
147 struct meson_gxbb_wdt *data;
150 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
151 if (!data)
154 data->reg_base = devm_platform_ioremap_resource(pdev, 0);
155 if (IS_ERR(data->reg_base))
156 return PTR_ERR(data->reg_base);
158 data->clk = devm_clk_get(dev, NULL);
159 if (IS_ERR(data->clk))
160 return PTR_ERR(data->clk);
162 ret = clk_prepare_enable(data->clk);
166 data->clk);
170 platform_set_drvdata(pdev, data);
172 data->wdt_dev.parent = dev;
173 data->wdt_dev.info = &meson_gxbb_wdt_info;
174 data->wdt_dev.ops = &meson_gxbb_wdt_ops;
175 data->wdt_dev.max_hw_heartbeat_ms = GXBB_WDT_TCNT_SETUP_MASK;
176 data->wdt_dev.min_timeout = 1;
177 data->wdt_dev.timeout = DEFAULT_TIMEOUT;
178 watchdog_set_drvdata(&data->wdt_dev, data);
181 writel(((clk_get_rate(data->clk) / 1000) & GXBB_WDT_CTRL_DIV_MASK) |
185 data->reg_base + GXBB_WDT_CTRL_REG);
187 meson_gxbb_wdt_set_timeout(&data->wdt_dev, data->wdt_dev.timeout);
189 watchdog_stop_on_reboot(&data->wdt_dev);
190 return devm_watchdog_register_device(dev, &data->wdt_dev);