/linux-6.3-rc2/drivers/watchdog/ |
A D | sama5d4_wdt.c | 86 writel_relaxed(wdt->ir, wdt->reg_base + AT91_SAM9X60_IER); in sama5d4_wdt_start() 91 wdt_write(wdt, AT91_WDT_MR, wdt->mr); in sama5d4_wdt_start() 101 writel_relaxed(wdt->ir, wdt->reg_base + AT91_SAM9X60_IDR); in sama5d4_wdt_stop() 106 wdt_write(wdt, AT91_WDT_MR, wdt->mr); in sama5d4_wdt_stop() 145 wdt_write(wdt, AT91_WDT_MR, wdt->mr & ~AT91_WDT_WDDIS); in sama5d4_wdt_set_timeout() 229 if (wdt->need_irq) in sama5d4_wdt_init() 234 wdt_write(wdt, AT91_SAM9X60_IER, wdt->ir); in sama5d4_wdt_init() 246 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 | 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 | s3c2410_wdt.c | 300 return clk_get_rate(wdt->src_clk ? wdt->src_clk : wdt->bus_clk); in s3c2410wdt_get_freq() 389 writel(wdt->count, wdt->reg_base + S3C2410_WTCNT); in s3c2410wdt_keepalive() 438 writel(wdt->count, wdt->reg_base + S3C2410_WTDAT); in s3c2410wdt_start() 439 writel(wdt->count, wdt->reg_base + S3C2410_WTCNT); in s3c2410wdt_start() 634 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in s3c2410wdt_probe() 635 if (!wdt) in s3c2410wdt_probe() 697 watchdog_set_drvdata(&wdt->wdt_device, wdt); in s3c2410wdt_probe() 809 wdt->wtcon_save = readl(wdt->reg_base + S3C2410_WTCON); in s3c2410wdt_suspend() 810 wdt->wtdat_save = readl(wdt->reg_base + S3C2410_WTDAT); in s3c2410wdt_suspend() 828 writel(wdt->wtdat_save, wdt->reg_base + S3C2410_WTDAT); in s3c2410wdt_resume() [all …]
|
A D | sp805_wdt.c | 97 rate = wdt->rate; in wdt_setload() 169 writel_relaxed(wdt->load_val, wdt->base + WDTLOAD); in wdt_config() 238 wdt = devm_kzalloc(&adev->dev, sizeof(*wdt), GFP_KERNEL); in sp805_wdt_probe() 239 if (!wdt) { in sp805_wdt_probe() 259 wdt->rate = clk_get_rate(wdt->clk); in sp805_wdt_probe() 260 if (!wdt->rate) in sp805_wdt_probe() 261 wdt->rate = rate; in sp805_wdt_probe() 262 if (!wdt->rate) { in sp805_wdt_probe() 267 wdt->adev = adev; in sp805_wdt_probe() 274 watchdog_set_drvdata(&wdt->wdd, wdt); in sp805_wdt_probe() [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 | 69 reg_data = &wdt->pdata->data[wdt->reset_idx]; in mlxreg_wdt_check_card_reset() 83 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->action_idx]; in mlxreg_wdt_start() 92 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->action_idx]; in mlxreg_wdt_stop() 101 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->ping_idx]; in mlxreg_wdt_ping() 111 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->timeout_idx]; in mlxreg_wdt_set_timeout() 169 struct mlxreg_core_data *reg_data = &wdt->pdata->data[wdt->tleft_idx]; in mlxreg_wdt_get_timeleft() 237 wdt->ping_idx = i; in mlxreg_wdt_config() 242 wdt->pdata = pdata; in mlxreg_wdt_config() 291 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in mlxreg_wdt_probe() 292 if (!wdt) in mlxreg_wdt_probe() [all …]
|
A D | max63xx_wdt.c | 125 wdt->ping(wdt); in max63xx_wdt_ping() 133 wdt->set(wdt, wdt->timeout->wdset); in max63xx_wdt_start() 137 wdt->ping(wdt); in max63xx_wdt_start() 145 wdt->set(wdt, MAX6369_WDSET_DISABLED); in max63xx_wdt_stop() 165 spin_lock(&wdt->lock); in max63xx_mmap_ping() 209 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in max63xx_wdt_probe() 210 if (!wdt) in max63xx_wdt_probe() 222 if (!wdt->timeout) { in max63xx_wdt_probe() 233 watchdog_set_drvdata(&wdt->wdd, wdt); in max63xx_wdt_probe() 236 wdt->wdd.timeout = wdt->timeout->twd; in max63xx_wdt_probe() [all …]
|
A D | aspeed_wdt.c | 134 writel(wdt->ctrl, wdt->base + WDT_CTRL); in aspeed_wdt_enable() 151 writel(wdt->ctrl, wdt->base + WDT_CTRL); in aspeed_wdt_stop() 190 wdt->ctrl &= ~m; in aspeed_wdt_set_pretimeout() 196 writel(wdt->ctrl, wdt->base + WDT_CTRL); in aspeed_wdt_set_pretimeout() 309 struct aspeed_wdt *wdt; in aspeed_wdt_probe() local 316 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in aspeed_wdt_probe() 317 if (!wdt) in aspeed_wdt_probe() 325 wdt->cfg = ofdid->data; in aspeed_wdt_probe() 328 if (IS_ERR(wdt->base)) in aspeed_wdt_probe() 339 wdt); in aspeed_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 | 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() 191 struct qcom_wdt *wdt; in qcom_wdt_probe() local 205 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in qcom_wdt_probe() 206 if (!wdt) in qcom_wdt_probe() 221 if (IS_ERR(wdt->base)) in qcom_wdt_probe() 239 if (wdt->rate == 0 || in qcom_wdt_probe() 264 wdt->wdd.max_timeout = 0x10000000U / wdt->rate; in qcom_wdt_probe() 265 wdt->wdd.parent = dev; in qcom_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() 176 wdt->wdd.ops = &apple_wdt_ops; in apple_wdt_probe() 177 wdt->wdd.info = &apple_wdt_info; in apple_wdt_probe() 178 wdt->wdd.max_timeout = U32_MAX / wdt->clk_rate; in apple_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 | 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 | 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 | 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 | 66 u32 v = readl(wdt->rst_base); in pic32_wdt_bootstatus() 112 pic32_wdt_keepalive(wdt); in pic32_wdt_start() 136 pic32_wdt_keepalive(wdt); in pic32_wdt_ping() 170 struct pic32_wdt *wdt; in pic32_wdt_drv_probe() local 172 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in pic32_wdt_drv_probe() 173 if (!wdt) in pic32_wdt_drv_probe() 177 if (IS_ERR(wdt->regs)) in pic32_wdt_drv_probe() 178 return PTR_ERR(wdt->regs); in pic32_wdt_drv_probe() 181 if (!wdt->rst_base) in pic32_wdt_drv_probe() 185 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 …]
|
A D | twl4030_wdt.c | 43 wdt->timeout = timeout; in twl4030_wdt_set_timeout() 64 wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); in twl4030_wdt_probe() 65 if (!wdt) in twl4030_wdt_probe() 70 wdt->status = 0; in twl4030_wdt_probe() 71 wdt->timeout = 30; in twl4030_wdt_probe() 72 wdt->min_timeout = 1; in twl4030_wdt_probe() 73 wdt->max_timeout = 30; in twl4030_wdt_probe() 74 wdt->parent = dev; in twl4030_wdt_probe() 79 twl4030_wdt_stop(wdt); in twl4030_wdt_probe() 87 if (watchdog_active(wdt)) in twl4030_wdt_suspend() [all …]
|
/linux-6.3-rc2/Documentation/devicetree/bindings/watchdog/ |
A D | fsl-imx-wdt.yaml | 15 - const: fsl,imx21-wdt 18 - fsl,imx25-wdt 19 - fsl,imx27-wdt 20 - fsl,imx31-wdt 21 - fsl,imx35-wdt 22 - fsl,imx50-wdt 23 - fsl,imx51-wdt 24 - fsl,imx53-wdt 25 - fsl,imx6q-wdt 26 - fsl,imx6sl-wdt [all …]
|
A D | renesas,wdt.yaml | 18 - renesas,r7s72100-wdt # RZ/A1 19 - renesas,r7s9210-wdt # RZ/A2 20 - const: renesas,rza-wdt # RZ/A 32 - const: renesas,rzg2l-wdt 88 - const: wdt 126 - renesas,rza-wdt 127 - renesas,rzn1-wdt 138 - renesas,rzg2l-wdt 139 - renesas,rzv2m-wdt 158 - renesas,rzg2l-wdt [all …]
|