linux/drivers/clocksource/timer-tegra186.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2019-2020 NVIDIA Corporation. All rights reserved.
 */

#include <linux/clocksource.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
#include <linux/watchdog.h>

/* shared registers */
#define TKETSC0
#define TKETSC1
#define TKEUSEC
#define TKEOSC

#define TKEIE(x)
#define TKEIE_WDT_MASK(x, y)

/* timer registers */
#define TMRCR
#define TMRCR_ENABLE
#define TMRCR_PERIODIC
#define TMRCR_PTV(x)

#define TMRSR
#define TMRSR_INTR_CLR

#define TMRCSSR
#define TMRCSSR_SRC_USEC

/* watchdog registers */
#define WDTCR
#define WDTCR_SYSTEM_POR_RESET_ENABLE
#define WDTCR_SYSTEM_DEBUG_RESET_ENABLE
#define WDTCR_REMOTE_INT_ENABLE
#define WDTCR_LOCAL_FIQ_ENABLE
#define WDTCR_LOCAL_INT_ENABLE
#define WDTCR_PERIOD_MASK
#define WDTCR_PERIOD(x)
#define WDTCR_TIMER_SOURCE_MASK
#define WDTCR_TIMER_SOURCE(x)

#define WDTCMDR
#define WDTCMDR_DISABLE_COUNTER
#define WDTCMDR_START_COUNTER

#define WDTUR
#define WDTUR_UNLOCK_PATTERN

struct tegra186_timer_soc {};

struct tegra186_tmr {};

struct tegra186_wdt {};

static inline struct tegra186_wdt *to_tegra186_wdt(struct watchdog_device *wdd)
{}

struct tegra186_timer {};

static void tmr_writel(struct tegra186_tmr *tmr, u32 value, unsigned int offset)
{}

static void wdt_writel(struct tegra186_wdt *wdt, u32 value, unsigned int offset)
{}

static u32 wdt_readl(struct tegra186_wdt *wdt, unsigned int offset)
{}

static struct tegra186_tmr *tegra186_tmr_create(struct tegra186_timer *tegra,
						unsigned int index)
{}

static const struct watchdog_info tegra186_wdt_info =;

static void tegra186_wdt_disable(struct tegra186_wdt *wdt)
{}

static void tegra186_wdt_enable(struct tegra186_wdt *wdt)
{}

static int tegra186_wdt_start(struct watchdog_device *wdd)
{}

static int tegra186_wdt_stop(struct watchdog_device *wdd)
{}

static int tegra186_wdt_ping(struct watchdog_device *wdd)
{}

static int tegra186_wdt_set_timeout(struct watchdog_device *wdd,
				    unsigned int timeout)
{}

static const struct watchdog_ops tegra186_wdt_ops =;

static struct tegra186_wdt *tegra186_wdt_create(struct tegra186_timer *tegra,
						unsigned int index)
{}

static u64 tegra186_timer_tsc_read(struct clocksource *cs)
{}

static int tegra186_timer_tsc_init(struct tegra186_timer *tegra)
{}

static u64 tegra186_timer_osc_read(struct clocksource *cs)
{}

static int tegra186_timer_osc_init(struct tegra186_timer *tegra)
{}

static u64 tegra186_timer_usec_read(struct clocksource *cs)
{}

static int tegra186_timer_usec_init(struct tegra186_timer *tegra)
{}

static irqreturn_t tegra186_timer_irq(int irq, void *data)
{}

static int tegra186_timer_probe(struct platform_device *pdev)
{}

static void tegra186_timer_remove(struct platform_device *pdev)
{}

static int __maybe_unused tegra186_timer_suspend(struct device *dev)
{}

static int __maybe_unused tegra186_timer_resume(struct device *dev)
{}

static SIMPLE_DEV_PM_OPS(tegra186_timer_pm_ops, tegra186_timer_suspend,
			 tegra186_timer_resume);

static const struct tegra186_timer_soc tegra186_timer =;

static const struct tegra186_timer_soc tegra234_timer =;

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

static struct platform_driver tegra186_wdt_driver =;
module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();