linux/drivers/mfd/tqmx86.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * TQ-Systems PLD MFD core driver, based on vendor driver by
 * Vadim V.Vlasov <[email protected]>
 *
 * Copyright (c) 2015 TQ-Systems GmbH
 * Copyright (c) 2019 Andrew Lunn <[email protected]>
 */

#include <linux/delay.h>
#include <linux/dmi.h>
#include <linux/i2c.h>
#include <linux/io.h>
#include <linux/mfd/core.h>
#include <linux/module.h>
#include <linux/platform_data/i2c-ocores.h>
#include <linux/platform_device.h>

#define TQMX86_IOBASE
#define TQMX86_IOSIZE
#define TQMX86_IOBASE_I2C
#define TQMX86_IOSIZE_I2C
#define TQMX86_IOBASE_WATCHDOG
#define TQMX86_IOSIZE_WATCHDOG
#define TQMX86_IOBASE_GPIO
#define TQMX86_IOSIZE_GPIO

#define TQMX86_REG_BOARD_ID
#define TQMX86_REG_BOARD_ID_E38M
#define TQMX86_REG_BOARD_ID_50UC
#define TQMX86_REG_BOARD_ID_E38C
#define TQMX86_REG_BOARD_ID_60EB
#define TQMX86_REG_BOARD_ID_E39MS
#define TQMX86_REG_BOARD_ID_E39C1
#define TQMX86_REG_BOARD_ID_E39C2
#define TQMX86_REG_BOARD_ID_70EB
#define TQMX86_REG_BOARD_ID_80UC
#define TQMX86_REG_BOARD_ID_110EB
#define TQMX86_REG_BOARD_ID_E40M
#define TQMX86_REG_BOARD_ID_E40S
#define TQMX86_REG_BOARD_ID_E40C1
#define TQMX86_REG_BOARD_ID_E40C2
#define TQMX86_REG_BOARD_REV
#define TQMX86_REG_IO_EXT_INT
#define TQMX86_REG_IO_EXT_INT_NONE
#define TQMX86_REG_IO_EXT_INT_7
#define TQMX86_REG_IO_EXT_INT_9
#define TQMX86_REG_IO_EXT_INT_12
#define TQMX86_REG_IO_EXT_INT_MASK
#define TQMX86_REG_IO_EXT_INT_GPIO_SHIFT
#define TQMX86_REG_SAUC

#define TQMX86_REG_I2C_DETECT
#define TQMX86_REG_I2C_DETECT_SOFT

static uint gpio_irq;
module_param(gpio_irq, uint, 0);
MODULE_PARM_DESC();

static const struct resource tqmx_i2c_soft_resources[] =;

static const struct resource tqmx_watchdog_resources[] =;

/*
 * The IRQ resource must be first, since it is updated with the
 * configured IRQ in the probe function.
 */
static struct resource tqmx_gpio_resources[] =;

static struct i2c_board_info tqmx86_i2c_devices[] =;

static struct ocores_i2c_platform_data ocores_platform_data =;

static const struct mfd_cell tqmx86_i2c_soft_dev[] =;

static const struct mfd_cell tqmx86_devs[] =;

static const char *tqmx86_board_id_to_name(u8 board_id, u8 sauc)
{}

static int tqmx86_board_id_to_clk_rate(struct device *dev, u8 board_id)
{}

static int tqmx86_probe(struct platform_device *pdev)
{}

static int tqmx86_create_platform_device(const struct dmi_system_id *id)
{}

static const struct dmi_system_id tqmx86_dmi_table[] __initconst =;
MODULE_DEVICE_TABLE(dmi, tqmx86_dmi_table);

static struct platform_driver tqmx86_driver =;

static int __init tqmx86_init(void)
{}

module_init();

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