summaryrefslogtreecommitdiff
path: root/FreeRTOS-Plus/Source/FreeRTOS-Plus-UDP/portable/NetworkInterface/LPC18xx/lpc18xx_43xx_EMAC_LPCOpen.h
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS-Plus/Source/FreeRTOS-Plus-UDP/portable/NetworkInterface/LPC18xx/lpc18xx_43xx_EMAC_LPCOpen.h')
-rw-r--r--FreeRTOS-Plus/Source/FreeRTOS-Plus-UDP/portable/NetworkInterface/LPC18xx/lpc18xx_43xx_EMAC_LPCOpen.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/FreeRTOS-Plus/Source/FreeRTOS-Plus-UDP/portable/NetworkInterface/LPC18xx/lpc18xx_43xx_EMAC_LPCOpen.h b/FreeRTOS-Plus/Source/FreeRTOS-Plus-UDP/portable/NetworkInterface/LPC18xx/lpc18xx_43xx_EMAC_LPCOpen.h
new file mode 100644
index 000000000..093d642dc
--- /dev/null
+++ b/FreeRTOS-Plus/Source/FreeRTOS-Plus-UDP/portable/NetworkInterface/LPC18xx/lpc18xx_43xx_EMAC_LPCOpen.h
@@ -0,0 +1,83 @@
+/*
+ * FreeRTOS+UDP V1.0.0 (C) 2013 Real Time Engineers ltd.
+ *
+ * This file is part of the FreeRTOS+UDP distribution. The FreeRTOS+UDP license
+ * terms are different to the FreeRTOS license terms.
+ *
+ * FreeRTOS+UDP uses a dual license model that allows the software to be used
+ * under a standard GPL open source license, or a commercial license. The
+ * standard GPL license (unlike the modified GPL license under which FreeRTOS
+ * itself is distributed) requires that all software statically linked with
+ * FreeRTOS+UDP is also distributed under the same GPL V2 license terms.
+ * Details of both license options follow:
+ *
+ * - Open source licensing -
+ * FreeRTOS+UDP is a free download and may be used, modified, evaluated and
+ * distributed without charge provided the user adheres to version two of the
+ * GNU General Public License (GPL) and does not remove the copyright notice or
+ * this text. The GPL V2 text is available on the gnu.org web site, and on the
+ * following URL: http://www.FreeRTOS.org/gpl-2.0.txt.
+ *
+ * - Commercial licensing -
+ * Businesses and individuals that for commercial or other reasons cannot comply
+ * with the terms of the GPL V2 license must obtain a commercial license before
+ * incorporating FreeRTOS+UDP into proprietary software for distribution in any
+ * form. Commercial licenses can be purchased from http://shop.freertos.org/udp
+ * and do not require any source files to be changed.
+ *
+ * FreeRTOS+UDP is distributed in the hope that it will be useful. You cannot
+ * use FreeRTOS+UDP unless you agree that you use the software 'as is'.
+ * FreeRTOS+UDP is provided WITHOUT ANY WARRANTY; without even the implied
+ * warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. Real Time Engineers Ltd. disclaims all conditions and terms, be they
+ * implied, expressed, or statutory.
+ *
+ * 1 tab == 4 spaces!
+ *
+ * http://www.FreeRTOS.org
+ * http://www.FreeRTOS.org/udp
+ *
+ */
+
+#ifndef LPC18xx_43xx_EMAC_H
+#define LPC18xx_43xx_EMAC_H
+
+/*
+ * Initialise the MAC and PHY.
+ */
+portBASE_TYPE xEMACInit( uint8_t ucMACAddress[ 6 ] );
+
+/*
+ * Return pdTRUE if there is a FreeRTOS Tx descriptor. Return pdFALSE if all
+ * Tx descriptors are already in use.
+ */
+portBASE_TYPE xEMACIsTxDescriptorAvailable( void );
+
+/*
+ * Assign a buffer to a Tx descriptor so it is ready to be transmitted, but
+ * don't start the transmission yet.
+ */
+void vEMACAssignBufferToDescriptor( uint8_t * pucBuffer );
+
+/*
+ * Start transmitting the buffer pointed to by the next Tx descriptor. The
+ * buffer must have first been allocated to the Tx descriptor using a call to
+ * vEMACAssignBufferToDescriptor().
+ */
+void vEMACStartNextTransmission( uint32_t ulLength );
+
+/*
+ * The data pointed to by the Rx descriptor has been consumed, and the Rx
+ * descriptor can be returned to the control of the DMS.
+ */
+void vEMACReturnRxDescriptor( void );
+
+/*
+ * Returns pdTRUE if the next Rx descriptor contains received data. Returns
+ * pdFLASE fi the next Rx descriptor is still under the control of the DMA.
+ */
+portBASE_TYPE xEMACRxDataAvailable( void );
+void vEMACSwapEmptyBufferForRxedData( xNetworkBufferDescriptor_t *pxNetworkBuffer );
+
+#endif /* LPC18xx_43xx_EMAC_H */
+