linux/drivers/watchdog/uniphier_wdt.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Watchdog driver for the UniPhier watchdog timer
 *
 * (c) Copyright 2014 Panasonic Corporation
 * (c) Copyright 2016 Socionext Inc.
 * All rights reserved.
 */

#include <linux/bitops.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/watchdog.h>

/* WDT timer setting register */
#define WDTTIMSET
#define WDTTIMSET_PERIOD_MASK
#define WDTTIMSET_PERIOD_1_SEC

/* WDT reset selection register */
#define WDTRSTSEL
#define WDTRSTSEL_RSTSEL_MASK
#define WDTRSTSEL_RSTSEL_BOTH
#define WDTRSTSEL_RSTSEL_IRQ_ONLY

/* WDT control register */
#define WDTCTRL
#define WDTCTRL_STATUS
#define WDTCTRL_CLEAR
#define WDTCTRL_ENABLE

#define SEC_TO_WDTTIMSET_PRD(sec)

#define WDTST_TIMEOUT

#define WDT_DEFAULT_TIMEOUT
#define WDT_PERIOD_MIN
#define WDT_PERIOD_MAX

static unsigned int timeout =;
static bool nowayout = WATCHDOG_NOWAYOUT;

struct uniphier_wdt_dev {};

/*
 * UniPhier Watchdog operations
 */
static int uniphier_watchdog_ping(struct watchdog_device *w)
{}

static int __uniphier_watchdog_start(struct regmap *regmap, unsigned int sec)
{}

static int __uniphier_watchdog_stop(struct regmap *regmap)
{}

static int __uniphier_watchdog_restart(struct regmap *regmap, unsigned int sec)
{}

static int uniphier_watchdog_start(struct watchdog_device *w)
{}

static int uniphier_watchdog_stop(struct watchdog_device *w)
{}

static int uniphier_watchdog_set_timeout(struct watchdog_device *w,
					 unsigned int t)
{}

/*
 * Kernel Interfaces
 */
static const struct watchdog_info uniphier_wdt_info =;

static const struct watchdog_ops uniphier_wdt_ops =;

static int uniphier_wdt_probe(struct platform_device *pdev)
{}

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

static struct platform_driver uniphier_wdt_driver =;

module_platform_driver();

module_param(timeout, uint, 0000);
MODULE_PARM_DESC();

module_param(nowayout, bool, 0000);
MODULE_PARM_DESC();

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