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>2021-06-07 12:48:22 +0100
commit8098317b4fdffa8b82a7e89a8fb76b142c22497b (patch)
tree640802f79b8be2775956854a2963fa7a0621746a /drivers/net/ethernet/marvell/mvgmac.h
parent685f6193c184ea0593beebd661527dd2d5752173 (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 ceccc6777237..f4111fba7258 100644
--- a/drivers/net/ethernet/marvell/mvgmac.h
+++ b/drivers/net/ethernet/marvell/mvgmac.h
@@ -14,13 +14,22 @@ struct phylink_link_state;
*/
#define MARVELL_HEADER_SIZE 2
+enum {
+ /* GMAC version */
+ MVGMAC_NETA,
+ MVGMAC_PP21,
+ MVGMAC_PP22,
+};
+
struct mvgmac {
void __iomem *base;
+ unsigned int version;
};
void mvgmac_set_max_rx_size(struct mvgmac *gmac, size_t max_rx_size);
void mvgmac_enable(struct mvgmac *gmac);
void mvgmac_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);