NXP LPC1768 Ethernet driver for lwip and CMSIS-RTOS

Dependents:   EthernetInterface EthernetInterface EthernetInterface_RSF EthernetInterface ... more

Legacy Networking Libraries

This is an mbed 2 networking library. For mbed 5, the networking libraries have been revised to better support additional network stacks and thread safety here.

This library is based on the code of the NXP LPC port of the Lightweight TCP/IP Stack

Copyright(C) 2011, NXP Semiconductor
All rights reserved.

Software that is described herein is for illustrative purposes only
which provides customers with programming information regarding the
products. This software is supplied "AS IS" without any warranties.
NXP Semiconductors assumes no responsibility or liability for the
use of the software, conveys no license or title under any patent,
copyright, or mask work right to the product. NXP Semiconductors
reserves the right to make changes in the software without
notification. NXP Semiconductors also make no representation or
warranty that such application will be suitable for the specified
use without further testing or modification.
Committer:
emilmont
Date:
Thu May 30 17:15:45 2013 +0100
Revision:
5:698d868a5285
Parent:
4:d827a085afd9
Child:
7:5754e05385b8
Add LPC4088 target

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilmont 3:dd8b8f5b449a 1 /**********************************************************************
emilmont 5:698d868a5285 2 * $Id$ lpc_emac_config.h 2011-11-20
emilmont 3:dd8b8f5b449a 3 *//**
emilmont 5:698d868a5285 4 * @file lpc_emac_config.h
emilmont 5:698d868a5285 5 * @brief PHY and EMAC configuration file
emilmont 5:698d868a5285 6 * @version 1.0
emilmont 5:698d868a5285 7 * @date 20 Nov. 2011
emilmont 5:698d868a5285 8 * @author NXP MCU SW Application Team
emilmont 3:dd8b8f5b449a 9 *
emilmont 3:dd8b8f5b449a 10 * Copyright(C) 2011, NXP Semiconductor
emilmont 3:dd8b8f5b449a 11 * All rights reserved.
emilmont 3:dd8b8f5b449a 12 *
emilmont 3:dd8b8f5b449a 13 ***********************************************************************
emilmont 3:dd8b8f5b449a 14 * Software that is described herein is for illustrative purposes only
emilmont 3:dd8b8f5b449a 15 * which provides customers with programming information regarding the
emilmont 3:dd8b8f5b449a 16 * products. This software is supplied "AS IS" without any warranties.
emilmont 3:dd8b8f5b449a 17 * NXP Semiconductors assumes no responsibility or liability for the
emilmont 3:dd8b8f5b449a 18 * use of the software, conveys no license or title under any patent,
emilmont 3:dd8b8f5b449a 19 * copyright, or mask work right to the product. NXP Semiconductors
emilmont 3:dd8b8f5b449a 20 * reserves the right to make changes in the software without
emilmont 3:dd8b8f5b449a 21 * notification. NXP Semiconductors also make no representation or
emilmont 3:dd8b8f5b449a 22 * warranty that such application will be suitable for the specified
emilmont 3:dd8b8f5b449a 23 * use without further testing or modification.
emilmont 4:d827a085afd9 24 **********************************************************************/
emilmont 4:d827a085afd9 25
emilmont 4:d827a085afd9 26 #ifndef __LPC_EMAC_CONFIG_H
emilmont 4:d827a085afd9 27 #define __LPC_EMAC_CONFIG_H
emilmont 4:d827a085afd9 28
emilmont 4:d827a085afd9 29 #include "lwip/opt.h"
emilmont 3:dd8b8f5b449a 30
emilmont 4:d827a085afd9 31 #ifdef __cplusplus
emilmont 4:d827a085afd9 32 extern "C"
emilmont 4:d827a085afd9 33 {
emilmont 4:d827a085afd9 34 #endif
emilmont 3:dd8b8f5b449a 35
emilmont 5:698d868a5285 36 /** @defgroup lwip_phy_config LWIP PHY configuration
emilmont 3:dd8b8f5b449a 37 * @ingroup lwip_phy
emilmont 3:dd8b8f5b449a 38 *
emilmont 3:dd8b8f5b449a 39 * Configuration options for the PHY connected to the LPC EMAC.
emilmont 3:dd8b8f5b449a 40 * @{
emilmont 3:dd8b8f5b449a 41 */
emilmont 3:dd8b8f5b449a 42
emilmont 4:d827a085afd9 43 /** \brief The PHY address connected the to MII/RMII
emilmont 4:d827a085afd9 44 */
emilmont 4:d827a085afd9 45 #define LPC_PHYDEF_PHYADDR 1 /**< The PHY address on the PHY device. */
emilmont 4:d827a085afd9 46
emilmont 4:d827a085afd9 47 /** \brief Enable autonegotiation mode.
emilmont 4:d827a085afd9 48 * If this is enabled, the PHY will attempt to auto-negotiate the
emilmont 4:d827a085afd9 49 * best link mode if the PHY supports it. If this is not enabled,
emilmont 4:d827a085afd9 50 * the PHY_USE_FULL_DUPLEX and PHY_USE_100MBS defines will be
emilmont 4:d827a085afd9 51 * used to select the link mode. Note that auto-negotiation may
emilmont 4:d827a085afd9 52 * take a few seconds to complete.
emilmont 4:d827a085afd9 53 */
emilmont 4:d827a085afd9 54 #define PHY_USE_AUTONEG 1 /**< Enables auto-negotiation mode. */
emilmont 4:d827a085afd9 55
emilmont 4:d827a085afd9 56 /** \brief Sets up the PHY interface to either full duplex operation or
emilmont 4:d827a085afd9 57 * half duplex operation if PHY_USE_AUTONEG is not enabled.
emilmont 4:d827a085afd9 58 */
emilmont 4:d827a085afd9 59 #define PHY_USE_FULL_DUPLEX 1 /**< Sets duplex mode to full. */
emilmont 4:d827a085afd9 60
emilmont 4:d827a085afd9 61 /** \brief Sets up the PHY interface to either 100MBS operation or 10MBS
emilmont 4:d827a085afd9 62 * operation if PHY_USE_AUTONEG is not enabled.
emilmont 4:d827a085afd9 63 */
emilmont 4:d827a085afd9 64 #define PHY_USE_100MBS 1 /**< Sets data rate to 100Mbps. */
emilmont 3:dd8b8f5b449a 65
emilmont 5:698d868a5285 66 /**
emilmont 3:dd8b8f5b449a 67 * @}
emilmont 4:d827a085afd9 68 */
emilmont 3:dd8b8f5b449a 69
emilmont 5:698d868a5285 70 /** @defgroup lwip_emac_config LWIP EMAC configuration
emilmont 3:dd8b8f5b449a 71 * @ingroup lwip_emac
emilmont 3:dd8b8f5b449a 72 *
emilmont 3:dd8b8f5b449a 73 * Configuration options for the LPC EMAC.
emilmont 3:dd8b8f5b449a 74 * @{
emilmont 4:d827a085afd9 75 */
emilmont 3:dd8b8f5b449a 76
emilmont 4:d827a085afd9 77 /** \brief Selects RMII or MII connection type in the EMAC peripheral
emilmont 4:d827a085afd9 78 */
emilmont 4:d827a085afd9 79 #define LPC_EMAC_RMII 1 /**< Use the RMII or MII driver variant .*/
emilmont 4:d827a085afd9 80
emilmont 4:d827a085afd9 81 /** \brief Defines the number of descriptors used for RX. This
emilmont 4:d827a085afd9 82 * must be a minimum value of 2.
emilmont 4:d827a085afd9 83 */
emilmont 4:d827a085afd9 84 #define LPC_NUM_BUFF_RXDESCS 3
emilmont 4:d827a085afd9 85
emilmont 4:d827a085afd9 86 /** \brief Defines the number of descriptors used for TX. Must
emilmont 4:d827a085afd9 87 * be a minimum value of 2.
emilmont 4:d827a085afd9 88 */
emilmont 4:d827a085afd9 89 #define LPC_NUM_BUFF_TXDESCS 3
emilmont 3:dd8b8f5b449a 90
emilmont 3:dd8b8f5b449a 91 /** \brief Set this define to 1 to enable bounce buffers for transmit pbufs
emilmont 3:dd8b8f5b449a 92 * that cannot be sent via the zero-copy method. Some chained pbufs
emilmont 3:dd8b8f5b449a 93 * may have a payload address that links to an area of memory that
emilmont 3:dd8b8f5b449a 94 * cannot be used for transmit DMA operations. If this define is
emilmont 3:dd8b8f5b449a 95 * set to 1, an extra check will be made with the pbufs. If a buffer
emilmont 3:dd8b8f5b449a 96 * is determined to be non-usable for zero-copy, a temporary bounce
emilmont 3:dd8b8f5b449a 97 * buffer will be created and used instead.
emilmont 3:dd8b8f5b449a 98 */
emilmont 3:dd8b8f5b449a 99 #define LPC_TX_PBUF_BOUNCE_EN 1
emilmont 4:d827a085afd9 100
emilmont 5:698d868a5285 101 /**
emilmont 3:dd8b8f5b449a 102 * @}
emilmont 4:d827a085afd9 103 */
emilmont 3:dd8b8f5b449a 104
emilmont 4:d827a085afd9 105 #ifdef __cplusplus
emilmont 4:d827a085afd9 106 }
emilmont 4:d827a085afd9 107 #endif
emilmont 4:d827a085afd9 108
emilmont 4:d827a085afd9 109 #endif /* __LPC_EMAC_CONFIG_H */
emilmont 4:d827a085afd9 110
emilmont 4:d827a085afd9 111 /* --------------------------------- End Of File ------------------------------ */