|
AM64x MCU+ SDK
08.02.00
|
|
Go to the documentation of this file.
54 #include <drivers/hw_include/csl_types.h>
76 #define ENET_SOK (CSL_PASS)
79 #define ENET_SINPROGRESS (1)
82 #define ENET_EFAIL (CSL_EFAIL)
85 #define ENET_EBADARGS (CSL_EBADARGS)
88 #define ENET_EINVALIDPARAMS (CSL_EINVALID_PARAMS)
91 #define ENET_ETIMEOUT (CSL_ETIMEOUT)
94 #define ENET_EALLOC (CSL_EALLOC)
97 #define ENET_EUNEXPECTED (CSL_EALLOC - 1)
100 #define ENET_EBUSY (CSL_EALLOC - 2)
103 #define ENET_EALREADYOPEN (CSL_EALLOC - 3)
106 #define ENET_EPERM (CSL_EALLOC - 4)
109 #define ENET_ENOTSUPPORTED (CSL_EALLOC - 5)
112 #define ENET_ENOTFOUND (CSL_EALLOC - 6)
115 #define ENET_EUNKNOWNIOCTL (CSL_EALLOC - 7)
118 #define ENET_EMALFORMEDIOCTL (CSL_EALLOC - 8)
123 #define ENET_ARRAYSIZE(x) (sizeof(x) / sizeof(x[0]))
126 #define ENET_BIT(n) (1U << (n))
129 #define ENET_GET_BIT(val, n) (((val) & ENET_BIT(n)) >> (n))
132 #define ENET_IS_BIT_SET(val, n) (((val) & ENET_BIT(n)) != 0U)
135 #define ENET_NOT_ZERO(val) ((uint32_t)0U != (uint32_t)(val))
138 #define ENET_FEXT(reg, PER_REG_FIELD) \
139 (((reg) & PER_REG_FIELD##_MASK) >> PER_REG_FIELD##_SHIFT)
142 #define ENET_FINS(reg, PER_REG_FIELD, val) \
143 ((reg) = ((reg) & ~PER_REG_FIELD##_MASK) \
144 | (((val) << PER_REG_FIELD##_SHIFT) & PER_REG_FIELD##_MASK))
147 #define ENET_DIV_ROUNDUP(val, div) (((val) + (div) - 1) / (div))
150 #define ENET_VERSION_NONE (0xFFFFFFFFU)
153 #define ENET_MAC_ADDR_LEN (6U)
156 #define ENET_OUI_ADDR_LEN (3U)
159 #define ENET_IPv4_ADDR_LEN (4U)
162 #define ENET_IPv6_ADDR_LEN (16U)
165 #define ENET_PRI_NUM (8U)
168 #define ENET_PRI_MIN (0U)
171 #define ENET_PRI_MAX (ENET_PRI_NUM - 1U)
174 #define ENET_TOS_PRI_NUM (64U)
177 #define ENET_TOS_PRI_MIN (0U)
180 #define ENET_TOS_PRI_MAX (ENET_TOS_PRI_NUM - 1U)
183 #define ENET_VLAN_ID_MAX (4095U)
186 #define ENET_ETHERTYPE_PTP (0x88F7U)
195 typedef enum Enet_Type_e
226 #define ENET_TYPE_NUM (ENET_TYPE_COUNT + 1U)
231 typedef enum Enet_Magic_e
243 typedef enum Enet_CrcType_e
261 typedef enum Enet_Event_e
315 typedef struct Enet_Version_s
339 typedef enum Enet_Speed_e
357 typedef enum Enet_Duplexity_e
372 typedef enum Enet_VlanTagType_e
384 typedef struct Enet_VlanTag_s
405 typedef enum Enet_MacPort_e
455 #define ENET_MAC_PORT_NUM ((uint32_t)ENET_MAC_PORT_LAST + 1U)
463 #define ENET_MACPORT_NORM(n) ((n) - ENET_MAC_PORT_FIRST)
471 #define ENET_MACPORT_DENORM(n) ((Enet_MacPort)((n) + ENET_MAC_PORT_FIRST))
480 #define ENET_MACPORT_ID(n) ((n) - ENET_MAC_PORT_FIRST + 1U)
483 #define ENET_MAC_PORT_INV ((Enet_MacPort)0xFFFFU)
486 #define ENET_TRAFFIC_CLASS_INV ((uint32_t)0xFFFFU)
493 #define ENET_MACPORT_MASK(n) (ENET_BIT(ENET_MACPORT_NORM(n)))
uint16_t vlanId
Definition: enet_types.h:396
@ ENET_EVT_TIMESTAMP_TX
Definition: enet_types.h:293
@ ENET_MAC_PORT_3
Definition: enet_types.h:417
@ ENET_CPSW_5G
Definition: enet_types.h:216
@ ENET_VLAN_TAG_TYPE_INNER
Definition: enet_types.h:375
Enet_VlanTagType
Double tagging VLAN type.
Definition: enet_types.h:373
Enet_Speed
MAC interface speed.
Definition: enet_types.h:340
@ ENET_CRC_ETHERNET
Definition: enet_types.h:246
@ ENET_MAC_PORT_LAST
Definition: enet_types.h:435
@ ENET_MAC_PORT_4
Definition: enet_types.h:420
uint32_t other1
Definition: enet_types.h:330
@ ENET_EVT_TIMESTAMP_SWPUSH
Definition: enet_types.h:273
@ ENET_MAC_PORT_8
Definition: enet_types.h:432
static bool Enet_isCpswFamily(Enet_Type enetType)
Check if Ethernet peripheral type is part of CPSW family.
Definition: enet_types.h:533
@ ENET_MAC_PORT_1
Definition: enet_types.h:411
Enet_MacPort
MAC port.
Definition: enet_types.h:406
Enet_Event
Ethernet events.
Definition: enet_types.h:262
@ ENET_MAC_PORT_6
Definition: enet_types.h:426
@ ENET_DUPLEX_AUTO
Definition: enet_types.h:366
@ ENET_GMAC_3G
Definition: enet_types.h:207
@ ENET_ICSSG_SWITCH
Definition: enet_types.h:204
@ ENET_EVT_TIMESTAMP_ROLLOVER
Definition: enet_types.h:279
@ ENET_EVT_ASYNC_CMD_RESP
Definition: enet_types.h:270
#define ENET_BIT(n)
Macro to set bit at given bit position.
Definition: enet_types.h:126
@ ENET_CPSW_2G
Definition: enet_types.h:210
@ ENET_SPEED_10MBIT
Definition: enet_types.h:342
@ ENET_MAGIC
Definition: enet_types.h:234
Enet_Magic
Enet driver magic value, used to indicate if driver is open or not.
Definition: enet_types.h:232
VLAN tag.
Definition: enet_types.h:385
@ ENET_DUPLEX_FULL
Definition: enet_types.h:363
@ ENET_CPSW_3G
Definition: enet_types.h:213
Enet_VlanTagType tagType
Definition: enet_types.h:399
@ ENET_MAC_PORT_FIRST
Definition: enet_types.h:408
@ ENET_CRC_CASTAGNOLI
Definition: enet_types.h:249
@ ENET_NULL
Definition: enet_types.h:198
uint32_t other2
Definition: enet_types.h:333
Enet_Duplexity
MAC interface duplexity.
Definition: enet_types.h:358
@ ENET_NO_MAGIC
Definition: enet_types.h:237
uint8_t dei
Definition: enet_types.h:393
static bool Enet_isIcssFamily(Enet_Type enetType)
Check if Ethernet peripheral type is part of ICSS family.
Definition: enet_types.h:542
Version of a peripheral or module.
Definition: enet_types.h:316
Enet_Type
Ethernet peripheral type.
Definition: enet_types.h:196
@ ENET_EVT_ANY
Definition: enet_types.h:303
@ ENET_SPEED_100MBIT
Definition: enet_types.h:345
@ ENET_TYPE_COUNT
Definition: enet_types.h:222
uint32_t maj
Definition: enet_types.h:318
@ ENET_VLAN_TAG_TYPE_OUTER
Definition: enet_types.h:378
@ ENET_DUPLEX_HALF
Definition: enet_types.h:360
@ ENET_MAC_PORT_2
Definition: enet_types.h:414
@ ENET_ICSSG_DUALMAC
Definition: enet_types.h:201
@ ENET_MAC_PORT_7
Definition: enet_types.h:429
@ ENET_SPEED_AUTO
Definition: enet_types.h:351
void(* Enet_EventCallback)(Enet_Event evt, uint32_t evtNum, void *evtCbArgs, void *arg1, void *arg2)
Event callback.
Definition: enet_types.h:448
@ ENET_SPEED_1GBIT
Definition: enet_types.h:348
@ ENET_EVT_TIMESTAMP_HALFROLLOVER
Definition: enet_types.h:282
uint32_t id
Definition: enet_types.h:327
uint32_t rtl
Definition: enet_types.h:324
@ ENET_EVT_TIMESTAMP_HWPUSH
Definition: enet_types.h:276
@ ENET_EVT_TIMESTAMP_RX
Definition: enet_types.h:285
@ ENET_CPSW_9G
Definition: enet_types.h:219
Enet_CrcType
CRC type.
Definition: enet_types.h:244
@ ENET_EVT_NONE
Definition: enet_types.h:264
@ ENET_EVT_TIMESTAMP_HOSTTX
Definition: enet_types.h:299
@ ENET_MAC_PORT_5
Definition: enet_types.h:423
@ ENET_EVT_TIMESTAMP_COMP
Definition: enet_types.h:296
uint32_t min
Definition: enet_types.h:321
uint8_t pcp
Definition: enet_types.h:390
uint16_t tpid
Definition: enet_types.h:387