linux/drivers/mfd/rz-mtu3.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Renesas RZ/G2L Multi-Function Timer Pulse Unit 3(MTU3a) Core driver
 *
 * Copyright (C) 2023 Renesas Electronics Corporation
 */

#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/mfd/core.h>
#include <linux/mfd/rz-mtu3.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
#include <linux/reset.h>
#include <linux/spinlock.h>

#include "rz-mtu3.h"

struct rz_mtu3_priv {};

/******* MTU3 registers (original offset is +0x1200) *******/
static const unsigned long rz_mtu3_8bit_ch_reg_offs[][13] =;

static const unsigned long rz_mtu3_16bit_ch_reg_offs[][12] =;

static const unsigned long rz_mtu3_32bit_ch_reg_offs[][5] =;

static bool rz_mtu3_is_16bit_shared_reg(u16 offset)
{}

u16 rz_mtu3_shared_reg_read(struct rz_mtu3_channel *ch, u16 offset)
{}
EXPORT_SYMBOL_GPL();

u8 rz_mtu3_8bit_ch_read(struct rz_mtu3_channel *ch, u16 offset)
{}
EXPORT_SYMBOL_GPL();

u16 rz_mtu3_16bit_ch_read(struct rz_mtu3_channel *ch, u16 offset)
{}
EXPORT_SYMBOL_GPL();

u32 rz_mtu3_32bit_ch_read(struct rz_mtu3_channel *ch, u16 offset)
{}
EXPORT_SYMBOL_GPL();

void rz_mtu3_8bit_ch_write(struct rz_mtu3_channel *ch, u16 offset, u8 val)
{}
EXPORT_SYMBOL_GPL();

void rz_mtu3_16bit_ch_write(struct rz_mtu3_channel *ch, u16 offset, u16 val)
{}
EXPORT_SYMBOL_GPL();

void rz_mtu3_32bit_ch_write(struct rz_mtu3_channel *ch, u16 offset, u32 val)
{}
EXPORT_SYMBOL_GPL();

void rz_mtu3_shared_reg_write(struct rz_mtu3_channel *ch, u16 offset, u16 value)
{}
EXPORT_SYMBOL_GPL();

void rz_mtu3_shared_reg_update_bit(struct rz_mtu3_channel *ch, u16 offset,
				   u16 pos, u8 val)
{}
EXPORT_SYMBOL_GPL();

static u16 rz_mtu3_get_tstr_offset(struct rz_mtu3_channel *ch)
{}

static u8 rz_mtu3_get_tstr_bit_pos(struct rz_mtu3_channel *ch)
{}

static void rz_mtu3_start_stop_ch(struct rz_mtu3_channel *ch, bool start)
{}

bool rz_mtu3_is_enabled(struct rz_mtu3_channel *ch)
{}
EXPORT_SYMBOL_GPL();

int rz_mtu3_enable(struct rz_mtu3_channel *ch)
{}
EXPORT_SYMBOL_GPL();

void rz_mtu3_disable(struct rz_mtu3_channel *ch)
{}
EXPORT_SYMBOL_GPL();

static void rz_mtu3_reset_assert(void *data)
{}

static const struct mfd_cell rz_mtu3_devs[] =;

static int rz_mtu3_probe(struct platform_device *pdev)
{}

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

static struct platform_driver rz_mtu3_driver =;
module_platform_driver();

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