Lines Matching refs:tco
47 #define TCO_DRIVER_NAME "sp5100-tco"
111 struct sp5100_tco *tco = watchdog_get_drvdata(wdd);
114 val = readl(SP5100_WDT_CONTROL(tco->tcobase));
116 writel(val, SP5100_WDT_CONTROL(tco->tcobase));
120 writel(val, SP5100_WDT_CONTROL(tco->tcobase));
127 struct sp5100_tco *tco = watchdog_get_drvdata(wdd);
130 val = readl(SP5100_WDT_CONTROL(tco->tcobase));
132 writel(val, SP5100_WDT_CONTROL(tco->tcobase));
139 struct sp5100_tco *tco = watchdog_get_drvdata(wdd);
142 val = readl(SP5100_WDT_CONTROL(tco->tcobase));
144 writel(val, SP5100_WDT_CONTROL(tco->tcobase));
152 struct sp5100_tco *tco = watchdog_get_drvdata(wdd);
155 writel(t, SP5100_WDT_COUNT(tco->tcobase));
164 struct sp5100_tco *tco = watchdog_get_drvdata(wdd);
166 return readl(SP5100_WDT_COUNT(tco->tcobase));
186 static void tco_timer_enable(struct sp5100_tco *tco)
190 switch (tco->tco_reg_layout) {
255 static u32 sp5100_tco_prepare_base(struct sp5100_tco *tco,
260 struct device *dev = tco->wdd.parent;
279 tco->tcobase = devm_ioremap(dev, mmio_addr, SP5100_WDT_MEM_MAP_SIZE);
280 if (!tco->tcobase) {
291 static int sp5100_tco_timer_init(struct sp5100_tco *tco)
293 struct watchdog_device *wdd = &tco->wdd;
297 val = readl(SP5100_WDT_CONTROL(tco->tcobase));
315 writel(val, SP5100_WDT_CONTROL(tco->tcobase));
354 struct sp5100_tco *tco = watchdog_get_drvdata(wdd);
407 ret = sp5100_tco_prepare_base(tco, mmio_addr, alt_mmio_addr, dev_name);
410 ret = sp5100_tco_timer_init(tco);
426 struct sp5100_tco *tco = watchdog_get_drvdata(wdd);
432 if (tco->tco_reg_layout == efch_mmio)
446 switch (tco->tco_reg_layout) {
493 ret = sp5100_tco_prepare_base(tco, mmio_addr, alt_mmio_addr, dev_name);
496 tco_timer_enable(tco);
497 ret = sp5100_tco_timer_init(tco);
522 struct sp5100_tco *tco;
525 tco = devm_kzalloc(dev, sizeof(*tco), GFP_KERNEL);
526 if (!tco)
529 tco->tco_reg_layout = tco_reg_layout(sp5100_tco_pci);
531 wdd = &tco->wdd;
543 watchdog_set_drvdata(wdd, tco);