summaryrefslogtreecommitdiffstats
path: root/libs/MII/include
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2018-05-15 07:24:50 -0600
committerEvan Lojewski <github@meklort.com>2018-05-15 19:06:53 -0600
commit138b40dbe81e245cdff3766526a6bb3c82aadb99 (patch)
tree4281f21edce936453a23b6d92f2f0429a044a1d3 /libs/MII/include
parent1256c66174fd87b58862e0c0732bae480a63325a (diff)
downloadbcm5719-ortega-138b40dbe81e245cdff3766526a6bb3c82aadb99.tar.gz
bcm5719-ortega-138b40dbe81e245cdff3766526a6bb3c82aadb99.zip
Update cxx register wraper to only copy base register. Ensure write callback is only called once.
Diffstat (limited to 'libs/MII/include')
-rw-r--r--libs/MII/include/bcm5719_MII.h1487
1 files changed, 942 insertions, 545 deletions
diff --git a/libs/MII/include/bcm5719_MII.h b/libs/MII/include/bcm5719_MII.h
index e31f1d5..a1cd882 100644
--- a/libs/MII/include/bcm5719_MII.h
+++ b/libs/MII/include/bcm5719_MII.h
@@ -2,9 +2,9 @@
///
/// @file bcm5719_MII.h
///
-/// @project <PROJECT>
+/// @project bcm5719
///
-/// @brief bcm5719_MII registers
+/// @brief bcm5719_MII
///
////////////////////////////////////////////////////////////////////////////////
///
@@ -42,7 +42,7 @@
/// @endcond
////////////////////////////////////////////////////////////////////////////////
-/** @defgroup BCM5719_MII_H bcm5719_MII registers */
+/** @defgroup BCM5719_MII_H bcm5719_MII */
/** @addtogroup BCM5719_MII_H
* @{
*/
@@ -50,24 +50,35 @@
#define BCM5719_MII_H
#include <stdint.h>
-#include <bitfields.h>
-#ifdef __cplusplus /* Compiling c++ code - uses register wrappers */
+
+#ifdef CXX_SIMULATOR /* Compiling c++ simulator code - uses register wrappers */
#include <CXXRegister.h>
-// Redefine standard types and keywords
-#define uint8_t CXXRegister<unsigned char, 0, 8>
-#define uint16_t CXXRegister<unsigned short, 0, 16>
-#define uint32_t CXXRegister<unsigned int, 0, 32>
-#define uint8_t_bitfield(__pos__, __width__) CXXRegister<unsigned char, __pos__, __width__>
-#define uint16_t_bitfield(__pos__, __width__) CXXRegister<unsigned short, __pos__, __width__>
-#define uint32_t_bitfield(__pos__, __width__) CXXRegister<unsigned int, __pos__, __width__>
-#define union struct
+typedef CXXRegister<uint8_t, 0, 8> BCM5719_MII_H_uint8_t;
+typedef CXXRegister<uint16_t, 0, 16> BCM5719_MII_H_uint16_t;
+typedef CXXRegister<uint32_t, 0, 32> BCM5719_MII_H_uint32_t;
+#define BCM5719_MII_H_uint8_t_bitfield(__pos__, __width__) CXXRegister<uint8_t, __pos__, __width__>
+#define BCM5719_MII_H_uint16_t_bitfield(__pos__, __width__) CXXRegister<uint16_t, __pos__, __width__>
+#define BCM5719_MII_H_uint32_t_bitfield(__pos__, __width__) CXXRegister<uint32_t, __pos__, __width__>
+#define register_container struct
#define volatile
-#endif /* __cplusplus */
+#define BITFIELD_BEGIN(__type__, __name__) struct {
+#define BITFIELD_MEMBER(__type__, __name__, __offset__, __bits__) __type__##_bitfield(__offset__, __bits__) __name__;
+#define BITFIELD_END(__type__, __name__) } __name__;
+
+#else /* CXX_SIMULATOR */
+typedef uint8_t BCM5719_MII_H_uint8_t;
+typedef uint16_t BCM5719_MII_H_uint16_t;
+typedef uint32_t BCM5719_MII_H_uint32_t;
+#define register_container union
+#define BITFIELD_BEGIN(__type__, __name__) struct {
+#define BITFIELD_MEMBER(__type__, __name__, __offset__, __bits__) __type__ __name__:__bits__;
+#define BITFIELD_END(__type__, __name__) } __name__;
+#endif /* !CXX_SIMULATOR */
#define REG_MII_BASE ((volatile void*)0x0) /* MII Registers */
-#define REG_MII_CONTROL ((volatile uint16_t*)0x0) /* */
+#define REG_MII_CONTROL ((volatile BCM5719_MII_H_uint16_t*)0x0) /* */
#define MII_CONTROL_UNIDIRECTIONAL_MODE__GPHY_ONLY__SHIFT 5u
#define MII_CONTROL_UNIDIRECTIONAL_MODE__GPHY_ONLY__MASK 0x20u
#define GET_MII_CONTROL_UNIDIRECTIONAL_MODE__GPHY_ONLY_(__reg__) (((__reg__) & 0x20) >> 5u)
@@ -118,40 +129,62 @@
#define GET_MII_CONTROL_RESET(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_CONTROL_RESET(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.Control. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief Padding */
- BITFIELD_MEMBER(uint16_t, reserved_4_0, 0, 5)
- /** @brief */
- BITFIELD_MEMBER(uint16_t, UnidirectionalMode_GPHYonly_, 5, 1)
- /** @brief */
- BITFIELD_MEMBER(uint16_t, SpeedSelectMSB, 6, 1)
- /** @brief */
- BITFIELD_MEMBER(uint16_t, CollisionTestMode, 7, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, FullDuplexMode, 8, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, RestartAutonegotiation, 9, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Isolate_GPHYonly_, 10, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, PowerDown, 11, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutoNegotiationEnable, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, SpeedSelectLSB, 13, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LoopbackMode, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Reset, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.Control. */
+typedef register_container RegMIIControl_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief Padding */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint16_t, reserved_4_0, 0, 5)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint16_t, UnidirectionalMode_GPHYonly_, 5, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint16_t, SpeedSelectMSB, 6, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint16_t, CollisionTestMode, 7, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, FullDuplexMode, 8, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, RestartAutonegotiation, 9, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Isolate_GPHYonly_, 10, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, PowerDown, 11, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutoNegotiationEnable, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, SpeedSelectLSB, 13, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LoopbackMode, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Reset, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIControl_t()
+ {
+ /** @brief constructor for @ref MII_t.Control. */
+ bits.UnidirectionalMode_GPHYonly_.setBaseRegister(&r16);
+ bits.SpeedSelectMSB.setBaseRegister(&r16);
+ bits.CollisionTestMode.setBaseRegister(&r16);
+ bits.FullDuplexMode.setBaseRegister(&r16);
+ bits.RestartAutonegotiation.setBaseRegister(&r16);
+ bits.Isolate_GPHYonly_.setBaseRegister(&r16);
+ bits.PowerDown.setBaseRegister(&r16);
+ bits.AutoNegotiationEnable.setBaseRegister(&r16);
+ bits.SpeedSelectLSB.setBaseRegister(&r16);
+ bits.LoopbackMode.setBaseRegister(&r16);
+ bits.Reset.setBaseRegister(&r16);
+ }
+ RegMIIControl_t& operator=(const RegMIIControl_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIControl_t;
-#define REG_MII_STATUS ((volatile uint16_t*)0x2) /* */
+#define REG_MII_STATUS ((volatile BCM5719_MII_H_uint16_t*)0x2) /* */
#define MII_STATUS_EXTENDED_CAPABILITIES_SUPPORTED_SHIFT 0u
#define MII_STATUS_EXTENDED_CAPABILITIES_SUPPORTED_MASK 0x1u
#define GET_MII_STATUS_EXTENDED_CAPABILITIES_SUPPORTED(__reg__) (((__reg__) & 0x1) >> 0u)
@@ -217,65 +250,104 @@
#define GET_MII_STATUS_100BASE_T4_CAPABLE(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_STATUS_100BASE_T4_CAPABLE(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.Status. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ExtendedCapabilitiesSupported, 0, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, JabberDetected, 1, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkOK, 2, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutoNegotiationCapable, 3, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, RemoteFaultDetected, 4, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutoNegotiationComplete, 5, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MFPreambleSuppression, 6, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, UnidirectionalCapable_GPHYonly_, 7, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ExtendedStatusSupported, 8, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_T2HalfDuplexCapable, 9, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_T2FullDuplexCapable, 10, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _10BASE_THalfDuplexCapable, 11, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _10BASE_TFullDuplexCapable, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_XHalfDuplexCapable, 13, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_XFullDuplexCapable, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_T4Capable, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.Status. */
+typedef register_container RegMIIStatus_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ExtendedCapabilitiesSupported, 0, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, JabberDetected, 1, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkOK, 2, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutoNegotiationCapable, 3, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, RemoteFaultDetected, 4, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutoNegotiationComplete, 5, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MFPreambleSuppression, 6, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, UnidirectionalCapable_GPHYonly_, 7, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ExtendedStatusSupported, 8, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_T2HalfDuplexCapable, 9, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_T2FullDuplexCapable, 10, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _10BASE_THalfDuplexCapable, 11, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _10BASE_TFullDuplexCapable, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_XHalfDuplexCapable, 13, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_XFullDuplexCapable, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_T4Capable, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIStatus_t()
+ {
+ /** @brief constructor for @ref MII_t.Status. */
+ bits.ExtendedCapabilitiesSupported.setBaseRegister(&r16);
+ bits.JabberDetected.setBaseRegister(&r16);
+ bits.LinkOK.setBaseRegister(&r16);
+ bits.AutoNegotiationCapable.setBaseRegister(&r16);
+ bits.RemoteFaultDetected.setBaseRegister(&r16);
+ bits.AutoNegotiationComplete.setBaseRegister(&r16);
+ bits.MFPreambleSuppression.setBaseRegister(&r16);
+ bits.UnidirectionalCapable_GPHYonly_.setBaseRegister(&r16);
+ bits.ExtendedStatusSupported.setBaseRegister(&r16);
+ bits._100BASE_T2HalfDuplexCapable.setBaseRegister(&r16);
+ bits._100BASE_T2FullDuplexCapable.setBaseRegister(&r16);
+ bits._10BASE_THalfDuplexCapable.setBaseRegister(&r16);
+ bits._10BASE_TFullDuplexCapable.setBaseRegister(&r16);
+ bits._100BASE_XHalfDuplexCapable.setBaseRegister(&r16);
+ bits._100BASE_XFullDuplexCapable.setBaseRegister(&r16);
+ bits._100BASE_T4Capable.setBaseRegister(&r16);
+ }
+ RegMIIStatus_t& operator=(const RegMIIStatus_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIStatus_t;
-#define REG_MII_PHY_ID_HIGH ((volatile uint16_t*)0x4) /* */
+#define REG_MII_PHY_ID_HIGH ((volatile BCM5719_MII_H_uint16_t*)0x4) /* */
#define MII_PHY_ID_HIGH_OUI_HIGH_SHIFT 0u
#define MII_PHY_ID_HIGH_OUI_HIGH_MASK 0xffffu
#define GET_MII_PHY_ID_HIGH_OUI_HIGH(__reg__) (((__reg__) & 0xffff) >> 0u)
#define SET_MII_PHY_ID_HIGH_OUI_HIGH(__val__) (((__val__) << 0u) & 0xffffu)
-/** @brief Register definition for @ref MII_t.PhyIdHigh. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief Bits 3:18 of organizationally unique identifier */
- BITFIELD_MEMBER(uint32_t, OUIHigh, 0, 16)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.PhyIdHigh. */
+typedef register_container RegMIIPhyIdHigh_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief Bits 3:18 of organizationally unique identifier */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, OUIHigh, 0, 16)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIPhyIdHigh_t()
+ {
+ /** @brief constructor for @ref MII_t.PhyIdHigh. */
+ bits.OUIHigh.setBaseRegister(&r16);
+ }
+ RegMIIPhyIdHigh_t& operator=(const RegMIIPhyIdHigh_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIPhyIdHigh_t;
-#define REG_MII_PHY_ID_LOW ((volatile uint16_t*)0x6) /* */
+#define REG_MII_PHY_ID_LOW ((volatile BCM5719_MII_H_uint16_t*)0x6) /* */
#define MII_PHY_ID_LOW_REVISION_SHIFT 0u
#define MII_PHY_ID_LOW_REVISION_MASK 0xfu
#define GET_MII_PHY_ID_LOW_REVISION(__reg__) (((__reg__) & 0xf) >> 0u)
@@ -289,22 +361,36 @@
#define GET_MII_PHY_ID_LOW_OUI_LOW(__reg__) (((__reg__) & 0xfc00) >> 10u)
#define SET_MII_PHY_ID_LOW_OUI_LOW(__val__) (((__val__) << 10u) & 0xfc00u)
-/** @brief Register definition for @ref MII_t.PhyIdLow. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Revision, 0, 4)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Model, 4, 6)
- /** @brief Bits 19:24 of organizationally unique identifier. */
- BITFIELD_MEMBER(uint32_t, OUILow, 10, 6)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.PhyIdLow. */
+typedef register_container RegMIIPhyIdLow_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Revision, 0, 4)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Model, 4, 6)
+ /** @brief Bits 19:24 of organizationally unique identifier. */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, OUILow, 10, 6)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIPhyIdLow_t()
+ {
+ /** @brief constructor for @ref MII_t.PhyIdLow. */
+ bits.Revision.setBaseRegister(&r16);
+ bits.Model.setBaseRegister(&r16);
+ bits.OUILow.setBaseRegister(&r16);
+ }
+ RegMIIPhyIdLow_t& operator=(const RegMIIPhyIdLow_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIPhyIdLow_t;
-#define REG_MII_AUTONEGOTIATION_ADVERTISEMENT ((volatile uint16_t*)0x8) /* Bits in this register indicate what capability bits are advertised to the link partner. */
+#define REG_MII_AUTONEGOTIATION_ADVERTISEMENT ((volatile BCM5719_MII_H_uint16_t*)0x8) /* Bits in this register indicate what capability bits are advertised to the link partner. */
#define MII_AUTONEGOTIATION_ADVERTISEMENT_PROTOCOL_SELECT_SHIFT 0u
#define MII_AUTONEGOTIATION_ADVERTISEMENT_PROTOCOL_SELECT_MASK 0x1fu
#define GET_MII_AUTONEGOTIATION_ADVERTISEMENT_PROTOCOL_SELECT(__reg__) (((__reg__) & 0x1f) >> 0u)
@@ -348,40 +434,61 @@
#define GET_MII_AUTONEGOTIATION_ADVERTISEMENT_NEXT_PAGE(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_AUTONEGOTIATION_ADVERTISEMENT_NEXT_PAGE(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.AutonegotiationAdvertisement. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ProtocolSelect, 0, 5)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _10BASE_THalfDuplexCapable, 5, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _10BASE_TFullDuplexCapable, 6, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_TXHalfDuplexCapable, 7, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_TXFullDuplexCapable, 8, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_T4Capable, 9, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, PauseCapable, 10, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AsymmetricPauseCapable, 11, 1)
- /** @brief Padding */
- BITFIELD_MEMBER(uint32_t, reserved_12_12, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, RemoteFault, 13, 1)
- /** @brief Padding */
- BITFIELD_MEMBER(uint32_t, reserved_14_14, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, NextPage, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.AutonegotiationAdvertisement. */
+typedef register_container RegMIIAutonegotiationAdvertisement_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ProtocolSelect, 0, 5)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _10BASE_THalfDuplexCapable, 5, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _10BASE_TFullDuplexCapable, 6, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_TXHalfDuplexCapable, 7, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_TXFullDuplexCapable, 8, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_T4Capable, 9, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, PauseCapable, 10, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AsymmetricPauseCapable, 11, 1)
+ /** @brief Padding */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, reserved_12_12, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, RemoteFault, 13, 1)
+ /** @brief Padding */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, reserved_14_14, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, NextPage, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIAutonegotiationAdvertisement_t()
+ {
+ /** @brief constructor for @ref MII_t.AutonegotiationAdvertisement. */
+ bits.ProtocolSelect.setBaseRegister(&r16);
+ bits._10BASE_THalfDuplexCapable.setBaseRegister(&r16);
+ bits._10BASE_TFullDuplexCapable.setBaseRegister(&r16);
+ bits._100BASE_TXHalfDuplexCapable.setBaseRegister(&r16);
+ bits._100BASE_TXFullDuplexCapable.setBaseRegister(&r16);
+ bits._100BASE_T4Capable.setBaseRegister(&r16);
+ bits.PauseCapable.setBaseRegister(&r16);
+ bits.AsymmetricPauseCapable.setBaseRegister(&r16);
+ bits.RemoteFault.setBaseRegister(&r16);
+ bits.NextPage.setBaseRegister(&r16);
+ }
+ RegMIIAutonegotiationAdvertisement_t& operator=(const RegMIIAutonegotiationAdvertisement_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIAutonegotiationAdvertisement_t;
-#define REG_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_BASE_PAGE ((volatile uint16_t*)0xa) /* Bits in this register indicate the capabilities of the link partner. */
+#define REG_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_BASE_PAGE ((volatile BCM5719_MII_H_uint16_t*)0xa) /* Bits in this register indicate the capabilities of the link partner. */
#define MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_BASE_PAGE_PROTOCOL_SELECTOR_SHIFT 0u
#define MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_BASE_PAGE_PROTOCOL_SELECTOR_MASK 0x1fu
#define GET_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_BASE_PAGE_PROTOCOL_SELECTOR(__reg__) (((__reg__) & 0x1f) >> 0u)
@@ -427,40 +534,62 @@
#define GET_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_BASE_PAGE_NEXT_PAGE(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_BASE_PAGE_NEXT_PAGE(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.AutonegotiationLinkPartnerAbilityBasePage. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ProtocolSelector, 0, 5)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _10BASE_THalfDuplexCapable, 5, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _10BASE_TFullDuplexCapable, 6, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_TXHalfDuplexCapable, 7, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_TXFullDuplexCapable, 8, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, _100BASE_T4Capable, 9, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, PauseCapable, 10, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AsymmetricPauseCapable, 11, 1)
- /** @brief Padding */
- BITFIELD_MEMBER(uint32_t, reserved_12_12, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, RemoteFault, 13, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Acknowledge, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, NextPage, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.AutonegotiationLinkPartnerAbilityBasePage. */
+typedef register_container RegMIIAutonegotiationLinkPartnerAbilityBasePage_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ProtocolSelector, 0, 5)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _10BASE_THalfDuplexCapable, 5, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _10BASE_TFullDuplexCapable, 6, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_TXHalfDuplexCapable, 7, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_TXFullDuplexCapable, 8, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, _100BASE_T4Capable, 9, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, PauseCapable, 10, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AsymmetricPauseCapable, 11, 1)
+ /** @brief Padding */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, reserved_12_12, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, RemoteFault, 13, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Acknowledge, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, NextPage, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIAutonegotiationLinkPartnerAbilityBasePage_t()
+ {
+ /** @brief constructor for @ref MII_t.AutonegotiationLinkPartnerAbilityBasePage. */
+ bits.ProtocolSelector.setBaseRegister(&r16);
+ bits._10BASE_THalfDuplexCapable.setBaseRegister(&r16);
+ bits._10BASE_TFullDuplexCapable.setBaseRegister(&r16);
+ bits._100BASE_TXHalfDuplexCapable.setBaseRegister(&r16);
+ bits._100BASE_TXFullDuplexCapable.setBaseRegister(&r16);
+ bits._100BASE_T4Capable.setBaseRegister(&r16);
+ bits.PauseCapable.setBaseRegister(&r16);
+ bits.AsymmetricPauseCapable.setBaseRegister(&r16);
+ bits.RemoteFault.setBaseRegister(&r16);
+ bits.Acknowledge.setBaseRegister(&r16);
+ bits.NextPage.setBaseRegister(&r16);
+ }
+ RegMIIAutonegotiationLinkPartnerAbilityBasePage_t& operator=(const RegMIIAutonegotiationLinkPartnerAbilityBasePage_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIAutonegotiationLinkPartnerAbilityBasePage_t;
-#define REG_MII_AUTONEGOTIATION_EXPANSION ((volatile uint16_t*)0xc) /* */
+#define REG_MII_AUTONEGOTIATION_EXPANSION ((volatile BCM5719_MII_H_uint16_t*)0xc) /* */
#define MII_AUTONEGOTIATION_EXPANSION_LINK_PARTNER_AUTONEGOTIATION_CAPABLE_SHIFT 0u
#define MII_AUTONEGOTIATION_EXPANSION_LINK_PARTNER_AUTONEGOTIATION_CAPABLE_MASK 0x1u
#define GET_MII_AUTONEGOTIATION_EXPANSION_LINK_PARTNER_AUTONEGOTIATION_CAPABLE(__reg__) (((__reg__) & 0x1) >> 0u)
@@ -493,30 +622,48 @@
#define GET_MII_AUTONEGOTIATION_EXPANSION_NEXT_PAGE_RECEIVE_LOCATION_CAPABLE(__reg__) (((__reg__) & 0x40) >> 6u)
#define SET_MII_AUTONEGOTIATION_EXPANSION_NEXT_PAGE_RECEIVE_LOCATION_CAPABLE(__val__) (((__val__) << 6u) & 0x40u)
-/** @brief Register definition for @ref MII_t.AutonegotiationExpansion. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkPartnerAutonegotiationCapable, 0, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, PageReceived, 1, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, NextPageCapable, 2, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkPartnerNextPageCapable, 3, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ParallelDetectionFault, 4, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, NextPageReceiveLocation, 5, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, NextPageReceiveLocationCapable, 6, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.AutonegotiationExpansion. */
+typedef register_container RegMIIAutonegotiationExpansion_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkPartnerAutonegotiationCapable, 0, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, PageReceived, 1, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, NextPageCapable, 2, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkPartnerNextPageCapable, 3, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ParallelDetectionFault, 4, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, NextPageReceiveLocation, 5, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, NextPageReceiveLocationCapable, 6, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIAutonegotiationExpansion_t()
+ {
+ /** @brief constructor for @ref MII_t.AutonegotiationExpansion. */
+ bits.LinkPartnerAutonegotiationCapable.setBaseRegister(&r16);
+ bits.PageReceived.setBaseRegister(&r16);
+ bits.NextPageCapable.setBaseRegister(&r16);
+ bits.LinkPartnerNextPageCapable.setBaseRegister(&r16);
+ bits.ParallelDetectionFault.setBaseRegister(&r16);
+ bits.NextPageReceiveLocation.setBaseRegister(&r16);
+ bits.NextPageReceiveLocationCapable.setBaseRegister(&r16);
+ }
+ RegMIIAutonegotiationExpansion_t& operator=(const RegMIIAutonegotiationExpansion_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIAutonegotiationExpansion_t;
-#define REG_MII_AUTONEGOTIATION_NEXT_PAGE_TRANSMIT ((volatile uint16_t*)0xe) /* */
+#define REG_MII_AUTONEGOTIATION_NEXT_PAGE_TRANSMIT ((volatile BCM5719_MII_H_uint16_t*)0xe) /* */
#define MII_AUTONEGOTIATION_NEXT_PAGE_TRANSMIT_CODE_FIELD_SHIFT 0u
#define MII_AUTONEGOTIATION_NEXT_PAGE_TRANSMIT_CODE_FIELD_MASK 0x7ffu
#define GET_MII_AUTONEGOTIATION_NEXT_PAGE_TRANSMIT_CODE_FIELD(__reg__) (((__reg__) & 0x7ff) >> 0u)
@@ -538,28 +685,44 @@
#define GET_MII_AUTONEGOTIATION_NEXT_PAGE_TRANSMIT_NEXT_PAGE(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_AUTONEGOTIATION_NEXT_PAGE_TRANSMIT_NEXT_PAGE(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.AutonegotiationNextPageTransmit. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, CodeField, 0, 11)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Toggle, 11, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Acknowledge2, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MessagePage, 13, 1)
- /** @brief Padding */
- BITFIELD_MEMBER(uint32_t, reserved_14_14, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, NextPage, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.AutonegotiationNextPageTransmit. */
+typedef register_container RegMIIAutonegotiationNextPageTransmit_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, CodeField, 0, 11)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Toggle, 11, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Acknowledge2, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MessagePage, 13, 1)
+ /** @brief Padding */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, reserved_14_14, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, NextPage, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIAutonegotiationNextPageTransmit_t()
+ {
+ /** @brief constructor for @ref MII_t.AutonegotiationNextPageTransmit. */
+ bits.CodeField.setBaseRegister(&r16);
+ bits.Toggle.setBaseRegister(&r16);
+ bits.Acknowledge2.setBaseRegister(&r16);
+ bits.MessagePage.setBaseRegister(&r16);
+ bits.NextPage.setBaseRegister(&r16);
+ }
+ RegMIIAutonegotiationNextPageTransmit_t& operator=(const RegMIIAutonegotiationNextPageTransmit_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIAutonegotiationNextPageTransmit_t;
-#define REG_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_NEXT_PAGE ((volatile uint16_t*)0x10) /* */
+#define REG_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_NEXT_PAGE ((volatile BCM5719_MII_H_uint16_t*)0x10) /* */
#define MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_NEXT_PAGE_CODE_FIELD_SHIFT 0u
#define MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_NEXT_PAGE_CODE_FIELD_MASK 0x7ffu
#define GET_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_NEXT_PAGE_CODE_FIELD(__reg__) (((__reg__) & 0x7ff) >> 0u)
@@ -585,28 +748,45 @@
#define GET_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_NEXT_PAGE_NEXT_PAGE(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_AUTONEGOTIATION_LINK_PARTNER_ABILITY_NEXT_PAGE_NEXT_PAGE(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.AutonegotiationLinkPartnerAbilityNextPage. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, CodeField, 0, 11)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Toggle2, 11, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Acknowledge2, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MessagePage, 13, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Acknowledge3, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, NextPage, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.AutonegotiationLinkPartnerAbilityNextPage. */
+typedef register_container RegMIIAutonegotiationLinkPartnerAbilityNextPage_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, CodeField, 0, 11)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Toggle2, 11, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Acknowledge2, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MessagePage, 13, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Acknowledge3, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, NextPage, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIAutonegotiationLinkPartnerAbilityNextPage_t()
+ {
+ /** @brief constructor for @ref MII_t.AutonegotiationLinkPartnerAbilityNextPage. */
+ bits.CodeField.setBaseRegister(&r16);
+ bits.Toggle2.setBaseRegister(&r16);
+ bits.Acknowledge2.setBaseRegister(&r16);
+ bits.MessagePage.setBaseRegister(&r16);
+ bits.Acknowledge3.setBaseRegister(&r16);
+ bits.NextPage.setBaseRegister(&r16);
+ }
+ RegMIIAutonegotiationLinkPartnerAbilityNextPage_t& operator=(const RegMIIAutonegotiationLinkPartnerAbilityNextPage_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIAutonegotiationLinkPartnerAbilityNextPage_t;
-#define REG_MII_1000BASE_T_CONTROL ((volatile uint16_t*)0x12) /* */
+#define REG_MII_1000BASE_T_CONTROL ((volatile BCM5719_MII_H_uint16_t*)0x12) /* */
#define MII_1000BASE_T_CONTROL_ADVERTISE_1000BASE_T_HALF_DUPLEX_SHIFT 8u
#define MII_1000BASE_T_CONTROL_ADVERTISE_1000BASE_T_HALF_DUPLEX_MASK 0x100u
#define GET_MII_1000BASE_T_CONTROL_ADVERTISE_1000BASE_T_HALF_DUPLEX(__reg__) (((__reg__) & 0x100) >> 8u)
@@ -632,30 +812,47 @@
#define GET_MII_1000BASE_T_CONTROL_TEST_MODE(__reg__) (((__reg__) & 0xe000) >> 13u)
#define SET_MII_1000BASE_T_CONTROL_TEST_MODE(__val__) (((__val__) << 13u) & 0xe000u)
-/** @brief Register definition for @ref MII_t.1000baseTControl. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief Padding */
- BITFIELD_MEMBER(uint32_t, reserved_7_0, 0, 8)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Advertise1000BASE_THalfDuplex, 8, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Advertise1000BASE_TFullDuplex, 9, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, RepeaterDTE, 10, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MasterSlaveConfigValue, 11, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MasterSlaveConfigEnable, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, TestMode, 13, 3)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.1000baseTControl. */
+typedef register_container RegMII1000baseTControl_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief Padding */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, reserved_7_0, 0, 8)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Advertise1000BASE_THalfDuplex, 8, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Advertise1000BASE_TFullDuplex, 9, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, RepeaterDTE, 10, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MasterSlaveConfigValue, 11, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MasterSlaveConfigEnable, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, TestMode, 13, 3)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMII1000baseTControl_t()
+ {
+ /** @brief constructor for @ref MII_t.1000baseTControl. */
+ bits.Advertise1000BASE_THalfDuplex.setBaseRegister(&r16);
+ bits.Advertise1000BASE_TFullDuplex.setBaseRegister(&r16);
+ bits.RepeaterDTE.setBaseRegister(&r16);
+ bits.MasterSlaveConfigValue.setBaseRegister(&r16);
+ bits.MasterSlaveConfigEnable.setBaseRegister(&r16);
+ bits.TestMode.setBaseRegister(&r16);
+ }
+ RegMII1000baseTControl_t& operator=(const RegMII1000baseTControl_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMII1000baseTControl_t;
-#define REG_MII_1000BASE_T_STATUS ((volatile uint16_t*)0x14) /* */
+#define REG_MII_1000BASE_T_STATUS ((volatile BCM5719_MII_H_uint16_t*)0x14) /* */
#define MII_1000BASE_T_STATUS_IDLE_ERROR_COUNT_SHIFT 0u
#define MII_1000BASE_T_STATUS_IDLE_ERROR_COUNT_MASK 0xffu
#define GET_MII_1000BASE_T_STATUS_IDLE_ERROR_COUNT(__reg__) (((__reg__) & 0xff) >> 0u)
@@ -685,32 +882,50 @@
#define GET_MII_1000BASE_T_STATUS_MASTER_SLAVE_CONFIG_FAULT(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_1000BASE_T_STATUS_MASTER_SLAVE_CONFIG_FAULT(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.1000baseTStatus. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, IdleErrorCount, 0, 8)
- /** @brief Padding */
- BITFIELD_MEMBER(uint32_t, reserved_9_8, 8, 2)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkPartner1000BASE_THalfDuplexCapable, 10, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkPartner1000BASE_TFullDuplexCapable, 11, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, RemoteReceiverStatus, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LocalReceiverStatus, 13, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MasterSlaveConfigResolution, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MasterSlaveConfigFault, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.1000baseTStatus. */
+typedef register_container RegMII1000baseTStatus_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, IdleErrorCount, 0, 8)
+ /** @brief Padding */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, reserved_9_8, 8, 2)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkPartner1000BASE_THalfDuplexCapable, 10, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkPartner1000BASE_TFullDuplexCapable, 11, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, RemoteReceiverStatus, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LocalReceiverStatus, 13, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MasterSlaveConfigResolution, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MasterSlaveConfigFault, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMII1000baseTStatus_t()
+ {
+ /** @brief constructor for @ref MII_t.1000baseTStatus. */
+ bits.IdleErrorCount.setBaseRegister(&r16);
+ bits.LinkPartner1000BASE_THalfDuplexCapable.setBaseRegister(&r16);
+ bits.LinkPartner1000BASE_TFullDuplexCapable.setBaseRegister(&r16);
+ bits.RemoteReceiverStatus.setBaseRegister(&r16);
+ bits.LocalReceiverStatus.setBaseRegister(&r16);
+ bits.MasterSlaveConfigResolution.setBaseRegister(&r16);
+ bits.MasterSlaveConfigFault.setBaseRegister(&r16);
+ }
+ RegMII1000baseTStatus_t& operator=(const RegMII1000baseTStatus_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMII1000baseTStatus_t;
-#define REG_MII_BROADREACH_LRE_ACCESS ((volatile uint16_t*)0x1c) /* WTH is this. */
+#define REG_MII_BROADREACH_LRE_ACCESS ((volatile BCM5719_MII_H_uint16_t*)0x1c) /* WTH is this. */
#define MII_BROADREACH_LRE_ACCESS_LRE_REGISTER_ACCESS_STATUS_SHIFT 0u
#define MII_BROADREACH_LRE_ACCESS_LRE_REGISTER_ACCESS_STATUS_MASK 0x1u
#define GET_MII_BROADREACH_LRE_ACCESS_LRE_REGISTER_ACCESS_STATUS(__reg__) (((__reg__) & 0x1) >> 0u)
@@ -724,22 +939,36 @@
#define GET_MII_BROADREACH_LRE_ACCESS_ENABLE_LRE_REGISTER_ACCESS_OVERRIDE(__reg__) (((__reg__) & 0x4) >> 2u)
#define SET_MII_BROADREACH_LRE_ACCESS_ENABLE_LRE_REGISTER_ACCESS_OVERRIDE(__val__) (((__val__) << 2u) & 0x4u)
-/** @brief Register definition for @ref MII_t.BroadreachLreAccess. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LRERegisterAccessStatus, 0, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LRERegisterOverrideValue, 1, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, EnableLRERegisterAccessOverride, 2, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.BroadreachLreAccess. */
+typedef register_container RegMIIBroadreachLreAccess_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LRERegisterAccessStatus, 0, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LRERegisterOverrideValue, 1, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, EnableLRERegisterAccessOverride, 2, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIBroadreachLreAccess_t()
+ {
+ /** @brief constructor for @ref MII_t.BroadreachLreAccess. */
+ bits.LRERegisterAccessStatus.setBaseRegister(&r16);
+ bits.LRERegisterOverrideValue.setBaseRegister(&r16);
+ bits.EnableLRERegisterAccessOverride.setBaseRegister(&r16);
+ }
+ RegMIIBroadreachLreAccess_t& operator=(const RegMIIBroadreachLreAccess_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIBroadreachLreAccess_t;
-#define REG_MII_IEEE_EXTENDED_STATUS ((volatile uint16_t*)0x1e) /* */
+#define REG_MII_IEEE_EXTENDED_STATUS ((volatile BCM5719_MII_H_uint16_t*)0x1e) /* */
#define MII_IEEE_EXTENDED_STATUS_1000BASE_T_HALF_DUPLEX_CAPABLE_SHIFT 12u
#define MII_IEEE_EXTENDED_STATUS_1000BASE_T_HALF_DUPLEX_CAPABLE_MASK 0x1000u
#define GET_MII_IEEE_EXTENDED_STATUS_1000BASE_T_HALF_DUPLEX_CAPABLE(__reg__) (((__reg__) & 0x1000) >> 12u)
@@ -753,26 +982,40 @@
#define GET_MII_IEEE_EXTENDED_STATUS_1000BASE_X_HALF_DUPLEX_CAPABLE(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_IEEE_EXTENDED_STATUS_1000BASE_X_HALF_DUPLEX_CAPABLE(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.IeeeExtendedStatus. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief Padding */
- BITFIELD_MEMBER(uint16_t, reserved_11_0, 0, 12)
- /** @brief */
- BITFIELD_MEMBER(uint16_t, _1000BASE_THalfDuplexCapable, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint16_t, _1000BASE_TFullDuplexCapable, 13, 1)
- /** @brief Padding */
- BITFIELD_MEMBER(uint16_t, reserved_14_14, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint16_t, _1000BASE_XHalfDuplexCapable, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.IeeeExtendedStatus. */
+typedef register_container RegMIIIeeeExtendedStatus_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief Padding */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint16_t, reserved_11_0, 0, 12)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint16_t, _1000BASE_THalfDuplexCapable, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint16_t, _1000BASE_TFullDuplexCapable, 13, 1)
+ /** @brief Padding */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint16_t, reserved_14_14, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint16_t, _1000BASE_XHalfDuplexCapable, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint16_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIIeeeExtendedStatus_t()
+ {
+ /** @brief constructor for @ref MII_t.IeeeExtendedStatus. */
+ bits._1000BASE_THalfDuplexCapable.setBaseRegister(&r16);
+ bits._1000BASE_TFullDuplexCapable.setBaseRegister(&r16);
+ bits._1000BASE_XHalfDuplexCapable.setBaseRegister(&r16);
+ }
+ RegMIIIeeeExtendedStatus_t& operator=(const RegMIIIeeeExtendedStatus_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIIeeeExtendedStatus_t;
-#define REG_MII_PHY_EXTENDED_STATUS ((volatile uint16_t*)0x22) /* */
+#define REG_MII_PHY_EXTENDED_STATUS ((volatile BCM5719_MII_H_uint16_t*)0x22) /* */
#define MII_PHY_EXTENDED_STATUS_MLT3_CODE_ERROR_DETECTED_SHIFT 0u
#define MII_PHY_EXTENDED_STATUS_MLT3_CODE_ERROR_DETECTED_MASK 0x1u
#define GET_MII_PHY_EXTENDED_STATUS_MLT3_CODE_ERROR_DETECTED(__reg__) (((__reg__) & 0x1) >> 0u)
@@ -838,65 +1081,104 @@
#define GET_MII_PHY_EXTENDED_STATUS_AUTONEGOTIATION_BASE_PAGE_SELECTOR_FIELD_MISMATCH(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_PHY_EXTENDED_STATUS_AUTONEGOTIATION_BASE_PAGE_SELECTOR_FIELD_MISMATCH(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.PhyExtendedStatus. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MLT3CodeErrorDetected, 0, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LockErrorDetected, 1, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, TransmitErrorDetected, 2, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ReceiveErrorDetected, 3, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, BadESDDetected, 4, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, BadSSDDetected, 5, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, CarrierExtensionErrorDetected, 6, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, CRCErrorDetected, 7, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkStatus, 8, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, Locked, 9, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LocalReceiverStatus, 10, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, RemoteReceiverStatus, 11, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, InterruptStatus, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MDICrossoverState, 13, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, WirespeedDowngrade, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutonegotiationBasePageSelectorFieldMismatch, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.PhyExtendedStatus. */
+typedef register_container RegMIIPhyExtendedStatus_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MLT3CodeErrorDetected, 0, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LockErrorDetected, 1, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, TransmitErrorDetected, 2, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ReceiveErrorDetected, 3, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, BadESDDetected, 4, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, BadSSDDetected, 5, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, CarrierExtensionErrorDetected, 6, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, CRCErrorDetected, 7, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkStatus, 8, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, Locked, 9, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LocalReceiverStatus, 10, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, RemoteReceiverStatus, 11, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, InterruptStatus, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MDICrossoverState, 13, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, WirespeedDowngrade, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutonegotiationBasePageSelectorFieldMismatch, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIPhyExtendedStatus_t()
+ {
+ /** @brief constructor for @ref MII_t.PhyExtendedStatus. */
+ bits.MLT3CodeErrorDetected.setBaseRegister(&r16);
+ bits.LockErrorDetected.setBaseRegister(&r16);
+ bits.TransmitErrorDetected.setBaseRegister(&r16);
+ bits.ReceiveErrorDetected.setBaseRegister(&r16);
+ bits.BadESDDetected.setBaseRegister(&r16);
+ bits.BadSSDDetected.setBaseRegister(&r16);
+ bits.CarrierExtensionErrorDetected.setBaseRegister(&r16);
+ bits.CRCErrorDetected.setBaseRegister(&r16);
+ bits.LinkStatus.setBaseRegister(&r16);
+ bits.Locked.setBaseRegister(&r16);
+ bits.LocalReceiverStatus.setBaseRegister(&r16);
+ bits.RemoteReceiverStatus.setBaseRegister(&r16);
+ bits.InterruptStatus.setBaseRegister(&r16);
+ bits.MDICrossoverState.setBaseRegister(&r16);
+ bits.WirespeedDowngrade.setBaseRegister(&r16);
+ bits.AutonegotiationBasePageSelectorFieldMismatch.setBaseRegister(&r16);
+ }
+ RegMIIPhyExtendedStatus_t& operator=(const RegMIIPhyExtendedStatus_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIPhyExtendedStatus_t;
-#define REG_MII_RECEIVE_ERROR_COUNTER ((volatile uint16_t*)0x24) /* */
+#define REG_MII_RECEIVE_ERROR_COUNTER ((volatile BCM5719_MII_H_uint16_t*)0x24) /* */
#define MII_RECEIVE_ERROR_COUNTER_RECEIVE_ERROR_COUNTER_SHIFT 0u
#define MII_RECEIVE_ERROR_COUNTER_RECEIVE_ERROR_COUNTER_MASK 0xffffu
#define GET_MII_RECEIVE_ERROR_COUNTER_RECEIVE_ERROR_COUNTER(__reg__) (((__reg__) & 0xffff) >> 0u)
#define SET_MII_RECEIVE_ERROR_COUNTER_RECEIVE_ERROR_COUNTER(__val__) (((__val__) << 0u) & 0xffffu)
-/** @brief Register definition for @ref MII_t.ReceiveErrorCounter. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ReceiveErrorCounter, 0, 16)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.ReceiveErrorCounter. */
+typedef register_container RegMIIReceiveErrorCounter_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ReceiveErrorCounter, 0, 16)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIReceiveErrorCounter_t()
+ {
+ /** @brief constructor for @ref MII_t.ReceiveErrorCounter. */
+ bits.ReceiveErrorCounter.setBaseRegister(&r16);
+ }
+ RegMIIReceiveErrorCounter_t& operator=(const RegMIIReceiveErrorCounter_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIReceiveErrorCounter_t;
-#define REG_MII_FALSE_CARRIER_SENSE_COUNTER ((volatile uint16_t*)0x26) /* */
+#define REG_MII_FALSE_CARRIER_SENSE_COUNTER ((volatile BCM5719_MII_H_uint16_t*)0x26) /* */
#define MII_FALSE_CARRIER_SENSE_COUNTER_FALSE_CARRIER_SENSE_COUNTER_SHIFT 0u
#define MII_FALSE_CARRIER_SENSE_COUNTER_FALSE_CARRIER_SENSE_COUNTER_MASK 0xffu
#define GET_MII_FALSE_CARRIER_SENSE_COUNTER_FALSE_CARRIER_SENSE_COUNTER(__reg__) (((__reg__) & 0xff) >> 0u)
@@ -906,20 +1188,33 @@
#define GET_MII_FALSE_CARRIER_SENSE_COUNTER_SERDES_BER_COUNTER(__reg__) (((__reg__) & 0xff00) >> 8u)
#define SET_MII_FALSE_CARRIER_SENSE_COUNTER_SERDES_BER_COUNTER(__val__) (((__val__) << 8u) & 0xff00u)
-/** @brief Register definition for @ref MII_t.FalseCarrierSenseCounter. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, FalseCarrierSenseCounter, 0, 8)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, SERDESBERCounter, 8, 8)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.FalseCarrierSenseCounter. */
+typedef register_container RegMIIFalseCarrierSenseCounter_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, FalseCarrierSenseCounter, 0, 8)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, SERDESBERCounter, 8, 8)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIFalseCarrierSenseCounter_t()
+ {
+ /** @brief constructor for @ref MII_t.FalseCarrierSenseCounter. */
+ bits.FalseCarrierSenseCounter.setBaseRegister(&r16);
+ bits.SERDESBERCounter.setBaseRegister(&r16);
+ }
+ RegMIIFalseCarrierSenseCounter_t& operator=(const RegMIIFalseCarrierSenseCounter_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIFalseCarrierSenseCounter_t;
-#define REG_MII_LOCAL_REMOTE_RECEIVER_NOT_OK_COUNTER ((volatile uint16_t*)0x28) /* */
+#define REG_MII_LOCAL_REMOTE_RECEIVER_NOT_OK_COUNTER ((volatile BCM5719_MII_H_uint16_t*)0x28) /* */
#define MII_LOCAL_REMOTE_RECEIVER_NOT_OK_COUNTER_REMOTE_RECEIVER_NOT_OK_COUNTER_SHIFT 0u
#define MII_LOCAL_REMOTE_RECEIVER_NOT_OK_COUNTER_REMOTE_RECEIVER_NOT_OK_COUNTER_MASK 0xffu
#define GET_MII_LOCAL_REMOTE_RECEIVER_NOT_OK_COUNTER_REMOTE_RECEIVER_NOT_OK_COUNTER(__reg__) (((__reg__) & 0xff) >> 0u)
@@ -929,20 +1224,33 @@
#define GET_MII_LOCAL_REMOTE_RECEIVER_NOT_OK_COUNTER_LOCAL_RECEIVER_NOT_OK_COUNTER(__reg__) (((__reg__) & 0xff00) >> 8u)
#define SET_MII_LOCAL_REMOTE_RECEIVER_NOT_OK_COUNTER_LOCAL_RECEIVER_NOT_OK_COUNTER(__val__) (((__val__) << 8u) & 0xff00u)
-/** @brief Register definition for @ref MII_t.LocalRemoteReceiverNotOkCounter. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, RemoteReceiverNotOKCounter, 0, 8)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LocalReceiverNotOKCounter, 8, 8)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.LocalRemoteReceiverNotOkCounter. */
+typedef register_container RegMIILocalRemoteReceiverNotOkCounter_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, RemoteReceiverNotOKCounter, 0, 8)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LocalReceiverNotOKCounter, 8, 8)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIILocalRemoteReceiverNotOkCounter_t()
+ {
+ /** @brief constructor for @ref MII_t.LocalRemoteReceiverNotOkCounter. */
+ bits.RemoteReceiverNotOKCounter.setBaseRegister(&r16);
+ bits.LocalReceiverNotOKCounter.setBaseRegister(&r16);
+ }
+ RegMIILocalRemoteReceiverNotOkCounter_t& operator=(const RegMIILocalRemoteReceiverNotOkCounter_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIILocalRemoteReceiverNotOkCounter_t;
-#define REG_MII_AUXILLARY_STATUS_SUMMARY ((volatile uint16_t*)0x32) /* */
+#define REG_MII_AUXILLARY_STATUS_SUMMARY ((volatile BCM5719_MII_H_uint16_t*)0x32) /* */
#define MII_AUXILLARY_STATUS_SUMMARY_PAUSE_RESOLUTION___TRANSMIT_DIRECTION_SHIFT 0u
#define MII_AUXILLARY_STATUS_SUMMARY_PAUSE_RESOLUTION___TRANSMIT_DIRECTION_MASK 0x1u
#define GET_MII_AUXILLARY_STATUS_SUMMARY_PAUSE_RESOLUTION___TRANSMIT_DIRECTION(__reg__) (((__reg__) & 0x1) >> 0u)
@@ -1000,44 +1308,69 @@
#define GET_MII_AUXILLARY_STATUS_SUMMARY_AUTONEGOTIATION_COMPLETE(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_AUXILLARY_STATUS_SUMMARY_AUTONEGOTIATION_COMPLETE(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.AuxillaryStatusSummary. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, PauseResolution_TransmitDirection, 0, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, PauseResolution_ReceiveDirection, 1, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkStatus, 2, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkPartnerNextPageCapable, 3, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkPartnerAutonegotiationCapable, 4, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, PageReceived, 5, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, RemoteFault, 6, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ParallelDetectionFault, 7, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutonegotiationHCD, 8, 3)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutonegotiationNextPageWait, 11, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutonegotiationAbilityDetect, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutonegotiationACKDetect, 13, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutonegotiationCompleteACK, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutonegotiationComplete, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.AuxillaryStatusSummary. */
+typedef register_container RegMIIAuxillaryStatusSummary_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, PauseResolution_TransmitDirection, 0, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, PauseResolution_ReceiveDirection, 1, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkStatus, 2, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkPartnerNextPageCapable, 3, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkPartnerAutonegotiationCapable, 4, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, PageReceived, 5, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, RemoteFault, 6, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ParallelDetectionFault, 7, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutonegotiationHCD, 8, 3)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutonegotiationNextPageWait, 11, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutonegotiationAbilityDetect, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutonegotiationACKDetect, 13, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutonegotiationCompleteACK, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutonegotiationComplete, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIAuxillaryStatusSummary_t()
+ {
+ /** @brief constructor for @ref MII_t.AuxillaryStatusSummary. */
+ bits.PauseResolution_TransmitDirection.setBaseRegister(&r16);
+ bits.PauseResolution_ReceiveDirection.setBaseRegister(&r16);
+ bits.LinkStatus.setBaseRegister(&r16);
+ bits.LinkPartnerNextPageCapable.setBaseRegister(&r16);
+ bits.LinkPartnerAutonegotiationCapable.setBaseRegister(&r16);
+ bits.PageReceived.setBaseRegister(&r16);
+ bits.RemoteFault.setBaseRegister(&r16);
+ bits.ParallelDetectionFault.setBaseRegister(&r16);
+ bits.AutonegotiationHCD.setBaseRegister(&r16);
+ bits.AutonegotiationNextPageWait.setBaseRegister(&r16);
+ bits.AutonegotiationAbilityDetect.setBaseRegister(&r16);
+ bits.AutonegotiationACKDetect.setBaseRegister(&r16);
+ bits.AutonegotiationCompleteACK.setBaseRegister(&r16);
+ bits.AutonegotiationComplete.setBaseRegister(&r16);
+ }
+ RegMIIAuxillaryStatusSummary_t& operator=(const RegMIIAuxillaryStatusSummary_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIAuxillaryStatusSummary_t;
-#define REG_MII_INTERRUPT_STATUS ((volatile uint16_t*)0x34) /* */
+#define REG_MII_INTERRUPT_STATUS ((volatile BCM5719_MII_H_uint16_t*)0x34) /* */
#define MII_INTERRUPT_STATUS_CRC_ERROR_SHIFT 0u
#define MII_INTERRUPT_STATUS_CRC_ERROR_MASK 0x1u
#define GET_MII_INTERRUPT_STATUS_CRC_ERROR(__reg__) (((__reg__) & 0x1) >> 0u)
@@ -1099,65 +1432,103 @@
#define GET_MII_INTERRUPT_STATUS_IP_STATUS_CHANGE(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_INTERRUPT_STATUS_IP_STATUS_CHANGE(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.InterruptStatus. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, CRCError, 0, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkStatusChange, 1, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LinkSpeedChange, 2, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, DuplexModeChange, 3, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, LocalReceiverStatusChange, 4, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, RemoteReceiverStatusChange, 5, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ScramblerSyncError, 6, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, NegotiatedUnsupportedHCD, 7, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, NoHCD, 8, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, HCDNoLink, 9, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, AutonegotiationPageRX, 10, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ExceededLowCounterThreshold, 11, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MDIXStatusChange, 12, 1)
- /** @brief Padding */
- BITFIELD_MEMBER(uint32_t, reserved_13_13, 13, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, IllegalPairSwap, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, IPStatusChange, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.InterruptStatus. */
+typedef register_container RegMIIInterruptStatus_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, CRCError, 0, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkStatusChange, 1, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LinkSpeedChange, 2, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, DuplexModeChange, 3, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, LocalReceiverStatusChange, 4, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, RemoteReceiverStatusChange, 5, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ScramblerSyncError, 6, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, NegotiatedUnsupportedHCD, 7, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, NoHCD, 8, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, HCDNoLink, 9, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, AutonegotiationPageRX, 10, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ExceededLowCounterThreshold, 11, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MDIXStatusChange, 12, 1)
+ /** @brief Padding */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, reserved_13_13, 13, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, IllegalPairSwap, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, IPStatusChange, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIInterruptStatus_t()
+ {
+ /** @brief constructor for @ref MII_t.InterruptStatus. */
+ bits.CRCError.setBaseRegister(&r16);
+ bits.LinkStatusChange.setBaseRegister(&r16);
+ bits.LinkSpeedChange.setBaseRegister(&r16);
+ bits.DuplexModeChange.setBaseRegister(&r16);
+ bits.LocalReceiverStatusChange.setBaseRegister(&r16);
+ bits.RemoteReceiverStatusChange.setBaseRegister(&r16);
+ bits.ScramblerSyncError.setBaseRegister(&r16);
+ bits.NegotiatedUnsupportedHCD.setBaseRegister(&r16);
+ bits.NoHCD.setBaseRegister(&r16);
+ bits.HCDNoLink.setBaseRegister(&r16);
+ bits.AutonegotiationPageRX.setBaseRegister(&r16);
+ bits.ExceededLowCounterThreshold.setBaseRegister(&r16);
+ bits.MDIXStatusChange.setBaseRegister(&r16);
+ bits.IllegalPairSwap.setBaseRegister(&r16);
+ bits.IPStatusChange.setBaseRegister(&r16);
+ }
+ RegMIIInterruptStatus_t& operator=(const RegMIIInterruptStatus_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIInterruptStatus_t;
-#define REG_MII_INTERRUPT_MASK ((volatile uint16_t*)0x36) /* */
+#define REG_MII_INTERRUPT_MASK ((volatile BCM5719_MII_H_uint16_t*)0x36) /* */
#define MII_INTERRUPT_MASK_INTERRUPT_MASK_VECTOR_SHIFT 0u
#define MII_INTERRUPT_MASK_INTERRUPT_MASK_VECTOR_MASK 0xffffu
#define GET_MII_INTERRUPT_MASK_INTERRUPT_MASK_VECTOR(__reg__) (((__reg__) & 0xffff) >> 0u)
#define SET_MII_INTERRUPT_MASK_INTERRUPT_MASK_VECTOR(__val__) (((__val__) << 0u) & 0xffffu)
-/** @brief Register definition for @ref MII_t.InterruptMask. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, InterruptMaskVector, 0, 16)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.InterruptMask. */
+typedef register_container RegMIIInterruptMask_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, InterruptMaskVector, 0, 16)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIIInterruptMask_t()
+ {
+ /** @brief constructor for @ref MII_t.InterruptMask. */
+ bits.InterruptMaskVector.setBaseRegister(&r16);
+ }
+ RegMIIInterruptMask_t& operator=(const RegMIIInterruptMask_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIIInterruptMask_t;
-#define REG_MII_TEST_1 ((volatile uint16_t*)0x3c) /* */
+#define REG_MII_TEST_1 ((volatile BCM5719_MII_H_uint16_t*)0x3c) /* */
#define MII_TEST_1_MAIN_DAC_TRIM_SHIFT 0u
#define MII_TEST_1_MAIN_DAC_TRIM_MASK 0xfu
#define GET_MII_TEST_1_MAIN_DAC_TRIM(__reg__) (((__reg__) & 0xf) >> 0u)
@@ -1211,131 +1582,157 @@
#define GET_MII_TEST_1_CRC_ERROR_COUNT_VISIBILITY(__reg__) (((__reg__) & 0x8000) >> 15u)
#define SET_MII_TEST_1_CRC_ERROR_COUNT_VISIBILITY(__val__) (((__val__) << 15u) & 0x8000u)
-/** @brief Register definition for @ref MII_t.Test1. */
- typedef union {
- /** @brief 16bit direct register access. */
- uint16_t r16;
-
- BITFIELD_BEGIN(u, bits)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MainDACTrim, 0, 4)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, MainDACEnableSoftwareTrimSetting, 4, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, DisablePolarityEncode, 5, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ReceiveWatchdogTimerDisable, 6, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ManualSwapMDIState, 7, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, FastTimers, 8, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ExternalLink, 9, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ScramblerTest, 10, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ForceLock, 11, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, ForceLink, 12, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, CounterTestMode, 13, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, TransmitErrorCodeVisibility, 14, 1)
- /** @brief */
- BITFIELD_MEMBER(uint32_t, CRCErrorCountVisibility, 15, 1)
- BITFIELD_END(u, bits)
+/** @brief Register definition for @ref MII_t.Test1. */
+typedef register_container RegMIITest1_t {
+ /** @brief 16bit direct register access. */
+ BCM5719_MII_H_uint16_t r16;
+
+ BITFIELD_BEGIN(BCM5719_MII_H_uint16_t, bits)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MainDACTrim, 0, 4)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, MainDACEnableSoftwareTrimSetting, 4, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, DisablePolarityEncode, 5, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ReceiveWatchdogTimerDisable, 6, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ManualSwapMDIState, 7, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, FastTimers, 8, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ExternalLink, 9, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ScramblerTest, 10, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ForceLock, 11, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, ForceLink, 12, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, CounterTestMode, 13, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, TransmitErrorCodeVisibility, 14, 1)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_MII_H_uint32_t, CRCErrorCountVisibility, 15, 1)
+ BITFIELD_END(BCM5719_MII_H_uint32_t, bits)
+#ifdef CXX_SIMULATOR
+ RegMIITest1_t()
+ {
+ /** @brief constructor for @ref MII_t.Test1. */
+ bits.MainDACTrim.setBaseRegister(&r16);
+ bits.MainDACEnableSoftwareTrimSetting.setBaseRegister(&r16);
+ bits.DisablePolarityEncode.setBaseRegister(&r16);
+ bits.ReceiveWatchdogTimerDisable.setBaseRegister(&r16);
+ bits.ManualSwapMDIState.setBaseRegister(&r16);
+ bits.FastTimers.setBaseRegister(&r16);
+ bits.ExternalLink.setBaseRegister(&r16);
+ bits.ScramblerTest.setBaseRegister(&r16);
+ bits.ForceLock.setBaseRegister(&r16);
+ bits.ForceLink.setBaseRegister(&r16);
+ bits.CounterTestMode.setBaseRegister(&r16);
+ bits.TransmitErrorCodeVisibility.setBaseRegister(&r16);
+ bits.CRCErrorCountVisibility.setBaseRegister(&r16);
+ }
+ RegMIITest1_t& operator=(const RegMIITest1_t& other)
+ {
+ r32 = other.r32;
+ return *this;
+ }
+#endif /* CXX_SIMULATOR */
} RegMIITest1_t;
-/** @brief Component definition for @ref MII. */
+/** @brief Component definition for @ref MII. */
typedef struct {
- /** @brief */
+ /** @brief */
RegMIIControl_t Control;
- /** @brief */
+ /** @brief */
RegMIIStatus_t Status;
- /** @brief */
+ /** @brief */
RegMIIPhyIdHigh_t PhyIdHigh;
- /** @brief */
+ /** @brief */
RegMIIPhyIdLow_t PhyIdLow;
- /** @brief Bits in this register indicate what capability bits are advertised to the link partner. */
+ /** @brief Bits in this register indicate what capability bits are advertised to the link partner. */
RegMIIAutonegotiationAdvertisement_t AutonegotiationAdvertisement;
- /** @brief Bits in this register indicate the capabilities of the link partner. */
+ /** @brief Bits in this register indicate the capabilities of the link partner. */
RegMIIAutonegotiationLinkPartnerAbilityBasePage_t AutonegotiationLinkPartnerAbilityBasePage;
- /** @brief */
+ /** @brief */
RegMIIAutonegotiationExpansion_t AutonegotiationExpansion;
- /** @brief */
+ /** @brief */
RegMIIAutonegotiationNextPageTransmit_t AutonegotiationNextPageTransmit;
- /** @brief */
+ /** @brief */
RegMIIAutonegotiationLinkPartnerAbilityNextPage_t AutonegotiationLinkPartnerAbilityNextPage;
- /** @brief */
+ /** @brief */
RegMII1000baseTControl_t _1000baseTControl;
- /** @brief */
+ /** @brief */
RegMII1000baseTStatus_t _1000baseTStatus;
- /** @brief Reserved bytes to pad out data structure. */
- uint8_t reserved_11[3];
+ /** @brief Reserved bytes to pad out data structure. */
+ BCM5719_MII_H_uint8_t reserved_11[3];
- /** @brief WTH is this. */
+ /** @brief WTH is this. */
RegMIIBroadreachLreAccess_t BroadreachLreAccess;
- /** @brief */
+ /** @brief */
RegMIIIeeeExtendedStatus_t IeeeExtendedStatus;
- /** @brief Reserved bytes to pad out data structure. */
- uint8_t reserved_16[1];
+ /** @brief Reserved bytes to pad out data structure. */
+ BCM5719_MII_H_uint8_t reserved_16[1];
- /** @brief */
+ /** @brief */
RegMIIPhyExtendedStatus_t PhyExtendedStatus;
- /** @brief */
+ /** @brief */
RegMIIReceiveErrorCounter_t ReceiveErrorCounter;
- /** @brief */
+ /** @brief */
RegMIIFalseCarrierSenseCounter_t FalseCarrierSenseCounter;
- /** @brief */
+ /** @brief */
RegMIILocalRemoteReceiverNotOkCounter_t LocalRemoteReceiverNotOkCounter;
- /** @brief Reserved bytes to pad out data structure. */
- uint32_t reserved_21[1];
+ /** @brief Reserved bytes to pad out data structure. */
+ BCM5719_MII_H_uint32_t reserved_21[1];
- /** @brief */
+ /** @brief */
RegMIIAuxillaryStatusSummary_t AuxillaryStatusSummary;
- /** @brief */
+ /** @brief */
RegMIIInterruptStatus_t InterruptStatus;
- /** @brief */
+ /** @brief */
RegMIIInterruptMask_t InterruptMask;
- /** @brief Reserved bytes to pad out data structure. */
- uint16_t reserved_28[1];
+ /** @brief Reserved bytes to pad out data structure. */
+ BCM5719_MII_H_uint16_t reserved_28[1];
- /** @brief */
+ /** @brief */
RegMIITest1_t Test1;
} MII_t;
-/** @brief MII Registers */
+/** @brief MII Registers */
extern volatile MII_t MII;
-#ifdef __cplusplus /* Compiling c++ code - uses register wrappers */
-#undef uint8_t
-#undef uint16_t
-#undef uint32_t
-#undef union
+
+#ifdef CXX_SIMULATOR /* Compiling c++ code - uses register wrappers */
#undef volatile
-#endif /* __cplusplus */
+#endif /* CXX_SIMULATOR */
+
+#undef register_container
+#undef BITFIELD_BEGIN
+#undef BITFIELD_MEMBER
+#undef BITFIELD_END
#endif /* !BCM5719_MII_H */
OpenPOWER on IntegriCloud