summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/gmacd.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/atsam/libraries/libchip/include/gmacd.h')
-rw-r--r--c/src/lib/libbsp/arm/atsam/libraries/libchip/include/gmacd.h283
1 files changed, 0 insertions, 283 deletions
diff --git a/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/gmacd.h b/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/gmacd.h
deleted file mode 100644
index 9cda2f8a6c..0000000000
--- a/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/gmacd.h
+++ /dev/null
@@ -1,283 +0,0 @@
-/* ---------------------------------------------------------------------------- */
-/* Atmel Microcontroller Software Support */
-/* SAM Software Package License */
-/* ---------------------------------------------------------------------------- */
-/* Copyright (c) 2015, Atmel Corporation */
-/* */
-/* All rights reserved. */
-/* */
-/* Redistribution and use in source and binary forms, with or without */
-/* modification, are permitted provided that the following condition is met: */
-/* */
-/* - Redistributions of source code must retain the above copyright notice, */
-/* this list of conditions and the disclaimer below. */
-/* */
-/* Atmel's name may not be used to endorse or promote products derived from */
-/* this software without specific prior written permission. */
-/* */
-/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
-/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
-/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
-/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
-/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
-/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
-/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
-/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
-/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-/* ---------------------------------------------------------------------------- */
-
-/** \file */
-
-/** \addtogroup gmacd_module
- * @{
- * Implement GMAC data transfer and PHY management functions.
- *
- * \section Usage
- * -# Implement GMAC interrupt handler, which must invoke GMACD_Handler()
- * to handle GMAC interrupt events.
- * -# Implement sGmacd instance in application.
- * -# Initialize the instance with GMACD_Init() and GMACD_InitTransfer(),
- * so that GMAC data can be transmitted/received.
- * -# Some management callbacks can be set by GMACD_SetRxCallback()
- * and GMACD_SetTxWakeupCallback().
- * -# Send ethernet packets using GMACD_Send(), GMACD_TxLoad() is used
- * to check the free space in TX queue.
- * -# Check and obtain received ethernet packets via GMACD_Poll().
- *
- * \sa \ref gmacb_module, \ref gmac_module
- *
- * Related files:\n
- * \ref gmacd.c\n
- * \ref gmacd.h.\n
- *
- * \defgroup gmacd_defines GMAC Driver Defines
- * \defgroup gmacd_types GMAC Driver Types
- * \defgroup gmacd_functions GMAC Driver Functions
- */
-/**@}*/
-
-#ifndef _GMACD_H_
-#define _GMACD_H_
-
-/*---------------------------------------------------------------------------
- * Headers
- *---------------------------------------------------------------------------*/
-
-#include "chip.h"
-
-
-/*---------------------------------------------------------------------------
- * Definitions
- *---------------------------------------------------------------------------*/
-/** \addtogroup gmacd_defines
- @{*/
-
-
-/** \addtogroup gmacd_rc GMACD Return Codes
- @{*/
-#define GMACD_OK 0 /**< Operation OK */
-#define GMACD_TX_BUSY 1 /**< TX in progress */
-#define GMACD_RX_NULL 1 /**< No data received */
-/** Buffer size not enough */
-#define GMACD_SIZE_TOO_SMALL 2
-/** Parameter error, TX packet invalid or RX size too small */
-#define GMACD_PARAM 3
-/** Transfer is not initialized */
-#define GMACD_NOT_INITIALIZED 4
-/** @}*/
-
-/** @}*/
-
-/* Should be a power of 2.
- - Buffer Length to store the timestamps of 1588 event messages
-*/
-#define EFRS_BUFFER_LEN (1u)
-
-/*---------------------------------------------------------------------------
-* Types
-*---------------------------------------------------------------------------*/
-/** \addtogroup gmacd_types
- @{*/
-
-typedef enum ptpMsgType_t {
- SYNC_MSG_TYPE = 0,
- DELAY_REQ_MSG_TYPE = 1,
- PDELAY_REQ_TYPE = 2,
- PDELAY_RESP_TYPE = 3,
- FOLLOW_UP_MSG_TYPE = 8,
- DELAY_RESP_MSG_TYPE = 9
-} ptpMsgType;
-
-
-
-/** RX callback */
-typedef void (*fGmacdTransferCallback)(uint32_t status);
-/** Wakeup callback */
-typedef void (*fGmacdWakeupCallback)(void);
-/** Tx PTP message callback */
-typedef void (*fGmacdTxPtpEvtCallBack) (ptpMsgType msg, uint32_t sec, \
- uint32_t nanosec, uint16_t seqId);
-
-/**
- * GMAC scatter-gather entry.
- */
-typedef struct _GmacSG {
- uint32_t size;
- void *pBuffer;
-} sGmacSG;
-
-/**
- * GMAC scatter-gather list.
- */
-typedef struct _GmacSGList {
- uint32_t len;
- sGmacSG *sg;
-} sGmacSGList;
-
-/**
- * GMAC Queue driver.
- */
-typedef struct _GmacQueueDriver {
- uint8_t *pTxBuffer;
- /** Pointer to allocated RX buffer */
- uint8_t *pRxBuffer;
-
- /** Pointer to Rx TDs (must be 8-byte aligned) */
- sGmacRxDescriptor *pRxD;
- /** Pointer to Tx TDs (must be 8-byte aligned) */
- sGmacTxDescriptor *pTxD;
-
- /** Optional callback to be invoked once a frame has been received */
- fGmacdTransferCallback fRxCb;
- /** Optional callback to be invoked once several TD have been released */
- fGmacdWakeupCallback fWakupCb;
- /** Optional callback list to be invoked once TD has been processed */
- fGmacdTransferCallback *fTxCbList;
-
- /** Optional callback to be invoked on transmit of PTP Event messages */
- fGmacdTxPtpEvtCallBack fTxPtpEvtCb;
-
- /** RX TD list size */
- uint16_t wRxListSize;
- /** RX index for current processing TD */
- uint16_t wRxI;
-
- /** TX TD list size */
- uint16_t wTxListSize;
- /** Circular buffer head pointer by upper layer (buffer to be sent) */
- uint16_t wTxHead;
- /** Circular buffer tail pointer incremented by handlers (buffer sent) */
- uint16_t wTxTail;
-
- /** Number of free TD before wakeup callback is invoked */
- uint8_t bWakeupThreshold;
-
- /** RX buffer size */
- uint16_t wTxBufferSize;
- uint16_t wRxBufferSize;
-
-} sGmacQd;
-
-/**
- * GMAC driver struct.
- */
-typedef struct _GmacDriver {
-
- /** Pointer to HW register base */
- Gmac *pHw;
- /** HW ID */
- uint8_t bId;
- /** Base Queue list params **/
- sGmacQd queueList[NUM_GMAC_QUEUES];
-} sGmacd;
-
-/**
- * GMAC driver init struct.
- */
-typedef struct _GmacInit {
- uint32_t bIsGem: 1;
- uint32_t reserved: 31;
-
- uint8_t bDmaBurstLength;
-
- /** RX descriptor and data buffers */
- uint8_t *pRxBuffer;
- /** RX data buffers: should be wRxBufferSize * wRxSize byte long in a DMA
- capable memory region */
- sGmacRxDescriptor *pRxD;
- /** RX buffer descriptors: should have wRxSize entries in a DMA
- capable memory region */
- uint16_t wRxBufferSize; /** size of a single RX data buffer */
- uint16_t wRxSize; /** number of RX descriptor and data buffers */
-
- /** TX descriptor and data buffers */
- /** TX data buffers: should be wTxBufferSize * wTxSize byte long
- in a DMA capable memory region */
- uint8_t *pTxBuffer;
- /** TX buffer descriptors: should have wTxSize entries
- in a DMA capable non-cached memory region */
- sGmacTxDescriptor *pTxD;
- /** size of a single TX data buffer */
- uint16_t wTxBufferSize;
- /** number of TX descriptor and data buffers */
- uint16_t wTxSize;
-
- fGmacdTransferCallback *pTxCb; /** should have wTxSize entries */
-} sGmacInit;
-/** @}*/
-
-/** \addtogroup gmacd_functions
- @{*/
-
-/*---------------------------------------------------------------------------
- * GMAC Exported functions
- *---------------------------------------------------------------------------*/
-
-extern void GMACD_Handler(sGmacd *pGmacd , gmacQueList_t queIdx);
-
-extern void GMACD_Init(sGmacd *pGmacd,
- Gmac *pHw,
- uint8_t bID,
- uint8_t enableCAF,
- uint8_t enableNBC);
-
-extern uint8_t GMACD_InitTransfer(sGmacd *pGmacd,
- const sGmacInit *pInit, gmacQueList_t queIdx);
-
-extern void GMACD_Reset(sGmacd *pGmacd);
-
-extern uint8_t GMACD_SendSG(sGmacd *pGmacd,
- const sGmacSGList *sgl,
- fGmacdTransferCallback fTxCb,
- gmacQueList_t queIdx);
-
-extern uint8_t GMACD_Send(sGmacd *pGmacd,
- void *pBuffer,
- uint32_t size,
- fGmacdTransferCallback fTxCb,
- gmacQueList_t queIdx);
-
-extern uint32_t GMACD_TxLoad(sGmacd *pGmacd, gmacQueList_t queIdx);
-
-extern uint8_t GMACD_Poll(sGmacd *pGmacd,
- uint8_t *pFrame,
- uint32_t frameSize,
- uint32_t *pRcvSize,
- gmacQueList_t queIdx);
-
-extern void GMACD_SetRxCallback(sGmacd *pGmacd, fGmacdTransferCallback
- fRxCb, gmacQueList_t queIdx);
-
-extern uint8_t GMACD_SetTxWakeupCallback(sGmacd *pGmacd,
- fGmacdWakeupCallback fWakeup,
- uint8_t bThreshold,
- gmacQueList_t queIdx);
-
-extern void GMACD_TxPtpEvtMsgCBRegister (sGmacd *pGmacd,
- fGmacdTxPtpEvtCallBack pTxPtpEvtCb,
- gmacQueList_t queIdx);
-
-/** @}*/
-
-#endif // #ifndef _GMACD_H_