#include <linux/cleanup.h>
#include <linux/clk.h>
#include <linux/io.h>
#include <linux/mfd/syscon.h>
#include <linux/mfd/syscon/atmel-matrix.h>
#include <linux/mfd/syscon/atmel-smc.h>
#include <linux/init.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <soc/at91/atmel-sfr.h>
#define AT91_EBI_NUM_CS …
struct atmel_ebi_dev_config { … };
struct atmel_ebi;
struct atmel_ebi_dev { … };
struct atmel_ebi_caps { … };
struct atmel_ebi { … };
struct atmel_smc_timing_xlate { … };
#define ATMEL_SMC_SETUP_XLATE(nm, pos) …
#define ATMEL_SMC_PULSE_XLATE(nm, pos) …
#define ATMEL_SMC_CYCLE_XLATE(nm, pos) …
static void at91sam9_ebi_get_config(struct atmel_ebi_dev *ebid,
struct atmel_ebi_dev_config *conf)
{ … }
static void sama5_ebi_get_config(struct atmel_ebi_dev *ebid,
struct atmel_ebi_dev_config *conf)
{ … }
static const struct atmel_smc_timing_xlate timings_xlate_table[] = …;
static int atmel_ebi_xslate_smc_timings(struct atmel_ebi_dev *ebid,
struct device_node *np,
struct atmel_smc_cs_conf *smcconf)
{ … }
static int atmel_ebi_xslate_smc_config(struct atmel_ebi_dev *ebid,
struct device_node *np,
struct atmel_ebi_dev_config *conf)
{ … }
static void at91sam9_ebi_apply_config(struct atmel_ebi_dev *ebid,
struct atmel_ebi_dev_config *conf)
{ … }
static void sama5_ebi_apply_config(struct atmel_ebi_dev *ebid,
struct atmel_ebi_dev_config *conf)
{ … }
static int atmel_ebi_dev_setup(struct atmel_ebi *ebi, struct device_node *np,
int reg_cells)
{ … }
static const struct atmel_ebi_caps at91sam9260_ebi_caps = …;
static const struct atmel_ebi_caps at91sam9261_ebi_caps = …;
static const struct atmel_ebi_caps at91sam9263_ebi0_caps = …;
static const struct atmel_ebi_caps at91sam9263_ebi1_caps = …;
static const struct atmel_ebi_caps at91sam9rl_ebi_caps = …;
static const struct atmel_ebi_caps at91sam9g45_ebi_caps = …;
static const struct atmel_ebi_caps at91sam9x5_ebi_caps = …;
static const struct atmel_ebi_caps sama5d3_ebi_caps = …;
static const struct atmel_ebi_caps sam9x60_ebi_caps = …;
static const struct of_device_id atmel_ebi_id_table[] = …;
static int atmel_ebi_dev_disable(struct atmel_ebi *ebi, struct device_node *np)
{ … }
static int atmel_ebi_probe(struct platform_device *pdev)
{ … }
static __maybe_unused int atmel_ebi_resume(struct device *dev)
{ … }
static SIMPLE_DEV_PM_OPS(atmel_ebi_pm_ops, NULL, atmel_ebi_resume);
static struct platform_driver atmel_ebi_driver = …;
builtin_platform_driver_probe(…);