diff options
-rw-r--r-- | nuttx/ChangeLog | 2 | ||||
-rw-r--r-- | nuttx/drivers/net/enc28j60.c | 15 |
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 ******************************************************/ |