diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-08-26 23:29:37 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-08-26 23:29:37 +0000 |
commit | cedd0cb8b80c2e6559213c2373417dd56f04094a (patch) | |
tree | ef60b4dd39935b68fca6a5dacb340652ad9b53ea /nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c | |
parent | af35036b945cb0f47c68bb47d9316500d12c6913 (diff) | |
download | px4-nuttx-cedd0cb8b80c2e6559213c2373417dd56f04094a.tar.gz px4-nuttx-cedd0cb8b80c2e6559213c2373417dd56f04094a.tar.bz2 px4-nuttx-cedd0cb8b80c2e6559213c2373417dd56f04094a.zip |
More patches/bugfixes from Kate
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5056 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c')
-rw-r--r-- | nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c b/nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c index a3bc9d951..6d927892b 100644 --- a/nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c +++ b/nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c @@ -2100,9 +2100,29 @@ static inline int lpc17_phyinit(struct lpc17_driver_s *priv) /* Disable auto-configuration. Set the fixed speed/duplex mode. * (probably more than little redundant). + * + * REVISIT: Revisit the following CONFIG_PHY_CEMENT_DISABLE work-around: + * + * "... I found this using a LPC1768 dev board with a DP83848I PHY. I'm + * using CONFIG_PHY_DP83848C for that ... I found that a static + * configuration for the PHY gave errors. I didn't investigate why. + * + * "My problem however was that autonegotiation seemingly failed - + * however on debugging I saw the calls for autonegotation were actually + * successful. I tracked the code down to [the following logic] and + * I saw that after the negotation completes, those negotiated + * parameters are then used to set a fixed speed and duplex, "just + * in case". It was that setting of a static configuration which + * failed for me." + * + * "I'm not sure if that's required for other situations or not, so I + * added a #define to optionally elide the call to cement the + * configuration. My PHY appears to be happy with this for the moment." */ +#ifndef CONFIG_PHY_CEMENT_DISABLE ret = lpc17_phymode(phyaddr, priv->lp_mode); +#endif lpc17_showmii(phyaddr, "After final configuration"); return ret; } |