xref: /linux/drivers/net/ethernet/freescale/enetc/enetc_pf_common.h (revision c771600c6af14749609b49565ffb4cac2959710d)
180c8c852SWei Fang /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
280c8c852SWei Fang /* Copyright 2024 NXP */
380c8c852SWei Fang 
480c8c852SWei Fang #include "enetc_pf.h"
580c8c852SWei Fang 
680c8c852SWei Fang int enetc_pf_set_mac_addr(struct net_device *ndev, void *addr);
780c8c852SWei Fang int enetc_setup_mac_addresses(struct device_node *np, struct enetc_pf *pf);
880c8c852SWei Fang void enetc_pf_netdev_setup(struct enetc_si *si, struct net_device *ndev,
980c8c852SWei Fang 			   const struct net_device_ops *ndev_ops);
1080c8c852SWei Fang int enetc_mdiobus_create(struct enetc_pf *pf, struct device_node *node);
1180c8c852SWei Fang void enetc_mdiobus_destroy(struct enetc_pf *pf);
1280c8c852SWei Fang int enetc_phylink_create(struct enetc_ndev_priv *priv, struct device_node *node,
1380c8c852SWei Fang 			 const struct phylink_mac_ops *ops);
1480c8c852SWei Fang void enetc_phylink_destroy(struct enetc_ndev_priv *priv);
15*99100d0dSWei Fang 
16*99100d0dSWei Fang static inline u16 enetc_get_ip_revision(struct enetc_hw *hw)
17*99100d0dSWei Fang {
18*99100d0dSWei Fang 	return enetc_global_rd(hw, ENETC_G_EIPBRR0) & EIPBRR0_REVISION;
19*99100d0dSWei Fang }
20