linux/drivers/bus/intel-ixp4xx-eb.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Intel IXP4xx Expansion Bus Controller
 * Copyright (C) 2021 Linaro Ltd.
 *
 * Author: Linus Walleij <[email protected]>
 */

#include <linux/bitfield.h>
#include <linux/bits.h>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/log2.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>

#define IXP4XX_EXP_NUM_CS

#define IXP4XX_EXP_TIMING_CS0
#define IXP4XX_EXP_TIMING_CS1
#define IXP4XX_EXP_TIMING_CS2
#define IXP4XX_EXP_TIMING_CS3
#define IXP4XX_EXP_TIMING_CS4
#define IXP4XX_EXP_TIMING_CS5
#define IXP4XX_EXP_TIMING_CS6
#define IXP4XX_EXP_TIMING_CS7

/* Bits inside each CS timing register */
#define IXP4XX_EXP_TIMING_STRIDE
#define IXP4XX_EXP_CS_EN
#define IXP456_EXP_PAR_EN
#define IXP4XX_EXP_T1_MASK
#define IXP4XX_EXP_T1_SHIFT
#define IXP4XX_EXP_T2_MASK
#define IXP4XX_EXP_T2_SHIFT
#define IXP4XX_EXP_T3_MASK
#define IXP4XX_EXP_T3_SHIFT
#define IXP4XX_EXP_T4_MASK
#define IXP4XX_EXP_T4_SHIFT
#define IXP4XX_EXP_T5_MASK
#define IXP4XX_EXP_T5_SHIFT
#define IXP4XX_EXP_CYC_TYPE_MASK
#define IXP4XX_EXP_CYC_TYPE_SHIFT
#define IXP4XX_EXP_SIZE_MASK
#define IXP4XX_EXP_SIZE_SHIFT
#define IXP4XX_EXP_CNFG_0
#define IXP43X_EXP_SYNC_INTEL
#define IXP43X_EXP_EXP_CHIP
#define IXP4XX_EXP_BYTE_RD16
#define IXP4XX_EXP_HRDY_POL
#define IXP4XX_EXP_MUX_EN
#define IXP4XX_EXP_SPLT_EN
#define IXP4XX_EXP_WORD
#define IXP4XX_EXP_WR_EN
#define IXP4XX_EXP_BYTE_EN

#define IXP4XX_EXP_CNFG0
#define IXP4XX_EXP_CNFG0_MEM_MAP
#define IXP4XX_EXP_CNFG1

#define IXP4XX_EXP_BOOT_BASE
#define IXP4XX_EXP_NORMAL_BASE
#define IXP4XX_EXP_STRIDE

/* Fuses on the IXP43x */
#define IXP43X_EXP_UNIT_FUSE_RESET
#define IXP43x_EXP_FUSE_SPEED_MASK

/* Number of device tree values in "reg" */
#define IXP4XX_OF_REG_SIZE

struct ixp4xx_eb {};

struct ixp4xx_exp_tim_prop {};

static const struct ixp4xx_exp_tim_prop ixp4xx_exp_tim_props[] =;

static void ixp4xx_exp_setup_chipselect(struct ixp4xx_eb *eb,
					struct device_node *np,
					u32 cs_index,
					u32 cs_size)
{}

static void ixp4xx_exp_setup_child(struct ixp4xx_eb *eb,
				   struct device_node *np)
{}

static int ixp4xx_exp_probe(struct platform_device *pdev)
{}

static const struct of_device_id ixp4xx_exp_of_match[] =;

static struct platform_driver ixp4xx_exp_driver =;
module_platform_driver();
MODULE_AUTHOR();
MODULE_DESCRIPTION();