summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-06-22 08:55:16 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-06-22 08:55:16 -0600
commit87a0eb4f83e6c782616c5dd475164eb62b0c49de (patch)
treea6b1aeefb4f3d9650584e47ff6c9a9d7fc1545e8
parent8072c2fddb647267fb7ce351aa5a03db5b6d9061 (diff)
downloadpx4-nuttx-87a0eb4f83e6c782616c5dd475164eb62b0c49de.tar.gz
px4-nuttx-87a0eb4f83e6c782616c5dd475164eb62b0c49de.tar.bz2
px4-nuttx-87a0eb4f83e6c782616c5dd475164eb62b0c49de.zip
Fix for ENC28J60 from Dave
-rw-r--r--nuttx/ChangeLog2
-rw-r--r--nuttx/drivers/net/enc28j60.c15
2 files changed, 13 insertions, 4 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 598fc6ac6..9693f75aa 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -5028,3 +5028,5 @@
* configs/sam4l-xplained/src/sam_slcd.c: Beginning of a driver for the
LED1 segment LCD module. This driver is incomplete on initial check-
in (2013-6-21).
+ * drivers/net/enc28j60.c: Change buffer ordering to work around Errata
+ #5. From Dave (ziggurat29, 2013-6-22).
diff --git a/nuttx/drivers/net/enc28j60.c b/nuttx/drivers/net/enc28j60.c
index 203259aeb..6b4408f12 100644
--- a/nuttx/drivers/net/enc28j60.c
+++ b/nuttx/drivers/net/enc28j60.c
@@ -156,10 +156,17 @@
#define ALIGNED_BUFSIZE ((CONFIG_NET_BUFSIZE + 255) & ~255)
-#define PKTMEM_TX_START 0x0000 /* Start TX buffer at 0 */
-#define PKTMEM_TX_ENDP1 ALIGNED_BUFSIZE /* Allow TX buffer for one frame */
-#define PKTMEM_RX_START PKTMEM_TX_ENDP1 /* Followed by RX buffer */
-#define PKTMEM_RX_END PKTMEM_END /* RX buffer goes to the end of SRAM */
+#if 0 /* Fix for Errata #5 */
+# define PKTMEM_TX_START 0x0000 /* Start TX buffer at 0 */
+# define PKTMEM_TX_ENDP1 ALIGNED_BUFSIZE /* Allow TX buffer for one frame */
+# define PKTMEM_RX_START PKTMEM_TX_ENDP1 /* Followed by RX buffer */
+# define PKTMEM_RX_END PKTMEM_END /* RX buffer goes to the end of SRAM */
+#else
+# define PKTMEM_RX_START 0x0000
+# define PKTMEM_RX_END (PKTMEM_END-ALIGNED_BUFSIZE)
+# define PKTMEM_TX_START (PKTMEM_RX_END+1)
+# define PKTMEM_TX_ENDP1 (PKTMEM_TX_START+ALIGNED_BUFSIZE)
+#endif
/* Misc. Helper Macros ******************************************************/