#include <linux/platform_device.h>
#include <linux/of.h>
#include <linux/module.h>
#include <linux/stmmac.h>
#include <linux/clk.h>
#include "stmmac_platform.h"
static const char *const mgbe_clks[] = …;
struct tegra_mgbe { … };
#define XPCS_WRAP_UPHY_RX_CONTROL …
#define XPCS_WRAP_UPHY_RX_CONTROL_RX_SW_OVRD …
#define XPCS_WRAP_UPHY_RX_CONTROL_RX_PCS_PHY_RDY …
#define XPCS_WRAP_UPHY_RX_CONTROL_RX_CDR_RESET …
#define XPCS_WRAP_UPHY_RX_CONTROL_RX_CAL_EN …
#define XPCS_WRAP_UPHY_RX_CONTROL_RX_SLEEP …
#define XPCS_WRAP_UPHY_RX_CONTROL_AUX_RX_IDDQ …
#define XPCS_WRAP_UPHY_RX_CONTROL_RX_IDDQ …
#define XPCS_WRAP_UPHY_RX_CONTROL_RX_DATA_EN …
#define XPCS_WRAP_UPHY_HW_INIT_CTRL …
#define XPCS_WRAP_UPHY_HW_INIT_CTRL_TX_EN …
#define XPCS_WRAP_UPHY_HW_INIT_CTRL_RX_EN …
#define XPCS_WRAP_UPHY_STATUS …
#define XPCS_WRAP_UPHY_STATUS_TX_P_UP …
#define XPCS_WRAP_IRQ_STATUS …
#define XPCS_WRAP_IRQ_STATUS_PCS_LINK_STS …
#define XPCS_REG_ADDR_SHIFT …
#define XPCS_REG_ADDR_MASK …
#define XPCS_ADDR …
#define MGBE_WRAP_COMMON_INTR_ENABLE …
#define MAC_SBD_INTR …
#define MGBE_WRAP_AXI_ASID0_CTRL …
#define MGBE_SID …
static int __maybe_unused tegra_mgbe_suspend(struct device *dev)
{ … }
static int __maybe_unused tegra_mgbe_resume(struct device *dev)
{ … }
static int mgbe_uphy_lane_bringup_serdes_up(struct net_device *ndev, void *mgbe_data)
{ … }
static void mgbe_uphy_lane_bringup_serdes_down(struct net_device *ndev, void *mgbe_data)
{ … }
static int tegra_mgbe_probe(struct platform_device *pdev)
{ … }
static void tegra_mgbe_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id tegra_mgbe_match[] = …;
MODULE_DEVICE_TABLE(of, tegra_mgbe_match);
static SIMPLE_DEV_PM_OPS(tegra_mgbe_pm_ops, tegra_mgbe_suspend, tegra_mgbe_resume);
static struct platform_driver tegra_mgbe_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;