/Linux-v4.19/drivers/watchdog/ |
D | s3c2410_wdt.c | 212 static int s3c2410wdt_mask_and_disable_reset(struct s3c2410_wdt *wdt, bool mask) in s3c2410wdt_mask_and_disable_reset() argument 215 u32 mask_val = 1 << wdt->drv_data->mask_bit; in s3c2410wdt_mask_and_disable_reset() 219 if (!(wdt->drv_data->quirks & QUIRK_HAS_PMU_CONFIG)) in s3c2410wdt_mask_and_disable_reset() 225 ret = regmap_update_bits(wdt->pmureg, in s3c2410wdt_mask_and_disable_reset() 226 wdt->drv_data->disable_reg, in s3c2410wdt_mask_and_disable_reset() 231 ret = regmap_update_bits(wdt->pmureg, in s3c2410wdt_mask_and_disable_reset() 232 wdt->drv_data->mask_reset_reg, in s3c2410wdt_mask_and_disable_reset() 236 dev_err(wdt->dev, "failed to update reg(%d)\n", ret); in s3c2410wdt_mask_and_disable_reset() 243 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); in s3c2410wdt_keepalive() local 245 spin_lock(&wdt->lock); in s3c2410wdt_keepalive() [all …]
|
D | at91sam9_wdt.c | 40 #define wdt_read(wdt, field) \ argument 41 readl_relaxed((wdt)->base + (field)) 43 writel_relaxed((val), (wdt)->base + (field)) 98 struct at91wdt *wdt = (struct at91wdt *)dev_id; in wdt_interrupt() local 100 if (wdt_read(wdt, AT91_WDT_SR)) { in wdt_interrupt() 112 static inline void at91_wdt_reset(struct at91wdt *wdt) in at91_wdt_reset() argument 114 wdt_write(wdt, AT91_WDT_CR, AT91_WDT_KEY | AT91_WDT_WDRSTT); in at91_wdt_reset() 122 struct at91wdt *wdt = from_timer(wdt, t, timer); in at91_ping() local 123 if (time_before(jiffies, wdt->next_heartbeat) || in at91_ping() 124 !watchdog_active(&wdt->wdd)) { in at91_ping() [all …]
|
D | mei_wdt.c | 166 static int mei_wdt_ping(struct mei_wdt *wdt) in mei_wdt_ping() argument 177 req.timeout = wdt->timeout; in mei_wdt_ping() 179 ret = mei_cldev_send(wdt->cldev, (u8 *)&req, req_len); in mei_wdt_ping() 194 static int mei_wdt_stop(struct mei_wdt *wdt) in mei_wdt_stop() argument 206 ret = mei_cldev_send(wdt->cldev, (u8 *)&req, req_len); in mei_wdt_stop() 222 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); in mei_wdt_ops_start() local 224 wdt->state = MEI_WDT_START; in mei_wdt_ops_start() 225 wdd->timeout = wdt->timeout; in mei_wdt_ops_start() 238 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); in mei_wdt_ops_stop() local 241 if (wdt->state != MEI_WDT_RUNNING) in mei_wdt_ops_stop() [all …]
|
D | sp805_wdt.c | 84 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); in wdt_is_running() local 85 u32 wdtcontrol = readl_relaxed(wdt->base + WDTCONTROL); in wdt_is_running() 93 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); in wdt_setload() local 96 rate = wdt->rate; in wdt_setload() 109 spin_lock(&wdt->lock); in wdt_setload() 110 wdt->load_val = load; in wdt_setload() 113 spin_unlock(&wdt->lock); in wdt_setload() 121 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); in wdt_timeleft() local 124 spin_lock(&wdt->lock); in wdt_timeleft() 125 load = readl_relaxed(wdt->base + WDTVALUE); in wdt_timeleft() [all …]
|
D | sprd_wdt.c | 91 struct sprd_wdt *wdt = (struct sprd_wdt *)dev_id; in sprd_wdt_isr() local 93 sprd_wdt_unlock(wdt->base); in sprd_wdt_isr() 94 writel_relaxed(SPRD_WDT_INT_CLEAR_BIT, wdt->base + SPRD_WDT_INT_CLR); in sprd_wdt_isr() 95 sprd_wdt_lock(wdt->base); in sprd_wdt_isr() 96 watchdog_notify_pretimeout(&wdt->wdd); in sprd_wdt_isr() 100 static u32 sprd_wdt_get_cnt_value(struct sprd_wdt *wdt) in sprd_wdt_get_cnt_value() argument 104 val = readl_relaxed(wdt->base + SPRD_WDT_CNT_HIGH) << in sprd_wdt_get_cnt_value() 106 val |= readl_relaxed(wdt->base + SPRD_WDT_CNT_LOW) & in sprd_wdt_get_cnt_value() 112 static int sprd_wdt_load_value(struct sprd_wdt *wdt, u32 timeout, in sprd_wdt_load_value() argument 119 sprd_wdt_unlock(wdt->base); in sprd_wdt_load_value() [all …]
|
D | bcm7038_wdt.c | 39 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_set_timeout_reg() local 42 timeout = wdt->rate * wdog->timeout; in bcm7038_wdt_set_timeout_reg() 44 writel(timeout, wdt->base + WDT_TIMEOUT_REG); in bcm7038_wdt_set_timeout_reg() 49 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_ping() local 51 writel(WDT_START_1, wdt->base + WDT_CMD_REG); in bcm7038_wdt_ping() 52 writel(WDT_START_2, wdt->base + WDT_CMD_REG); in bcm7038_wdt_ping() 67 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_stop() local 69 writel(WDT_STOP_1, wdt->base + WDT_CMD_REG); in bcm7038_wdt_stop() 70 writel(WDT_STOP_2, wdt->base + WDT_CMD_REG); in bcm7038_wdt_stop() 88 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_get_timeleft() local [all …]
|
D | max63xx_wdt.c | 56 void (*ping)(struct max63xx_wdt *wdt); 57 void (*set)(struct max63xx_wdt *wdt, u8 set); 122 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); in max63xx_wdt_ping() local 124 wdt->ping(wdt); in max63xx_wdt_ping() 130 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); in max63xx_wdt_start() local 132 wdt->set(wdt, wdt->timeout->wdset); in max63xx_wdt_start() 135 if (wdt->timeout->tdelay == 0) in max63xx_wdt_start() 136 wdt->ping(wdt); in max63xx_wdt_start() 142 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); in max63xx_wdt_stop() local 144 wdt->set(wdt, MAX6369_WDSET_DISABLED); in max63xx_wdt_stop() [all …]
|
D | qcom-wdt.c | 55 static void __iomem *wdt_addr(struct qcom_wdt *wdt, enum wdt_reg reg) in wdt_addr() argument 57 return wdt->base + wdt->layout[reg]; in wdt_addr() 68 struct qcom_wdt *wdt = to_qcom_wdt(wdd); in qcom_wdt_start() local 70 writel(0, wdt_addr(wdt, WDT_EN)); in qcom_wdt_start() 71 writel(1, wdt_addr(wdt, WDT_RST)); in qcom_wdt_start() 72 writel(wdd->timeout * wdt->rate, wdt_addr(wdt, WDT_BARK_TIME)); in qcom_wdt_start() 73 writel(wdd->timeout * wdt->rate, wdt_addr(wdt, WDT_BITE_TIME)); in qcom_wdt_start() 74 writel(1, wdt_addr(wdt, WDT_EN)); in qcom_wdt_start() 80 struct qcom_wdt *wdt = to_qcom_wdt(wdd); in qcom_wdt_stop() local 82 writel(0, wdt_addr(wdt, WDT_EN)); in qcom_wdt_stop() [all …]
|
D | sama5d4_wdt.c | 49 #define wdt_enabled (!(wdt->mr & AT91_WDT_WDDIS)) 51 #define wdt_read(wdt, field) \ argument 52 readl_relaxed((wdt)->reg_base + (field)) 57 static void wdt_write(struct sama5d4_wdt *wdt, u32 field, u32 val) in wdt_write() argument 64 while (time_before(jiffies, wdt->last_ping + WDT_DELAY)) in wdt_write() 66 writel_relaxed(val, wdt->reg_base + field); in wdt_write() 67 wdt->last_ping = jiffies; in wdt_write() 70 static void wdt_write_nosleep(struct sama5d4_wdt *wdt, u32 field, u32 val) in wdt_write_nosleep() argument 72 if (time_before(jiffies, wdt->last_ping + WDT_DELAY)) in wdt_write_nosleep() 74 writel_relaxed(val, wdt->reg_base + field); in wdt_write_nosleep() [all …]
|
D | cadence_wdt.c | 85 static inline void cdns_wdt_writereg(struct cdns_wdt *wdt, u32 offset, u32 val) in cdns_wdt_writereg() argument 87 writel_relaxed(val, wdt->regs + offset); in cdns_wdt_writereg() 126 struct cdns_wdt *wdt = watchdog_get_drvdata(wdd); in cdns_wdt_stop() local 128 spin_lock(&wdt->io_lock); in cdns_wdt_stop() 129 cdns_wdt_writereg(wdt, CDNS_WDT_ZMR_OFFSET, in cdns_wdt_stop() 131 spin_unlock(&wdt->io_lock); in cdns_wdt_stop() 147 struct cdns_wdt *wdt = watchdog_get_drvdata(wdd); in cdns_wdt_reload() local 149 spin_lock(&wdt->io_lock); in cdns_wdt_reload() 150 cdns_wdt_writereg(wdt, CDNS_WDT_RESTART_OFFSET, in cdns_wdt_reload() 152 spin_unlock(&wdt->io_lock); in cdns_wdt_reload() [all …]
|
D | bcm47xx_wdt.c | 50 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_keepalive() local 52 wdt->timer_set_ms(wdt, wdd->timeout * 1000); in bcm47xx_wdt_hard_keepalive() 64 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_stop() local 66 wdt->timer_set(wdt, 0); in bcm47xx_wdt_hard_stop() 74 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_set_timeout() local 75 u32 max_timer = wdt->max_timer_ms; in bcm47xx_wdt_hard_set_timeout() 90 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_restart() local 92 wdt->timer_set(wdt, 1); in bcm47xx_wdt_restart() 108 struct bcm47xx_wdt *wdt = from_timer(wdt, t, soft_timer); in bcm47xx_wdt_soft_timer_tick() local 109 u32 next_tick = min(wdt->wdd.timeout * 1000, wdt->max_timer_ms); in bcm47xx_wdt_soft_timer_tick() [all …]
|
D | zx2967_wdt.c | 55 static inline u32 zx2967_wdt_readl(struct zx2967_wdt *wdt, u16 reg) in zx2967_wdt_readl() argument 57 return readl_relaxed(wdt->reg_base + reg); in zx2967_wdt_readl() 60 static inline void zx2967_wdt_writel(struct zx2967_wdt *wdt, u16 reg, u32 val) in zx2967_wdt_writel() argument 62 writel_relaxed(val | ZX2967_WDT_WRITEKEY, wdt->reg_base + reg); in zx2967_wdt_writel() 65 static void zx2967_wdt_refresh(struct zx2967_wdt *wdt) in zx2967_wdt_refresh() argument 69 val = zx2967_wdt_readl(wdt, ZX2967_WDT_REFRESH_REG); in zx2967_wdt_refresh() 77 zx2967_wdt_writel(wdt, ZX2967_WDT_REFRESH_REG, in zx2967_wdt_refresh() 84 struct zx2967_wdt *wdt = watchdog_get_drvdata(wdd); in zx2967_wdt_set_timeout() local 92 zx2967_wdt_writel(wdt, ZX2967_WDT_CFG_REG, in zx2967_wdt_set_timeout() 94 zx2967_wdt_writel(wdt, ZX2967_WDT_LOAD_REG, in zx2967_wdt_set_timeout() [all …]
|
D | da9062_wdt.c | 47 static int da9062_reset_watchdog_timer(struct da9062_watchdog *wdt) in da9062_reset_watchdog_timer() argument 51 ret = regmap_update_bits(wdt->hw->regmap, in da9062_reset_watchdog_timer() 59 static int da9062_wdt_update_timeout_register(struct da9062_watchdog *wdt, in da9062_wdt_update_timeout_register() argument 62 struct da9062 *chip = wdt->hw; in da9062_wdt_update_timeout_register() 65 ret = da9062_reset_watchdog_timer(wdt); in da9062_wdt_update_timeout_register() 84 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); in da9062_wdt_start() local 88 selector = da9062_wdt_timeout_to_sel(wdt->wdtdev.timeout); in da9062_wdt_start() 89 ret = da9062_wdt_update_timeout_register(wdt, selector); in da9062_wdt_start() 91 dev_err(wdt->hw->dev, "Watchdog failed to start (err = %d)\n", in da9062_wdt_start() 99 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); in da9062_wdt_stop() local [all …]
|
D | pic32-wdt.c | 49 static inline bool pic32_wdt_is_win_enabled(struct pic32_wdt *wdt) in pic32_wdt_is_win_enabled() argument 51 return !!(readl(wdt->regs + WDTCON_REG) & WDTCON_WIN_EN); in pic32_wdt_is_win_enabled() 54 static inline u32 pic32_wdt_get_post_scaler(struct pic32_wdt *wdt) in pic32_wdt_get_post_scaler() argument 56 u32 v = readl(wdt->regs + WDTCON_REG); in pic32_wdt_get_post_scaler() 61 static inline u32 pic32_wdt_get_clk_id(struct pic32_wdt *wdt) in pic32_wdt_get_clk_id() argument 63 u32 v = readl(wdt->regs + WDTCON_REG); in pic32_wdt_get_clk_id() 68 static int pic32_wdt_bootstatus(struct pic32_wdt *wdt) in pic32_wdt_bootstatus() argument 70 u32 v = readl(wdt->rst_base); in pic32_wdt_bootstatus() 72 writel(RESETCON_WDT_TIMEOUT, PIC32_CLR(wdt->rst_base)); in pic32_wdt_bootstatus() 77 static u32 pic32_wdt_get_timeout_secs(struct pic32_wdt *wdt, struct device *dev) in pic32_wdt_get_timeout_secs() argument [all …]
|
D | bcm_kona_wdt.c | 58 static int secure_register_read(struct bcm_kona_wdt *wdt, uint32_t offset) in secure_register_read() argument 71 val = readl_relaxed(wdt->base + offset); in secure_register_read() 77 if (count > wdt->busy_count) in secure_register_read() 78 wdt->busy_count = count; in secure_register_read() 97 struct bcm_kona_wdt *wdt = s->private; in bcm_kona_wdt_dbg_show() local 99 if (!wdt) { in bcm_kona_wdt_dbg_show() 104 spin_lock_irqsave(&wdt->lock, flags); in bcm_kona_wdt_dbg_show() 105 ctl_val = secure_register_read(wdt, SECWDOG_CTRL_REG); in bcm_kona_wdt_dbg_show() 106 cur_val = secure_register_read(wdt, SECWDOG_COUNT_REG); in bcm_kona_wdt_dbg_show() 107 spin_unlock_irqrestore(&wdt->lock, flags); in bcm_kona_wdt_dbg_show() [all …]
|
D | aspeed_wdt.c | 105 static void aspeed_wdt_enable(struct aspeed_wdt *wdt, int count) in aspeed_wdt_enable() argument 107 wdt->ctrl |= WDT_CTRL_ENABLE; in aspeed_wdt_enable() 109 writel(0, wdt->base + WDT_CTRL); in aspeed_wdt_enable() 110 writel(count, wdt->base + WDT_RELOAD_VALUE); in aspeed_wdt_enable() 111 writel(WDT_RESTART_MAGIC, wdt->base + WDT_RESTART); in aspeed_wdt_enable() 112 writel(wdt->ctrl, wdt->base + WDT_CTRL); in aspeed_wdt_enable() 117 struct aspeed_wdt *wdt = to_aspeed_wdt(wdd); in aspeed_wdt_start() local 119 aspeed_wdt_enable(wdt, wdd->timeout * WDT_RATE_1MHZ); in aspeed_wdt_start() 126 struct aspeed_wdt *wdt = to_aspeed_wdt(wdd); in aspeed_wdt_stop() local 128 wdt->ctrl &= ~WDT_CTRL_ENABLE; in aspeed_wdt_stop() [all …]
|
D | twl4030_wdt.c | 42 static int twl4030_wdt_start(struct watchdog_device *wdt) in twl4030_wdt_start() argument 44 return twl4030_wdt_write(wdt->timeout + 1); in twl4030_wdt_start() 47 static int twl4030_wdt_stop(struct watchdog_device *wdt) in twl4030_wdt_stop() argument 52 static int twl4030_wdt_set_timeout(struct watchdog_device *wdt, in twl4030_wdt_set_timeout() argument 55 wdt->timeout = timeout; in twl4030_wdt_set_timeout() 74 struct watchdog_device *wdt; in twl4030_wdt_probe() local 76 wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL); in twl4030_wdt_probe() 77 if (!wdt) in twl4030_wdt_probe() 80 wdt->info = &twl4030_wdt_info; in twl4030_wdt_probe() 81 wdt->ops = &twl4030_wdt_ops; in twl4030_wdt_probe() [all …]
|
D | ni903x_wdt.c | 65 static void ni903x_start(struct ni903x_wdt *wdt) in ni903x_start() argument 67 u8 control = inb(wdt->io_base + NIWD_CONTROL); in ni903x_start() 69 outb(control | NIWD_CONTROL_RESET, wdt->io_base + NIWD_CONTROL); in ni903x_start() 70 outb(control | NIWD_CONTROL_PET, wdt->io_base + NIWD_CONTROL); in ni903x_start() 76 struct ni903x_wdt *wdt = watchdog_get_drvdata(wdd); in ni903x_wdd_set_timeout() local 79 outb(((0x00FF0000 & counter) >> 16), wdt->io_base + NIWD_SEED2); in ni903x_wdd_set_timeout() 80 outb(((0x0000FF00 & counter) >> 8), wdt->io_base + NIWD_SEED1); in ni903x_wdd_set_timeout() 81 outb((0x000000FF & counter), wdt->io_base + NIWD_SEED0); in ni903x_wdd_set_timeout() 90 struct ni903x_wdt *wdt = watchdog_get_drvdata(wdd); in ni903x_wdd_get_timeleft() local 94 control = inb(wdt->io_base + NIWD_CONTROL); in ni903x_wdd_get_timeleft() [all …]
|
D | stm32_iwdg.c | 81 struct stm32_iwdg *wdt = watchdog_get_drvdata(wdd); in stm32_iwdg_start() local 89 reload = clamp_t(unsigned int, ((wdd->timeout * wdt->rate) / 256) - 1, in stm32_iwdg_start() 93 reg_write(wdt->regs, IWDG_KR, KR_KEY_EWA); in stm32_iwdg_start() 96 reg_write(wdt->regs, IWDG_PR, PR_256); /* prescaler fix to 256 */ in stm32_iwdg_start() 97 reg_write(wdt->regs, IWDG_RLR, reload); in stm32_iwdg_start() 98 reg_write(wdt->regs, IWDG_KR, KR_KEY_ENABLE); in stm32_iwdg_start() 101 ret = readl_relaxed_poll_timeout(wdt->regs + IWDG_SR, val, in stm32_iwdg_start() 111 reg_write(wdt->regs, IWDG_KR, KR_KEY_RELOAD); in stm32_iwdg_start() 118 struct stm32_iwdg *wdt = watchdog_get_drvdata(wdd); in stm32_iwdg_ping() local 123 reg_write(wdt->regs, IWDG_KR, KR_KEY_RELOAD); in stm32_iwdg_ping() [all …]
|
D | digicolor_wdt.c | 34 static void dc_wdt_set(struct dc_wdt *wdt, u32 ticks) in dc_wdt_set() argument 38 spin_lock_irqsave(&wdt->lock, flags); in dc_wdt_set() 40 writel_relaxed(0, wdt->base + TIMER_A_CONTROL); in dc_wdt_set() 41 writel_relaxed(ticks, wdt->base + TIMER_A_COUNT); in dc_wdt_set() 43 wdt->base + TIMER_A_CONTROL); in dc_wdt_set() 45 spin_unlock_irqrestore(&wdt->lock, flags); in dc_wdt_set() 51 struct dc_wdt *wdt = watchdog_get_drvdata(wdog); in dc_wdt_restart() local 53 dc_wdt_set(wdt, 1); in dc_wdt_restart() 62 struct dc_wdt *wdt = watchdog_get_drvdata(wdog); in dc_wdt_start() local 64 dc_wdt_set(wdt, wdog->timeout * clk_get_rate(wdt->clk)); in dc_wdt_start() [all …]
|
D | shwdt.c | 87 struct sh_wdt *wdt = watchdog_get_drvdata(wdt_dev); in sh_wdt_start() local 91 pm_runtime_get_sync(wdt->dev); in sh_wdt_start() 92 clk_enable(wdt->clk); in sh_wdt_start() 94 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_start() 97 mod_timer(&wdt->timer, next_ping_period(clock_division_ratio)); in sh_wdt_start() 123 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_start() 130 struct sh_wdt *wdt = watchdog_get_drvdata(wdt_dev); in sh_wdt_stop() local 134 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_stop() 136 del_timer(&wdt->timer); in sh_wdt_stop() 142 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_stop() [all …]
|
D | npcm_wdt.c | 55 struct npcm_wdt *wdt = to_npcm_wdt(wdd); in npcm_wdt_ping() local 58 val = readl(wdt->reg); in npcm_wdt_ping() 59 writel(val | NPCM_WTR, wdt->reg); in npcm_wdt_ping() 66 struct npcm_wdt *wdt = to_npcm_wdt(wdd); in npcm_wdt_start() local 92 writel(val, wdt->reg); in npcm_wdt_start() 99 struct npcm_wdt *wdt = to_npcm_wdt(wdd); in npcm_wdt_stop() local 101 writel(0, wdt->reg); in npcm_wdt_stop() 139 struct npcm_wdt *wdt = data; in npcm_wdt_interrupt() local 141 watchdog_notify_pretimeout(&wdt->wdd); in npcm_wdt_interrupt() 149 struct npcm_wdt *wdt = to_npcm_wdt(wdd); in npcm_wdt_restart() local [all …]
|
D | rn5t618_wdt.c | 56 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_set_timeout() local 67 ret = regmap_update_bits(wdt->rn5t618->regmap, RN5T618_WATCHDOG, in rn5t618_wdt_set_timeout() 78 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_start() local 86 ret = regmap_update_bits(wdt->rn5t618->regmap, RN5T618_REPCNT, in rn5t618_wdt_start() 93 ret = regmap_update_bits(wdt->rn5t618->regmap, RN5T618_WATCHDOG, in rn5t618_wdt_start() 100 return regmap_update_bits(wdt->rn5t618->regmap, RN5T618_PWRIREN, in rn5t618_wdt_start() 107 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_stop() local 109 return regmap_update_bits(wdt->rn5t618->regmap, RN5T618_WATCHDOG, in rn5t618_wdt_stop() 115 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_ping() local 120 ret = regmap_read(wdt->rn5t618->regmap, RN5T618_WATCHDOG, &val); in rn5t618_wdt_ping() [all …]
|
D | bcm2835_wdt.c | 53 static bool bcm2835_wdt_is_running(struct bcm2835_wdt *wdt) in bcm2835_wdt_is_running() argument 57 cur = readl(wdt->base + PM_RSTC); in bcm2835_wdt_is_running() 64 struct bcm2835_wdt *wdt = watchdog_get_drvdata(wdog); in bcm2835_wdt_start() local 68 spin_lock_irqsave(&wdt->lock, flags); in bcm2835_wdt_start() 71 PM_WDOG_TIME_SET), wdt->base + PM_WDOG); in bcm2835_wdt_start() 72 cur = readl_relaxed(wdt->base + PM_RSTC); in bcm2835_wdt_start() 74 PM_RSTC_WRCFG_FULL_RESET, wdt->base + PM_RSTC); in bcm2835_wdt_start() 76 spin_unlock_irqrestore(&wdt->lock, flags); in bcm2835_wdt_start() 83 struct bcm2835_wdt *wdt = watchdog_get_drvdata(wdog); in bcm2835_wdt_stop() local 85 writel_relaxed(PM_PASSWORD | PM_RSTC_RESET, wdt->base + PM_RSTC); in bcm2835_wdt_stop() [all …]
|
D | max77620_wdt.c | 34 struct max77620_wdt *wdt = watchdog_get_drvdata(wdt_dev); in max77620_wdt_start() local 36 return regmap_update_bits(wdt->rmap, MAX77620_REG_CNFGGLBL2, in max77620_wdt_start() 42 struct max77620_wdt *wdt = watchdog_get_drvdata(wdt_dev); in max77620_wdt_stop() local 44 return regmap_update_bits(wdt->rmap, MAX77620_REG_CNFGGLBL2, in max77620_wdt_stop() 50 struct max77620_wdt *wdt = watchdog_get_drvdata(wdt_dev); in max77620_wdt_ping() local 52 return regmap_update_bits(wdt->rmap, MAX77620_REG_CNFGGLBL3, in max77620_wdt_ping() 59 struct max77620_wdt *wdt = watchdog_get_drvdata(wdt_dev); in max77620_wdt_set_timeout() local 86 ret = regmap_update_bits(wdt->rmap, MAX77620_REG_CNFGGLBL3, in max77620_wdt_set_timeout() 91 ret = regmap_update_bits(wdt->rmap, MAX77620_REG_CNFGGLBL2, in max77620_wdt_set_timeout() 115 struct max77620_wdt *wdt; in max77620_wdt_probe() local [all …]
|