summaryrefslogtreecommitdiffstats
path: root/include/bcm5719_SHM.h
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2020-02-26 21:12:13 -0700
committerGitHub <noreply@github.com>2020-02-26 21:12:13 -0700
commita6944445a08c729c36aa482d54ed9ee4e77a2360 (patch)
tree27ba022fa01ce1e29a303cd4999abbe68ebcd571 /include/bcm5719_SHM.h
parentb82cd4c280bbe92012213cc2c8856546f74d6723 (diff)
downloadbcm5719-ortega-a6944445a08c729c36aa482d54ed9ee4e77a2360.tar.gz
bcm5719-ortega-a6944445a08c729c36aa482d54ed9ee4e77a2360.zip
ape: Reset the network interface when the host driver state changes. (#45)
Diffstat (limited to 'include/bcm5719_SHM.h')
-rw-r--r--include/bcm5719_SHM.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/bcm5719_SHM.h b/include/bcm5719_SHM.h
index c7d26a3..000480b 100644
--- a/include/bcm5719_SHM.h
+++ b/include/bcm5719_SHM.h
@@ -1209,10 +1209,31 @@ typedef register_container RegSHMHeartbeatCount_t {
} RegSHMHeartbeatCount_t;
#define REG_SHM_HOST_DRIVER_STATE ((volatile BCM5719_SHM_H_uint32_t*)0xc001421c) /* */
+#define SHM_HOST_DRIVER_STATE_STATE_SHIFT 0u
+#define SHM_HOST_DRIVER_STATE_STATE_MASK 0xffffffffu
+#define GET_SHM_HOST_DRIVER_STATE_STATE(__reg__) (((__reg__) & 0xffffffff) >> 0u)
+#define SET_SHM_HOST_DRIVER_STATE_STATE(__val__) (((__val__) << 0u) & 0xffffffffu)
+#define SHM_HOST_DRIVER_STATE_STATE_START 0x1u
+#define SHM_HOST_DRIVER_STATE_STATE_UNLOAD 0x2u
+#define SHM_HOST_DRIVER_STATE_STATE_WOL 0x3u
+
+
/** @brief Register definition for @ref SHM_t.HostDriverState. */
typedef register_container RegSHMHostDriverState_t {
/** @brief 32bit direct register access. */
BCM5719_SHM_H_uint32_t r32;
+
+ BITFIELD_BEGIN(BCM5719_SHM_H_uint32_t, bits)
+#if defined(__LITTLE_ENDIAN__)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_SHM_H_uint32_t, State, 0, 32)
+#elif defined(__BIG_ENDIAN__)
+ /** @brief */
+ BITFIELD_MEMBER(BCM5719_SHM_H_uint32_t, State, 0, 32)
+#else
+#error Unknown Endian
+#endif
+ BITFIELD_END(BCM5719_SHM_H_uint32_t, bits)
#ifdef CXX_SIMULATOR
/** @brief Register name for use with the simulator. */
const char* getName(void) { return "HostDriverState"; }
@@ -1224,6 +1245,12 @@ typedef register_container RegSHMHostDriverState_t {
{
/** @brief constructor for @ref SHM_t.HostDriverState. */
r32.setName("HostDriverState");
+ bits.State.setBaseRegister(&r32);
+ bits.State.setName("State");
+ bits.State.addEnum("Start", 0x1);
+ bits.State.addEnum("Unload", 0x2);
+ bits.State.addEnum("WOL", 0x3);
+
}
RegSHMHostDriverState_t& operator=(const RegSHMHostDriverState_t& other)
{
OpenPOWER on IntegriCloud