aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <lg@denx.de>2008-10-13 00:05:14 -0400
committerDavid S. Miller <davem@davemloft.net>2008-10-13 00:05:14 -0400
commitc6dcb8278876ebf266e2088b0b45b28aa66b7693 (patch)
treea767dbee0ec2ffcdf14bd2262ad6fd21a5a0860d
parent97e92d9d4b52c1257e7891715115e9d00c6b20bc (diff)
smc911x: Add support for LAN921{5,7,8} chips from SMSC
LAN92{5,7,8} chips from SMSC are register compatible with LAN911{5,6,7,8} controllers, and only add support for HP Auto-MDIX. LAN9218 doesn't have an external MII interface. Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Acked-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/smc911x.c6
-rw-r--r--drivers/net/smc911x.h14
2 files changed, 14 insertions, 6 deletions
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index 3d19d00e8eec..8aa7460ef0e3 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -685,8 +685,10 @@ static void smc911x_phy_detect(struct net_device *dev)
685 * PHY#1 to PHY#31, and then PHY#0 last. 685 * PHY#1 to PHY#31, and then PHY#0 last.
686 */ 686 */
687 switch(lp->version) { 687 switch(lp->version) {
688 case 0x115: 688 case CHIP_9115:
689 case 0x117: 689 case CHIP_9117:
690 case CHIP_9215:
691 case CHIP_9217:
690 cfg = SMC_GET_HW_CFG(lp); 692 cfg = SMC_GET_HW_CFG(lp);
691 if (cfg & HW_CFG_EXT_PHY_DET_) { 693 if (cfg & HW_CFG_EXT_PHY_DET_) {
692 cfg &= ~HW_CFG_PHY_CLK_SEL_; 694 cfg &= ~HW_CFG_PHY_CLK_SEL_;
diff --git a/drivers/net/smc911x.h b/drivers/net/smc911x.h
index 2abfc2845198..bf6240f23f5d 100644
--- a/drivers/net/smc911x.h
+++ b/drivers/net/smc911x.h
@@ -666,10 +666,13 @@ smc_pxa_dma_outsl(struct smc911x_local *lp, u_long physaddr,
666#define LAN911X_INTERNAL_PHY_ID (0x0007C000) 666#define LAN911X_INTERNAL_PHY_ID (0x0007C000)
667 667
668/* Chip ID values */ 668/* Chip ID values */
669#define CHIP_9115 0x115 669#define CHIP_9115 0x0115
670#define CHIP_9116 0x116 670#define CHIP_9116 0x0116
671#define CHIP_9117 0x117 671#define CHIP_9117 0x0117
672#define CHIP_9118 0x118 672#define CHIP_9118 0x0118
673#define CHIP_9215 0x115A
674#define CHIP_9217 0x117A
675#define CHIP_9218 0x118A
673 676
674struct chip_id { 677struct chip_id {
675 u16 id; 678 u16 id;
@@ -681,6 +684,9 @@ static const struct chip_id chip_ids[] = {
681 { CHIP_9116, "LAN9116" }, 684 { CHIP_9116, "LAN9116" },
682 { CHIP_9117, "LAN9117" }, 685 { CHIP_9117, "LAN9117" },
683 { CHIP_9118, "LAN9118" }, 686 { CHIP_9118, "LAN9118" },
687 { CHIP_9215, "LAN9215" },
688 { CHIP_9217, "LAN9217" },
689 { CHIP_9218, "LAN9218" },
684 { 0, NULL }, 690 { 0, NULL },
685}; 691};
686 692