linux/drivers/i2c/busses/i2c-uniphier-f.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (C) 2015 Masahiro Yamada <[email protected]>
 */

#include <linux/clk.h>
#include <linux/i2c.h>
#include <linux/iopoll.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/platform_device.h>

#define UNIPHIER_FI2C_CR
#define UNIPHIER_FI2C_CR_MST
#define UNIPHIER_FI2C_CR_STA
#define UNIPHIER_FI2C_CR_STO
#define UNIPHIER_FI2C_CR_NACK
#define UNIPHIER_FI2C_DTTX
#define UNIPHIER_FI2C_DTTX_CMD
#define UNIPHIER_FI2C_DTTX_RD
#define UNIPHIER_FI2C_DTRX
#define UNIPHIER_FI2C_SLAD
#define UNIPHIER_FI2C_CYC
#define UNIPHIER_FI2C_LCTL
#define UNIPHIER_FI2C_SSUT
#define UNIPHIER_FI2C_DSUT
#define UNIPHIER_FI2C_INT
#define UNIPHIER_FI2C_IE
#define UNIPHIER_FI2C_IC
#define UNIPHIER_FI2C_INT_TE
#define UNIPHIER_FI2C_INT_RF
#define UNIPHIER_FI2C_INT_TC
#define UNIPHIER_FI2C_INT_RC
#define UNIPHIER_FI2C_INT_TB
#define UNIPHIER_FI2C_INT_RB
#define UNIPHIER_FI2C_INT_NA
#define UNIPHIER_FI2C_INT_AL
#define UNIPHIER_FI2C_SR
#define UNIPHIER_FI2C_SR_DB
#define UNIPHIER_FI2C_SR_STS
#define UNIPHIER_FI2C_SR_BB
#define UNIPHIER_FI2C_SR_RFF
#define UNIPHIER_FI2C_SR_RNE
#define UNIPHIER_FI2C_SR_TNF
#define UNIPHIER_FI2C_SR_TFE
#define UNIPHIER_FI2C_RST
#define UNIPHIER_FI2C_RST_TBRST
#define UNIPHIER_FI2C_RST_RBRST
#define UNIPHIER_FI2C_RST_RST
#define UNIPHIER_FI2C_BM
#define UNIPHIER_FI2C_BM_SDAO
#define UNIPHIER_FI2C_BM_SDAS
#define UNIPHIER_FI2C_BM_SCLO
#define UNIPHIER_FI2C_BM_SCLS
#define UNIPHIER_FI2C_NOISE
#define UNIPHIER_FI2C_TBC
#define UNIPHIER_FI2C_RBC
#define UNIPHIER_FI2C_TBCM
#define UNIPHIER_FI2C_RBCM
#define UNIPHIER_FI2C_BRST
#define UNIPHIER_FI2C_BRST_FOEN
#define UNIPHIER_FI2C_BRST_RSCL

#define UNIPHIER_FI2C_INT_FAULTS
#define UNIPHIER_FI2C_INT_STOP

#define UNIPHIER_FI2C_RD
#define UNIPHIER_FI2C_STOP
#define UNIPHIER_FI2C_MANUAL_NACK
#define UNIPHIER_FI2C_BYTE_WISE
#define UNIPHIER_FI2C_DEFER_STOP_COMP

#define UNIPHIER_FI2C_FIFO_SIZE

struct uniphier_fi2c_priv {};

static void uniphier_fi2c_fill_txfifo(struct uniphier_fi2c_priv *priv,
				      bool first)
{}

static void uniphier_fi2c_drain_rxfifo(struct uniphier_fi2c_priv *priv)
{}

static void uniphier_fi2c_set_irqs(struct uniphier_fi2c_priv *priv)
{}

static void uniphier_fi2c_clear_irqs(struct uniphier_fi2c_priv *priv,
				     u32 mask)
{}

static void uniphier_fi2c_stop(struct uniphier_fi2c_priv *priv)
{}

static irqreturn_t uniphier_fi2c_interrupt(int irq, void *dev_id)
{}

static void uniphier_fi2c_tx_init(struct uniphier_fi2c_priv *priv, u16 addr,
				  bool repeat)
{}

static void uniphier_fi2c_rx_init(struct uniphier_fi2c_priv *priv, u16 addr)
{}

static void uniphier_fi2c_reset(struct uniphier_fi2c_priv *priv)
{}

static void uniphier_fi2c_prepare_operation(struct uniphier_fi2c_priv *priv)
{}

static void uniphier_fi2c_recover(struct uniphier_fi2c_priv *priv)
{}

static int uniphier_fi2c_xfer_one(struct i2c_adapter *adap, struct i2c_msg *msg,
				  bool repeat, bool stop)
{}

static int uniphier_fi2c_check_bus_busy(struct i2c_adapter *adap)
{}

static int uniphier_fi2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
{}

static u32 uniphier_fi2c_functionality(struct i2c_adapter *adap)
{}

static const struct i2c_algorithm uniphier_fi2c_algo =;

static int uniphier_fi2c_get_scl(struct i2c_adapter *adap)
{}

static void uniphier_fi2c_set_scl(struct i2c_adapter *adap, int val)
{}

static int uniphier_fi2c_get_sda(struct i2c_adapter *adap)
{}

static void uniphier_fi2c_unprepare_recovery(struct i2c_adapter *adap)
{}

static struct i2c_bus_recovery_info uniphier_fi2c_bus_recovery_info =;

static void uniphier_fi2c_hw_init(struct uniphier_fi2c_priv *priv)
{}

static int uniphier_fi2c_probe(struct platform_device *pdev)
{}

static void uniphier_fi2c_remove(struct platform_device *pdev)
{}

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

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

static const struct dev_pm_ops uniphier_fi2c_pm_ops =;

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

static struct platform_driver uniphier_fi2c_drv =;
module_platform_driver();

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