linux/drivers/mfd/ocelot-core.c

// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Core driver for the Ocelot chip family.
 *
 * The VSC7511, 7512, 7513, and 7514 can be controlled internally via an
 * on-chip MIPS processor, or externally via SPI, I2C, PCIe. This core driver is
 * intended to be the bus-agnostic glue between, for example, the SPI bus and
 * the child devices.
 *
 * Copyright 2021-2022 Innovative Advantage Inc.
 *
 * Author: Colin Foster <[email protected]>
 */

#include <linux/bits.h>
#include <linux/device.h>
#include <linux/export.h>
#include <linux/iopoll.h>
#include <linux/ioport.h>
#include <linux/kernel.h>
#include <linux/mfd/core.h>
#include <linux/mfd/ocelot.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/types.h>

#include <soc/mscc/ocelot.h>

#include "ocelot.h"

#define REG_GCB_SOFT_RST

#define BIT_SOFT_CHIP_RST

#define VSC7512_MIIM0_RES_START
#define VSC7512_MIIM1_RES_START
#define VSC7512_MIIM_RES_SIZE

#define VSC7512_PHY_RES_START
#define VSC7512_PHY_RES_SIZE

#define VSC7512_GPIO_RES_START
#define VSC7512_GPIO_RES_SIZE

#define VSC7512_SIO_CTRL_RES_START
#define VSC7512_SIO_CTRL_RES_SIZE

#define VSC7512_HSIO_RES_START
#define VSC7512_HSIO_RES_SIZE

#define VSC7512_ANA_RES_START
#define VSC7512_ANA_RES_SIZE

#define VSC7512_QS_RES_START
#define VSC7512_QS_RES_SIZE

#define VSC7512_QSYS_RES_START
#define VSC7512_QSYS_RES_SIZE

#define VSC7512_REW_RES_START
#define VSC7512_REW_RES_SIZE

#define VSC7512_SYS_RES_START
#define VSC7512_SYS_RES_SIZE

#define VSC7512_S0_RES_START
#define VSC7512_S1_RES_START
#define VSC7512_S2_RES_START
#define VCAP_RES_SIZE

#define VSC7512_PORT_0_RES_START
#define VSC7512_PORT_1_RES_START
#define VSC7512_PORT_2_RES_START
#define VSC7512_PORT_3_RES_START
#define VSC7512_PORT_4_RES_START
#define VSC7512_PORT_5_RES_START
#define VSC7512_PORT_6_RES_START
#define VSC7512_PORT_7_RES_START
#define VSC7512_PORT_8_RES_START
#define VSC7512_PORT_9_RES_START
#define VSC7512_PORT_10_RES_START
#define VSC7512_PORT_RES_SIZE

#define VSC7512_GCB_RST_SLEEP_US
#define VSC7512_GCB_RST_TIMEOUT_US

static int ocelot_gcb_chip_rst_status(struct ocelot_ddata *ddata)
{}

int ocelot_chip_reset(struct device *dev)
{}
EXPORT_SYMBOL_NS();

static const struct resource vsc7512_miim0_resources[] =;

static const struct resource vsc7512_miim1_resources[] =;

static const struct resource vsc7512_pinctrl_resources[] =;

static const struct resource vsc7512_sgpio_resources[] =;

static const struct resource vsc7512_serdes_resources[] =;

static const struct resource vsc7512_switch_resources[] =;

static const struct mfd_cell vsc7512_devs[] =;

static void ocelot_core_try_add_regmap(struct device *dev,
				       const struct resource *res)
{}

static void ocelot_core_try_add_regmaps(struct device *dev,
					const struct mfd_cell *cell)
{}

int ocelot_core_init(struct device *dev)
{}
EXPORT_SYMBOL_NS();

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