diff options
| author | Evan Lojewski <github@meklort.com> | 2018-05-15 07:24:50 -0600 |
|---|---|---|
| committer | Evan Lojewski <github@meklort.com> | 2018-05-15 19:06:53 -0600 |
| commit | 138b40dbe81e245cdff3766526a6bb3c82aadb99 (patch) | |
| tree | 4281f21edce936453a23b6d92f2f0429a044a1d3 /libs/MII/include | |
| parent | 1256c66174fd87b58862e0c0732bae480a63325a (diff) | |
| download | bcm5719-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.h | 1487 |
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 */ |

