diff options
| author | Evan Lojewski <github@meklort.com> | 2019-06-29 11:30:01 -0600 |
|---|---|---|
| committer | Evan Lojewski <github@meklort.com> | 2019-06-29 11:30:01 -0600 |
| commit | 99dd644512cfef951ade6d2403a8cf2f43666b94 (patch) | |
| tree | 397f725c4cd5de628cba55e51ce6832a69593bd6 /include | |
| parent | 88a1987b32b1906a15606f09a324c17f7306a9b7 (diff) | |
| download | bcm5719-ortega-99dd644512cfef951ade6d2403a8cf2f43666b94.tar.gz bcm5719-ortega-99dd644512cfef951ade6d2403a8cf2f43666b94.zip | |
Update DEVICE registers to include tx/rx status
Diffstat (limited to 'include')
| -rw-r--r-- | include/APE_DEVICE.h | 204 | ||||
| -rw-r--r-- | include/APE_DEVICE1.h | 2 | ||||
| -rw-r--r-- | include/APE_DEVICE2.h | 2 | ||||
| -rw-r--r-- | include/APE_DEVICE3.h | 2 | ||||
| -rw-r--r-- | include/bcm5719_DEVICE.h | 204 |
5 files changed, 386 insertions, 28 deletions
diff --git a/include/APE_DEVICE.h b/include/APE_DEVICE.h index 4a4828b..b75a8b2 100644 --- a/include/APE_DEVICE.h +++ b/include/APE_DEVICE.h @@ -2008,10 +2008,10 @@ typedef register_container RegDEVICEMiiMode_t { #define DEVICE_TRANSMIT_MAC_MODE_RESET_MASK 0x1u #define GET_DEVICE_TRANSMIT_MAC_MODE_RESET(__reg__) (((__reg__) & 0x1) >> 0u) #define SET_DEVICE_TRANSMIT_MAC_MODE_RESET(__val__) (((__val__) << 0u) & 0x1u) -#define DEVICE_TRANSMIT_MAC_MODE_ENABLE_TCE_SHIFT 1u -#define DEVICE_TRANSMIT_MAC_MODE_ENABLE_TCE_MASK 0x2u -#define GET_DEVICE_TRANSMIT_MAC_MODE_ENABLE_TCE(__reg__) (((__reg__) & 0x2) >> 1u) -#define SET_DEVICE_TRANSMIT_MAC_MODE_ENABLE_TCE(__val__) (((__val__) << 1u) & 0x2u) +#define DEVICE_TRANSMIT_MAC_MODE_ENABLE_TDE_SHIFT 1u +#define DEVICE_TRANSMIT_MAC_MODE_ENABLE_TDE_MASK 0x2u +#define GET_DEVICE_TRANSMIT_MAC_MODE_ENABLE_TDE(__reg__) (((__reg__) & 0x2) >> 1u) +#define SET_DEVICE_TRANSMIT_MAC_MODE_ENABLE_TDE(__val__) (((__val__) << 1u) & 0x2u) #define DEVICE_TRANSMIT_MAC_MODE_ENABLE_FLOW_CONTROL_SHIFT 4u #define DEVICE_TRANSMIT_MAC_MODE_ENABLE_FLOW_CONTROL_MASK 0x10u #define GET_DEVICE_TRANSMIT_MAC_MODE_ENABLE_FLOW_CONTROL(__reg__) (((__reg__) & 0x10) >> 4u) @@ -2051,7 +2051,7 @@ typedef register_container RegDEVICETransmitMacMode_t { /** @brief When this bit is set to 1, the Transmit MAC state machine will be reset. This is a self-clearing bit. */ BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, Reset, 0, 1) /** @brief Used to be enable TDE in legacy-same purpose. */ - BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, EnableTCE, 1, 1) + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, EnableTDE, 1, 1) /** @brief Padding */ BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_3_2, 2, 2) /** @brief MAC will send 802.3x flow control frames. */ @@ -2090,7 +2090,7 @@ typedef register_container RegDEVICETransmitMacMode_t { /** @brief Padding */ BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_3_2, 2, 2) /** @brief Used to be enable TDE in legacy-same purpose. */ - BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, EnableTCE, 1, 1) + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, EnableTDE, 1, 1) /** @brief When this bit is set to 1, the Transmit MAC state machine will be reset. This is a self-clearing bit. */ BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, Reset, 0, 1) #else @@ -2110,8 +2110,8 @@ typedef register_container RegDEVICETransmitMacMode_t { r32.setName("TransmitMacMode"); bits.Reset.setBaseRegister(&r32); bits.Reset.setName("Reset"); - bits.EnableTCE.setBaseRegister(&r32); - bits.EnableTCE.setName("EnableTCE"); + bits.EnableTDE.setBaseRegister(&r32); + bits.EnableTDE.setName("EnableTDE"); bits.EnableFlowControl.setBaseRegister(&r32); bits.EnableFlowControl.setName("EnableFlowControl"); bits.EnableBigBackoff.setBaseRegister(&r32); @@ -2135,6 +2135,104 @@ typedef register_container RegDEVICETransmitMacMode_t { #endif /* CXX_SIMULATOR */ } RegDEVICETransmitMacMode_t; +#define REG_DEVICE_TRANSMIT_MAC_STATUS ((volatile APE_DEVICE_H_uint32_t*)0xa0040460) /* */ +#define DEVICE_TRANSMIT_MAC_STATUS_XOFFED_SHIFT 0u +#define DEVICE_TRANSMIT_MAC_STATUS_XOFFED_MASK 0x1u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_XOFFED(__reg__) (((__reg__) & 0x1) >> 0u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_XOFFED(__val__) (((__val__) << 0u) & 0x1u) +#define DEVICE_TRANSMIT_MAC_STATUS_SENT_XOFF_SHIFT 1u +#define DEVICE_TRANSMIT_MAC_STATUS_SENT_XOFF_MASK 0x2u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_SENT_XOFF(__reg__) (((__reg__) & 0x2) >> 1u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_SENT_XOFF(__val__) (((__val__) << 1u) & 0x2u) +#define DEVICE_TRANSMIT_MAC_STATUS_SENT_XON_SHIFT 2u +#define DEVICE_TRANSMIT_MAC_STATUS_SENT_XON_MASK 0x4u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_SENT_XON(__reg__) (((__reg__) & 0x4) >> 2u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_SENT_XON(__val__) (((__val__) << 2u) & 0x4u) +#define DEVICE_TRANSMIT_MAC_STATUS_LINK_UP_SHIFT 3u +#define DEVICE_TRANSMIT_MAC_STATUS_LINK_UP_MASK 0x8u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_LINK_UP(__reg__) (((__reg__) & 0x8) >> 3u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_LINK_UP(__val__) (((__val__) << 3u) & 0x8u) +#define DEVICE_TRANSMIT_MAC_STATUS_ODI_UNDERRUN_SHIFT 4u +#define DEVICE_TRANSMIT_MAC_STATUS_ODI_UNDERRUN_MASK 0x10u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_ODI_UNDERRUN(__reg__) (((__reg__) & 0x10) >> 4u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_ODI_UNDERRUN(__val__) (((__val__) << 4u) & 0x10u) +#define DEVICE_TRANSMIT_MAC_STATUS_ODI_OVERRUN_SHIFT 5u +#define DEVICE_TRANSMIT_MAC_STATUS_ODI_OVERRUN_MASK 0x20u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_ODI_OVERRUN(__reg__) (((__reg__) & 0x20) >> 5u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_ODI_OVERRUN(__val__) (((__val__) << 5u) & 0x20u) + +/** @brief Register definition for @ref DEVICE_t.TransmitMacStatus. */ +typedef register_container RegDEVICETransmitMacStatus_t { + /** @brief 32bit direct register access. */ + APE_DEVICE_H_uint32_t r32; + + BITFIELD_BEGIN(APE_DEVICE_H_uint32_t, bits) +#if defined(__LITTLE_ENDIAN__) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, XOFFED, 0, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, SentXOFF, 1, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, SentXON, 2, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, LinkUp, 3, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, ODIUnderrun, 4, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, ODIOverrun, 5, 1) + /** @brief Padding */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_31_6, 6, 26) +#elif defined(__BIG_ENDIAN__) + /** @brief Padding */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_31_6, 6, 26) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, ODIOverrun, 5, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, ODIUnderrun, 4, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, LinkUp, 3, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, SentXON, 2, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, SentXOFF, 1, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, XOFFED, 0, 1) +#else +#error Unknown Endian +#endif + BITFIELD_END(APE_DEVICE_H_uint32_t, bits) +#ifdef CXX_SIMULATOR + /** @brief Register name for use with the simulator. */ + const char* getName(void) { return "TransmitMacStatus"; } + + /** @brief Print register value. */ + void print(void) { r32.print(); } + + RegDEVICETransmitMacStatus_t() + { + /** @brief constructor for @ref DEVICE_t.TransmitMacStatus. */ + r32.setName("TransmitMacStatus"); + bits.XOFFED.setBaseRegister(&r32); + bits.XOFFED.setName("XOFFED"); + bits.SentXOFF.setBaseRegister(&r32); + bits.SentXOFF.setName("SentXOFF"); + bits.SentXON.setBaseRegister(&r32); + bits.SentXON.setName("SentXON"); + bits.LinkUp.setBaseRegister(&r32); + bits.LinkUp.setName("LinkUp"); + bits.ODIUnderrun.setBaseRegister(&r32); + bits.ODIUnderrun.setName("ODIUnderrun"); + bits.ODIOverrun.setBaseRegister(&r32); + bits.ODIOverrun.setName("ODIOverrun"); + } + RegDEVICETransmitMacStatus_t& operator=(const RegDEVICETransmitMacStatus_t& other) + { + r32 = other.r32; + return *this; + } +#endif /* CXX_SIMULATOR */ +} RegDEVICETransmitMacStatus_t; + #define REG_DEVICE_RECEIVE_MAC_MODE ((volatile APE_DEVICE_H_uint32_t*)0xa0040468) /* */ #define DEVICE_RECEIVE_MAC_MODE_RESET_SHIFT 0u #define DEVICE_RECEIVE_MAC_MODE_RESET_MASK 0x1u @@ -2221,6 +2319,74 @@ typedef register_container RegDEVICEReceiveMacMode_t { #endif /* CXX_SIMULATOR */ } RegDEVICEReceiveMacMode_t; +#define REG_DEVICE_RECEIVE_MAC_STATUS ((volatile APE_DEVICE_H_uint32_t*)0xa004046c) /* */ +#define DEVICE_RECEIVE_MAC_STATUS_REMOTE_TX_XOFFED_SHIFT 0u +#define DEVICE_RECEIVE_MAC_STATUS_REMOTE_TX_XOFFED_MASK 0x1u +#define GET_DEVICE_RECEIVE_MAC_STATUS_REMOTE_TX_XOFFED(__reg__) (((__reg__) & 0x1) >> 0u) +#define SET_DEVICE_RECEIVE_MAC_STATUS_REMOTE_TX_XOFFED(__val__) (((__val__) << 0u) & 0x1u) +#define DEVICE_RECEIVE_MAC_STATUS_XOFF_RECEIVED_SHIFT 1u +#define DEVICE_RECEIVE_MAC_STATUS_XOFF_RECEIVED_MASK 0x2u +#define GET_DEVICE_RECEIVE_MAC_STATUS_XOFF_RECEIVED(__reg__) (((__reg__) & 0x2) >> 1u) +#define SET_DEVICE_RECEIVE_MAC_STATUS_XOFF_RECEIVED(__val__) (((__val__) << 1u) & 0x2u) +#define DEVICE_RECEIVE_MAC_STATUS_XON_RECEIVED_SHIFT 2u +#define DEVICE_RECEIVE_MAC_STATUS_XON_RECEIVED_MASK 0x4u +#define GET_DEVICE_RECEIVE_MAC_STATUS_XON_RECEIVED(__reg__) (((__reg__) & 0x4) >> 2u) +#define SET_DEVICE_RECEIVE_MAC_STATUS_XON_RECEIVED(__val__) (((__val__) << 2u) & 0x4u) + +/** @brief Register definition for @ref DEVICE_t.ReceiveMacStatus. */ +typedef register_container RegDEVICEReceiveMacStatus_t { + /** @brief 32bit direct register access. */ + APE_DEVICE_H_uint32_t r32; + + BITFIELD_BEGIN(APE_DEVICE_H_uint32_t, bits) +#if defined(__LITTLE_ENDIAN__) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, RemoteTXXOFFED, 0, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, XOFFReceived, 1, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, XONReceived, 2, 1) + /** @brief Padding */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_31_3, 3, 29) +#elif defined(__BIG_ENDIAN__) + /** @brief Padding */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_31_3, 3, 29) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, XONReceived, 2, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, XOFFReceived, 1, 1) + /** @brief */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, RemoteTXXOFFED, 0, 1) +#else +#error Unknown Endian +#endif + BITFIELD_END(APE_DEVICE_H_uint32_t, bits) +#ifdef CXX_SIMULATOR + /** @brief Register name for use with the simulator. */ + const char* getName(void) { return "ReceiveMacStatus"; } + + /** @brief Print register value. */ + void print(void) { r32.print(); } + + RegDEVICEReceiveMacStatus_t() + { + /** @brief constructor for @ref DEVICE_t.ReceiveMacStatus. */ + r32.setName("ReceiveMacStatus"); + bits.RemoteTXXOFFED.setBaseRegister(&r32); + bits.RemoteTXXOFFED.setName("RemoteTXXOFFED"); + bits.XOFFReceived.setBaseRegister(&r32); + bits.XOFFReceived.setName("XOFFReceived"); + bits.XONReceived.setBaseRegister(&r32); + bits.XONReceived.setName("XONReceived"); + } + RegDEVICEReceiveMacStatus_t& operator=(const RegDEVICEReceiveMacStatus_t& other) + { + r32 = other.r32; + return *this; + } +#endif /* CXX_SIMULATOR */ +} RegDEVICEReceiveMacStatus_t; + #define REG_DEVICE_PERFECT_MATCH1_HIGH ((volatile APE_DEVICE_H_uint32_t*)0xa0040540) /* */ #define DEVICE_PERFECT_MATCH1_HIGH_HIGH_SHIFT 0u #define DEVICE_PERFECT_MATCH1_HIGH_HIGH_MASK 0xffffu @@ -7731,14 +7897,20 @@ typedef struct DEVICE_t { /** @brief */ RegDEVICETransmitMacMode_t TransmitMacMode; + /** @brief */ + RegDEVICETransmitMacStatus_t TransmitMacStatus; + /** @brief Reserved bytes to pad out data structure. */ - APE_DEVICE_H_uint32_t reserved_1120[2]; + APE_DEVICE_H_uint32_t reserved_1124[1]; /** @brief */ RegDEVICEReceiveMacMode_t ReceiveMacMode; + /** @brief */ + RegDEVICEReceiveMacStatus_t ReceiveMacStatus; + /** @brief Reserved bytes to pad out data structure. */ - APE_DEVICE_H_uint32_t reserved_1132[53]; + APE_DEVICE_H_uint32_t reserved_1136[52]; /** @brief */ RegDEVICEPerfectMatch1High_t PerfectMatch1High; @@ -8188,7 +8360,9 @@ typedef struct DEVICE_t { MiiCommunication.r32.setComponentOffset(0x44c); MiiMode.r32.setComponentOffset(0x454); TransmitMacMode.r32.setComponentOffset(0x45c); + TransmitMacStatus.r32.setComponentOffset(0x460); ReceiveMacMode.r32.setComponentOffset(0x468); + ReceiveMacStatus.r32.setComponentOffset(0x46c); PerfectMatch1High.r32.setComponentOffset(0x540); PerfectMatch1Low.r32.setComponentOffset(0x544); PerfectMatch2High.r32.setComponentOffset(0x548); @@ -8366,14 +8540,16 @@ typedef struct DEVICE_t { reserved_1112[i].print(); } TransmitMacMode.print(); - for(int i = 0; i < 2; i++) + TransmitMacStatus.print(); + for(int i = 0; i < 1; i++) { - reserved_1120[i].print(); + reserved_1124[i].print(); } ReceiveMacMode.print(); - for(int i = 0; i < 53; i++) + ReceiveMacStatus.print(); + for(int i = 0; i < 52; i++) { - reserved_1132[i].print(); + reserved_1136[i].print(); } PerfectMatch1High.print(); PerfectMatch1Low.print(); diff --git a/include/APE_DEVICE1.h b/include/APE_DEVICE1.h index a7e1e0e..3a215e6 100644 --- a/include/APE_DEVICE1.h +++ b/include/APE_DEVICE1.h @@ -110,7 +110,9 @@ typedef uint32_t APE_DEVICE1_H_uint32_t; #define REG_DEVICE1_MII_COMMUNICATION ((volatile APE_DEVICE1_H_uint32_t*)0xa005044c) /* */ #define REG_DEVICE1_MII_MODE ((volatile APE_DEVICE1_H_uint32_t*)0xa0050454) /* */ #define REG_DEVICE1_TRANSMIT_MAC_MODE ((volatile APE_DEVICE1_H_uint32_t*)0xa005045c) /* */ +#define REG_DEVICE1_TRANSMIT_MAC_STATUS ((volatile APE_DEVICE1_H_uint32_t*)0xa0050460) /* */ #define REG_DEVICE1_RECEIVE_MAC_MODE ((volatile APE_DEVICE1_H_uint32_t*)0xa0050468) /* */ +#define REG_DEVICE1_RECEIVE_MAC_STATUS ((volatile APE_DEVICE1_H_uint32_t*)0xa005046c) /* */ #define REG_DEVICE1_PERFECT_MATCH1_HIGH ((volatile APE_DEVICE1_H_uint32_t*)0xa0050540) /* */ #define REG_DEVICE1_PERFECT_MATCH1_LOW ((volatile APE_DEVICE1_H_uint32_t*)0xa0050544) /* */ #define REG_DEVICE1_PERFECT_MATCH2_HIGH ((volatile APE_DEVICE1_H_uint32_t*)0xa0050548) /* */ diff --git a/include/APE_DEVICE2.h b/include/APE_DEVICE2.h index 89261a7..11427d5 100644 --- a/include/APE_DEVICE2.h +++ b/include/APE_DEVICE2.h @@ -110,7 +110,9 @@ typedef uint32_t APE_DEVICE2_H_uint32_t; #define REG_DEVICE2_MII_COMMUNICATION ((volatile APE_DEVICE2_H_uint32_t*)0xa006044c) /* */ #define REG_DEVICE2_MII_MODE ((volatile APE_DEVICE2_H_uint32_t*)0xa0060454) /* */ #define REG_DEVICE2_TRANSMIT_MAC_MODE ((volatile APE_DEVICE2_H_uint32_t*)0xa006045c) /* */ +#define REG_DEVICE2_TRANSMIT_MAC_STATUS ((volatile APE_DEVICE2_H_uint32_t*)0xa0060460) /* */ #define REG_DEVICE2_RECEIVE_MAC_MODE ((volatile APE_DEVICE2_H_uint32_t*)0xa0060468) /* */ +#define REG_DEVICE2_RECEIVE_MAC_STATUS ((volatile APE_DEVICE2_H_uint32_t*)0xa006046c) /* */ #define REG_DEVICE2_PERFECT_MATCH1_HIGH ((volatile APE_DEVICE2_H_uint32_t*)0xa0060540) /* */ #define REG_DEVICE2_PERFECT_MATCH1_LOW ((volatile APE_DEVICE2_H_uint32_t*)0xa0060544) /* */ #define REG_DEVICE2_PERFECT_MATCH2_HIGH ((volatile APE_DEVICE2_H_uint32_t*)0xa0060548) /* */ diff --git a/include/APE_DEVICE3.h b/include/APE_DEVICE3.h index 01420be..d72bf50 100644 --- a/include/APE_DEVICE3.h +++ b/include/APE_DEVICE3.h @@ -110,7 +110,9 @@ typedef uint32_t APE_DEVICE3_H_uint32_t; #define REG_DEVICE3_MII_COMMUNICATION ((volatile APE_DEVICE3_H_uint32_t*)0xa007044c) /* */ #define REG_DEVICE3_MII_MODE ((volatile APE_DEVICE3_H_uint32_t*)0xa0070454) /* */ #define REG_DEVICE3_TRANSMIT_MAC_MODE ((volatile APE_DEVICE3_H_uint32_t*)0xa007045c) /* */ +#define REG_DEVICE3_TRANSMIT_MAC_STATUS ((volatile APE_DEVICE3_H_uint32_t*)0xa0070460) /* */ #define REG_DEVICE3_RECEIVE_MAC_MODE ((volatile APE_DEVICE3_H_uint32_t*)0xa0070468) /* */ +#define REG_DEVICE3_RECEIVE_MAC_STATUS ((volatile APE_DEVICE3_H_uint32_t*)0xa007046c) /* */ #define REG_DEVICE3_PERFECT_MATCH1_HIGH ((volatile APE_DEVICE3_H_uint32_t*)0xa0070540) /* */ #define REG_DEVICE3_PERFECT_MATCH1_LOW ((volatile APE_DEVICE3_H_uint32_t*)0xa0070544) /* */ #define REG_DEVICE3_PERFECT_MATCH2_HIGH ((volatile APE_DEVICE3_H_uint32_t*)0xa0070548) /* */ diff --git a/include/bcm5719_DEVICE.h b/include/bcm5719_DEVICE.h index 9d51b53..52b6908 100644 --- a/include/bcm5719_DEVICE.h +++ b/include/bcm5719_DEVICE.h @@ -2008,10 +2008,10 @@ typedef register_container RegDEVICEMiiMode_t { #define DEVICE_TRANSMIT_MAC_MODE_RESET_MASK 0x1u #define GET_DEVICE_TRANSMIT_MAC_MODE_RESET(__reg__) (((__reg__) & 0x1) >> 0u) #define SET_DEVICE_TRANSMIT_MAC_MODE_RESET(__val__) (((__val__) << 0u) & 0x1u) -#define DEVICE_TRANSMIT_MAC_MODE_ENABLE_TCE_SHIFT 1u -#define DEVICE_TRANSMIT_MAC_MODE_ENABLE_TCE_MASK 0x2u -#define GET_DEVICE_TRANSMIT_MAC_MODE_ENABLE_TCE(__reg__) (((__reg__) & 0x2) >> 1u) -#define SET_DEVICE_TRANSMIT_MAC_MODE_ENABLE_TCE(__val__) (((__val__) << 1u) & 0x2u) +#define DEVICE_TRANSMIT_MAC_MODE_ENABLE_TDE_SHIFT 1u +#define DEVICE_TRANSMIT_MAC_MODE_ENABLE_TDE_MASK 0x2u +#define GET_DEVICE_TRANSMIT_MAC_MODE_ENABLE_TDE(__reg__) (((__reg__) & 0x2) >> 1u) +#define SET_DEVICE_TRANSMIT_MAC_MODE_ENABLE_TDE(__val__) (((__val__) << 1u) & 0x2u) #define DEVICE_TRANSMIT_MAC_MODE_ENABLE_FLOW_CONTROL_SHIFT 4u #define DEVICE_TRANSMIT_MAC_MODE_ENABLE_FLOW_CONTROL_MASK 0x10u #define GET_DEVICE_TRANSMIT_MAC_MODE_ENABLE_FLOW_CONTROL(__reg__) (((__reg__) & 0x10) >> 4u) @@ -2051,7 +2051,7 @@ typedef register_container RegDEVICETransmitMacMode_t { /** @brief When this bit is set to 1, the Transmit MAC state machine will be reset. This is a self-clearing bit. */ BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, Reset, 0, 1) /** @brief Used to be enable TDE in legacy-same purpose. */ - BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, EnableTCE, 1, 1) + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, EnableTDE, 1, 1) /** @brief Padding */ BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_3_2, 2, 2) /** @brief MAC will send 802.3x flow control frames. */ @@ -2090,7 +2090,7 @@ typedef register_container RegDEVICETransmitMacMode_t { /** @brief Padding */ BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_3_2, 2, 2) /** @brief Used to be enable TDE in legacy-same purpose. */ - BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, EnableTCE, 1, 1) + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, EnableTDE, 1, 1) /** @brief When this bit is set to 1, the Transmit MAC state machine will be reset. This is a self-clearing bit. */ BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, Reset, 0, 1) #else @@ -2110,8 +2110,8 @@ typedef register_container RegDEVICETransmitMacMode_t { r32.setName("TransmitMacMode"); bits.Reset.setBaseRegister(&r32); bits.Reset.setName("Reset"); - bits.EnableTCE.setBaseRegister(&r32); - bits.EnableTCE.setName("EnableTCE"); + bits.EnableTDE.setBaseRegister(&r32); + bits.EnableTDE.setName("EnableTDE"); bits.EnableFlowControl.setBaseRegister(&r32); bits.EnableFlowControl.setName("EnableFlowControl"); bits.EnableBigBackoff.setBaseRegister(&r32); @@ -2135,6 +2135,104 @@ typedef register_container RegDEVICETransmitMacMode_t { #endif /* CXX_SIMULATOR */ } RegDEVICETransmitMacMode_t; +#define REG_DEVICE_TRANSMIT_MAC_STATUS ((volatile BCM5719_DEVICE_H_uint32_t*)0xc0000460) /* */ +#define DEVICE_TRANSMIT_MAC_STATUS_XOFFED_SHIFT 0u +#define DEVICE_TRANSMIT_MAC_STATUS_XOFFED_MASK 0x1u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_XOFFED(__reg__) (((__reg__) & 0x1) >> 0u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_XOFFED(__val__) (((__val__) << 0u) & 0x1u) +#define DEVICE_TRANSMIT_MAC_STATUS_SENT_XOFF_SHIFT 1u +#define DEVICE_TRANSMIT_MAC_STATUS_SENT_XOFF_MASK 0x2u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_SENT_XOFF(__reg__) (((__reg__) & 0x2) >> 1u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_SENT_XOFF(__val__) (((__val__) << 1u) & 0x2u) +#define DEVICE_TRANSMIT_MAC_STATUS_SENT_XON_SHIFT 2u +#define DEVICE_TRANSMIT_MAC_STATUS_SENT_XON_MASK 0x4u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_SENT_XON(__reg__) (((__reg__) & 0x4) >> 2u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_SENT_XON(__val__) (((__val__) << 2u) & 0x4u) +#define DEVICE_TRANSMIT_MAC_STATUS_LINK_UP_SHIFT 3u +#define DEVICE_TRANSMIT_MAC_STATUS_LINK_UP_MASK 0x8u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_LINK_UP(__reg__) (((__reg__) & 0x8) >> 3u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_LINK_UP(__val__) (((__val__) << 3u) & 0x8u) +#define DEVICE_TRANSMIT_MAC_STATUS_ODI_UNDERRUN_SHIFT 4u +#define DEVICE_TRANSMIT_MAC_STATUS_ODI_UNDERRUN_MASK 0x10u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_ODI_UNDERRUN(__reg__) (((__reg__) & 0x10) >> 4u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_ODI_UNDERRUN(__val__) (((__val__) << 4u) & 0x10u) +#define DEVICE_TRANSMIT_MAC_STATUS_ODI_OVERRUN_SHIFT 5u +#define DEVICE_TRANSMIT_MAC_STATUS_ODI_OVERRUN_MASK 0x20u +#define GET_DEVICE_TRANSMIT_MAC_STATUS_ODI_OVERRUN(__reg__) (((__reg__) & 0x20) >> 5u) +#define SET_DEVICE_TRANSMIT_MAC_STATUS_ODI_OVERRUN(__val__) (((__val__) << 5u) & 0x20u) + +/** @brief Register definition for @ref DEVICE_t.TransmitMacStatus. */ +typedef register_container RegDEVICETransmitMacStatus_t { + /** @brief 32bit direct register access. */ + BCM5719_DEVICE_H_uint32_t r32; + + BITFIELD_BEGIN(BCM5719_DEVICE_H_uint32_t, bits) +#if defined(__LITTLE_ENDIAN__) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, XOFFED, 0, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, SentXOFF, 1, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, SentXON, 2, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, LinkUp, 3, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, ODIUnderrun, 4, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, ODIOverrun, 5, 1) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_31_6, 6, 26) +#elif defined(__BIG_ENDIAN__) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_31_6, 6, 26) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, ODIOverrun, 5, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, ODIUnderrun, 4, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, LinkUp, 3, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, SentXON, 2, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, SentXOFF, 1, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, XOFFED, 0, 1) +#else +#error Unknown Endian +#endif + BITFIELD_END(BCM5719_DEVICE_H_uint32_t, bits) +#ifdef CXX_SIMULATOR + /** @brief Register name for use with the simulator. */ + const char* getName(void) { return "TransmitMacStatus"; } + + /** @brief Print register value. */ + void print(void) { r32.print(); } + + RegDEVICETransmitMacStatus_t() + { + /** @brief constructor for @ref DEVICE_t.TransmitMacStatus. */ + r32.setName("TransmitMacStatus"); + bits.XOFFED.setBaseRegister(&r32); + bits.XOFFED.setName("XOFFED"); + bits.SentXOFF.setBaseRegister(&r32); + bits.SentXOFF.setName("SentXOFF"); + bits.SentXON.setBaseRegister(&r32); + bits.SentXON.setName("SentXON"); + bits.LinkUp.setBaseRegister(&r32); + bits.LinkUp.setName("LinkUp"); + bits.ODIUnderrun.setBaseRegister(&r32); + bits.ODIUnderrun.setName("ODIUnderrun"); + bits.ODIOverrun.setBaseRegister(&r32); + bits.ODIOverrun.setName("ODIOverrun"); + } + RegDEVICETransmitMacStatus_t& operator=(const RegDEVICETransmitMacStatus_t& other) + { + r32 = other.r32; + return *this; + } +#endif /* CXX_SIMULATOR */ +} RegDEVICETransmitMacStatus_t; + #define REG_DEVICE_RECEIVE_MAC_MODE ((volatile BCM5719_DEVICE_H_uint32_t*)0xc0000468) /* */ #define DEVICE_RECEIVE_MAC_MODE_RESET_SHIFT 0u #define DEVICE_RECEIVE_MAC_MODE_RESET_MASK 0x1u @@ -2221,6 +2319,74 @@ typedef register_container RegDEVICEReceiveMacMode_t { #endif /* CXX_SIMULATOR */ } RegDEVICEReceiveMacMode_t; +#define REG_DEVICE_RECEIVE_MAC_STATUS ((volatile BCM5719_DEVICE_H_uint32_t*)0xc000046c) /* */ +#define DEVICE_RECEIVE_MAC_STATUS_REMOTE_TX_XOFFED_SHIFT 0u +#define DEVICE_RECEIVE_MAC_STATUS_REMOTE_TX_XOFFED_MASK 0x1u +#define GET_DEVICE_RECEIVE_MAC_STATUS_REMOTE_TX_XOFFED(__reg__) (((__reg__) & 0x1) >> 0u) +#define SET_DEVICE_RECEIVE_MAC_STATUS_REMOTE_TX_XOFFED(__val__) (((__val__) << 0u) & 0x1u) +#define DEVICE_RECEIVE_MAC_STATUS_XOFF_RECEIVED_SHIFT 1u +#define DEVICE_RECEIVE_MAC_STATUS_XOFF_RECEIVED_MASK 0x2u +#define GET_DEVICE_RECEIVE_MAC_STATUS_XOFF_RECEIVED(__reg__) (((__reg__) & 0x2) >> 1u) +#define SET_DEVICE_RECEIVE_MAC_STATUS_XOFF_RECEIVED(__val__) (((__val__) << 1u) & 0x2u) +#define DEVICE_RECEIVE_MAC_STATUS_XON_RECEIVED_SHIFT 2u +#define DEVICE_RECEIVE_MAC_STATUS_XON_RECEIVED_MASK 0x4u +#define GET_DEVICE_RECEIVE_MAC_STATUS_XON_RECEIVED(__reg__) (((__reg__) & 0x4) >> 2u) +#define SET_DEVICE_RECEIVE_MAC_STATUS_XON_RECEIVED(__val__) (((__val__) << 2u) & 0x4u) + +/** @brief Register definition for @ref DEVICE_t.ReceiveMacStatus. */ +typedef register_container RegDEVICEReceiveMacStatus_t { + /** @brief 32bit direct register access. */ + BCM5719_DEVICE_H_uint32_t r32; + + BITFIELD_BEGIN(BCM5719_DEVICE_H_uint32_t, bits) +#if defined(__LITTLE_ENDIAN__) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, RemoteTXXOFFED, 0, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, XOFFReceived, 1, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, XONReceived, 2, 1) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_31_3, 3, 29) +#elif defined(__BIG_ENDIAN__) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_31_3, 3, 29) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, XONReceived, 2, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, XOFFReceived, 1, 1) + /** @brief */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, RemoteTXXOFFED, 0, 1) +#else +#error Unknown Endian +#endif + BITFIELD_END(BCM5719_DEVICE_H_uint32_t, bits) +#ifdef CXX_SIMULATOR + /** @brief Register name for use with the simulator. */ + const char* getName(void) { return "ReceiveMacStatus"; } + + /** @brief Print register value. */ + void print(void) { r32.print(); } + + RegDEVICEReceiveMacStatus_t() + { + /** @brief constructor for @ref DEVICE_t.ReceiveMacStatus. */ + r32.setName("ReceiveMacStatus"); + bits.RemoteTXXOFFED.setBaseRegister(&r32); + bits.RemoteTXXOFFED.setName("RemoteTXXOFFED"); + bits.XOFFReceived.setBaseRegister(&r32); + bits.XOFFReceived.setName("XOFFReceived"); + bits.XONReceived.setBaseRegister(&r32); + bits.XONReceived.setName("XONReceived"); + } + RegDEVICEReceiveMacStatus_t& operator=(const RegDEVICEReceiveMacStatus_t& other) + { + r32 = other.r32; + return *this; + } +#endif /* CXX_SIMULATOR */ +} RegDEVICEReceiveMacStatus_t; + #define REG_DEVICE_PERFECT_MATCH1_HIGH ((volatile BCM5719_DEVICE_H_uint32_t*)0xc0000540) /* */ #define DEVICE_PERFECT_MATCH1_HIGH_HIGH_SHIFT 0u #define DEVICE_PERFECT_MATCH1_HIGH_HIGH_MASK 0xffffu @@ -7731,14 +7897,20 @@ typedef struct DEVICE_t { /** @brief */ RegDEVICETransmitMacMode_t TransmitMacMode; + /** @brief */ + RegDEVICETransmitMacStatus_t TransmitMacStatus; + /** @brief Reserved bytes to pad out data structure. */ - BCM5719_DEVICE_H_uint32_t reserved_1120[2]; + BCM5719_DEVICE_H_uint32_t reserved_1124[1]; /** @brief */ RegDEVICEReceiveMacMode_t ReceiveMacMode; + /** @brief */ + RegDEVICEReceiveMacStatus_t ReceiveMacStatus; + /** @brief Reserved bytes to pad out data structure. */ - BCM5719_DEVICE_H_uint32_t reserved_1132[53]; + BCM5719_DEVICE_H_uint32_t reserved_1136[52]; /** @brief */ RegDEVICEPerfectMatch1High_t PerfectMatch1High; @@ -8188,7 +8360,9 @@ typedef struct DEVICE_t { MiiCommunication.r32.setComponentOffset(0x44c); MiiMode.r32.setComponentOffset(0x454); TransmitMacMode.r32.setComponentOffset(0x45c); + TransmitMacStatus.r32.setComponentOffset(0x460); ReceiveMacMode.r32.setComponentOffset(0x468); + ReceiveMacStatus.r32.setComponentOffset(0x46c); PerfectMatch1High.r32.setComponentOffset(0x540); PerfectMatch1Low.r32.setComponentOffset(0x544); PerfectMatch2High.r32.setComponentOffset(0x548); @@ -8366,14 +8540,16 @@ typedef struct DEVICE_t { reserved_1112[i].print(); } TransmitMacMode.print(); - for(int i = 0; i < 2; i++) + TransmitMacStatus.print(); + for(int i = 0; i < 1; i++) { - reserved_1120[i].print(); + reserved_1124[i].print(); } ReceiveMacMode.print(); - for(int i = 0; i < 53; i++) + ReceiveMacStatus.print(); + for(int i = 0; i < 52; i++) { - reserved_1132[i].print(); + reserved_1136[i].print(); } PerfectMatch1High.print(); PerfectMatch1Low.print(); |

