#include <linux/io.h>
#include <linux/of.h>
#include <linux/of_net.h>
#include <linux/stmmac.h>
#include "stmmac.h"
#include "stmmac_platform.h"
#define GMAC_RESET_CONTROL_REG …
#define GMAC_SW_CONFIG_REG …
#define GMAC_CONFIG_INTF_SEL_MASK …
#define GMAC_CONFIG_INTF_RGMII …
struct anarion_gmac { … };
static uint32_t gmac_read_reg(struct anarion_gmac *gmac, uint8_t reg)
{
return readl(gmac->ctl_block + reg);
};
static void gmac_write_reg(struct anarion_gmac *gmac, uint8_t reg, uint32_t val)
{ … }
static int anarion_gmac_init(struct platform_device *pdev, void *priv)
{ … }
static void anarion_gmac_exit(struct platform_device *pdev, void *priv)
{ … }
static struct anarion_gmac *anarion_config_dt(struct platform_device *pdev)
{ … }
static int anarion_dwmac_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id anarion_dwmac_match[] = …;
MODULE_DEVICE_TABLE(of, anarion_dwmac_match);
static struct platform_driver anarion_dwmac_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;