summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/marvell/mvgmac.h
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2016-12-23 01:09:44 +0000
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2022-01-18 10:18:49 +0000
commite2365fc3e4a0e134ee7f875ce71f0abaaeb4552d (patch)
tree8742a9bcd477ad5eb9801ccc2bc1560ee6c93bfd /drivers/net/ethernet/marvell/mvgmac.h
parent976c9cad727a4a39a64de11f4b7f51dab3742408 (diff)
net: mvgmac: support different hw versions
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'drivers/net/ethernet/marvell/mvgmac.h')
-rw-r--r--drivers/net/ethernet/marvell/mvgmac.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/marvell/mvgmac.h b/drivers/net/ethernet/marvell/mvgmac.h
index dea376505eb3..36ed203094be 100644
--- a/drivers/net/ethernet/marvell/mvgmac.h
+++ b/drivers/net/ethernet/marvell/mvgmac.h
@@ -12,8 +12,16 @@
*/
#define MARVELL_HEADER_SIZE 2
+enum {
+ /* GMAC version */
+ MVGMAC_NETA,
+ MVGMAC_PP21,
+ MVGMAC_PP22,
+};
+
struct mvgmac {
void __iomem *base;
+ unsigned int version;
struct phylink_pcs pcs;
};
@@ -25,6 +33,7 @@ static inline struct mvgmac *pcs_to_mvgmac(struct phylink_pcs *pcs)
void mvgmac_set_max_rx_size(struct mvgmac *gmac, size_t max_rx_size);
void mvgmac_port_enable(struct mvgmac *gmac);
void mvgmac_port_disable(struct mvgmac *gmac);
+int mvgmac_configure(struct mvgmac *gmac, phy_interface_t phy_mode);
void mvgmac_link_unforce(struct mvgmac *gmac);
void mvgmac_link_force_down(struct mvgmac *gmac);
void mvgmac_link_down(struct mvgmac *gmac, int mode);