summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2019-06-29 11:30:01 -0600
committerEvan Lojewski <github@meklort.com>2019-06-29 11:30:01 -0600
commit99dd644512cfef951ade6d2403a8cf2f43666b94 (patch)
tree397f725c4cd5de628cba55e51ce6832a69593bd6 /include
parent88a1987b32b1906a15606f09a324c17f7306a9b7 (diff)
downloadbcm5719-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.h204
-rw-r--r--include/APE_DEVICE1.h2
-rw-r--r--include/APE_DEVICE2.h2
-rw-r--r--include/APE_DEVICE3.h2
-rw-r--r--include/bcm5719_DEVICE.h204
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();
OpenPOWER on IntegriCloud