| /linux/drivers/watchdog/ |
| A D | starfive-wdt.c | 210 writel(wdt->variant->unlock_key, wdt->base + wdt->variant->unlock); in starfive_wdt_unlock() 216 writel(~wdt->variant->unlock_key, wdt->base + wdt->variant->unlock); in starfive_wdt_lock() 264 writel(val, wdt->base + wdt->variant->load); in starfive_wdt_set_count() 269 return readl(wdt->base + wdt->variant->value); in starfive_wdt_get_count() 277 val = readl(wdt->base + wdt->variant->enable); in starfive_wdt_enable() 279 writel(val, wdt->base + wdt->variant->enable); in starfive_wdt_enable() 287 val = readl(wdt->base + wdt->variant->enable); in starfive_wdt_disable() 356 starfive_wdt_set_count(wdt, wdt->count); in starfive_wdt_start() 463 watchdog_set_drvdata(&wdt->wdd, wdt); in starfive_wdt_probe() 469 wdt->freq = clk_get_rate(wdt->core_clk); in starfive_wdt_probe() [all …]
|
| A D | mei_wdt.c | 267 if (wdt->state != MEI_WDT_START && wdt->state != MEI_WDT_RUNNING) in mei_wdt_ops_ping() 346 memset(&wdt->wdd, 0, sizeof(wdt->wdd)); in mei_wdt_unregister() 364 if (!wdt || !wdt->cldev) in mei_wdt_register() 383 watchdog_set_drvdata(&wdt->wdd, wdt); in mei_wdt_register() 442 wdt->state); in mei_wdt_rx() 463 mei_wdt_stop(wdt); in mei_wdt_rx() 470 mei_wdt_state_str(wdt->state), wdt->state); in mei_wdt_rx() 567 if (!wdt) in mei_wdt_probe() 572 wdt->cldev = cldev; in mei_wdt_probe() 618 kfree(wdt); in mei_wdt_probe() [all …]
|
| A D | sama5d4_wdt.c | 85 writel_relaxed(wdt->ir, wdt->reg_base + AT91_SAM9X60_IER); in sama5d4_wdt_start() 90 wdt_write(wdt, AT91_WDT_MR, wdt->mr); in sama5d4_wdt_start() 100 writel_relaxed(wdt->ir, wdt->reg_base + AT91_SAM9X60_IDR); in sama5d4_wdt_stop() 105 wdt_write(wdt, AT91_WDT_MR, wdt->mr); in sama5d4_wdt_stop() 144 wdt_write(wdt, AT91_WDT_MR, wdt->mr & ~AT91_WDT_WDDIS); in sama5d4_wdt_set_timeout() 228 if (wdt->need_irq) in sama5d4_wdt_init() 233 wdt_write(wdt, AT91_SAM9X60_IER, wdt->ir); in sama5d4_wdt_init() 245 wdt_write_nosleep(wdt, AT91_WDT_MR, wdt->mr); in sama5d4_wdt_init() 260 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in sama5d4_wdt_probe() 261 if (!wdt) in sama5d4_wdt_probe() [all …]
|
| A D | at91sam9_wdt.c | 122 struct at91wdt *wdt = from_timer(wdt, t, timer); in at91_ping() local 126 mod_timer(&wdt->timer, jiffies + wdt->heartbeat); in at91_ping() 166 wdt_write(wdt, AT91_WDT_MR, wdt->mr); in at91_wdt_init() 216 if ((tmp & wdt->mr_mask) != (wdt->mr & wdt->mr_mask)) in at91_wdt_init() 219 tmp & wdt->mr_mask, wdt->mr & wdt->mr_mask); in at91_wdt_init() 235 watchdog_set_nowayout(&wdt->wdd, wdt->nowayout); in at91_wdt_init() 240 wdt->next_heartbeat = jiffies + wdt->wdd.timeout * HZ; in at91_wdt_init() 292 wdt->mr = 0; in of_at91wdt_init() 332 wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL); in at91wdt_probe() 333 if (!wdt) in at91wdt_probe() [all …]
|
| A D | sp805_wdt.c | 98 rate = wdt->rate; in wdt_setload() 170 writel_relaxed(wdt->load_val, wdt->base + WDTLOAD); in wdt_config() 240 wdt = devm_kzalloc(&adev->dev, sizeof(*wdt), GFP_KERNEL); in sp805_wdt_probe() 241 if (!wdt) { in sp805_wdt_probe() 261 wdt->rate = clk_get_rate(wdt->clk); in sp805_wdt_probe() 262 if (!wdt->rate) in sp805_wdt_probe() 263 wdt->rate = rate; in sp805_wdt_probe() 264 if (!wdt->rate) { in sp805_wdt_probe() 275 wdt->adev = adev; in sp805_wdt_probe() 282 watchdog_set_drvdata(&wdt->wdd, wdt); in sp805_wdt_probe() [all …]
|
| A D | s3c2410_wdt.c | 341 return clk_get_rate(wdt->src_clk ? wdt->src_clk : wdt->bus_clk); in s3c2410wdt_get_freq() 439 writel(wdt->count, wdt->reg_base + S3C2410_WTCNT); in s3c2410wdt_keepalive() 490 writel(wdt->count, wdt->reg_base + S3C2410_WTDAT); in s3c2410wdt_start() 491 writel(wdt->count, wdt->reg_base + S3C2410_WTCNT); in s3c2410wdt_start() 689 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in s3c2410wdt_probe() 690 if (!wdt) in s3c2410wdt_probe() 733 watchdog_set_drvdata(&wdt->wdt_device, wdt); in s3c2410wdt_probe() 819 wdt->wtcon_save = readl(wdt->reg_base + S3C2410_WTCON); in s3c2410wdt_suspend() 820 wdt->wtdat_save = readl(wdt->reg_base + S3C2410_WTDAT); in s3c2410wdt_suspend() 838 writel(wdt->wtdat_save, wdt->reg_base + S3C2410_WTDAT); in s3c2410wdt_resume() [all …]
|
| A D | sprd_wdt.c | 88 sprd_wdt_lock(wdt->base); in sprd_wdt_isr() 139 sprd_wdt_lock(wdt->base); in sprd_wdt_load_value() 267 struct sprd_wdt *wdt; in sprd_wdt_probe() local 270 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in sprd_wdt_probe() 271 if (!wdt) in sprd_wdt_probe() 275 if (IS_ERR(wdt->base)) in sprd_wdt_probe() 291 if (wdt->irq < 0) in sprd_wdt_probe() 292 return wdt->irq; in sprd_wdt_probe() 303 wdt->wdd.parent = dev; in sprd_wdt_probe() 324 sprd_wdt_disable(wdt); in sprd_wdt_probe() [all …]
|
| A D | keembay_wdt.c | 74 keembay_wdt_writel(wdt, TIM_WATCHDOG, wdog->timeout * wdt->rate); in keembay_wdt_set_timeout_reg() 85 keembay_wdt_writel(wdt, TIM_WATCHDOG_INT_THRES, th_val * wdt->rate); in keembay_wdt_set_pretimeout_reg() 137 return keembay_wdt_readl(wdt, TIM_WATCHDOG) / wdt->rate; in keembay_wdt_get_timeleft() 194 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in keembay_wdt_probe() 195 if (!wdt) in keembay_wdt_probe() 207 wdt->rate = clk_get_rate(wdt->clk); in keembay_wdt_probe() 208 if (!wdt->rate) in keembay_wdt_probe() 233 wdt->wdd.max_timeout = WDT_LOAD_MAX / wdt->rate; in keembay_wdt_probe() 237 watchdog_set_drvdata(&wdt->wdd, wdt); in keembay_wdt_probe() 240 keembay_wdt_set_timeout(&wdt->wdd, wdt->wdd.timeout); in keembay_wdt_probe() [all …]
|
| A D | mlx_wdt.c | 68 reg_data = &wdt->pdata->data[wdt->reset_idx]; in mlxreg_wdt_check_card_reset() 82 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->action_idx]; in mlxreg_wdt_start() 91 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->action_idx]; in mlxreg_wdt_stop() 100 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->ping_idx]; in mlxreg_wdt_ping() 110 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->timeout_idx]; in mlxreg_wdt_set_timeout() 168 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->tleft_idx]; in mlxreg_wdt_get_timeleft() 236 wdt->ping_idx = i; in mlxreg_wdt_config() 241 wdt->pdata = pdata; in mlxreg_wdt_config() 290 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in mlxreg_wdt_probe() 291 if (!wdt) in mlxreg_wdt_probe() [all …]
|
| A D | apple_wdt.c | 100 writel_relaxed(wdt->clk_rate * s, wdt->regs + APPLE_WDT_WD1_BITE_TIME); in apple_wdt_set_timeout() 157 struct apple_wdt *wdt; in apple_wdt_probe() local 161 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in apple_wdt_probe() 162 if (!wdt) in apple_wdt_probe() 166 if (IS_ERR(wdt->regs)) in apple_wdt_probe() 167 return PTR_ERR(wdt->regs); in apple_wdt_probe() 173 if (!wdt->clk_rate) in apple_wdt_probe() 180 wdt->wdd.max_timeout = U32_MAX / wdt->clk_rate; in apple_wdt_probe() 188 apple_wdt_set_timeout(&wdt->wdd, wdt->wdd.timeout); in apple_wdt_probe() 199 if (watchdog_active(&wdt->wdd) || watchdog_hw_running(&wdt->wdd)) in apple_wdt_resume() [all …]
|
| A D | max63xx_wdt.c | 122 wdt->ping(wdt); in max63xx_wdt_ping() 130 wdt->set(wdt, wdt->timeout->wdset); in max63xx_wdt_start() 134 wdt->ping(wdt); in max63xx_wdt_start() 142 wdt->set(wdt, MAX6369_WDSET_DISABLED); in max63xx_wdt_stop() 162 spin_lock(&wdt->lock); in max63xx_mmap_ping() 206 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in max63xx_wdt_probe() 207 if (!wdt) in max63xx_wdt_probe() 219 if (!wdt->timeout) { in max63xx_wdt_probe() 230 watchdog_set_drvdata(&wdt->wdd, wdt); in max63xx_wdt_probe() 233 wdt->wdd.timeout = wdt->timeout->twd; in max63xx_wdt_probe() [all …]
|
| A D | pm8916_wdt.c | 67 return regmap_write(wdt->regmap, wdt->baseaddr + PON_PMIC_WD_RESET_PET, in pm8916_wdt_ping() 108 err = regmap_read(wdt->regmap, wdt->baseaddr + PON_INT_RT_STS, &sts); in pm8916_wdt_isr() 143 struct pm8916_wdt *wdt; in pm8916_wdt_probe() local 149 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in pm8916_wdt_probe() 150 if (!wdt) in pm8916_wdt_probe() 162 if (!wdt->regmap) { in pm8916_wdt_probe() 188 err = regmap_bulk_read(wdt->regmap, wdt->baseaddr + PON_POFF_REASON1, in pm8916_wdt_probe() 203 err = regmap_read(wdt->regmap, wdt->baseaddr + PON_PMIC_WD_RESET_S2_CTL2, in pm8916_wdt_probe() 222 wdt->wdev.parent = dev; in pm8916_wdt_probe() 226 wdt->wdev.pretimeout = 0; in pm8916_wdt_probe() [all …]
|
| A D | aspeed_wdt.c | 136 writel(wdt->ctrl, wdt->base + WDT_CTRL); in aspeed_wdt_enable() 153 writel(wdt->ctrl, wdt->base + WDT_CTRL); in aspeed_wdt_stop() 192 wdt->ctrl &= ~m; in aspeed_wdt_set_pretimeout() 198 writel(wdt->ctrl, wdt->base + WDT_CTRL); in aspeed_wdt_set_pretimeout() 311 struct aspeed_wdt *wdt; in aspeed_wdt_probe() local 318 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in aspeed_wdt_probe() 319 if (!wdt) in aspeed_wdt_probe() 327 wdt->cfg = ofdid->data; in aspeed_wdt_probe() 330 if (IS_ERR(wdt->base)) in aspeed_wdt_probe() 341 wdt); in aspeed_wdt_probe() [all …]
|
| A D | qcom-wdt.c | 56 return wdt->base + wdt->layout[reg]; in wdt_addr() 81 writel(bark * wdt->rate, wdt_addr(wdt, WDT_BARK_TIME)); in qcom_wdt_start() 82 writel(wdd->timeout * wdt->rate, wdt_addr(wdt, WDT_BITE_TIME)); in qcom_wdt_start() 193 struct qcom_wdt *wdt; in qcom_wdt_probe() local 207 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in qcom_wdt_probe() 208 if (!wdt) in qcom_wdt_probe() 223 if (IS_ERR(wdt->base)) in qcom_wdt_probe() 241 if (wdt->rate == 0 || in qcom_wdt_probe() 266 wdt->wdd.max_timeout = data->max_tick_count / wdt->rate; in qcom_wdt_probe() 267 wdt->wdd.parent = dev; in qcom_wdt_probe() [all …]
|
| A D | bcm7038_wdt.c | 138 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in bcm7038_wdt_probe() 139 if (!wdt) in bcm7038_wdt_probe() 145 if (IS_ERR(wdt->base)) in bcm7038_wdt_probe() 146 return PTR_ERR(wdt->base); in bcm7038_wdt_probe() 153 if (!IS_ERR(wdt->clk)) { in bcm7038_wdt_probe() 154 wdt->rate = clk_get_rate(wdt->clk); in bcm7038_wdt_probe() 156 if (!wdt->rate) in bcm7038_wdt_probe() 160 wdt->clk = NULL; in bcm7038_wdt_probe() 167 wdt->wdd.max_timeout = 0xffffffff / wdt->rate; in bcm7038_wdt_probe() 168 wdt->wdd.parent = dev; in bcm7038_wdt_probe() [all …]
|
| A D | bcm47xx_wdt.c | 52 wdt->timer_set_ms(wdt, wdd->timeout * 1000); in bcm47xx_wdt_hard_keepalive() 66 wdt->timer_set(wdt, 0); in bcm47xx_wdt_hard_stop() 75 u32 max_timer = wdt->max_timer_ms; in bcm47xx_wdt_hard_set_timeout() 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() 112 wdt->timer_set_ms(wdt, next_tick); in bcm47xx_wdt_soft_timer_tick() 143 wdt->timer_set(wdt, 0); in bcm47xx_wdt_soft_stop() 183 if (!wdt) in bcm47xx_wdt_probe() 197 wdt->wdd.parent = &pdev->dev; in bcm47xx_wdt_probe() [all …]
|
| A D | da9062_wdt.c | 69 struct da9062 *chip = wdt->hw; in da9062_wdt_update_timeout_register() 208 struct da9062_watchdog *wdt; in da9062_wdt_probe() local 214 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in da9062_wdt_probe() 215 if (!wdt) in da9062_wdt_probe() 220 wdt->hw = chip; in da9062_wdt_probe() 229 wdt->wdtdev.parent = dev; in da9062_wdt_probe() 233 watchdog_set_drvdata(&wdt->wdtdev, wdt); in da9062_wdt_probe() 238 wdt->wdtdev.timeout = timeout; in da9062_wdt_probe() 244 da9062_wdt_set_timeout(&wdt->wdtdev, wdt->wdtdev.timeout); in da9062_wdt_probe() 256 if (!wdt->use_sw_pm) in da9062_wdt_suspend() [all …]
|
| A D | bcm_kona_wdt.c | 78 wdt->busy_count = count; in secure_register_read() 99 if (!wdt) { in bcm_kona_show() 124 res, wdt->resolution, in bcm_kona_show() 127 wdt->busy_count); in bcm_kona_show() 140 if (!wdt) in bcm_kona_wdt_debug_init() 143 wdt->debugfs = NULL; in bcm_kona_wdt_debug_init() 149 wdt->debugfs = dir; in bcm_kona_wdt_debug_init() 156 if (wdt) in bcm_kona_wdt_debug_exit() 274 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in bcm_kona_wdt_probe() 275 if (!wdt) in bcm_kona_wdt_probe() [all …]
|
| A D | cadence_wdt.c | 128 spin_lock(&wdt->io_lock); in cdns_wdt_stop() 131 spin_unlock(&wdt->io_lock); in cdns_wdt_stop() 149 spin_lock(&wdt->io_lock); in cdns_wdt_reload() 152 spin_unlock(&wdt->io_lock); in cdns_wdt_reload() 192 spin_lock(&wdt->io_lock); in cdns_wdt_start() 205 if (wdt->rst) { in cdns_wdt_start() 291 struct cdns_wdt *wdt; in cdns_wdt_probe() local 294 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in cdns_wdt_probe() 295 if (!wdt) in cdns_wdt_probe() 306 if (IS_ERR(wdt->regs)) in cdns_wdt_probe() [all …]
|
| A D | max77620_wdt.c | 76 return regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl2, in max77620_wdt_start() 84 return regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl2, in max77620_wdt_stop() 92 return regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl3, in max77620_wdt_ping() 131 ret = regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl3, in max77620_wdt_set_timeout() 136 ret = regmap_update_bits(wdt->rmap, wdt->drv_data->reg_cnfg_glbl2, in max77620_wdt_set_timeout() 167 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in max77620_wdt_probe() 168 if (!wdt) in max77620_wdt_probe() 171 wdt->dev = dev; in max77620_wdt_probe() 175 if (!wdt->rmap) { in max77620_wdt_probe() 190 ret = regmap_update_bits(wdt->rmap, wdt->drv_data->reg_onoff_cnfg2, in max77620_wdt_probe() [all …]
|
| A D | npcm_wdt.c | 60 val = readl(wdt->reg); in npcm_wdt_ping() 71 if (wdt->clk) in npcm_wdt_start() 97 writel(val, wdt->reg); in npcm_wdt_start() 106 writel(0, wdt->reg); in npcm_wdt_stop() 108 if (wdt->clk) in npcm_wdt_stop() 159 if (wdt->clk) in npcm_wdt_restart() 194 struct npcm_wdt *wdt; in npcm_wdt_probe() local 198 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in npcm_wdt_probe() 199 if (!wdt) in npcm_wdt_probe() 224 npcm_wdt_set_timeout(&wdt->wdd, wdt->wdd.timeout); in npcm_wdt_probe() [all …]
|
| A D | pic32-wdt.c | 65 u32 v = readl(wdt->rst_base); in pic32_wdt_bootstatus() 111 pic32_wdt_keepalive(wdt); in pic32_wdt_start() 135 pic32_wdt_keepalive(wdt); in pic32_wdt_ping() 169 struct pic32_wdt *wdt; in pic32_wdt_drv_probe() local 171 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in pic32_wdt_drv_probe() 172 if (!wdt) in pic32_wdt_drv_probe() 176 if (IS_ERR(wdt->regs)) in pic32_wdt_drv_probe() 177 return PTR_ERR(wdt->regs); in pic32_wdt_drv_probe() 180 if (!wdt->rst_base) in pic32_wdt_drv_probe() 184 if (IS_ERR(wdt->clk)) { in pic32_wdt_drv_probe() [all …]
|
| A D | ni903x_wdt.c | 117 ni903x_start(wdt); in ni903x_wdd_start() 133 struct ni903x_wdt *wdt = data; in ni903x_resources() local 138 if (wdt->io_base != 0) { in ni903x_resources() 151 if (!devm_request_region(wdt->dev, wdt->io_base, io_size, in ni903x_resources() 184 struct ni903x_wdt *wdt; in ni903x_acpi_add() local 188 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in ni903x_acpi_add() 189 if (!wdt) in ni903x_acpi_add() 192 device->driver_data = wdt; in ni903x_acpi_add() 193 wdt->dev = dev; in ni903x_acpi_add() 202 wdd = &wdt->wdd; in ni903x_acpi_add() [all …]
|
| /linux/Documentation/devicetree/bindings/watchdog/ |
| A D | fsl-imx-wdt.yaml | 17 - const: fsl,imx21-wdt 20 - fsl,imx25-wdt 21 - fsl,imx27-wdt 22 - fsl,imx31-wdt 23 - fsl,imx35-wdt 24 - fsl,imx50-wdt 25 - fsl,imx51-wdt 26 - fsl,imx53-wdt 27 - fsl,imx6q-wdt 28 - fsl,imx6sl-wdt [all …]
|
| A D | renesas,wdt.yaml | 20 - const: renesas,rza-wdt # RZ/A 33 - const: renesas,rzg2l-wdt 92 - const: wdt 129 - renesas,rza-wdt 130 - renesas,rzn1-wdt 141 - renesas,r9a09g057-wdt 142 - renesas,rzg2l-wdt 143 - renesas,rzv2m-wdt 162 - renesas,rzg2l-wdt 180 const: renesas,r9a09g057-wdt [all …]
|