RZT Flexible Software Package Documentation  Release v2.3.0

 
Ethernet Selector Interface

Detailed Description

Interface for Ethernet Selector functions.

Summary

The Ethernet Selector module (r_ether_selector) provides an API for standard Ethernet Selector communications applications that use the Ethernet Subsystem peripheral.

The Ethernet Selector interface supports the following features:

Data Structures

struct  ether_selector_cfg_t
 
struct  ether_selector_api_t
 
struct  ether_selector_instance_t
 

Typedefs

typedef void ether_selector_ctrl_t
 

Enumerations

enum  ether_selector_phylink_polarity_t
 
enum  ether_selector_interface_t
 
enum  ether_selector_speed_t
 
enum  ether_selector_duplex_t
 
enum  ether_selector_ref_clock_t
 

Data Structure Documentation

◆ ether_selector_cfg_t

struct ether_selector_cfg_t

Configuration parameters.

Data Fields
uint8_t channel Channel number.
ether_selector_phylink_polarity_t phylink PHY link signal polarity.
ether_selector_interface_t interface Interface mode.
ether_selector_speed_t speed Interface speed.
ether_selector_duplex_t duplex Interface duplex.
ether_selector_ref_clock_t ref_clock Interface REF_CLK.
void const * p_extend Placeholder for user extension.

◆ ether_selector_api_t

struct ether_selector_api_t

Functions implemented at the HAL layer will follow this API.

Data Fields

fsp_err_t(* open )(ether_selector_ctrl_t *const p_api_ctrl, ether_selector_cfg_t const *const p_cfg)
 
fsp_err_t(* close )(ether_selector_ctrl_t *const p_api_ctrl)
 
fsp_err_t(* converterSet )(ether_selector_ctrl_t *const p_api_ctrl, ether_selector_speed_t speed, ether_selector_duplex_t duplex)
 

Field Documentation

◆ open

fsp_err_t(* ether_selector_api_t::open) (ether_selector_ctrl_t *const p_api_ctrl, ether_selector_cfg_t const *const p_cfg)

Open driver. Set Ethernet mode such as Ethernet MAC or Ethernet Switch or EtherCAT for each port.

Parameters
[in]p_api_ctrlPointer to control structure.
[in]p_cfgPointer to selector configuration structure.

◆ close

fsp_err_t(* ether_selector_api_t::close) (ether_selector_ctrl_t *const p_api_ctrl)

Close driver.

Parameters
[in]p_api_ctrlPointer to control structure.

◆ converterSet

fsp_err_t(* ether_selector_api_t::converterSet) (ether_selector_ctrl_t *const p_api_ctrl, ether_selector_speed_t speed, ether_selector_duplex_t duplex)

Set the Converter speed and duplex in runtime.

Parameters
[in]p_api_ctrlPointer to control structure.
[in]speedConverter speed.
[in]duplexConverter duplex mode.

◆ ether_selector_instance_t

struct ether_selector_instance_t

This structure encompasses everything that is needed to use an instance of this interface.

Data Fields
ether_selector_ctrl_t * p_ctrl Pointer to the control structure for this instance.
ether_selector_cfg_t const * p_cfg Pointer to the configuration structure for this instance.
ether_selector_api_t const * p_api Pointer to the API structure for this instance.

Typedef Documentation

◆ ether_selector_ctrl_t

typedef void ether_selector_ctrl_t

Control block. Allocate an instance specific control block to pass into the API calls.

Enumeration Type Documentation

◆ ether_selector_phylink_polarity_t

PHY link signal polarity

Enumerator
ETHER_SELECTOR_PHYLINK_POLARITY_LOW 

Active-Low link signal.

ETHER_SELECTOR_PHYLINK_POLARITY_HIGH 

Active-High link signal.

◆ ether_selector_interface_t

Selector mode

Enumerator
ETHER_SELECTOR_INTERFACE_MII 

MII.

ETHER_SELECTOR_INTERFACE_RMII 

RMII.

ETHER_SELECTOR_INTERFACE_GMII 

GMII.

ETHER_SELECTOR_INTERFACE_RGMII 

RGMII.

◆ ether_selector_speed_t

Selector speed

Enumerator
ETHER_SELECTOR_SPEED_10_MBPS 

10Mbit/s

ETHER_SELECTOR_SPEED_100_MBPS 

100Mbit/s

ETHER_SELECTOR_SPEED_1000_MBPS 

1000Mbit/s

◆ ether_selector_duplex_t

Selector duplex

Enumerator
ETHER_SELECTOR_DUPLEX_HALF 

Half-Duplex.

ETHER_SELECTOR_DUPLEX_FULL 

Full-Duplex.

◆ ether_selector_ref_clock_t

Selector reference clock

Enumerator
ETHER_SELECTOR_REF_CLOCK_INPUT 

REF_CLK input.

ETHER_SELECTOR_REF_CLOCK_OUTPUT 

REF_CLK output.