1 /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
2 /* Copyright 2024 NXP */
3
4 #include "enetc_pf.h"
5
6 int enetc_pf_set_mac_addr(struct net_device *ndev, void *addr);
7 int enetc_setup_mac_addresses(struct device_node *np, struct enetc_pf *pf);
8 void enetc_pf_netdev_setup(struct enetc_si *si, struct net_device *ndev,
9 const struct net_device_ops *ndev_ops);
10 int enetc_mdiobus_create(struct enetc_pf *pf, struct device_node *node);
11 void enetc_mdiobus_destroy(struct enetc_pf *pf);
12 int enetc_phylink_create(struct enetc_ndev_priv *priv, struct device_node *node,
13 const struct phylink_mac_ops *ops);
14 void enetc_phylink_destroy(struct enetc_ndev_priv *priv);
15 void enetc_set_default_rss_key(struct enetc_pf *pf);
16 int enetc_vlan_rx_add_vid(struct net_device *ndev, __be16 prot, u16 vid);
17 int enetc_vlan_rx_del_vid(struct net_device *ndev, __be16 prot, u16 vid);
18
enetc_get_ip_revision(struct enetc_hw * hw)19 static inline u16 enetc_get_ip_revision(struct enetc_hw *hw)
20 {
21 return enetc_global_rd(hw, ENETC_G_EIPBRR0) & EIPBRR0_REVISION;
22 }
23