linux/drivers/watchdog/rzn1_wdt.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Renesas RZ/N1 Watchdog timer.
 * This is a 12-bit timer driver from a (62.5/16384) MHz clock. It can't even
 * cope with 2 seconds.
 *
 * Copyright 2018 Renesas Electronics Europe Ltd.
 *
 * Derived from Ralink RT288x watchdog timer.
 */

#include <linux/clk.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/platform_device.h>
#include <linux/reboot.h>
#include <linux/watchdog.h>

#define DEFAULT_TIMEOUT

#define RZN1_WDT_RETRIGGER
#define RZN1_WDT_RETRIGGER_RELOAD_VAL
#define RZN1_WDT_RETRIGGER_RELOAD_VAL_MASK
#define RZN1_WDT_RETRIGGER_PRESCALE
#define RZN1_WDT_RETRIGGER_ENABLE
#define RZN1_WDT_RETRIGGER_WDSI

#define RZN1_WDT_PRESCALER
#define RZN1_WDT_MAX

struct rzn1_watchdog {};

static inline uint32_t max_heart_beat_ms(unsigned long clk_rate_khz)
{}

static inline uint32_t compute_reload_value(uint32_t tick_ms,
					    unsigned long clk_rate_khz)
{}

static int rzn1_wdt_ping(struct watchdog_device *w)
{}

static int rzn1_wdt_start(struct watchdog_device *w)
{}

static irqreturn_t rzn1_wdt_irq(int irq, void *_wdt)
{}

static struct watchdog_info rzn1_wdt_info =;

static const struct watchdog_ops rzn1_wdt_ops =;

static int rzn1_wdt_probe(struct platform_device *pdev)
{}


static const struct of_device_id rzn1_wdt_match[] =;
MODULE_DEVICE_TABLE(of, rzn1_wdt_match);

static struct platform_driver rzn1_wdt_driver =;

module_platform_driver();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();