projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
AX88180: switch to common mii.h header
[oweals/u-boot.git]
/
drivers
/
net
/
smc911x.h
diff --git
a/drivers/net/smc911x.h
b/drivers/net/smc911x.h
index 053e33016bc9929093102f4d641fbcf144aadd86..05e007c6de2f86e0006e1abf011f91a79fe6e4ec 100644
(file)
--- a/
drivers/net/smc911x.h
+++ b/
drivers/net/smc911x.h
@@
-393,6
+393,7
@@
static inline void smc911x_reg_write(struct eth_device *dev,
#define CHIP_9216 0x116a
#define CHIP_9217 0x117a
#define CHIP_9218 0x118a
#define CHIP_9216 0x116a
#define CHIP_9217 0x117a
#define CHIP_9218 0x118a
+#define CHIP_9220 0x9220
#define CHIP_9221 0x9221
struct chip_id {
#define CHIP_9221 0x9221
struct chip_id {
@@
-410,6
+411,7
@@
static const struct chip_id chip_ids[] = {
{ CHIP_9216, "LAN9216" },
{ CHIP_9217, "LAN9217" },
{ CHIP_9218, "LAN9218" },
{ CHIP_9216, "LAN9216" },
{ CHIP_9217, "LAN9217" },
{ CHIP_9218, "LAN9218" },
+ { CHIP_9220, "LAN9220" },
{ CHIP_9221, "LAN9221" },
{ 0, NULL },
};
{ CHIP_9221, "LAN9221" },
{ 0, NULL },
};
@@
-441,7
+443,10
@@
static int smc911x_detect_chip(struct eth_device *dev)
unsigned long val, i;
val = smc911x_reg_read(dev, BYTE_TEST);
unsigned long val, i;
val = smc911x_reg_read(dev, BYTE_TEST);
- if (val != 0x87654321) {
+ if (val == 0xffffffff) {
+ /* Special case -- no chip present */
+ return -1;
+ } else if (val != 0x87654321) {
printf(DRIVERNAME ": Invalid chip endian 0x%08lx\n", val);
return -1;
}
printf(DRIVERNAME ": Invalid chip endian 0x%08lx\n", val);
return -1;
}
@@
-455,7
+460,7
@@
static int smc911x_detect_chip(struct eth_device *dev)
return -1;
}
return -1;
}
-
printf(DRIVERNAME ": detected %s controller\n", chip_ids[i].name)
;
+
dev->priv = (void *)&chip_ids[i]
;
return 0;
}
return 0;
}