summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorPavel Pisa <ppisa@pikron.com>2014-03-09 14:22:55 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-03-14 08:59:27 +0100
commitfac9da635b54fc986637c6615eef4819e6b1a3b3 (patch)
treeb241e3616553c1f240f256b642821ce8c2316cb3 /c
parentbsps/arm: Add PHY detection to LPC Ethernet (diff)
downloadrtems-fac9da635b54fc986637c6615eef4819e6b1a3b3.tar.bz2
bsps/arm: Add DP83848 PHY support to LPC Ethernet
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c b/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c
index f62217173a..5692531d23 100644
--- a/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c
+++ b/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c
@@ -1188,6 +1188,7 @@ static int lpc_eth_phy_get_id(int phy, uint32_t *id)
}
#define PHY_KSZ80X1RNL 0x221550
+#define PHY_DP83848 0x20005c90
typedef struct {
unsigned reg;
@@ -1271,6 +1272,13 @@ static int lpc_eth_phy_up(lpc_eth_driver_entry *e)
RTEMS_ARRAY_SIZE(lpc_eth_phy_up_pre_action_KSZ80X1RNL)
);
break;
+ case PHY_DP83848:
+ eno = lpc_eth_mdio_read(e->phy, NULL, 0x17, &val);
+ LPC_ETH_PRINTF("phy PHY_DP83848 RBR 0x%08" PRIx32 "\n", val);
+ /* val = 0x21; */
+ val = 0x32 ;
+ eno = lpc_eth_mdio_write(e->phy, NULL, 0x17, val);
+ break;
case 0:
case 0xfffffff0:
eno = EIO;