41 #ifndef CPSW_MACPORT_PRIV_H_ 42 #define CPSW_MACPORT_PRIV_H_ 48 #if ENET_CFG_IS_ON(CPSW_MACPORT_EST) 63 #define CPSW_MACPORT_PRIVATE_IOCTL(x) (ENET_IOCTL_TYPE_PRIVATE | \ 64 ENET_IOCTL_MACPORT_BASE | \ 65 ENET_IOCTL_PER_CPSW | \ 69 #define CPSW_MACPORT_FEATURE_SGMII (ENET_BIT(0U)) 72 #define CPSW_MACPORT_FEATURE_INTERVLAN (ENET_BIT(1U)) 75 #define CPSW_MACPORT_FEATURE_EST (ENET_BIT(2U)) 78 #define CPSW_MACPORT_ERRATA_SOFTRESET (ENET_BIT(0U)) 81 #define CPSW_MACPORT_INTERVLAN_ROUTEID_BASE (1U) 84 #define CPSW_MACPORT_INTERVLAN_ROUTE_MAX (CPSW_MACPORT_INTERVLAN_ROUTEID_LAST - \ 85 CPSW_MACPORT_INTERVLAN_ROUTEID_FIRST + 1U) 88 #define CPSW_MACPORT_INTERVLAN_ROUTE2PTR(routeId) (CPSW_MACPORT_INTERVLAN_ROUTEID_BASE + \ 89 (routeId) - CPSW_MACPORT_INTERVLAN_ROUTEID_FIRST) 98 typedef enum CpswMacPort_PrivIoctls_e
222 typedef struct CpswMacPort_SetSpecificInterVlanRouteInArgs_s
234 typedef struct CpswMacPort_InterVlanFreeRouteInfo_s
251 typedef struct CpswMacPort_ModCfg_s
266 typedef struct CpswMacPort_Obj_s
286 #if ENET_CFG_IS_ON(CPSW_MACPORT_EST) Get SGMII auto-negotiate link status from the SGMII status register.
Definition: cpsw_macport_priv.h:207
Enet_Type
Ethernet peripheral type.
Definition: enet_types.h:195
Find interVLAN route id matching the given route params.
Definition: cpsw_macport_priv.h:171
MAC port interface.
Definition: enet_mod_macport.h:273
EnetTas_TasState
TAS state types.
Definition: enet_mod_tas.h:219
CpswMacPort_Cfg macCfg
Definition: cpsw_macport_priv.h:254
EnetMacPort_LinkCfg linkCfg
Definition: cpsw_macport_priv.h:260
Link speed and duplexity configuration.
Definition: enet_mod_macport.h:288
Check if given interVLAN route is free.
Definition: cpsw_macport_priv.h:180
Get interVLAN free routes available for the given egress port.
Definition: cpsw_macport_priv.h:161
#define CPSW_MACPORT_INTERVLAN_ROUTE_MAX
Maximum number of interVLAN routes available per egress port.
Definition: cpsw_macport_priv.h:84
This file contains the type definitions and helper macros for the Enet MAC port module interface.
Set interVLAN config for egress MAC port at given route index.
Definition: cpsw_macport_priv.h:134
Ethernet Module object.
Definition: enet_mod.h:136
Disable MAC port.
Definition: cpsw_macport_priv.h:116
CpswMacPort_Obj * CpswMacPort_Handle
MAC port module handle.
Definition: cpsw_macport_priv.h:307
Delete the specified interVlan route.
Definition: cpsw_macport_priv.h:152
MAC port module configuration parameters.
Definition: cpsw_macport_priv.h:251
Get SGMII link status from the SGMII status register.
Definition: cpsw_macport_priv.h:216
Port interVLAN configuration parameters.
Definition: cpsw_macport.h:213
Gate control list. See IEEE Std 802.1Q-2018 8.6.9.4 D3-1.
Definition: enet_mod_tas.h:254
Config state machine variables. See IEEE Std 802.1Q-2018 8.6.8.4.
Definition: enet_mod_tas.h:277
EnetMod_Obj enetMod
Definition: cpsw_macport_priv.h:269
Information on free interVLAN routes available for an egress port.
Definition: cpsw_macport_priv.h:234
EnetMacPort_Interface mii
Definition: cpsw_macport_priv.h:257
Enable MAC port.
Definition: cpsw_macport_priv.h:107
int32_t CpswMacPort_ioctl(EnetMod_Handle hMod, uint32_t cmd, Enet_IoctlPrms *prms)
Run an IOCTL operation on CPSW MAC port.
CPSW MAC port object.
Definition: cpsw_macport_priv.h:266
Set transmit short gap configuration for MAC port.
Definition: cpsw_macport_priv.h:189
Get interVLAN config for egress MAC port.
Definition: cpsw_macport_priv.h:143
uint8_t state
Definition: tisci_pm_clock.h:130
Enet IOCTL param.
Definition: enet_ioctl.h:232
uint32_t numFreeRoutes
Definition: cpsw_macport_priv.h:237
This file contains the type definitions and helper macros for the CPSW MAC port module interface.
gptp_ipc_command_t cmd
Definition: gptpipc.h:140
CpswMacPort_InterVlanRoutingCfg routeCfg
Definition: cpsw_macport_priv.h:228
void CpswMacPort_close(EnetMod_Handle hMod)
Close CPSW MAC port.
bool enabled
Definition: cpsw_macport_priv.h:281
This file contains the type definitions and helper macros for the Enet Time Aware Shaper (TAS) module...
#define CPSW_MACPORT_PRIVATE_IOCTL(x)
Helper macro to create private IOCTL commands for CPSW MAC port module.
Definition: cpsw_macport_priv.h:63
CpswMacPort_PrivIoctls
MAC port private IOCTL commands.
Definition: cpsw_macport_priv.h:98
Alloc free route and set interVLAN config for egress MAC port.
Definition: cpsw_macport_priv.h:125
Enet_MacPort
MAC port.
Definition: enet_types.h:405
Enet_MacPort macPort
Definition: cpsw_macport_priv.h:272
struct EnetMod_Obj_s * EnetMod_Handle
Ethernet Module handle.
Definition: enet_mod.h:71
CpswMacPort_InterVlanRouteId
MAC port interVLAN route identifier.
Definition: cpsw_macport.h:189
Get transmit short gap configuration for MAC port.
Definition: cpsw_macport_priv.h:198
int32_t CpswMacPort_open(EnetMod_Handle hMod, Enet_Type enetType, uint32_t instId, const void *cfg, uint32_t cfgSize)
Open and initialize CPSW MAC port.
EnetMacPort_LinkCfg linkCfg
Definition: cpsw_macport_priv.h:284
CpswMacPort_InterVlanRouteId routeId
Definition: cpsw_macport_priv.h:225
Input args for CPSW_MACPORT_IOCTL_SET_SPECIFIC_INTERVLAN_ROUTE command.
Definition: cpsw_macport_priv.h:222
uint32_t instId
Definition: cpsw_macport_priv.h:278
MAC port module configuration parameters.
Definition: cpsw_macport.h:452
int32_t CpswMacPort_rejoin(EnetMod_Handle hMod, Enet_Type enetType, uint32_t instId)
Rejoin a running CPSW MAC port.
Enet_Type enetType
Definition: cpsw_macport_priv.h:275