#include <linux/clk.h>
#include <linux/clk-provider.h>
#include <linux/device.h>
#include <linux/gpio/consumer.h>
#include <linux/ethtool.h>
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/ioport.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_net.h>
#include <linux/mfd/syscon.h>
#include <linux/platform_device.h>
#include <linux/reset.h>
#include <linux/stmmac.h>
#include "stmmac_platform.h"
#include "dwmac4.h"
struct tegra_eqos { … };
static int dwc_eth_dwmac_config_dt(struct platform_device *pdev,
struct plat_stmmacenet_data *plat_dat)
{ … }
static int dwc_qos_probe(struct platform_device *pdev,
struct plat_stmmacenet_data *plat_dat,
struct stmmac_resources *stmmac_res)
{ … }
static void dwc_qos_remove(struct platform_device *pdev)
{ … }
#define SDMEMCOMPPADCTRL …
#define SDMEMCOMPPADCTRL_PAD_E_INPUT_OR_E_PWRD …
#define AUTO_CAL_CONFIG …
#define AUTO_CAL_CONFIG_START …
#define AUTO_CAL_CONFIG_ENABLE …
#define AUTO_CAL_STATUS …
#define AUTO_CAL_STATUS_ACTIVE …
static void tegra_eqos_fix_speed(void *priv, unsigned int speed, unsigned int mode)
{ … }
static int tegra_eqos_init(struct platform_device *pdev, void *priv)
{ … }
static int tegra_eqos_probe(struct platform_device *pdev,
struct plat_stmmacenet_data *data,
struct stmmac_resources *res)
{ … }
static void tegra_eqos_remove(struct platform_device *pdev)
{ … }
struct dwc_eth_dwmac_data { … };
static const struct dwc_eth_dwmac_data dwc_qos_data = …;
static const struct dwc_eth_dwmac_data tegra_eqos_data = …;
static int dwc_eth_dwmac_probe(struct platform_device *pdev)
{ … }
static void dwc_eth_dwmac_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id dwc_eth_dwmac_match[] = …;
MODULE_DEVICE_TABLE(of, dwc_eth_dwmac_match);
static struct platform_driver dwc_eth_dwmac_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;