Commit 84286f19 authored by Michael Grzeschik's avatar Michael Grzeschik

arcnet: com20020: replace magic numbers with readable macros

This patch replaces all magic numbers in the driver with
proper named macros. For the case of XTOcfg and STARTIOcmd
it introduces the new macros.
Signed-off-by: default avatarMichael Grzeschik <m.grzeschik@pengutronix.de>
parent 54a84c61
...@@ -164,6 +164,7 @@ do { \ ...@@ -164,6 +164,7 @@ do { \
#define CONFIGcmd 0x05 /* define configuration */ #define CONFIGcmd 0x05 /* define configuration */
#define CFLAGScmd 0x06 /* clear flags */ #define CFLAGScmd 0x06 /* clear flags */
#define TESTcmd 0x07 /* load test flags */ #define TESTcmd 0x07 /* load test flags */
#define STARTIOcmd 0x18 /* start internal operation */
/* flags for "clear flags" command */ /* flags for "clear flags" command */
#define RESETclear 0x08 /* power-on-reset */ #define RESETclear 0x08 /* power-on-reset */
......
...@@ -94,9 +94,9 @@ int com20020_check(struct net_device *dev) ...@@ -94,9 +94,9 @@ int com20020_check(struct net_device *dev)
int ioaddr = dev->base_addr, status; int ioaddr = dev->base_addr, status;
struct arcnet_local *lp = netdev_priv(dev); struct arcnet_local *lp = netdev_priv(dev);
arcnet_outb(0x18 | 0x80, ioaddr, COM20020_REG_W_CONFIG); arcnet_outb(XTOcfg(3) | RESETcfg, ioaddr, COM20020_REG_W_CONFIG);
udelay(5); udelay(5);
arcnet_outb(0x18 , ioaddr, COM20020_REG_W_CONFIG); arcnet_outb(XTOcfg(3), ioaddr, COM20020_REG_W_CONFIG);
mdelay(RESETtime); mdelay(RESETtime);
lp->setup = lp->clockm ? 0 : (lp->clockp << 1); lp->setup = lp->clockm ? 0 : (lp->clockp << 1);
...@@ -115,10 +115,10 @@ int com20020_check(struct net_device *dev) ...@@ -115,10 +115,10 @@ int com20020_check(struct net_device *dev)
/* must now write the magic "restart operation" command */ /* must now write the magic "restart operation" command */
mdelay(1); mdelay(1);
arcnet_outb(0x18, ioaddr, COM20020_REG_W_COMMAND); arcnet_outb(STARTIOcmd, ioaddr, COM20020_REG_W_COMMAND);
} }
lp->config = 0x21 | (lp->timeout << 3) | (lp->backplane << 2); lp->config = TXENcfg | (lp->timeout << 3) | (lp->backplane << 2) | SUB_NODE;
/* set node ID to 0x42 (but transmitter is disabled, so it's okay) */ /* set node ID to 0x42 (but transmitter is disabled, so it's okay) */
arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG); arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG);
arcnet_outb(0x42, ioaddr, COM20020_REG_W_XREG); arcnet_outb(0x42, ioaddr, COM20020_REG_W_XREG);
...@@ -132,7 +132,8 @@ int com20020_check(struct net_device *dev) ...@@ -132,7 +132,8 @@ int com20020_check(struct net_device *dev)
arc_printk(D_INIT_REASONS, dev, "status after reset: %X\n", status); arc_printk(D_INIT_REASONS, dev, "status after reset: %X\n", status);
/* Enable TX */ /* Enable TX */
arcnet_outb(0x39, ioaddr, COM20020_REG_W_CONFIG); lp->config |= TXENcfg;
arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG);
arcnet_outb(arcnet_inb(ioaddr, 8), ioaddr, COM20020_REG_W_XREG); arcnet_outb(arcnet_inb(ioaddr, 8), ioaddr, COM20020_REG_W_XREG);
arcnet_outb(CFLAGScmd | RESETclear | CONFIGclear, arcnet_outb(CFLAGScmd | RESETclear | CONFIGclear,
...@@ -211,10 +212,10 @@ int com20020_found(struct net_device *dev, int shared) ...@@ -211,10 +212,10 @@ int com20020_found(struct net_device *dev, int shared)
/* must now write the magic "restart operation" command */ /* must now write the magic "restart operation" command */
mdelay(1); mdelay(1);
arcnet_outb(0x18, ioaddr, COM20020_REG_W_COMMAND); arcnet_outb(STARTIOcmd, ioaddr, COM20020_REG_W_COMMAND);
} }
lp->config = 0x20 | (lp->timeout << 3) | (lp->backplane << 2) | 1; lp->config = TXENcfg | (lp->timeout << 3) | (lp->backplane << 2) | SUB_NODE;
/* Default 0x38 + register: Node ID */ /* Default 0x38 + register: Node ID */
arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG); arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG);
arcnet_outb(dev->dev_addr[0], ioaddr, COM20020_REG_W_XREG); arcnet_outb(dev->dev_addr[0], ioaddr, COM20020_REG_W_XREG);
...@@ -280,7 +281,7 @@ static int com20020_reset(struct net_device *dev, int really_reset) ...@@ -280,7 +281,7 @@ static int com20020_reset(struct net_device *dev, int really_reset)
if (really_reset) { if (really_reset) {
/* reset the card */ /* reset the card */
arcnet_outb(lp->config | 0x80, ioaddr, COM20020_REG_W_CONFIG); arcnet_outb(lp->config | RESETcfg, ioaddr, COM20020_REG_W_CONFIG);
udelay(5); udelay(5);
arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG); arcnet_outb(lp->config, ioaddr, COM20020_REG_W_CONFIG);
mdelay(RESETtime * 2); mdelay(RESETtime * 2);
......
...@@ -86,6 +86,7 @@ struct com20020_dev { ...@@ -86,6 +86,7 @@ struct com20020_dev {
/* in the CONFIG register */ /* in the CONFIG register */
#define RESETcfg 0x80 /* put card in reset state */ #define RESETcfg 0x80 /* put card in reset state */
#define TXENcfg 0x20 /* enable TX */ #define TXENcfg 0x20 /* enable TX */
#define XTOcfg(x) ((x) << 3) /* extended timeout */
/* in SETUP register */ /* in SETUP register */
#define PROMISCset 0x10 /* enable RCV_ALL */ #define PROMISCset 0x10 /* enable RCV_ALL */
......
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