![]() |
Altera SoCAL
16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
|
The VLAN Tag Inclusion or Replacement register contains the VLAN tag for insertion or replacement in the transmit frames.
Register Layout
Bits | Access | Reset | Description |
---|---|---|---|
[15:0] | RW | Unknown | VLAN Tag for Transmit Frames |
[17:16] | RW | Unknown | VLAN Tag Control in Transmit Frames |
[18] | RW | Unknown | VLAN Priority Control |
[19] | RW | Unknown | C-VLAN or S-VLAN |
[31:20] | ??? | 0x0 | UNDEFINED |
Field : VLAN Tag for Transmit Frames - vlt | |
This field contains the value of the VLAN tag to be inserted or replaced. The value must only be changed when the transmit lines are inactive or during the initialization phase. Bits[15:13] are the User Priority, Bit 12 is the CFI/DEI, and Bits[11:0] are the VLAN tag's VID field. Field Access Macros: | |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_LSB 0 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_MSB 15 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_WIDTH 16 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_SET_MSK 0x0000ffff |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_CLR_MSK 0xffff0000 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_RESET 0x0 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_GET(value) (((value) & 0x0000ffff) >> 0) |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_SET(value) (((value) << 0) & 0x0000ffff) |
Field : VLAN Tag Control in Transmit Frames - vlc | |
The MAC removes the VLAN type (bytes 13 and 14) and VLAN tag (bytes 15 and 16) of all transmitted frames with VLAN tags.
The MAC inserts VLT in bytes 15 and 16 of the frame after inserting the Type value (0x8100/0x88a8) in bytes 13 and 14. This operation is performed on all transmitted frames, irrespective of whether they already have a VLAN tag.
The MAC replaces VLT in bytes 15 and 16 of all VLAN-type transmitted frames (Bytes 13 and 14 are 0x8100/0x88a8). Note: Changes to this field take effect only on the start of a frame. If you write this register field when a frame is being transmitted, only the subsequent frame can use the updated value, that is, the current frame does not use the updated value. Field Access Macros: | |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_LSB 16 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_MSB 17 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_WIDTH 2 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_SET_MSK 0x00030000 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_CLR_MSK 0xfffcffff |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_RESET 0x0 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_GET(value) (((value) & 0x00030000) >> 16) |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_SET(value) (((value) << 16) & 0x00030000) |
Field : VLAN Priority Control - vlp | |
When this bit is set, the control Bits [17:16] are used for VLAN deletion, insertion, or replacement. When this bit is reset, the mti_vlan_ctrl_i control input is used, and Bits [17:16] are ignored. Field Access Macros: | |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_LSB 18 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_MSB 18 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_WIDTH 1 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_SET_MSK 0x00040000 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_CLR_MSK 0xfffbffff |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_RESET 0x0 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_GET(value) (((value) & 0x00040000) >> 18) |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_SET(value) (((value) << 18) & 0x00040000) |
Field : C-VLAN or S-VLAN - csvl | |
When this bit is set, S-VLAN type (0x88A8) is inserted or replaced in the 13th and 14th bytes of transmitted frames. When this bit is reset, C-VLAN type (0x8100) is inserted or replaced in the transmitted frames. Field Access Macros: | |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_LSB 19 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_MSB 19 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_WIDTH 1 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_SET_MSK 0x00080000 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_CLR_MSK 0xfff7ffff |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_RESET 0x0 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_GET(value) (((value) & 0x00080000) >> 19) |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_SET(value) (((value) << 19) & 0x00080000) |
Data Structures | |
struct | ALT_EMAC_GMAC_VLAN_INCL_REG_s |
Macros | |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_OFST 0x584 |
#define | ALT_EMAC_GMAC_VLAN_INCL_REG_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_EMAC_GMAC_VLAN_INCL_REG_OFST)) |
Typedefs | |
typedef struct ALT_EMAC_GMAC_VLAN_INCL_REG_s | ALT_EMAC_GMAC_VLAN_INCL_REG_t |
struct ALT_EMAC_GMAC_VLAN_INCL_REG_s |
WARNING: The C register and register group struct declarations are provided for convenience and illustrative purposes. They should, however, be used with caution as the C language standard provides no guarantees about the alignment or atomicity of device memory accesses. The recommended practice for writing hardware drivers is to use the SoCAL access macros and alt_read_word() and alt_write_word() functions.
The struct declaration for register ALT_EMAC_GMAC_VLAN_INCL_REG.
Data Fields | ||
---|---|---|
uint32_t | vlt: 16 | VLAN Tag for Transmit Frames |
uint32_t | vlc: 2 | VLAN Tag Control in Transmit Frames |
uint32_t | vlp: 1 | VLAN Priority Control |
uint32_t | csvl: 1 | C-VLAN or S-VLAN |
uint32_t | __pad0__: 12 | UNDEFINED |
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_LSB 0 |
The Least Significant Bit (LSB) position of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLT register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_MSB 15 |
The Most Significant Bit (MSB) position of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLT register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_WIDTH 16 |
The width in bits of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLT register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_SET_MSK 0x0000ffff |
The mask used to set the ALT_EMAC_GMAC_VLAN_INCL_REG_VLT register field value.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_CLR_MSK 0xffff0000 |
The mask used to clear the ALT_EMAC_GMAC_VLAN_INCL_REG_VLT register field value.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_RESET 0x0 |
The reset value of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLT register field is UNKNOWN.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_GET | ( | value | ) | (((value) & 0x0000ffff) >> 0) |
Extracts the ALT_EMAC_GMAC_VLAN_INCL_REG_VLT field value from a register.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLT_SET | ( | value | ) | (((value) << 0) & 0x0000ffff) |
Produces a ALT_EMAC_GMAC_VLAN_INCL_REG_VLT register field value suitable for setting the register.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_LSB 16 |
The Least Significant Bit (LSB) position of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLC register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_MSB 17 |
The Most Significant Bit (MSB) position of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLC register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_WIDTH 2 |
The width in bits of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLC register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_SET_MSK 0x00030000 |
The mask used to set the ALT_EMAC_GMAC_VLAN_INCL_REG_VLC register field value.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_CLR_MSK 0xfffcffff |
The mask used to clear the ALT_EMAC_GMAC_VLAN_INCL_REG_VLC register field value.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_RESET 0x0 |
The reset value of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLC register field is UNKNOWN.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_GET | ( | value | ) | (((value) & 0x00030000) >> 16) |
Extracts the ALT_EMAC_GMAC_VLAN_INCL_REG_VLC field value from a register.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLC_SET | ( | value | ) | (((value) << 16) & 0x00030000) |
Produces a ALT_EMAC_GMAC_VLAN_INCL_REG_VLC register field value suitable for setting the register.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_LSB 18 |
The Least Significant Bit (LSB) position of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLP register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_MSB 18 |
The Most Significant Bit (MSB) position of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLP register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_WIDTH 1 |
The width in bits of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLP register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_SET_MSK 0x00040000 |
The mask used to set the ALT_EMAC_GMAC_VLAN_INCL_REG_VLP register field value.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_CLR_MSK 0xfffbffff |
The mask used to clear the ALT_EMAC_GMAC_VLAN_INCL_REG_VLP register field value.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_RESET 0x0 |
The reset value of the ALT_EMAC_GMAC_VLAN_INCL_REG_VLP register field is UNKNOWN.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_GET | ( | value | ) | (((value) & 0x00040000) >> 18) |
Extracts the ALT_EMAC_GMAC_VLAN_INCL_REG_VLP field value from a register.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_VLP_SET | ( | value | ) | (((value) << 18) & 0x00040000) |
Produces a ALT_EMAC_GMAC_VLAN_INCL_REG_VLP register field value suitable for setting the register.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_LSB 19 |
The Least Significant Bit (LSB) position of the ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_MSB 19 |
The Most Significant Bit (MSB) position of the ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_WIDTH 1 |
The width in bits of the ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL register field.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_SET_MSK 0x00080000 |
The mask used to set the ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL register field value.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_CLR_MSK 0xfff7ffff |
The mask used to clear the ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL register field value.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_RESET 0x0 |
The reset value of the ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL register field is UNKNOWN.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_GET | ( | value | ) | (((value) & 0x00080000) >> 19) |
Extracts the ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL field value from a register.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL_SET | ( | value | ) | (((value) << 19) & 0x00080000) |
Produces a ALT_EMAC_GMAC_VLAN_INCL_REG_CSVL register field value suitable for setting the register.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_OFST 0x584 |
The byte offset of the ALT_EMAC_GMAC_VLAN_INCL_REG register from the beginning of the component.
#define ALT_EMAC_GMAC_VLAN_INCL_REG_ADDR | ( | base | ) | ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_EMAC_GMAC_VLAN_INCL_REG_OFST)) |
The address of the ALT_EMAC_GMAC_VLAN_INCL_REG register.
typedef struct ALT_EMAC_GMAC_VLAN_INCL_REG_s ALT_EMAC_GMAC_VLAN_INCL_REG_t |
The typedef declaration for register ALT_EMAC_GMAC_VLAN_INCL_REG.