diff options
-rw-r--r-- | drivers/net/dm9000.c | 6 | ||||
-rw-r--r-- | include/linux/dm9000.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c index e4390d917b81..b5e47dfa5529 100644 --- a/drivers/net/dm9000.c +++ b/drivers/net/dm9000.c | |||
@@ -137,6 +137,7 @@ typedef struct board_info { | |||
137 | u16 dbug_cnt; | 137 | u16 dbug_cnt; |
138 | u8 io_mode; /* 0:word, 2:byte */ | 138 | u8 io_mode; /* 0:word, 2:byte */ |
139 | u8 phy_addr; | 139 | u8 phy_addr; |
140 | unsigned int flags; | ||
140 | 141 | ||
141 | void (*inblk)(void __iomem *port, void *data, int length); | 142 | void (*inblk)(void __iomem *port, void *data, int length); |
142 | void (*outblk)(void __iomem *port, void *data, int length); | 143 | void (*outblk)(void __iomem *port, void *data, int length); |
@@ -525,6 +526,8 @@ dm9000_probe(struct platform_device *pdev) | |||
525 | 526 | ||
526 | if (pdata->dumpblk != NULL) | 527 | if (pdata->dumpblk != NULL) |
527 | db->dumpblk = pdata->dumpblk; | 528 | db->dumpblk = pdata->dumpblk; |
529 | |||
530 | db->flags = pdata->flags; | ||
528 | } | 531 | } |
529 | 532 | ||
530 | dm9000_reset(db); | 533 | dm9000_reset(db); |
@@ -665,6 +668,9 @@ dm9000_init_dm9000(struct net_device *dev) | |||
665 | iow(db, DM9000_GPCR, GPCR_GEP_CNTL); /* Let GPIO0 output */ | 668 | iow(db, DM9000_GPCR, GPCR_GEP_CNTL); /* Let GPIO0 output */ |
666 | iow(db, DM9000_GPR, 0); /* Enable PHY */ | 669 | iow(db, DM9000_GPR, 0); /* Enable PHY */ |
667 | 670 | ||
671 | if (db->flags & DM9000_PLATF_EXT_PHY) | ||
672 | iow(db, DM9000_NCR, NCR_EXT_PHY); | ||
673 | |||
668 | /* Program operating register */ | 674 | /* Program operating register */ |
669 | iow(db, DM9000_TCR, 0); /* TX Polling clear */ | 675 | iow(db, DM9000_TCR, 0); /* TX Polling clear */ |
670 | iow(db, DM9000_BPTR, 0x3f); /* Less 3Kb, 200us */ | 676 | iow(db, DM9000_BPTR, 0x3f); /* Less 3Kb, 200us */ |
diff --git a/include/linux/dm9000.h b/include/linux/dm9000.h index 0008e2ad0c9f..ea530fd1be74 100644 --- a/include/linux/dm9000.h +++ b/include/linux/dm9000.h | |||
@@ -19,6 +19,7 @@ | |||
19 | #define DM9000_PLATF_8BITONLY (0x0001) | 19 | #define DM9000_PLATF_8BITONLY (0x0001) |
20 | #define DM9000_PLATF_16BITONLY (0x0002) | 20 | #define DM9000_PLATF_16BITONLY (0x0002) |
21 | #define DM9000_PLATF_32BITONLY (0x0004) | 21 | #define DM9000_PLATF_32BITONLY (0x0004) |
22 | #define DM9000_PLATF_EXT_PHY (0x0008) | ||
22 | 23 | ||
23 | /* platfrom data for platfrom device structure's platfrom_data field */ | 24 | /* platfrom data for platfrom device structure's platfrom_data field */ |
24 | 25 | ||