diff options
author | Richard Cochran <richardcochran@gmail.com> | 2012-10-29 08:45:14 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-01 12:21:29 -0400 |
commit | e90cfac6c281da3c8b89dba0eb783c23872705b1 (patch) | |
tree | 69e9c3018088aa4d28e5c77d7f3f1a7970673ca5 | |
parent | bd357af2a52259778dfcc06482dc70463b7b1301 (diff) | |
download | linux-stable-e90cfac6c281da3c8b89dba0eb783c23872705b1.tar.gz linux-stable-e90cfac6c281da3c8b89dba0eb783c23872705b1.tar.bz2 linux-stable-e90cfac6c281da3c8b89dba0eb783c23872705b1.zip |
cpsw: remember the silicon version
This patch lets the CPSW driver remember the version number in order to
support the two different variants already in the wild.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/ti/cpsw.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c index b4ca370a4e67..5c427cf1ef87 100644 --- a/drivers/net/ethernet/ti/cpsw.c +++ b/drivers/net/ethernet/ti/cpsw.c @@ -76,6 +76,8 @@ do { \ #define CPSW_MINOR_VERSION(reg) (reg & 0xff) #define CPSW_RTL_VERSION(reg) ((reg >> 11) & 0x1f) +#define CPSW_VERSION_1 0x19010a +#define CPSW_VERSION_2 0x19010c #define CPDMA_RXTHRESH 0x0c0 #define CPDMA_RXFREE 0x0e0 #define CPDMA_TXHDP 0x00 @@ -216,6 +218,7 @@ struct cpsw_priv { struct cpsw_wr_regs __iomem *wr_regs; struct cpsw_host_regs __iomem *host_port_regs; u32 msg_enable; + u32 version; struct net_device_stats stats; int rx_packet_max; int host_port; @@ -540,6 +543,7 @@ static int cpsw_ndo_open(struct net_device *ndev) pm_runtime_get_sync(&priv->pdev->dev); reg = __raw_readl(&priv->regs->id_ver); + priv->version = reg; dev_info(priv->dev, "initializing cpsw version %d.%d (%d)\n", CPSW_MAJOR_VERSION(reg), CPSW_MINOR_VERSION(reg), |