Webserver+3d print

Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

a2fxxxm3_eth.h File Reference

a2fxxxm3_eth.h File Reference

SmartFusion (A2FxxxM3) Ethernet MAC controller. More...

Go to the source code of this file.

Data Structures

struct  A2fxxxm3TxDmaDesc
 Transmit DMA descriptor. More...
struct  A2fxxxm3RxDmaDesc
 Receive DMA descriptor. More...
struct  A2fxxxm3HashTableSetupFrame
 Hash table setup frame. More...

Functions

error_t a2fxxxm3EthInit (NetInterface *interface)
 A2FxxxM3 Ethernet MAC initialization.
void a2fxxxm3EthInitDmaDesc (NetInterface *interface)
 Initialize DMA descriptor lists.
void a2fxxxm3EthTick (NetInterface *interface)
 A2FxxxM3 Ethernet MAC timer handler.
void a2fxxxm3EthEnableIrq (NetInterface *interface)
 Enable interrupts.
void a2fxxxm3EthDisableIrq (NetInterface *interface)
 Disable interrupts.
void a2fxxxm3EthEventHandler (NetInterface *interface)
 A2FxxxM3 Ethernet MAC event handler.
error_t a2fxxxm3EthSendSetup (NetInterface *interface)
 Send a setup frame.
error_t a2fxxxm3EthSendPacket (NetInterface *interface, const NetBuffer *buffer, size_t offset)
 Send a packet.
error_t a2fxxxm3EthReceivePacket (NetInterface *interface)
 Receive a packet.
error_t a2fxxxm3EthSetMulticastFilter (NetInterface *interface)
 Configure multicast MAC address filtering.
error_t a2fxxxm3EthUpdateMacConfig (NetInterface *interface)
 Adjust MAC configuration parameters for proper operation.
void a2fxxxm3EthWritePhyReg (uint8_t phyAddr, uint8_t regAddr, uint16_t data)
 Write PHY register.
uint16_t a2fxxxm3EthReadPhyReg (uint8_t phyAddr, uint8_t regAddr)
 Read PHY register.
void a2fxxxm3EthWriteSmi (uint32_t data, uint_t length)
 SMI write operation.
uint32_t a2fxxxm3EthReadSmi (uint_t length)
 SMI read operation.
uint32_t a2fxxxm3EthCalcCrc (const void *data, size_t length)
 CRC calculation.

Variables

const NicDriver a2fxxxm3EthDriver
 A2FxxxM3 Ethernet MAC driver.

Detailed Description

SmartFusion (A2FxxxM3) 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 a2fxxxm3_eth.h.


Function Documentation

uint32_t a2fxxxm3EthCalcCrc ( 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 723 of file a2fxxxm3_eth.c.

void a2fxxxm3EthDisableIrq ( NetInterface *  interface )

Disable interrupts.

Parameters:
[in]interfaceUnderlying network interface

Definition at line 255 of file a2fxxxm3_eth.c.

void a2fxxxm3EthEnableIrq ( NetInterface *  interface )

Enable interrupts.

Parameters:
[in]interfaceUnderlying network interface

Definition at line 241 of file a2fxxxm3_eth.c.

void a2fxxxm3EthEventHandler ( NetInterface *  interface )

A2FxxxM3 Ethernet MAC event handler.

Parameters:
[in]interfaceUnderlying network interface

Definition at line 321 of file a2fxxxm3_eth.c.

error_t a2fxxxm3EthInit ( NetInterface *  interface )

A2FxxxM3 Ethernet MAC initialization.

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

Definition at line 114 of file a2fxxxm3_eth.c.

void a2fxxxm3EthInitDmaDesc ( NetInterface *  interface )

Initialize DMA descriptor lists.

Parameters:
[in]interfaceUnderlying network interface

Definition at line 173 of file a2fxxxm3_eth.c.

uint16_t a2fxxxm3EthReadPhyReg ( uint8_t  phyAddr,
uint8_t  regAddr 
)

Read PHY register.

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

Definition at line 618 of file a2fxxxm3_eth.c.

uint32_t a2fxxxm3EthReadSmi ( uint_t  length )

SMI read operation.

Parameters:
[in]lengthNumber of bits to be read
Returns:
Data resulting from the MDIO read operation

Definition at line 686 of file a2fxxxm3_eth.c.

error_t a2fxxxm3EthReceivePacket ( NetInterface *  interface )

Receive a packet.

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

Definition at line 452 of file a2fxxxm3_eth.c.

error_t a2fxxxm3EthSendPacket ( 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 397 of file a2fxxxm3_eth.c.

error_t a2fxxxm3EthSendSetup ( NetInterface *  interface )

Send a setup frame.

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

Definition at line 352 of file a2fxxxm3_eth.c.

error_t a2fxxxm3EthSetMulticastFilter ( NetInterface *  interface )

Configure multicast MAC address filtering.

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

Definition at line 514 of file a2fxxxm3_eth.c.

void a2fxxxm3EthTick ( NetInterface *  interface )

A2FxxxM3 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 229 of file a2fxxxm3_eth.c.

error_t a2fxxxm3EthUpdateMacConfig ( NetInterface *  interface )

Adjust MAC configuration parameters for proper operation.

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

Definition at line 553 of file a2fxxxm3_eth.c.

void a2fxxxm3EthWritePhyReg ( 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 590 of file a2fxxxm3_eth.c.

void a2fxxxm3EthWriteSmi ( uint32_t  data,
uint_t  length 
)

SMI write operation.

Parameters:
[in]dataRaw data to be written
[in]lengthNumber of bits to be written

Definition at line 650 of file a2fxxxm3_eth.c.


Variable Documentation

A2FxxxM3 Ethernet MAC driver.

Definition at line 87 of file a2fxxxm3_eth.c.