Sergey Pastor / 1

Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

aps3_eth.h File Reference

aps3_eth.h File Reference

Cortus APS3 Ethernet MAC controller. More...

Go to the source code of this file.

Data Structures

struct  Aps3TxDmaDesc
 TX DMA descriptor. More...
struct  Aps3RxDmaDesc
 RX DMA descriptor. More...

Functions

error_t aps3EthInit (NetInterface *interface)
 Cortus APS3 Ethernet MAC initialization.
void aps3EthInitDmaDesc (NetInterface *interface)
 Initialize DMA descriptor lists.
void aps3EthTick (NetInterface *interface)
 Cortus APS3 Ethernet MAC timer handler.
void aps3EthEnableIrq (NetInterface *interface)
 Enable interrupts.
void aps3EthDisableIrq (NetInterface *interface)
 Disable interrupts.
void aps3EthTxIrqHandler (void) __attribute__((noinline))
 Ethernet MAC transmit interrupt service routine.
void aps3EthRxIrqHandler (void) __attribute__((noinline))
 Ethernet MAC receive interrupt service routine.
void aps3EthEventHandler (NetInterface *interface)
 Cortus APS3 Ethernet MAC event handler.
error_t aps3EthSendPacket (NetInterface *interface, const NetBuffer *buffer, size_t offset)
 Send a packet.
error_t aps3EthReceivePacket (NetInterface *interface)
 Receive a packet.
error_t aps3EthSetMulticastFilter (NetInterface *interface)
 Configure multicast MAC address filtering.
error_t aps3EthUpdateMacConfig (NetInterface *interface)
 Adjust MAC configuration parameters for proper operation.
void aps3EthWritePhyReg (uint8_t phyAddr, uint8_t regAddr, uint16_t data)
 Write PHY register.
uint16_t aps3EthReadPhyReg (uint8_t phyAddr, uint8_t regAddr)
 Read PHY register.
uint32_t aps3EthCalcCrc (const void *data, size_t length)
 CRC calculation.

Variables

const NicDriver aps3EthDriver
 Cortus APS3 Ethernet MAC driver.

Detailed Description

Cortus APS3 Ethernet MAC controller.

License

Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author:
Oryx Embedded SARL (www.oryx-embedded.com)
Version:
1.7.6

Definition in file aps3_eth.h.


Function Documentation

uint32_t aps3EthCalcCrc ( const void *  data,
size_t  length 
)

CRC calculation.

Parameters:
[in]dataPointer to the data over which to calculate the CRC
[in]lengthNumber of bytes to process
Returns:
Resulting CRC value

Definition at line 622 of file aps3_eth.c.

void aps3EthDisableIrq ( NetInterface *  interface )

Disable interrupts.

Parameters:
[in]interfaceUnderlying network interface

Definition at line 261 of file aps3_eth.c.

void aps3EthEnableIrq ( NetInterface *  interface )

Enable interrupts.

Parameters:
[in]interfaceUnderlying network interface

Definition at line 246 of file aps3_eth.c.

void aps3EthEventHandler ( NetInterface *  interface )

Cortus APS3 Ethernet MAC event handler.

Parameters:
[in]interfaceUnderlying network interface

Definition at line 336 of file aps3_eth.c.

error_t aps3EthInit ( NetInterface *  interface )

Cortus APS3 Ethernet MAC initialization.

Parameters:
[in]interfaceUnderlying network interface
Returns:
Error code

Definition at line 90 of file aps3_eth.c.

void aps3EthInitDmaDesc ( NetInterface *  interface )

Initialize DMA descriptor lists.

Parameters:
[in]interfaceUnderlying network interface

Definition at line 187 of file aps3_eth.c.

uint16_t aps3EthReadPhyReg ( uint8_t  phyAddr,
uint8_t  regAddr 
)

Read PHY register.

Parameters:
[in]phyAddrPHY address
[in]regAddrRegister address
Returns:
Register value

Definition at line 595 of file aps3_eth.c.

error_t aps3EthReceivePacket ( NetInterface *  interface )

Receive a packet.

Parameters:
[in]interfaceUnderlying network interface
Returns:
Error code

Definition at line 427 of file aps3_eth.c.

void aps3EthRxIrqHandler ( void   )

Ethernet MAC receive interrupt service routine.

Definition at line 308 of file aps3_eth.c.

error_t aps3EthSendPacket ( NetInterface *  interface,
const NetBuffer buffer,
size_t  offset 
)

Send a packet.

Parameters:
[in]interfaceUnderlying network interface
[in]bufferMulti-part buffer containing the data to send
[in]offsetOffset to the first data byte
Returns:
Error code

Definition at line 366 of file aps3_eth.c.

error_t aps3EthSetMulticastFilter ( NetInterface *  interface )

Configure multicast MAC address filtering.

Parameters:
[in]interfaceUnderlying network interface
Returns:
Error code

Definition at line 480 of file aps3_eth.c.

void aps3EthTick ( NetInterface *  interface )

Cortus APS3 Ethernet MAC timer handler.

This routine is periodically called by the TCP/IP stack to handle periodic operations such as polling the link state

Parameters:
[in]interfaceUnderlying network interface

Definition at line 234 of file aps3_eth.c.

void aps3EthTxIrqHandler ( void   )

Ethernet MAC transmit interrupt service routine.

Definition at line 275 of file aps3_eth.c.

error_t aps3EthUpdateMacConfig ( NetInterface *  interface )

Adjust MAC configuration parameters for proper operation.

Parameters:
[in]interfaceUnderlying network interface
Returns:
Error code

Definition at line 541 of file aps3_eth.c.

void aps3EthWritePhyReg ( uint8_t  phyAddr,
uint8_t  regAddr,
uint16_t  data 
)

Write PHY register.

Parameters:
[in]phyAddrPHY address
[in]regAddrRegister address
[in]dataRegister value

Definition at line 569 of file aps3_eth.c.


Variable Documentation

Cortus APS3 Ethernet MAC driver.

Definition at line 63 of file aps3_eth.c.