AM261x MCU+ SDK: Enet Time Aware Shaper

| AM261x MCU+ SDK 26.00.00 |

Data Structures | Enumerations | Macros
Enet Time Aware Shaper
APIs for Networking modules » APIs for Enet LLD

## Introduction

## Data Structures
struct | EnetTas_GenericInArgs
| Generic input args. More...
struct | EnetTas_GateCmdEntry
| Gate control list. See IEEE Std 802.1Q-2018 8.6.8.4. More...
struct | EnetTas_MaxSDUTable
| Max SDU table. See IEEE Std 802.1Q-2018 12.29.1.1. More...
struct | EnetTas_ControlList
| Gate control list. See IEEE Std 802.1Q-2018 8.6.9.4 D3-1. More...
struct | EnetTas_ConfigStatus
| Config state machine variables. See IEEE Std 802.1Q-2018 8.6.8.4. More...
struct | EnetTas_SetAdminListInArgs
| Input args for ENET_TAS_IOCTL_SET_ADMIN_LIST commands. More...
struct | EnetTas_SetStateInArgs
| Input args for ENET_TAS_IOCTL_SET_STATE commands. More...

## Enumerations
enum | EnetTas_Ioctl { ENET_TAS_IOCTL_GET_VERSION = ENET_TAS_PUBLIC_IOCTL(0U), ENET_TAS_IOCTL_SET_ADMIN_LIST = ENET_TAS_PUBLIC_IOCTL(1U), ENET_TAS_IOCTL_GET_OPER_LIST_STATUS = ENET_TAS_PUBLIC_IOCTL(2U), ENET_TAS_IOCTL_SET_STATE = ENET_TAS_PUBLIC_IOCTL(3U), ENET_TAS_IOCTL_GET_STATE = ENET_TAS_PUBLIC_IOCTL(4U), ENET_TAS_IOCTL_GET_ADMIN_LIST = ENET_TAS_PUBLIC_IOCTL(5U), ENET_TAS_IOCTL_GET_OPER_LIST = ENET_TAS_PUBLIC_IOCTL(6U), ENET_TAS_IOCTL_CONFIG_CHANGE_STATUS_PARAMS = ENET_TAS_PUBLIC_IOCTL(7U) }
| TAS module IOCTL commands. More...
enum | EnetTas_OperStatus { ENET_TAS_OPER_LIST_NOT_YET_UPDATED = 0, ENET_TAS_OPER_LIST_UPDATED = 1 }
| TAS state types. More...
enum | EnetTas_TasState { ENET_TAS_DISABLE = 0, ENET_TAS_ENABLE = 1, ENET_TAS_RESET = 2 }
| TAS state types. More...

## Macros
#define | ENET_TAS_PUBLIC_IOCTL(x)
| Helper macro to create IOCTL commands for TAS module. More...
#define | ENET_TAS_GATE_MASK(tc7, tc6, tc5, tc4, tc3, tc2, tc1, tc0)
| Helper macro to create a gate mask. More...
#define | ENET_TAS_MAX_CMD_LISTS (16)
| Maximum number of gate command entries in each list. More...
#define | ENET_TAS_MAX_NUM_QUEUES (8)
| Maximum number of transmit queues supported by implementation. More...

## Macro Definition Documentation

## ◆ ENET_TAS_PUBLIC_IOCTL

#define ENET_TAS_PUBLIC_IOCTL | ( |  | x | ) |

Value:
(ENET_IOCTL_TYPE_PUBLIC | \
ENET_IOCTL_TAS_BASE | \
ENET_IOCTL_MIN(x))

Helper macro to create IOCTL commands for TAS module.

## ◆ ENET_TAS_GATE_MASK

#define ENET_TAS_GATE_MASK | ( |  | tc7,
|  |  | tc6,
|  |  | tc5,
|  |  | tc4,
|  |  | tc3,
|  |  | tc2,
|  |  | tc1,
|  |  | tc0
| ) |  |

Value:
(((((tc7) != 0U) ? 1U : 0U) << 7U) | \
((((tc6) != 0U) ? 1U : 0U) << 6U) | \
((((tc5) != 0U) ? 1U : 0U) << 5U) | \
((((tc4) != 0U) ? 1U : 0U) << 4U) | \
((((tc3) != 0U) ? 1U : 0U) << 3U) | \
((((tc2) != 0U) ? 1U : 0U) << 2U) | \
((((tc1) != 0U) ? 1U : 0U) << 1U) | \
((((tc0) != 0U) ? 1U : 0U) << 0U))

Helper macro to create a gate mask.

## ◆ ENET_TAS_MAX_CMD_LISTS

#define ENET_TAS_MAX_CMD_LISTS (16)

Maximum number of gate command entries in each list.

## ◆ ENET_TAS_MAX_NUM_QUEUES

#define ENET_TAS_MAX_NUM_QUEUES (8)

Maximum number of transmit queues supported by implementation.

## Enumeration Type Documentation

## ◆ EnetTas_Ioctl

enum EnetTas_Ioctl

TAS module IOCTL commands.

Enumerator
ENET_TAS_IOCTL_GET_VERSION | Get the hardware version of the TAS module. IOCTL parameters: inArgs: EnetTas_GenericInArgs outArgs: Enet_Version Type: Synchronous.
ENET_TAS_IOCTL_SET_ADMIN_LIST | Set the admin list parameters of the TAS module. IOCTL parameters: inArgs: EnetTas_SetAdminListInArgs outArgs: None Type: Asynchronous.
ENET_TAS_IOCTL_GET_OPER_LIST_STATUS | Get the status of the operational list update. This IOCTL should be called after ENET_TAS_IOCTL_SET_ADMIN_LIST to verify admin list to operational list copy at specified time. This IOCTL should be called until ENET_TAS_OPER_LIST_UPDATED received as output. IOCTL parameters: inArgs: EnetTas_GenericInArgs outArgs: EnetTas_OperStatus Type: Synchronous.
ENET_TAS_IOCTL_SET_STATE | Set the state of the TAS module. IOCTL parameters: inArgs: EnetTas_SetStateInArgs outArgs: None Type: Asynchronous.
ENET_TAS_IOCTL_GET_STATE | Get the state of the TAS module. IOCTL parameters: inArgs: EnetTas_GenericInArgs outArgs: EnetTas_TasState Type: Synchronous.
ENET_TAS_IOCTL_GET_ADMIN_LIST | Get the admin list parameters of the TAS module. IOCTL parameters: inArgs: EnetTas_GenericInArgs outArgs: EnetTas_ControlList Type: Synchronous.
ENET_TAS_IOCTL_GET_OPER_LIST | Get the operational list parameters of the TAS module. IOCTL parameters: inArgs: EnetTas_GenericInArgs outArgs: EnetTas_ControlList Type: Synchronous.
ENET_TAS_IOCTL_CONFIG_CHANGE_STATUS_PARAMS | Get the TAS config change status parameters. IOCTL parameters: inArgs: EnetTas_GenericInArgs outArgs: EnetTas_ConfigStatus Type: Synchronous.

## ◆ EnetTas_OperStatus

enum EnetTas_OperStatus

TAS state types.

Enumerator
ENET_TAS_OPER_LIST_NOT_YET_UPDATED | Operational list is not yet updated.
ENET_TAS_OPER_LIST_UPDATED | Operational list is updated.

## ◆ EnetTas_TasState

enum EnetTas_TasState

TAS state types.

Enumerator
ENET_TAS_DISABLE | Idle.
ENET_TAS_ENABLE | Enable TAS.
ENET_TAS_RESET | Reset the state machine.

ENET_IOCTL_TYPE_PUBLIC
@ ENET_IOCTL_TYPE_PUBLIC
Definition: enet_ioctl.h:216