summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c90
-rwxr-xr-xnuttx/configs/mbed/README.txt20
-rwxr-xr-xnuttx/configs/mbed/nsh/defconfig24
-rwxr-xr-xnuttx/configs/nucleus2g/README.txt20
-rwxr-xr-xnuttx/configs/nucleus2g/nsh/defconfig24
-rwxr-xr-xnuttx/configs/nucleus2g/ostest/defconfig24
-rwxr-xr-xnuttx/configs/nucleus2g/usbserial/defconfig24
-rwxr-xr-xnuttx/configs/nucleus2g/usbstorage/defconfig24
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/README.txt15
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/nettest/defconfig11
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/nsh/defconfig11
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/ostest/defconfig11
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/usbserial/defconfig11
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/usbstorage/defconfig11
14 files changed, 278 insertions, 42 deletions
diff --git a/nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c b/nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c
index 4d13126f4..5e3ba537e 100644
--- a/nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c
+++ b/nuttx/arch/arm/src/lpc17xx/lpc17_ethernet.c
@@ -91,12 +91,18 @@
# define CONFIG_LPC17_NINTERFACES 1
#endif
+/* If IGMP is enabled, then accept multi-cast frames. */
+
+#if defined(CONFIG_NET_IGMP) && !defined(CONFIG_NET_MULTICAST)
+# define CONFIG_NET_MULTICAST 1
+#endif
+
/* If the user did not specify a priority for Ethernet interrupts, set the
* interrupt priority to the maximum.
*/
-#ifndef CONFIG_ETH_PRIORITY
-# define CONFIG_ETH_PRIORITY NVIC_SYSH_PRIORITY_MAX
+#ifndef CONFIG_NET_PRIORITY
+# define CONFIG_NET_PRIORITY NVIC_SYSH_PRIORITY_MAX
#endif
/* TX poll deley = 1 seconds. CLK_TCK is the number of clock ticks per second */
@@ -168,8 +174,8 @@
* descriptors will determine the organization and the size of the
* descriptor and status tables. There is a complex interaction between
* the maximum packet size (CONFIG_NET_BUFSIZE) and the number of
- * Rx and Tx descriptors that can be suppored (CONFIG_ETH_NRXDESC and
- * CONFIG_ETH_NTXDESC): Small buffers -> more packets. This is
+ * Rx and Tx descriptors that can be suppored (CONFIG_NET_NRXDESC and
+ * CONFIG_NET_NTXDESC): Small buffers -> more packets. This is
* something that needs to be tuned for you system.
*
* For a 16Kb SRAM region, here is the relationship:
@@ -223,18 +229,18 @@
* SRAM for the use in the heap. But that has not yet been pursued.]
*/
-#ifndef CONFIG_ETH_NTXDESC
-# define CONFIG_ETH_NTXDESC 18
+#ifndef CONFIG_NET_NTXDESC
+# define CONFIG_NET_NTXDESC 18
#endif
-#define LPC17_TXDESCTAB_SIZE (CONFIG_ETH_NTXDESC*LPC17_TXDESC_SIZE)
-#define LPC17_TXSTATTAB_SIZE (CONFIG_ETH_NTXDESC*LPC17_TXSTAT_SIZE)
+#define LPC17_TXDESCTAB_SIZE (CONFIG_NET_NTXDESC*LPC17_TXDESC_SIZE)
+#define LPC17_TXSTATTAB_SIZE (CONFIG_NET_NTXDESC*LPC17_TXSTAT_SIZE)
#define LPC17_TXTAB_SIZE (LPC17_TXDESCTAB_SIZE+LPC17_TXSTATTAB_SIZE)
-#ifndef CONFIG_ETH_NRXDESC
-# define CONFIG_ETH_NRXDESC 18
+#ifndef CONFIG_NET_NRXDESC
+# define CONFIG_NET_NRXDESC 18
#endif
-#define LPC17_RXDESCTAB_SIZE (CONFIG_ETH_NRXDESC*LPC17_RXDESC_SIZE)
-#define LPC17_RXSTATTAB_SIZE (CONFIG_ETH_NRXDESC*LPC17_RXSTAT_SIZE)
+#define LPC17_RXDESCTAB_SIZE (CONFIG_NET_NRXDESC*LPC17_RXDESC_SIZE)
+#define LPC17_RXSTATTAB_SIZE (CONFIG_NET_NRXDESC*LPC17_RXSTAT_SIZE)
#define LPC17_RXTAB_SIZE (LPC17_RXDESCTAB_SIZE+LPC17_RXSTATTAB_SIZE)
#define LPC17_DESCTAB_SIZE (LPC17_TXTAB_SIZE+LPC17_RXTAB_SIZE)
@@ -267,8 +273,8 @@
#define LPC17_PKTMEM_END (LPC17_EMACRAM_BASE+LPC17_PKTMEM_SIZE)
#define LPC17_MAXPACKET_SIZE ((CONFIG_NET_BUFSIZE + 3 + 2) & ~3)
-#define LPC17_NTXPKTS CONFIG_ETH_NTXDESC
-#define LPC17_NRXPKTS CONFIG_ETH_NRXDESC
+#define LPC17_NTXPKTS CONFIG_NET_NTXDESC
+#define LPC17_NRXPKTS CONFIG_NET_NRXDESC
#define LPC17_TXBUFFER_SIZE (LPC17_NTXPKTS * LPC17_MAXPACKET_SIZE)
#define LPC17_RXBUFFER_SIZE (LPC17_NRXPKTS * LPC17_MAXPACKET_SIZE)
@@ -286,7 +292,7 @@
/* Register debug -- can only happen of CONFIG_DEBUG is selected */
#ifndef CONFIG_DEBUG
-# undef CONFIG_LPC17_ENET_REGDEBUG
+# undef CONFIG_NET_REGDEBUG
#endif
/****************************************************************************
@@ -298,7 +304,7 @@
#if defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_NET)
struct lpc17_statistics_s
{
-#if ENABLE_WOL
+#ifdef ENABLE_WOL
uint32_t wol; /* Wake-up interrupts */
#endif
uint32_t rx_finished; /* Rx finished interrupts */
@@ -388,7 +394,7 @@ static const uint16_t g_enetpins[GPIO_NENET_PINS] =
/* Register operations */
-#ifdef CONFIG_LPC17_ENET_REGDEBUG
+#ifdef CONFIG_NET_REGDEBUG
static void lpc17_printreg(uint32_t addr, uint32_t val, bool iswrite);
static void lpc17_checkreg(uint32_t addr, uint32_t val, bool iswrite);
static uint32_t lpc17_getreg(uint32_t addr);
@@ -428,7 +434,7 @@ static int lpc17_rmmac(struct uip_driver_s *dev, const uint8_t *mac);
/* Initialization functions */
-#ifdef CONFIG_LPC17_ENET_REGDEBUG
+#ifdef CONFIG_NET_REGDEBUG
static void lpc17_showpins(void);
#else
# define lpc17_showpins()
@@ -437,7 +443,7 @@ static void lpc17_showpins(void);
/* PHY initialization functions */
#ifdef LPC17_HAVE_PHY
-# ifdef CONFIG_LPC17_ENET_REGDEBUG
+# ifdef CONFIG_NET_REGDEBUG
static void lpc17_showmii(uint8_t phyaddr, const char *msg);
# else
# define lpc17_showmii(phyaddr,msg)
@@ -475,7 +481,7 @@ static void lpc17_ethreset(struct lpc17_driver_s *priv);
*
*******************************************************************************/
-#ifdef CONFIG_LPC17_ENET_REGDEBUG
+#ifdef CONFIG_NET_REGDEBUG
static void lpc17_printreg(uint32_t addr, uint32_t val, bool iswrite)
{
dbg("%08x%s%08x\n", addr, iswrite ? "<-" : "->", val);
@@ -490,7 +496,7 @@ static void lpc17_printreg(uint32_t addr, uint32_t val, bool iswrite)
*
*******************************************************************************/
-#ifdef CONFIG_LPC17_ENET_REGDEBUG
+#ifdef CONFIG_NET_REGDEBUG
static void lpc17_checkreg(uint32_t addr, uint32_t val, bool iswrite)
{
static uint32_t prevaddr = 0;
@@ -554,7 +560,7 @@ static void lpc17_checkreg(uint32_t addr, uint32_t val, bool iswrite)
*
*******************************************************************************/
-#ifdef CONFIG_LPC17_ENET_REGDEBUG
+#ifdef CONFIG_NET_REGDEBUG
static uint32_t lpc17_getreg(uint32_t addr)
{
/* Read the value from the register */
@@ -576,7 +582,7 @@ static uint32_t lpc17_getreg(uint32_t addr)
*
*******************************************************************************/
-#ifdef CONFIG_LPC17_ENET_REGDEBUG
+#ifdef CONFIG_NET_REGDEBUG
static void lpc17_putreg(uint32_t val, uint32_t addr)
{
/* Check if we need to print this value */
@@ -616,7 +622,7 @@ static int lpc17_txdesc(struct lpc17_driver_s *priv)
/* Get the next producer index */
prodidx = lpc17_getreg(LPC17_ETH_TXPRODIDX) & ETH_TXPRODIDX_MASK;
- if (++prodidx >= CONFIG_ETH_NTXDESC)
+ if (++prodidx >= CONFIG_NET_NTXDESC)
{
/* Wrap back to index zero */
@@ -697,7 +703,7 @@ static int lpc17_transmit(struct lpc17_driver_s *priv)
/* Bump the producer index, making the packet available for transmission. */
- if (++prodidx >= CONFIG_ETH_NTXDESC)
+ if (++prodidx >= CONFIG_NET_NTXDESC)
{
/* Wrap back to index zero */
@@ -975,12 +981,14 @@ static void lpc17_rxdone(struct lpc17_driver_s *priv)
* might also have gotten bumped up by the hardware).
*/
- if (++considx >= CONFIG_ETH_NTXDESC)
+ if (++considx >= CONFIG_NET_NRXDESC)
{
/* Wrap back to index zero */
considx = 0;
}
+
+ lpc17_putreg(considx, LPC17_ETH_RXCONSIDX);
prodidx = lpc17_getreg(LPC17_ETH_RXPRODIDX) & ETH_RXPRODIDX_MASK;
}
}
@@ -1135,7 +1143,7 @@ static int lpc17_interrupt(int irq, void *context)
/* Check for Wake-Up on Lan */
-#if CONFIG_NET_WOL
+#ifdef CONFIG_NET_WOL
if ((status & ETH_INT_WKUP) != 0)
{
lpc17_putreg(ETH_INT_WKUP, LPC17_ETH_INTCLR);
@@ -1295,13 +1303,13 @@ static int lpc17_ifup(struct uip_driver_s *dev)
*/
regval = ETH_RXFLCTRL_PERFEN;
-#if CONFIG_NET_BROADCAST
+#ifdef CONFIG_NET_BROADCAST
regval |= ETH_RXFLCTRL_BCASTEN;
#endif
-#if CONFIG_NET_MULTICAST
+#ifdef CONFIG_NET_MULTICAST
RXFILTERCTRL |= (ETH_RXFLCTRL_MCASTEN | ETH_RXFLCTRL_UCASTEN);
#endif
-#if CONFIG_NET_HASH
+#ifdef CONFIG_NET_HASH
RXFILTERCTRL |= (ETH_RXFLCTRL_MCASTHASHEN | ETH_RXFLCTRL_UCASTHASHEN);
#endif
lpc17_putreg(regval, LPC17_ETH_RXFLCTRL);
@@ -1319,9 +1327,9 @@ static int lpc17_ifup(struct uip_driver_s *dev)
#ifdef CONFIG_ARCH_IRQPRIO
#if LM3S_NETHCONTROLLERS > 1
- (void)up_prioritize_irq(priv->irq, CONFIG_ETH_PRIORITY);
+ (void)up_prioritize_irq(priv->irq, CONFIG_NET_PRIORITY);
#else
- (void)up_prioritize_irq(LPC17_IRQ_ETH, CONFIG_ETH_PRIORITY);
+ (void)up_prioritize_irq(LPC17_IRQ_ETH, CONFIG_NET_PRIORITY);
#endif
#endif
@@ -1329,7 +1337,7 @@ static int lpc17_ifup(struct uip_driver_s *dev)
* not Wakeup on Lan (WoL) has been configured.
*/
-#if CONFIG_NET_WOL
+#ifdef CONFIG_NET_WOL
/* Configure WoL: Clear all receive filter WoLs and enable the perfect
* match WoL interrupt. We will wait until the Wake-up to finish
* bringing things up.
@@ -1528,7 +1536,7 @@ static int lpc17_rmmac(struct uip_driver_s *dev, const uint8_t *mac)
*
*******************************************************************************/
-#ifdef CONFIG_LPC17_ENET_REGDEBUG
+#ifdef CONFIG_NET_REGDEBUG
static void lpc17_showpins(void)
{
lpc17_dumpgpio(GPIO_PORT0|GPIO_PIN0, "P0[1-15]");
@@ -1552,7 +1560,7 @@ static void lpc17_showpins(void)
*
*******************************************************************************/
-#if defined(CONFIG_LPC17_ENET_REGDEBUG) && defined(LPC17_HAVE_PHY)
+#if defined(CONFIG_NET_REGDEBUG) && defined(LPC17_HAVE_PHY)
static void lpc17_showmii(uint8_t phyaddr, const char *msg)
{
dbg("PHY " LPC17_PHYNAME ": %s\n", msg);
@@ -2010,14 +2018,14 @@ static inline void lpc17_txdescinit(struct lpc17_driver_s *priv)
lpc17_putreg(LPC17_TXDESC_BASE, LPC17_ETH_TXDESC);
lpc17_putreg(LPC17_TXSTAT_BASE, LPC17_ETH_TXSTAT);
- lpc17_putreg(CONFIG_ETH_NTXDESC-1, LPC17_ETH_TXDESCRNO);
+ lpc17_putreg(CONFIG_NET_NTXDESC-1, LPC17_ETH_TXDESCRNO);
/* Initialize Tx descriptors and link to packet buffers */
txdesc = (uint32_t*)LPC17_TXDESC_BASE;
pktaddr = LPC17_TXBUFFER_BASE;
- for (i = 0; i < CONFIG_ETH_NTXDESC; i++)
+ for (i = 0; i < CONFIG_NET_NTXDESC; i++)
{
*txdesc++ = pktaddr;
*txdesc++ = (TXDESC_CONTROL_INT | (LPC17_MAXPACKET_SIZE - 1));
@@ -2027,7 +2035,7 @@ static inline void lpc17_txdescinit(struct lpc17_driver_s *priv)
/* Initialize Tx status */
txstat = (uint32_t*)LPC17_TXSTAT_BASE;
- for (i = 0; i < CONFIG_ETH_NTXDESC; i++)
+ for (i = 0; i < CONFIG_NET_NTXDESC; i++)
{
*txstat++ = 0;
}
@@ -2066,14 +2074,14 @@ static inline void lpc17_rxdescinit(struct lpc17_driver_s *priv)
lpc17_putreg(LPC17_RXDESC_BASE, LPC17_ETH_RXDESC);
lpc17_putreg(LPC17_RXSTAT_BASE, LPC17_ETH_RXSTAT);
- lpc17_putreg(CONFIG_ETH_NRXDESC-1, LPC17_ETH_RXDESCNO);
+ lpc17_putreg(CONFIG_NET_NRXDESC-1, LPC17_ETH_RXDESCNO);
/* Initialize Rx descriptors and link to packet buffers */
rxdesc = (uint32_t*)LPC17_RXDESC_BASE;
pktaddr = LPC17_RXBUFFER_BASE;
- for (i = 0; i < CONFIG_ETH_NRXDESC; i++)
+ for (i = 0; i < CONFIG_NET_NRXDESC; i++)
{
*rxdesc++ = pktaddr;
*rxdesc++ = (RXDESC_CONTROL_INT | (LPC17_MAXPACKET_SIZE - 1));
@@ -2083,7 +2091,7 @@ static inline void lpc17_rxdescinit(struct lpc17_driver_s *priv)
/* Initialize Rx status */
rxstat = (uint32_t*)LPC17_TXSTAT_BASE;
- for (i = 0; i < CONFIG_ETH_NRXDESC; i++)
+ for (i = 0; i < CONFIG_NET_NRXDESC; i++)
{
*rxstat++ = 0;
*rxstat++ = 0;
diff --git a/nuttx/configs/mbed/README.txt b/nuttx/configs/mbed/README.txt
index 429dea7a6..ac9047f62 100755
--- a/nuttx/configs/mbed/README.txt
+++ b/nuttx/configs/mbed/README.txt
@@ -283,6 +283,26 @@ mbed Configuration Options
CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
CONFIG_UARTn_2STOP - Two stop bits
+ LPC17xx specific PHY/Ethernet device driver settings. These setting
+ also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
+
+ CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
+ CONFIG_PHY_AUTONEG - Enable auto-negotion
+ CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
+ CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+
+ CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+ CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+ CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+ the higest priority.
+ CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+ CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+ CONFIG_DEBUG.
+ CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+ CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+ CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+ Automatically set if CONFIG_NET_IGMP is selected.
+
LPC17xx USB Configuration
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
diff --git a/nuttx/configs/mbed/nsh/defconfig b/nuttx/configs/mbed/nsh/defconfig
index 2986cdb0a..57886a284 100755
--- a/nuttx/configs/mbed/nsh/defconfig
+++ b/nuttx/configs/mbed/nsh/defconfig
@@ -182,6 +182,30 @@ CONFIG_UART2_2STOP=0
CONFIG_UART3_2STOP=0
#
+# LPC17xx specific PHY/Ethernet device driver settings
+#
+# CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
+# CONFIG_PHY_AUTONEG - Enable auto-negotion
+# CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
+# CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+# CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+# CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+# CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+# the higest priority.
+# CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+# CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+# CONFIG_DEBUG.
+# CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+# CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+# CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+# Automatically set if CONFIG_NET_IGMP is selected.
+#
+CONFIG_PHY_KS8721=y
+CONFIG_PHY_AUTONEG=y
+CONFIG_PHY_SPEED100=n
+CONFIG_PHY_FDUPLEX=y
+
+#
# General build options
#
# CONFIG_RRLOAD_BINARY - make the rrload binary format used with
diff --git a/nuttx/configs/nucleus2g/README.txt b/nuttx/configs/nucleus2g/README.txt
index 148b5e0c7..99aac4073 100755
--- a/nuttx/configs/nucleus2g/README.txt
+++ b/nuttx/configs/nucleus2g/README.txt
@@ -395,6 +395,26 @@ Nucleus 2G Configuration Options
CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
CONFIG_UARTn_2STOP - Two stop bits
+ LPC17xx specific PHY/Ethernet device driver settings. These setting
+ also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
+
+ CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
+ CONFIG_PHY_AUTONEG - Enable auto-negotion
+ CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
+ CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+
+ CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+ CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+ CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+ the higest priority.
+ CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+ CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+ CONFIG_DEBUG.
+ CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+ CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+ CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+ Automatically set if CONFIG_NET_IGMP is selected.
+
LPC17xx USB Configuration
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
diff --git a/nuttx/configs/nucleus2g/nsh/defconfig b/nuttx/configs/nucleus2g/nsh/defconfig
index 6c529e56a..c2109fabf 100755
--- a/nuttx/configs/nucleus2g/nsh/defconfig
+++ b/nuttx/configs/nucleus2g/nsh/defconfig
@@ -182,6 +182,30 @@ CONFIG_UART2_2STOP=0
CONFIG_UART3_2STOP=0
#
+# LPC17xx specific PHY/Ethernet device driver settings
+#
+# CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
+# CONFIG_PHY_AUTONEG - Enable auto-negotion
+# CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
+# CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+# CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+# CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+# CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+# the higest priority.
+# CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+# CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+# CONFIG_DEBUG.
+# CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+# CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+# CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+# Automatically set if CONFIG_NET_IGMP is selected.
+#
+CONFIG_PHY_KS8721=y
+CONFIG_PHY_AUTONEG=y
+CONFIG_PHY_SPEED100=n
+CONFIG_PHY_FDUPLEX=y
+
+#
# General build options
#
# CONFIG_RRLOAD_BINARY - make the rrload binary format used with
diff --git a/nuttx/configs/nucleus2g/ostest/defconfig b/nuttx/configs/nucleus2g/ostest/defconfig
index 0a0343134..6c9a59739 100755
--- a/nuttx/configs/nucleus2g/ostest/defconfig
+++ b/nuttx/configs/nucleus2g/ostest/defconfig
@@ -182,6 +182,30 @@ CONFIG_UART2_2STOP=0
CONFIG_UART3_2STOP=0
#
+# LPC17xx specific PHY/Ethernet device driver settings
+#
+# CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
+# CONFIG_PHY_AUTONEG - Enable auto-negotion
+# CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
+# CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+# CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+# CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+# CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+# the higest priority.
+# CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+# CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+# CONFIG_DEBUG.
+# CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+# CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+# CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+# Automatically set if CONFIG_NET_IGMP is selected.
+#
+CONFIG_PHY_KS8721=y
+CONFIG_PHY_AUTONEG=y
+CONFIG_PHY_SPEED100=n
+CONFIG_PHY_FDUPLEX=y
+
+#
# General build options
#
# CONFIG_RRLOAD_BINARY - make the rrload binary format used with
diff --git a/nuttx/configs/nucleus2g/usbserial/defconfig b/nuttx/configs/nucleus2g/usbserial/defconfig
index b991857db..dc1cf0d2a 100755
--- a/nuttx/configs/nucleus2g/usbserial/defconfig
+++ b/nuttx/configs/nucleus2g/usbserial/defconfig
@@ -182,6 +182,30 @@ CONFIG_UART2_2STOP=0
CONFIG_UART3_2STOP=0
#
+# LPC17xx specific PHY/Ethernet device driver settings
+#
+# CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
+# CONFIG_PHY_AUTONEG - Enable auto-negotion
+# CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
+# CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+# CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+# CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+# CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+# the higest priority.
+# CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+# CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+# CONFIG_DEBUG.
+# CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+# CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+# CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+# Automatically set if CONFIG_NET_IGMP is selected.
+#
+CONFIG_PHY_KS8721=y
+CONFIG_PHY_AUTONEG=y
+CONFIG_PHY_SPEED100=n
+CONFIG_PHY_FDUPLEX=y
+
+#
# General build options
#
# CONFIG_RRLOAD_BINARY - make the rrload binary format used with
diff --git a/nuttx/configs/nucleus2g/usbstorage/defconfig b/nuttx/configs/nucleus2g/usbstorage/defconfig
index ee883d403..b8e3c13f8 100755
--- a/nuttx/configs/nucleus2g/usbstorage/defconfig
+++ b/nuttx/configs/nucleus2g/usbstorage/defconfig
@@ -182,6 +182,30 @@ CONFIG_UART2_2STOP=0
CONFIG_UART3_2STOP=0
#
+# LPC17xx specific PHY/Ethernet device driver settings
+#
+# CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
+# CONFIG_PHY_AUTONEG - Enable auto-negotion
+# CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
+# CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+# CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+# CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+# CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+# the higest priority.
+# CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+# CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+# CONFIG_DEBUG.
+# CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+# CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+# CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+# Automatically set if CONFIG_NET_IGMP is selected.
+#
+CONFIG_PHY_KS8721=y
+CONFIG_PHY_AUTONEG=y
+CONFIG_PHY_SPEED100=n
+CONFIG_PHY_FDUPLEX=y
+
+#
# General build options
#
# CONFIG_RRLOAD_BINARY - make the rrload binary format used with
diff --git a/nuttx/configs/olimex-lpc1766stk/README.txt b/nuttx/configs/olimex-lpc1766stk/README.txt
index aba93f829..67dfb2600 100755
--- a/nuttx/configs/olimex-lpc1766stk/README.txt
+++ b/nuttx/configs/olimex-lpc1766stk/README.txt
@@ -602,13 +602,26 @@ Olimex LPC1766-STK Configuration Options
CONFIG_UARTn_2STOP - Two stop bits
- LPC17xx specific PHY/Ethernet device driver settings
+ LPC17xx specific PHY/Ethernet device driver settings. These setting
+ also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
CONFIG_PHY_AUTONEG - Enable auto-negotion
CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+ CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+ CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+ CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+ the higest priority.
+ CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+ CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+ CONFIG_DEBUG.
+ CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+ CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+ CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+ Automatically set if CONFIG_NET_IGMP is selected.
+
LPC17xx USB Configuration
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
diff --git a/nuttx/configs/olimex-lpc1766stk/nettest/defconfig b/nuttx/configs/olimex-lpc1766stk/nettest/defconfig
index fd1e18d78..d546f7c0d 100755
--- a/nuttx/configs/olimex-lpc1766stk/nettest/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/nettest/defconfig
@@ -188,6 +188,17 @@ CONFIG_UART3_2STOP=0
# CONFIG_PHY_AUTONEG - Enable auto-negotion
# CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
# CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+# CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+# CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+# CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+# the higest priority.
+# CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+# CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+# CONFIG_DEBUG.
+# CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+# CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+# CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+# Automatically set if CONFIG_NET_IGMP is selected.
#
CONFIG_PHY_KS8721=y
CONFIG_PHY_AUTONEG=y
diff --git a/nuttx/configs/olimex-lpc1766stk/nsh/defconfig b/nuttx/configs/olimex-lpc1766stk/nsh/defconfig
index cf612d47c..f686bcb5c 100755
--- a/nuttx/configs/olimex-lpc1766stk/nsh/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/nsh/defconfig
@@ -188,6 +188,17 @@ CONFIG_UART3_2STOP=0
# CONFIG_PHY_AUTONEG - Enable auto-negotion
# CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
# CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+# CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+# CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+# CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+# the higest priority.
+# CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+# CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+# CONFIG_DEBUG.
+# CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+# CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+# CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+# Automatically set if CONFIG_NET_IGMP is selected.
#
CONFIG_PHY_KS8721=y
CONFIG_PHY_AUTONEG=y
diff --git a/nuttx/configs/olimex-lpc1766stk/ostest/defconfig b/nuttx/configs/olimex-lpc1766stk/ostest/defconfig
index 76fb01198..5c9051981 100755
--- a/nuttx/configs/olimex-lpc1766stk/ostest/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/ostest/defconfig
@@ -188,6 +188,17 @@ CONFIG_UART3_2STOP=0
# CONFIG_PHY_AUTONEG - Enable auto-negotion
# CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
# CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+# CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+# CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+# CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+# the higest priority.
+# CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+# CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+# CONFIG_DEBUG.
+# CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+# CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+# CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+# Automatically set if CONFIG_NET_IGMP is selected.
#
CONFIG_PHY_KS8721=y
CONFIG_PHY_AUTONEG=y
diff --git a/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig b/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig
index 7d5f2dd6c..dc10183c0 100755
--- a/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig
@@ -188,6 +188,17 @@ CONFIG_UART3_2STOP=0
# CONFIG_PHY_AUTONEG - Enable auto-negotion
# CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
# CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+# CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+# CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+# CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+# the higest priority.
+# CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+# CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+# CONFIG_DEBUG.
+# CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+# CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+# CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+# Automatically set if CONFIG_NET_IGMP is selected.
#
CONFIG_PHY_KS8721=y
CONFIG_PHY_AUTONEG=y
diff --git a/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig b/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig
index f1befb446..7f1c079d1 100755
--- a/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig
@@ -188,6 +188,17 @@ CONFIG_UART3_2STOP=0
# CONFIG_PHY_AUTONEG - Enable auto-negotion
# CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
# CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
+# CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
+# CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
+# CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
+# the higest priority.
+# CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
+# CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
+# CONFIG_DEBUG.
+# CONFIG_NET_BROADCAST - Enable receipt of broadcast frames
+# CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
+# CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
+# Automatically set if CONFIG_NET_IGMP is selected.
#
CONFIG_PHY_KS8721=y
CONFIG_PHY_AUTONEG=y