Commit 4e16d6eb authored by Florian Fainelli's avatar Florian Fainelli Committed by David S. Miller

r6040: define more MCR0 register bits

Define more MCR0-register bits and use them in place of the bits values.
Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 49f26720
...@@ -63,8 +63,11 @@ ...@@ -63,8 +63,11 @@
/* MAC registers */ /* MAC registers */
#define MCR0 0x00 /* Control register 0 */ #define MCR0 0x00 /* Control register 0 */
#define MCR0_RCVEN 0x0002 /* Receive enable */
#define MCR0_PROMISC 0x0020 /* Promiscuous mode */ #define MCR0_PROMISC 0x0020 /* Promiscuous mode */
#define MCR0_HASH_EN 0x0100 /* Enable multicast hash table function */ #define MCR0_HASH_EN 0x0100 /* Enable multicast hash table function */
#define MCR0_XMTEN 0x1000 /* Transmission enable */
#define MCR0_FD 0x8000 /* Full/Half duplex */
#define MCR1 0x04 /* Control register 1 */ #define MCR1 0x04 /* Control register 1 */
#define MAC_RST 0x0001 /* Reset the MAC */ #define MAC_RST 0x0001 /* Reset the MAC */
#define MBCR 0x08 /* Bus control */ #define MBCR 0x08 /* Bus control */
...@@ -398,7 +401,7 @@ static void r6040_init_mac_regs(struct net_device *dev) ...@@ -398,7 +401,7 @@ static void r6040_init_mac_regs(struct net_device *dev)
iowrite16(INT_MASK, ioaddr + MIER); iowrite16(INT_MASK, ioaddr + MIER);
/* Enable TX and RX */ /* Enable TX and RX */
iowrite16(lp->mcr0 | 0x0002, ioaddr); iowrite16(lp->mcr0 | MCR0_RCVEN, ioaddr);
/* Let TX poll the descriptors /* Let TX poll the descriptors
* we may got called by r6040_tx_timeout which has left * we may got called by r6040_tx_timeout which has left
...@@ -1002,7 +1005,7 @@ static void r6040_adjust_link(struct net_device *dev) ...@@ -1002,7 +1005,7 @@ static void r6040_adjust_link(struct net_device *dev)
/* reflect duplex change */ /* reflect duplex change */
if (phydev->link && (lp->old_duplex != phydev->duplex)) { if (phydev->link && (lp->old_duplex != phydev->duplex)) {
lp->mcr0 |= (phydev->duplex == DUPLEX_FULL ? 0x8000 : 0); lp->mcr0 |= (phydev->duplex == DUPLEX_FULL ? MCR0_FD : 0);
iowrite16(lp->mcr0, ioaddr); iowrite16(lp->mcr0, ioaddr);
status_changed = 1; status_changed = 1;
...@@ -1155,7 +1158,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev, ...@@ -1155,7 +1158,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,
lp->dev = dev; lp->dev = dev;
/* Init RDC private data */ /* Init RDC private data */
lp->mcr0 = 0x1002; lp->mcr0 = MCR0_XMTEN | MCR0;
/* The RDC-specific entries in the device structure. */ /* The RDC-specific entries in the device structure. */
dev->netdev_ops = &r6040_netdev_ops; dev->netdev_ops = &r6040_netdev_ops;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment