diff options
author | Evan Lojewski <github@meklort.com> | 2020-03-21 09:39:54 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-21 09:39:54 -0600 |
commit | 1cfbeca44c4e77bc7af4c6c5e1b325ac2a4e74a0 (patch) | |
tree | d5bc79d392da72d62f4bf8eceea10e725c25a497 /include | |
parent | 3819854a07a83ffe91a107e4c5ecccfae097ea48 (diff) | |
download | bcm5719-ortega-1cfbeca44c4e77bc7af4c6c5e1b325ac2a4e74a0.tar.gz bcm5719-ortega-1cfbeca44c4e77bc7af4c6c5e1b325ac2a4e74a0.zip |
regs: Add dummy registers for RX MBuf, SDB Cache, and TX Mbuf (#59)
Diffstat (limited to 'include')
-rw-r--r-- | include/bcm5719_RXMBUF.h | 38 | ||||
-rw-r--r-- | include/bcm5719_SDBCACHE.h | 38 | ||||
-rw-r--r-- | include/bcm5719_TXMBUF.h | 38 |
3 files changed, 111 insertions, 3 deletions
diff --git a/include/bcm5719_RXMBUF.h b/include/bcm5719_RXMBUF.h index 48b0e2f..a5f3807 100644 --- a/include/bcm5719_RXMBUF.h +++ b/include/bcm5719_RXMBUF.h @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2018, Evan Lojewski +/// @copyright Copyright (c) 2020, Evan Lojewski /// @cond /// /// All rights reserved. @@ -81,14 +81,50 @@ typedef uint32_t BCM5719_RXMBUF_H_uint32_t; #define REG_RXMBUF_BASE ((volatile void*)0x10000) /* RX MBuf */ #define REG_RXMBUF_SIZE (0xc800) +#define REG_RXMBUF_WORD ((volatile BCM5719_RXMBUF_H_uint32_t*)0x10000) /* */ +/** @brief Register definition for @ref RXMBUF_t.Word. */ +typedef register_container RegRXMBUFWord_t { + /** @brief 32bit direct register access. */ + BCM5719_RXMBUF_H_uint32_t r32; +#ifdef CXX_SIMULATOR + /** @brief Register name for use with the simulator. */ + const char* getName(void) { return "Word"; } + + /** @brief Print register value. */ + void print(void) { r32.print(); } + + RegRXMBUFWord_t() + { + /** @brief constructor for @ref RXMBUF_t.Word. */ + r32.setName("Word"); + } + RegRXMBUFWord_t& operator=(const RegRXMBUFWord_t& other) + { + r32 = other.r32; + return *this; + } +#endif /* CXX_SIMULATOR */ +} RegRXMBUFWord_t; + /** @brief Component definition for @ref RXMBUF. */ typedef struct RXMBUF_t { + /** @brief */ + RegRXMBUFWord_t Word[12800]; + #ifdef CXX_SIMULATOR RXMBUF_t() { + for(int i = 0; i < 12800; i++) + { + Word[i].r32.setComponentOffset(0x0 + (i * 4)); + } } void print() { + for(int i = 0; i < 12800; i++) + { + Word[i].print(); + } } typedef uint32_t (*callback_t)(uint32_t, uint32_t, void*); callback_t mIndexReadCallback; diff --git a/include/bcm5719_SDBCACHE.h b/include/bcm5719_SDBCACHE.h index f744c7a..3eeb240 100644 --- a/include/bcm5719_SDBCACHE.h +++ b/include/bcm5719_SDBCACHE.h @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2018, Evan Lojewski +/// @copyright Copyright (c) 2020, Evan Lojewski /// @cond /// /// All rights reserved. @@ -81,14 +81,50 @@ typedef uint32_t BCM5719_SDBCACHE_H_uint32_t; #define REG_SDBCACHE_BASE ((volatile void*)0x20000) /* SBD Cache */ #define REG_SDBCACHE_SIZE (0xc800) +#define REG_SDBCACHE_WORD ((volatile BCM5719_SDBCACHE_H_uint32_t*)0x20000) /* */ +/** @brief Register definition for @ref SDBCACHE_t.Word. */ +typedef register_container RegSDBCACHEWord_t { + /** @brief 32bit direct register access. */ + BCM5719_SDBCACHE_H_uint32_t r32; +#ifdef CXX_SIMULATOR + /** @brief Register name for use with the simulator. */ + const char* getName(void) { return "Word"; } + + /** @brief Print register value. */ + void print(void) { r32.print(); } + + RegSDBCACHEWord_t() + { + /** @brief constructor for @ref SDBCACHE_t.Word. */ + r32.setName("Word"); + } + RegSDBCACHEWord_t& operator=(const RegSDBCACHEWord_t& other) + { + r32 = other.r32; + return *this; + } +#endif /* CXX_SIMULATOR */ +} RegSDBCACHEWord_t; + /** @brief Component definition for @ref SDBCACHE. */ typedef struct SDBCACHE_t { + /** @brief */ + RegSDBCACHEWord_t Word[12800]; + #ifdef CXX_SIMULATOR SDBCACHE_t() { + for(int i = 0; i < 12800; i++) + { + Word[i].r32.setComponentOffset(0x0 + (i * 4)); + } } void print() { + for(int i = 0; i < 12800; i++) + { + Word[i].print(); + } } typedef uint32_t (*callback_t)(uint32_t, uint32_t, void*); callback_t mIndexReadCallback; diff --git a/include/bcm5719_TXMBUF.h b/include/bcm5719_TXMBUF.h index 5204358..eab155c 100644 --- a/include/bcm5719_TXMBUF.h +++ b/include/bcm5719_TXMBUF.h @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2018, Evan Lojewski +/// @copyright Copyright (c) 2020, Evan Lojewski /// @cond /// /// All rights reserved. @@ -81,14 +81,50 @@ typedef uint32_t BCM5719_TXMBUF_H_uint32_t; #define REG_TXMBUF_BASE ((volatile void*)0x2c800) /* TX MBuf */ #define REG_TXMBUF_SIZE (0x7400) +#define REG_TXMBUF_WORD ((volatile BCM5719_TXMBUF_H_uint32_t*)0x2c800) /* */ +/** @brief Register definition for @ref TXMBUF_t.Word. */ +typedef register_container RegTXMBUFWord_t { + /** @brief 32bit direct register access. */ + BCM5719_TXMBUF_H_uint32_t r32; +#ifdef CXX_SIMULATOR + /** @brief Register name for use with the simulator. */ + const char* getName(void) { return "Word"; } + + /** @brief Print register value. */ + void print(void) { r32.print(); } + + RegTXMBUFWord_t() + { + /** @brief constructor for @ref TXMBUF_t.Word. */ + r32.setName("Word"); + } + RegTXMBUFWord_t& operator=(const RegTXMBUFWord_t& other) + { + r32 = other.r32; + return *this; + } +#endif /* CXX_SIMULATOR */ +} RegTXMBUFWord_t; + /** @brief Component definition for @ref TXMBUF. */ typedef struct TXMBUF_t { + /** @brief */ + RegTXMBUFWord_t Word[7424]; + #ifdef CXX_SIMULATOR TXMBUF_t() { + for(int i = 0; i < 7424; i++) + { + Word[i].r32.setComponentOffset(0x0 + (i * 4)); + } } void print() { + for(int i = 0; i < 7424; i++) + { + Word[i].print(); + } } typedef uint32_t (*callback_t)(uint32_t, uint32_t, void*); callback_t mIndexReadCallback; |