diff options
-rw-r--r-- | .clang-format | 118 | ||||
-rw-r--r-- | libs/MII/include/MII.h | 2 | ||||
-rw-r--r-- | libs/MII/mii.c | 4 | ||||
-rw-r--r-- | libs/NVRam/crc.c | 10 | ||||
-rw-r--r-- | libs/NVRam/include/NVRam.h | 17 | ||||
-rw-r--r-- | libs/NVRam/nvm.c | 62 | ||||
-rw-r--r-- | libs/VPD/include/vpd.h | 46 | ||||
-rw-r--r-- | libs/VPD/vpd.c | 86 | ||||
-rw-r--r-- | simulator/HAL.cpp | 88 | ||||
-rw-r--r-- | simulator/bcm5719_APE.cpp | 152 | ||||
-rw-r--r-- | simulator/bcm5719_APE_mmap.cpp | 764 | ||||
-rw-r--r-- | simulator/bcm5719_DEVICE.cpp | 238 | ||||
-rw-r--r-- | simulator/bcm5719_DEVICE_mmap.cpp | 1186 | ||||
-rw-r--r-- | simulator/bcm5719_GEN.cpp | 50 | ||||
-rw-r--r-- | simulator/bcm5719_GEN_mmap.cpp | 254 | ||||
-rw-r--r-- | simulator/bcm5719_MII.cpp | 48 | ||||
-rw-r--r-- | simulator/bcm5719_MII_mmap.cpp | 236 | ||||
-rw-r--r-- | simulator/bcm5719_NVM.cpp | 18 | ||||
-rw-r--r-- | simulator/bcm5719_NVM_mmap.cpp | 94 | ||||
-rw-r--r-- | stage1/init_hw.c | 47 |
20 files changed, 2065 insertions, 1455 deletions
diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..3d38985 --- /dev/null +++ b/.clang-format @@ -0,0 +1,118 @@ +Language: Cpp +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +AlignEscapedNewlines: Right +AlignOperands: true +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: MultiLine +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: false + AfterControlStatement: true + AfterEnum: true + AfterFunction: false + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: true + AfterUnion: true + AfterExternBlock: false + BeforeCatch: false + BeforeElse: true + IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: true + SplitEmptyNamespace: true +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Allman +BreakBeforeInheritanceComma: false +BreakInheritanceList: BeforeColon +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BreakConstructorInitializers: BeforeColon +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 80 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: true +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH +IncludeBlocks: Regroup +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + - Regex: '^(<|"(gtest|gmock|isl|json)/)' + Priority: 3 + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(Test)?$' +IndentCaseLabels: false +IndentPPDirectives: None +IndentWidth: 4 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: true +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBinPackProtocolList: Auto +ObjCBlockIndentWidth: 2 +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 60 +PointerAlignment: Right +ReflowComments: true +SortIncludes: true +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: false +SpaceBeforeAssignmentOperators: true +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp11 +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION +TabWidth: 4 +UseTab: Never + diff --git a/libs/MII/include/MII.h b/libs/MII/include/MII.h index c41f96e..160bc54 100644 --- a/libs/MII/include/MII.h +++ b/libs/MII/include/MII.h @@ -2,7 +2,7 @@ /// /// @file MII.h /// -/// @project +/// @project /// /// @brief MII Support Routines /// diff --git a/libs/MII/mii.c b/libs/MII/mii.c index c4d7084..eb8ae24 100644 --- a/libs/MII/mii.c +++ b/libs/MII/mii.c @@ -2,7 +2,7 @@ /// /// @file MII.c /// -/// @project +/// @project /// /// @brief MII Support Routines /// @@ -47,7 +47,7 @@ static void MII_wait(void) { // Wait for the status bit to be clear. - while(DEVICE.MiiCommunication.bits.Start_DIV_Busy) + while (DEVICE.MiiCommunication.bits.Start_DIV_Busy) { // Waiting... } diff --git a/libs/NVRam/crc.c b/libs/NVRam/crc.c index ec4d66e..b2d8f73 100644 --- a/libs/NVRam/crc.c +++ b/libs/NVRam/crc.c @@ -2,7 +2,7 @@ /// /// @file crc.c /// -/// @project +/// @project /// /// @brief CRC Support Routines /// @@ -46,10 +46,9 @@ #define CRC32_POLYNOMIAL 0xEDB88320 -uint32_t NVRam_crc ( - uint8_t *pcDatabuf, // Pointer to data buffer - uint32_t ulDatalen, // Length of data buffer in bytes - uint32_t crc) // Initial value +uint32_t NVRam_crc(uint8_t *pcDatabuf, // Pointer to data buffer + uint32_t ulDatalen, // Length of data buffer in bytes + uint32_t crc) // Initial value { uint8_t data; uint32_t idx, bit; @@ -61,5 +60,6 @@ uint32_t NVRam_crc ( crc = (crc >> 1) ^ (((crc ^ data) & 1) ? CRC32_POLYNOMIAL : 0); } } + return crc; } diff --git a/libs/NVRam/include/NVRam.h b/libs/NVRam/include/NVRam.h index 5f2fcfb..3d995ff 100644 --- a/libs/NVRam/include/NVRam.h +++ b/libs/NVRam/include/NVRam.h @@ -2,7 +2,7 @@ /// /// @file NVRam.h /// -/// @project +/// @project /// /// @brief NVRam Support Routines /// @@ -44,25 +44,24 @@ #ifndef NVRAM_H #define NVRAM_H -#include <stdint.h> -#include <stddef.h> #include <stdbool.h> +#include <stddef.h> +#include <stdint.h> bool NVRam_acquireLock(void); bool NVRam_releaseLock(void); uint32_t NVRam_readWord(uint32_t address); -void NVRam_read(uint32_t address, uint32_t* buffer, size_t words); +void NVRam_read(uint32_t address, uint32_t *buffer, size_t words); void NVRam_writeWord(uint32_t address, uint32_t data); -void NVRam_write(uint32_t address, uint32_t* buffer, size_t words); +void NVRam_write(uint32_t address, uint32_t *buffer, size_t words); void NVRam_enable(void); void NVRam_disable(void); -uint32_t NVRam_crc( - uint8_t *pcDatabuf, // Pointer to data buffer - uint32_t ulDatalen, // Length of data buffer in bytes - uint32_t crc); // Initial value +uint32_t NVRam_crc(uint8_t *pcDatabuf, // Pointer to data buffer + uint32_t ulDatalen, // Length of data buffer in bytes + uint32_t crc); // Initial value #endif /* NVRAM_H */ diff --git a/libs/NVRam/nvm.c b/libs/NVRam/nvm.c index 2e3e965..bfd35f7 100644 --- a/libs/NVRam/nvm.c +++ b/libs/NVRam/nvm.c @@ -2,7 +2,7 @@ /// /// @file NVRam.c /// -/// @project +/// @project /// /// @brief NVRam Support Routines /// @@ -41,31 +41,31 @@ /// POSSIBILITY OF SUCH DAMAGE. /// @endcond //////////////////////////////////////////////////////////////////////////////// -#include <NVRam.h> #include "bcm5719_NVM.h" -#define ATMEL_AT45DB0X1B_PAGE_POS (9u) -#define ATMEL_AT45DB0X1B_PAGE_SIZE (264u) -#define ATMEL_AT45DB0X1B_ERASE (false) +#include <NVRam.h> + +#define ATMEL_AT45DB0X1B_PAGE_POS (9u) +#define ATMEL_AT45DB0X1B_PAGE_SIZE (264u) +#define ATMEL_AT45DB0X1B_ERASE (false) -#define PAGE_POS ATMEL_AT45DB0X1B_PAGE_POS -#define PAGE_SIZE ATMEL_AT45DB0X1B_PAGE_SIZE -#define NEEDS_ERASE ATMEL_AT45DB0X1B_ERASE +#define PAGE_POS ATMEL_AT45DB0X1B_PAGE_POS +#define PAGE_SIZE ATMEL_AT45DB0X1B_PAGE_SIZE +#define NEEDS_ERASE ATMEL_AT45DB0X1B_ERASE #ifdef CXX_SIMULATOR #include <arpa/inet.h> -#define REQ ReqSet2 -#define CLR ReqClr2 -#define WON ArbWon2 +#define REQ ReqSet2 +#define CLR ReqClr2 +#define WON ArbWon2 #else /* Firmware */ -#define ntohl(__x__) (__x__) -#define htonl(__x__) (__x__) -#define REQ ReqSet0 -#define CLR ReqClr0 -#define WON ArbWon0 +#define ntohl(__x__) (__x__) +#define htonl(__x__) (__x__) +#define REQ ReqSet0 +#define CLR ReqClr0 +#define WON ArbWon0 #endif - /** * @fn uint32_t NVRam_translate(uint32_t address) * @@ -85,7 +85,7 @@ static inline uint32_t NVRam_translate(uint32_t address) } #else return address; -#endif +#endif } void NVRam_enable(void) @@ -102,9 +102,8 @@ void NVRam_disable(void) static inline void NVRam_waitDone(void) { - while(!NVM.Command.bits.Done) + while (!NVM.Command.bits.Done) { - } } @@ -113,7 +112,7 @@ bool NVRam_acquireLock(void) // Grab lock NVM.SoftwareArbitration.bits.REQ = 1; - while(!NVM.SoftwareArbitration.bits.WON) + while (!NVM.SoftwareArbitration.bits.WON) { // Spin } @@ -144,7 +143,8 @@ static uint32_t NVRam_readWordInternal(uint32_t address, RegNVMCommand_t cmd) return ntohl(NVM.Read.r32); } -static void NVRam_writeWordInternal(uint32_t address, uint32_t data, RegNVMCommand_t cmd) +static void NVRam_writeWordInternal(uint32_t address, uint32_t data, + RegNVMCommand_t cmd) { address = NVRam_translate(address); @@ -170,9 +170,9 @@ uint32_t NVRam_readWord(uint32_t address) return NVRam_readWordInternal(address, cmd); } -void NVRam_read(uint32_t address, uint32_t* buffer, size_t words) +void NVRam_read(uint32_t address, uint32_t *buffer, size_t words) { - if(!words) + if (!words) { // No data to read. return; @@ -183,9 +183,9 @@ void NVRam_read(uint32_t address, uint32_t* buffer, size_t words) cmd.bits.Doit = 1; cmd.bits.First = 1; - while(words) + while (words) { - if(1 == words) + if (1 == words) { // Last word. cmd.bits.Last = 1; @@ -194,7 +194,7 @@ void NVRam_read(uint32_t address, uint32_t* buffer, size_t words) *buffer = NVRam_readWordInternal(address, cmd); buffer++; words--; - address +=4; + address += 4; // If we have more than one word, clear the first bit. cmd.bits.First = 0; @@ -212,9 +212,9 @@ void NVRam_writeWord(uint32_t address, uint32_t data) NVRam_writeWordInternal(address, data, cmd); } -void NVRam_write(uint32_t address, uint32_t* buffer, size_t words) +void NVRam_write(uint32_t address, uint32_t *buffer, size_t words) { - if(!words) + if (!words) { // No bytes to read. return; @@ -226,9 +226,9 @@ void NVRam_write(uint32_t address, uint32_t* buffer, size_t words) cmd.bits.First = 1; cmd.bits.Wr = 1; - while(words) + while (words) { - if(1 == words) + if (1 == words) { // Last word. cmd.bits.Last = 1; diff --git a/libs/VPD/include/vpd.h b/libs/VPD/include/vpd.h index 3b266f7..c7c85ea 100644 --- a/libs/VPD/include/vpd.h +++ b/libs/VPD/include/vpd.h @@ -2,7 +2,7 @@ /// /// @file vpd.c /// -/// @project +/// @project /// /// @brief VPD Support Routines /// @@ -42,9 +42,9 @@ /// @endcond //////////////////////////////////////////////////////////////////////////////// -#include <stdint.h> #include <stdbool.h> #include <stddef.h> +#include <stdint.h> #define VPD_DATA_TYPE_SMALL (0x00) #define VPD_DATA_TYPE_LARGE (0x01) @@ -53,29 +53,31 @@ #define VPD_TAG_VPD_R (0x10) #define VPD_TAG_VPD_W (0x11) typedef union { - struct { - uint8_t bytes:3; - uint8_t tag:4; - uint8_t type:1; + struct + { + uint8_t bytes : 3; + uint8_t tag : 4; + uint8_t type : 1; } small; - struct { - uint8_t tag:7; - uint8_t type:1; + struct + { + uint8_t tag : 7; + uint8_t type : 1; } large; uint8_t data; } vpd_resource_typet_t; -typedef struct { - uint16_t name; - uint8_t length; - uint8_t data; +typedef struct +{ + uint16_t name; + uint8_t length; + uint8_t data; } __attribute__((packed)) vpd_field_t; typedef union { uint8_t bytes[0x100]; } vpd_t; - #define VPD_PRODUCT_NAME "PN" #define VPD_ENGINEERING_CHANGE "EC" #define VPD_SERIAL_NUMBER "SN" @@ -83,12 +85,12 @@ typedef union { #define VPD_VENDOR_SPECIFIC_0 "V0" #define VPD_CHECKSUM "RV" -const char* vpd_get_field_name(uint16_t field); - - -uint8_t* vpd_get_identifier(uint8_t *buffer, size_t *len); -uint8_t* vpd_get_resource_by_name(uint8_t* buffer, size_t* len, uint16_t name); -uint8_t* vpd_get_resource_by_index(uint8_t* buffer, size_t* len, uint16_t* name, size_t index); -bool vpd_set_resource(uint8_t* buffer, size_t len, uint16_t resource, uint8_t* add_data, size_t add_len); -bool vpd_is_valid(uint8_t* buffer, size_t len); +const char *vpd_get_field_name(uint16_t field); +uint8_t *vpd_get_identifier(uint8_t *buffer, size_t *len); +uint8_t *vpd_get_resource_by_name(uint8_t *buffer, size_t *len, uint16_t name); +uint8_t *vpd_get_resource_by_index(uint8_t *buffer, size_t *len, uint16_t *name, + size_t index); +bool vpd_set_resource(uint8_t *buffer, size_t len, uint16_t resource, + uint8_t *add_data, size_t add_len); +bool vpd_is_valid(uint8_t *buffer, size_t len); diff --git a/libs/VPD/vpd.c b/libs/VPD/vpd.c index 04a4ad6..3308061 100644 --- a/libs/VPD/vpd.c +++ b/libs/VPD/vpd.c @@ -2,7 +2,7 @@ /// /// @file vpd.c /// -/// @project +/// @project /// /// @brief VPD Support Routines /// @@ -42,22 +42,19 @@ /// @endcond //////////////////////////////////////////////////////////////////////////////// -#include <vpd.h> -#include <stdlib.h> -#include <string.h> #include <stdbool.h> - #include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <vpd.h> - -typedef struct { - const char* name; - const char* string; +typedef struct +{ + const char *name; + const char *string; } vpd_name_entry_t; - -vpd_name_entry_t mNames[] = -{ +vpd_name_entry_t mNames[] = { {.name = VPD_PRODUCT_NAME, .string = "Product Name"}, {.name = VPD_ENGINEERING_CHANGE, .string = "Engineering Change"}, {.name = VPD_SERIAL_NUMBER, .string = "Serial Number"}, @@ -67,17 +64,17 @@ vpd_name_entry_t mNames[] = bool vpd_is_checksum(uint16_t field) { - if(0 == strncmp(VPD_CHECKSUM, (const char*)&field, 2)) + if (0 == strncmp(VPD_CHECKSUM, (const char *)&field, 2)) { return true; } return false; } -const char* vpd_get_field_name(uint16_t field) +const char *vpd_get_field_name(uint16_t field) { - for(int i = 0; i < sizeof(mNames)/sizeof(mNames[0]); i++) + for (int i = 0; i < sizeof(mNames) / sizeof(mNames[0]); i++) { - if(0 == strncmp(mNames[i].name, (const char*)&field, 2)) + if (0 == strncmp(mNames[i].name, (const char *)&field, 2)) { return mNames[i].string; } @@ -87,13 +84,16 @@ const char* vpd_get_field_name(uint16_t field) return NULL; } -static uint8_t* get_next_tag(uint8_t* buffer, size_t *len) +static uint8_t *get_next_tag(uint8_t *buffer, size_t *len) { - if(!len) return NULL; + if (!len) + { + return NULL; + } uint16_t tag_len = 0; vpd_resource_typet_t b0 = {.data = buffer[0]}; - if(VPD_DATA_TYPE_LARGE == b0.large.type) + if (VPD_DATA_TYPE_LARGE == b0.large.type) { tag_len = 3; @@ -109,12 +109,15 @@ static uint8_t* get_next_tag(uint8_t* buffer, size_t *len) return &buffer[tag_len]; } -static uint8_t* get_tag_data(uint8_t* buffer, size_t *len) +static uint8_t *get_tag_data(uint8_t *buffer, size_t *len) { - if(!len) return NULL; + if (!len) + { + return NULL; + } vpd_resource_typet_t b0 = {.data = buffer[0]}; - if(VPD_DATA_TYPE_LARGE == b0.large.type) + if (VPD_DATA_TYPE_LARGE == b0.large.type) { *len = buffer[1] | buffer[2] << 8; return &buffer[3]; @@ -126,59 +129,68 @@ static uint8_t* get_tag_data(uint8_t* buffer, size_t *len) } } -uint8_t* vpd_get_resource_by_name(uint8_t *buffer, size_t *len, uint16_t type) +uint8_t *vpd_get_resource_by_name(uint8_t *buffer, size_t *len, uint16_t type) { return NULL; } -uint8_t* vpd_get_resource_by_index(uint8_t *buffer, size_t *len, uint16_t *name, size_t index) + +uint8_t *vpd_get_resource_by_index(uint8_t *buffer, size_t *len, uint16_t *name, + size_t index) { index++; size_t new_len = *len; uint8_t *new_buf = get_next_tag(buffer, &new_len); new_buf = get_tag_data(new_buf, &new_len); - vpd_field_t* field; + vpd_field_t *field; do { - field = (vpd_field_t*)new_buf; + field = (vpd_field_t *)new_buf; - char* data = (char*)malloc(field->length + 1); + char *data = (char *)malloc(field->length + 1); memcpy(data, &field->data, field->length); data[field->length] = 0; new_buf += field->length; new_buf += 3; - index--; - if(index && vpd_is_checksum(field->name)) + index--; + if (index && vpd_is_checksum(field->name)) { // last entry found, but we requested more. return NULL; } - } while(index); + } while (index); *name = field->name; *len = field->length; return &field->data; } -bool vpd_set_resource(uint8_t *buffer, size_t len, uint16_t resource, uint8_t *add_data, size_t add_len) +bool vpd_set_resource(uint8_t *buffer, size_t len, uint16_t resource, + uint8_t *add_data, size_t add_len) { return false; } -bool vpd_is_valid(uint8_t* buffer, size_t len) +bool vpd_is_valid(uint8_t *buffer, size_t len) { - if(!len) return false; + if (!len) + { + return false; + } - if(!vpd_get_identifier(buffer, &len)) return false; + if (!vpd_get_identifier(buffer, &len)) + { + return false; + } // TODO: check checksum. return true; } -uint8_t* vpd_get_identifier(uint8_t* buffer, size_t* len) +uint8_t *vpd_get_identifier(uint8_t *buffer, size_t *len) { - if(!len) return NULL; - + if (!len) + return NULL; return get_tag_data(buffer, len); } diff --git a/simulator/HAL.cpp b/simulator/HAL.cpp index 4305dd8..77349ba 100644 --- a/simulator/HAL.cpp +++ b/simulator/HAL.cpp @@ -1,34 +1,29 @@ -#include <stdint.h> +#include "../libs/NVRam/bcm5719_NVM.h" +#include "pci_config.h" + +#include <bcm5719_DEVICE.h> +#include <dirent.h> +#include <endian.h> +#include <errno.h> +#include <fcntl.h> #include <stdbool.h> +#include <stdint.h> #include <stdio.h> #include <stdlib.h> - #include <string.h> - -#include <sys/types.h> -#include <dirent.h> #include <sys/mman.h> - -#include <endian.h> - #include <sys/stat.h> -#include <fcntl.h> +#include <sys/types.h> #include <unistd.h> -#include <errno.h> - -#include "pci_config.h" - - -#include <bcm5719_DEVICE.h> -#include "../libs/NVRam/bcm5719_NVM.h" -#define DEVICE_CONFIG "config" +#define DEVICE_CONFIG "config" #define BAR_STR "resource%d" -#define ARRAY_ELEMENTS(__x__) (sizeof(__x__)/sizeof(__x__[0])) +#define ARRAY_ELEMENTS(__x__) (sizeof(__x__) / sizeof(__x__[0])) -typedef struct { - uint16_t vendor_id; - uint16_t device_id; +typedef struct +{ + uint16_t vendor_id; + uint16_t device_id; } devices_t; devices_t gSupportedDevices[] = { @@ -37,11 +32,10 @@ devices_t gSupportedDevices[] = { bool is_supported(uint16_t vendor_id, uint16_t device_id) { - for(unsigned int i = 0; i < ARRAY_ELEMENTS(gSupportedDevices); i++) + for (unsigned int i = 0; i < ARRAY_ELEMENTS(gSupportedDevices); i++) { devices_t *pDevice = &gSupportedDevices[i]; - if( vendor_id == pDevice->vendor_id && - device_id == pDevice->device_id) + if (vendor_id == pDevice->vendor_id && device_id == pDevice->device_id) { return true; } @@ -66,9 +60,8 @@ uint32_t get_bar_addr(uint32_t bar) return (bar & BAR_ADDR_MASK); } -#define MAX_NUM_BARS 8 -uint8_t* bar[MAX_NUM_BARS] = {0}; - +#define MAX_NUM_BARS 8 +uint8_t *bar[MAX_NUM_BARS] = {0}; uint32_t read_device_chipid(uint32_t) { @@ -76,29 +69,31 @@ uint32_t read_device_chipid(uint32_t) return 1123; } -void initHAL(const char* pci_path) +void initHAL(const char *pci_path) { struct stat st; int memfd; - char* pConfigPath = (char*)malloc(strlen("%s/" DEVICE_CONFIG) + strlen(pci_path) + 1); + char *pConfigPath = + (char *)malloc(strlen("%s/" DEVICE_CONFIG) + strlen(pci_path) + 1); sprintf(pConfigPath, "%s/" DEVICE_CONFIG, pci_path); - FILE* pConfigFile = fopen(pConfigPath, "rb"); + FILE *pConfigFile = fopen(pConfigPath, "rb"); pci_config_t config; - if(fread(&config, sizeof(config), 1, pConfigFile)) + if (fread(&config, sizeof(config), 1, pConfigFile)) { - if(is_supported(config.vendor_id, config.device_id)) + if (is_supported(config.vendor_id, config.device_id)) { - printf("Found supported device %x:%x at %s\n", config.vendor_id, config.device_id, pConfigPath); - for(unsigned int i = 0; i < ARRAY_ELEMENTS(config.BAR); i++) + printf("Found supported device %x:%x at %s\n", config.vendor_id, + config.device_id, pConfigPath); + for (unsigned int i = 0; i < ARRAY_ELEMENTS(config.BAR); i++) { - char* pBARPath = (char*)malloc(strlen("%s/" BAR_STR) + strlen(pci_path) + 1); + char *pBARPath = (char *)malloc(strlen("%s/" BAR_STR) + + strlen(pci_path) + 1); sprintf(pBARPath, "%s/" BAR_STR, pci_path, i); - - if ((memfd = open(pBARPath, O_RDWR | O_SYNC)) < 0 ) + if ((memfd = open(pBARPath, O_RDWR | O_SYNC)) < 0) { printf("Error opening %s file. \n", pBARPath); close(memfd); @@ -109,19 +104,22 @@ void initHAL(const char* pci_path) printf("mmaping BAR[%d]: %s\n", i, pBARPath); } - if (fstat(memfd, &st) < 0) { + if (fstat(memfd, &st) < 0) + { fprintf(stderr, "error: couldn't stat file\n"); exit(-1); } - bar[i] = (uint8_t*)mmap(0, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, memfd, 0); // PROT_WRITE - if(bar[i] == MAP_FAILED) + bar[i] = (uint8_t *)mmap(0, st.st_size, PROT_READ | PROT_WRITE, + MAP_SHARED, memfd, 0); // PROT_WRITE + if (bar[i] == MAP_FAILED) { - printf("Unable to mmap %s: %s\n", pBARPath, strerror(errno)); + printf("Unable to mmap %s: %s\n", pBARPath, + strerror(errno)); exit(-1); } - if(is_bar_64bit(config.BAR[i])) + if (is_bar_64bit(config.BAR[i])) { i++; } @@ -133,13 +131,13 @@ void initHAL(const char* pci_path) } } - uint8_t* DEVICEBase = (uint8_t*)bar[0]; + uint8_t *DEVICEBase = (uint8_t *)bar[0]; extern void init_bcm5719_DEVICE(void); - extern void init_bcm5719_DEVICE_mmap(void*); + extern void init_bcm5719_DEVICE_mmap(void *); extern void init_bcm5719_APE(void); extern void init_bcm5719_NVM(void); - extern void init_bcm5719_NVM_mmap(void*); + extern void init_bcm5719_NVM_mmap(void *); init_bcm5719_DEVICE(); init_bcm5719_DEVICE_mmap(DEVICEBase); init_bcm5719_APE(); diff --git a/simulator/bcm5719_APE.cpp b/simulator/bcm5719_APE.cpp index b7b2175..ae4d8a6 100644 --- a/simulator/bcm5719_APE.cpp +++ b/simulator/bcm5719_APE.cpp @@ -48,154 +48,152 @@ APE_t APE; void init_bcm5719_APE(void) { - /** @brief Component Registers for @ref APE. */ - /** @brief Bitmap for @ref APE_t.Mode. */ + /** @brief Component Registers for @ref APE. */ + /** @brief Bitmap for @ref APE_t.Mode. */ - /** @brief Bitmap for @ref APE_t.Status. */ + /** @brief Bitmap for @ref APE_t.Status. */ - /** @brief Bitmap for @ref APE_t.GpioMessage. */ + /** @brief Bitmap for @ref APE_t.GpioMessage. */ - /** @brief Bitmap for @ref APE_t.Event. */ + /** @brief Bitmap for @ref APE_t.Event. */ - /** @brief Bitmap for @ref APE_t.Mode2. */ + /** @brief Bitmap for @ref APE_t.Mode2. */ - /** @brief Bitmap for @ref APE_t.Status2. */ + /** @brief Bitmap for @ref APE_t.Status2. */ - /** @brief Bitmap for @ref APE_t.LockGrantObsolete. */ + /** @brief Bitmap for @ref APE_t.LockGrantObsolete. */ - /** @brief Bitmap for @ref APE_t.B0. */ + /** @brief Bitmap for @ref APE_t.B0. */ - /** @brief Bitmap for @ref APE_t.Gpio. */ + /** @brief Bitmap for @ref APE_t.Gpio. */ - /** @brief Bitmap for @ref APE_t.Gint. */ + /** @brief Bitmap for @ref APE_t.Gint. */ - /** @brief Bitmap for @ref APE_t.OtpControl. */ + /** @brief Bitmap for @ref APE_t.OtpControl. */ - /** @brief Bitmap for @ref APE_t.OtpStatus. */ + /** @brief Bitmap for @ref APE_t.OtpStatus. */ - /** @brief Bitmap for @ref APE_t.OtpAddr. */ + /** @brief Bitmap for @ref APE_t.OtpAddr. */ - /** @brief Bitmap for @ref APE_t.OtpReadData. */ + /** @brief Bitmap for @ref APE_t.OtpReadData. */ - /** @brief Bitmap for @ref APE_t.Cm3. */ + /** @brief Bitmap for @ref APE_t.Cm3. */ - /** @brief Bitmap for @ref APE_t.SegSig. */ + /** @brief Bitmap for @ref APE_t.SegSig. */ - /** @brief Bitmap for @ref APE_t.FwStatus. */ + /** @brief Bitmap for @ref APE_t.FwStatus. */ - /** @brief Bitmap for @ref APE_t.FwFeatures. */ + /** @brief Bitmap for @ref APE_t.FwFeatures. */ - /** @brief Bitmap for @ref APE_t.4014. */ + /** @brief Bitmap for @ref APE_t.4014. */ - /** @brief Bitmap for @ref APE_t.FwVersion. */ + /** @brief Bitmap for @ref APE_t.FwVersion. */ - /** @brief Bitmap for @ref APE_t.SegMessageBufferOffset. */ + /** @brief Bitmap for @ref APE_t.SegMessageBufferOffset. */ - /** @brief Bitmap for @ref APE_t.SegMessageBufferLength. */ + /** @brief Bitmap for @ref APE_t.SegMessageBufferLength. */ - /** @brief Bitmap for @ref APE_t.4024. */ + /** @brief Bitmap for @ref APE_t.4024. */ - /** @brief Bitmap for @ref APE_t.4028. */ + /** @brief Bitmap for @ref APE_t.4028. */ - /** @brief Bitmap for @ref APE_t.RcpuSegSig. */ + /** @brief Bitmap for @ref APE_t.RcpuSegSig. */ - /** @brief Bitmap for @ref APE_t.RcpuSegLength. */ + /** @brief Bitmap for @ref APE_t.RcpuSegLength. */ - /** @brief Bitmap for @ref APE_t.RcpuInitCount. */ + /** @brief Bitmap for @ref APE_t.RcpuInitCount. */ - /** @brief Bitmap for @ref APE_t.RcpuFwVersion. */ + /** @brief Bitmap for @ref APE_t.RcpuFwVersion. */ - /** @brief Bitmap for @ref APE_t.RcpuCfgFeature. */ + /** @brief Bitmap for @ref APE_t.RcpuCfgFeature. */ - /** @brief Bitmap for @ref APE_t.RcpuPciVendorDeviceId. */ + /** @brief Bitmap for @ref APE_t.RcpuPciVendorDeviceId. */ - /** @brief Bitmap for @ref APE_t.RcpuPciSubsystemId. */ + /** @brief Bitmap for @ref APE_t.RcpuPciSubsystemId. */ - /** @brief Bitmap for @ref APE_t.411c. */ + /** @brief Bitmap for @ref APE_t.411c. */ - /** @brief Bitmap for @ref APE_t.4120. */ + /** @brief Bitmap for @ref APE_t.4120. */ - /** @brief Bitmap for @ref APE_t.4124. */ + /** @brief Bitmap for @ref APE_t.4124. */ - /** @brief Bitmap for @ref APE_t.RcpuCfgHw. */ + /** @brief Bitmap for @ref APE_t.RcpuCfgHw. */ - /** @brief Bitmap for @ref APE_t.RcpuCfgHw2. */ + /** @brief Bitmap for @ref APE_t.RcpuCfgHw2. */ - /** @brief Bitmap for @ref APE_t.RcpuCpmuStatus. */ + /** @brief Bitmap for @ref APE_t.RcpuCpmuStatus. */ - /** @brief Bitmap for @ref APE_t.HostSegSig. */ + /** @brief Bitmap for @ref APE_t.HostSegSig. */ - /** @brief Bitmap for @ref APE_t.HostSegLen. */ + /** @brief Bitmap for @ref APE_t.HostSegLen. */ - /** @brief Bitmap for @ref APE_t.HostInitCount. */ + /** @brief Bitmap for @ref APE_t.HostInitCount. */ - /** @brief Bitmap for @ref APE_t.HostDriverId. */ + /** @brief Bitmap for @ref APE_t.HostDriverId. */ - /** @brief Bitmap for @ref APE_t.HostBehavior. */ + /** @brief Bitmap for @ref APE_t.HostBehavior. */ - /** @brief Bitmap for @ref APE_t.HeartbeatInterval. */ + /** @brief Bitmap for @ref APE_t.HeartbeatInterval. */ - /** @brief Bitmap for @ref APE_t.HeartbeatCount. */ + /** @brief Bitmap for @ref APE_t.HeartbeatCount. */ - /** @brief Bitmap for @ref APE_t.HostDriverState. */ + /** @brief Bitmap for @ref APE_t.HostDriverState. */ - /** @brief Bitmap for @ref APE_t.WolSpeed. */ + /** @brief Bitmap for @ref APE_t.WolSpeed. */ - /** @brief Bitmap for @ref APE_t.EventStatus. */ + /** @brief Bitmap for @ref APE_t.EventStatus. */ - /** @brief Bitmap for @ref APE_t.ProtMagic. */ + /** @brief Bitmap for @ref APE_t.ProtMagic. */ - /** @brief Bitmap for @ref APE_t.ProtMac0High. */ + /** @brief Bitmap for @ref APE_t.ProtMac0High. */ - /** @brief Bitmap for @ref APE_t.ProtMac0Low. */ + /** @brief Bitmap for @ref APE_t.ProtMac0Low. */ - /** @brief Bitmap for @ref APE_t.NcsiSig. */ + /** @brief Bitmap for @ref APE_t.NcsiSig. */ - /** @brief Bitmap for @ref APE_t.NcsiBuildTime. */ + /** @brief Bitmap for @ref APE_t.NcsiBuildTime. */ - /** @brief Bitmap for @ref APE_t.NcsiBuildTime2. */ + /** @brief Bitmap for @ref APE_t.NcsiBuildTime2. */ - /** @brief Bitmap for @ref APE_t.NcsiBuildTime3. */ + /** @brief Bitmap for @ref APE_t.NcsiBuildTime3. */ - /** @brief Bitmap for @ref APE_t.NcsiBuildDate. */ + /** @brief Bitmap for @ref APE_t.NcsiBuildDate. */ - /** @brief Bitmap for @ref APE_t.NcsiBuildDate2. */ + /** @brief Bitmap for @ref APE_t.NcsiBuildDate2. */ - /** @brief Bitmap for @ref APE_t.NcsiBuildDate3. */ + /** @brief Bitmap for @ref APE_t.NcsiBuildDate3. */ - /** @brief Bitmap for @ref APE_t.ChipId. */ + /** @brief Bitmap for @ref APE_t.ChipId. */ - /** @brief Bitmap for @ref APE_t.PerLockRequestPhy0. */ + /** @brief Bitmap for @ref APE_t.PerLockRequestPhy0. */ - /** @brief Bitmap for @ref APE_t.PerLockRequestGrc. */ + /** @brief Bitmap for @ref APE_t.PerLockRequestGrc. */ - /** @brief Bitmap for @ref APE_t.PerLockRequestPhy1. */ + /** @brief Bitmap for @ref APE_t.PerLockRequestPhy1. */ - /** @brief Bitmap for @ref APE_t.PerLockRequestPhy2. */ + /** @brief Bitmap for @ref APE_t.PerLockRequestPhy2. */ - /** @brief Bitmap for @ref APE_t.PerLockRequestMem. */ + /** @brief Bitmap for @ref APE_t.PerLockRequestMem. */ - /** @brief Bitmap for @ref APE_t.PerLockRequestPhy3. */ + /** @brief Bitmap for @ref APE_t.PerLockRequestPhy3. */ - /** @brief Bitmap for @ref APE_t.PerLockRequestPort6. */ + /** @brief Bitmap for @ref APE_t.PerLockRequestPort6. */ - /** @brief Bitmap for @ref APE_t.PerLockRequestGpio. */ + /** @brief Bitmap for @ref APE_t.PerLockRequestGpio. */ - /** @brief Bitmap for @ref APE_t.PerLockGrantPhy0. */ + /** @brief Bitmap for @ref APE_t.PerLockGrantPhy0. */ - /** @brief Bitmap for @ref APE_t.PerLockGrantGrc. */ + /** @brief Bitmap for @ref APE_t.PerLockGrantGrc. */ - /** @brief Bitmap for @ref APE_t.PerLockGrantPhy1. */ + /** @brief Bitmap for @ref APE_t.PerLockGrantPhy1. */ - /** @brief Bitmap for @ref APE_t.PerLockGrantPhy2. */ + /** @brief Bitmap for @ref APE_t.PerLockGrantPhy2. */ - /** @brief Bitmap for @ref APE_t.PerLockGrantMem. */ + /** @brief Bitmap for @ref APE_t.PerLockGrantMem. */ - /** @brief Bitmap for @ref APE_t.PerLockGrantPhy3. */ - - /** @brief Bitmap for @ref APE_t.PerLockGrantPort6. */ - - /** @brief Bitmap for @ref APE_t.PerLockGrantGpio. */ + /** @brief Bitmap for @ref APE_t.PerLockGrantPhy3. */ + /** @brief Bitmap for @ref APE_t.PerLockGrantPort6. */ + /** @brief Bitmap for @ref APE_t.PerLockGrantGpio. */ } diff --git a/simulator/bcm5719_APE_mmap.cpp b/simulator/bcm5719_APE_mmap.cpp index ad0762f..2bc6526 100644 --- a/simulator/bcm5719_APE_mmap.cpp +++ b/simulator/bcm5719_APE_mmap.cpp @@ -42,331 +42,477 @@ /// @endcond //////////////////////////////////////////////////////////////////////////////// +#include <bcm5719_APE.h> #include <stdint.h> #include <utility> -#include <bcm5719_APE.h> -typedef std::pair<uint8_t*, uint32_t> ram_offset_t; +typedef std::pair<uint8_t *, uint32_t> ram_offset_t; -static uint32_t read_from_ram(uint32_t val, void* args) +static uint32_t read_from_ram(uint32_t val, void *args) { - ram_offset_t* loc = (ram_offset_t*)args; + ram_offset_t *loc = (ram_offset_t *)args; - uint8_t* base = loc->first; + uint8_t *base = loc->first; base += loc->second; - return *(uint32_t*)base; + return *(uint32_t *)base; } -static uint32_t write_to_ram(uint32_t val, void* args) +static uint32_t write_to_ram(uint32_t val, void *args) { - ram_offset_t* loc = (ram_offset_t*)args; + ram_offset_t *loc = (ram_offset_t *)args; - uint8_t* base = loc->first; + uint8_t *base = loc->first; base += loc->second; - *(uint32_t*)base = val; + *(uint32_t *)base = val; return val; } -void init_bcm5719_APE_mmap(void* base) +void init_bcm5719_APE_mmap(void *base) { - /** @brief Component Registers for @ref APE. */ - /** @brief Bitmap for @ref APE_t.Mode. */ - APE.Mode.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)0)); - APE.Mode.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)0)); - - /** @brief Bitmap for @ref APE_t.Status. */ - APE.Status.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)4)); - APE.Status.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)4)); - - /** @brief Bitmap for @ref APE_t.GpioMessage. */ - APE.GpioMessage.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)8)); - APE.GpioMessage.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)8)); - - /** @brief Bitmap for @ref APE_t.Event. */ - APE.Event.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)12)); - APE.Event.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)12)); - - /** @brief Bitmap for @ref APE_t.Mode2. */ - APE.Mode2.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)44)); - APE.Mode2.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)44)); - - /** @brief Bitmap for @ref APE_t.Status2. */ - APE.Status2.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)48)); - APE.Status2.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)48)); - - /** @brief Bitmap for @ref APE_t.LockGrantObsolete. */ - APE.LockGrantObsolete.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)76)); - APE.LockGrantObsolete.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)76)); - - /** @brief Bitmap for @ref APE_t.B0. */ - APE.B0.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)176)); - APE.B0.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)176)); - - /** @brief Bitmap for @ref APE_t.Gpio. */ - APE.Gpio.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)184)); - APE.Gpio.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)184)); - - /** @brief Bitmap for @ref APE_t.Gint. */ - APE.Gint.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)188)); - APE.Gint.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)188)); - - /** @brief Bitmap for @ref APE_t.OtpControl. */ - APE.OtpControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)232)); - APE.OtpControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)232)); - - /** @brief Bitmap for @ref APE_t.OtpStatus. */ - APE.OtpStatus.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)236)); - APE.OtpStatus.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)236)); - - /** @brief Bitmap for @ref APE_t.OtpAddr. */ - APE.OtpAddr.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)240)); - APE.OtpAddr.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)240)); - - /** @brief Bitmap for @ref APE_t.OtpReadData. */ - APE.OtpReadData.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)248)); - APE.OtpReadData.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)248)); - - /** @brief Bitmap for @ref APE_t.Cm3. */ - APE.Cm3.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)264)); - APE.Cm3.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)264)); - - /** @brief Bitmap for @ref APE_t.SegSig. */ - APE.SegSig.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16384)); - APE.SegSig.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16384)); - - /** @brief Bitmap for @ref APE_t.FwStatus. */ - APE.FwStatus.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16396)); - APE.FwStatus.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16396)); - - /** @brief Bitmap for @ref APE_t.FwFeatures. */ - APE.FwFeatures.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16400)); - APE.FwFeatures.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16400)); - - /** @brief Bitmap for @ref APE_t.4014. */ - APE._4014.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16404)); - APE._4014.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16404)); - - /** @brief Bitmap for @ref APE_t.FwVersion. */ - APE.FwVersion.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16408)); - APE.FwVersion.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16408)); - - /** @brief Bitmap for @ref APE_t.SegMessageBufferOffset. */ - APE.SegMessageBufferOffset.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16412)); - APE.SegMessageBufferOffset.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16412)); - - /** @brief Bitmap for @ref APE_t.SegMessageBufferLength. */ - APE.SegMessageBufferLength.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16416)); - APE.SegMessageBufferLength.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16416)); - - /** @brief Bitmap for @ref APE_t.4024. */ - APE._4024.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16420)); - APE._4024.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16420)); - - /** @brief Bitmap for @ref APE_t.4028. */ - APE._4028.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16424)); - APE._4028.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16424)); - - /** @brief Bitmap for @ref APE_t.RcpuSegSig. */ - APE.RcpuSegSig.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16640)); - APE.RcpuSegSig.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16640)); - - /** @brief Bitmap for @ref APE_t.RcpuSegLength. */ - APE.RcpuSegLength.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16644)); - APE.RcpuSegLength.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16644)); - - /** @brief Bitmap for @ref APE_t.RcpuInitCount. */ - APE.RcpuInitCount.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16648)); - APE.RcpuInitCount.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16648)); - - /** @brief Bitmap for @ref APE_t.RcpuFwVersion. */ - APE.RcpuFwVersion.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16652)); - APE.RcpuFwVersion.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16652)); - - /** @brief Bitmap for @ref APE_t.RcpuCfgFeature. */ - APE.RcpuCfgFeature.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16656)); - APE.RcpuCfgFeature.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16656)); - - /** @brief Bitmap for @ref APE_t.RcpuPciVendorDeviceId. */ - APE.RcpuPciVendorDeviceId.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16660)); - APE.RcpuPciVendorDeviceId.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16660)); - - /** @brief Bitmap for @ref APE_t.RcpuPciSubsystemId. */ - APE.RcpuPciSubsystemId.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16664)); - APE.RcpuPciSubsystemId.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16664)); - - /** @brief Bitmap for @ref APE_t.411c. */ - APE._411c.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16668)); - APE._411c.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16668)); - - /** @brief Bitmap for @ref APE_t.4120. */ - APE._4120.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16672)); - APE._4120.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16672)); - - /** @brief Bitmap for @ref APE_t.4124. */ - APE._4124.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16676)); - APE._4124.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16676)); - - /** @brief Bitmap for @ref APE_t.RcpuCfgHw. */ - APE.RcpuCfgHw.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16680)); - APE.RcpuCfgHw.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16680)); - - /** @brief Bitmap for @ref APE_t.RcpuCfgHw2. */ - APE.RcpuCfgHw2.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16684)); - APE.RcpuCfgHw2.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16684)); - - /** @brief Bitmap for @ref APE_t.RcpuCpmuStatus. */ - APE.RcpuCpmuStatus.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16688)); - APE.RcpuCpmuStatus.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16688)); - - /** @brief Bitmap for @ref APE_t.HostSegSig. */ - APE.HostSegSig.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16896)); - APE.HostSegSig.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16896)); - - /** @brief Bitmap for @ref APE_t.HostSegLen. */ - APE.HostSegLen.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16900)); - APE.HostSegLen.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16900)); - - /** @brief Bitmap for @ref APE_t.HostInitCount. */ - APE.HostInitCount.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16904)); - APE.HostInitCount.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16904)); - - /** @brief Bitmap for @ref APE_t.HostDriverId. */ - APE.HostDriverId.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16908)); - APE.HostDriverId.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16908)); - - /** @brief Bitmap for @ref APE_t.HostBehavior. */ - APE.HostBehavior.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16912)); - APE.HostBehavior.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16912)); - - /** @brief Bitmap for @ref APE_t.HeartbeatInterval. */ - APE.HeartbeatInterval.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16916)); - APE.HeartbeatInterval.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16916)); - - /** @brief Bitmap for @ref APE_t.HeartbeatCount. */ - APE.HeartbeatCount.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16920)); - APE.HeartbeatCount.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16920)); - - /** @brief Bitmap for @ref APE_t.HostDriverState. */ - APE.HostDriverState.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16924)); - APE.HostDriverState.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16924)); - - /** @brief Bitmap for @ref APE_t.WolSpeed. */ - APE.WolSpeed.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16932)); - APE.WolSpeed.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16932)); - - /** @brief Bitmap for @ref APE_t.EventStatus. */ - APE.EventStatus.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17152)); - APE.EventStatus.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17152)); - - /** @brief Bitmap for @ref APE_t.ProtMagic. */ - APE.ProtMagic.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17160)); - APE.ProtMagic.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17160)); - - /** @brief Bitmap for @ref APE_t.ProtMac0High. */ - APE.ProtMac0High.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17172)); - APE.ProtMac0High.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17172)); - - /** @brief Bitmap for @ref APE_t.ProtMac0Low. */ - APE.ProtMac0Low.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17176)); - APE.ProtMac0Low.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17176)); - - /** @brief Bitmap for @ref APE_t.NcsiSig. */ - APE.NcsiSig.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18432)); - APE.NcsiSig.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18432)); - - /** @brief Bitmap for @ref APE_t.NcsiBuildTime. */ - APE.NcsiBuildTime.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18448)); - APE.NcsiBuildTime.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18448)); - - /** @brief Bitmap for @ref APE_t.NcsiBuildTime2. */ - APE.NcsiBuildTime2.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18452)); - APE.NcsiBuildTime2.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18452)); - - /** @brief Bitmap for @ref APE_t.NcsiBuildTime3. */ - APE.NcsiBuildTime3.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18456)); - APE.NcsiBuildTime3.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18456)); - - /** @brief Bitmap for @ref APE_t.NcsiBuildDate. */ - APE.NcsiBuildDate.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18460)); - APE.NcsiBuildDate.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18460)); - - /** @brief Bitmap for @ref APE_t.NcsiBuildDate2. */ - APE.NcsiBuildDate2.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18464)); - APE.NcsiBuildDate2.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18464)); - - /** @brief Bitmap for @ref APE_t.NcsiBuildDate3. */ - APE.NcsiBuildDate3.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18468)); - APE.NcsiBuildDate3.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18468)); - - /** @brief Bitmap for @ref APE_t.ChipId. */ - APE.ChipId.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18576)); - APE.ChipId.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18576)); - - /** @brief Bitmap for @ref APE_t.PerLockRequestPhy0. */ - APE.PerLockRequestPhy0.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33792)); - APE.PerLockRequestPhy0.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33792)); - - /** @brief Bitmap for @ref APE_t.PerLockRequestGrc. */ - APE.PerLockRequestGrc.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33796)); - APE.PerLockRequestGrc.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33796)); - - /** @brief Bitmap for @ref APE_t.PerLockRequestPhy1. */ - APE.PerLockRequestPhy1.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33800)); - APE.PerLockRequestPhy1.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33800)); - - /** @brief Bitmap for @ref APE_t.PerLockRequestPhy2. */ - APE.PerLockRequestPhy2.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33804)); - APE.PerLockRequestPhy2.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33804)); - - /** @brief Bitmap for @ref APE_t.PerLockRequestMem. */ - APE.PerLockRequestMem.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33808)); - APE.PerLockRequestMem.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33808)); - - /** @brief Bitmap for @ref APE_t.PerLockRequestPhy3. */ - APE.PerLockRequestPhy3.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33812)); - APE.PerLockRequestPhy3.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33812)); - - /** @brief Bitmap for @ref APE_t.PerLockRequestPort6. */ - APE.PerLockRequestPort6.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33816)); - APE.PerLockRequestPort6.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33816)); - - /** @brief Bitmap for @ref APE_t.PerLockRequestGpio. */ - APE.PerLockRequestGpio.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33820)); - APE.PerLockRequestGpio.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33820)); - - /** @brief Bitmap for @ref APE_t.PerLockGrantPhy0. */ - APE.PerLockGrantPhy0.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33824)); - APE.PerLockGrantPhy0.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33824)); - - /** @brief Bitmap for @ref APE_t.PerLockGrantGrc. */ - APE.PerLockGrantGrc.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33828)); - APE.PerLockGrantGrc.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33828)); - - /** @brief Bitmap for @ref APE_t.PerLockGrantPhy1. */ - APE.PerLockGrantPhy1.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33832)); - APE.PerLockGrantPhy1.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33832)); - - /** @brief Bitmap for @ref APE_t.PerLockGrantPhy2. */ - APE.PerLockGrantPhy2.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33836)); - APE.PerLockGrantPhy2.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33836)); - - /** @brief Bitmap for @ref APE_t.PerLockGrantMem. */ - APE.PerLockGrantMem.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33840)); - APE.PerLockGrantMem.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33840)); - - /** @brief Bitmap for @ref APE_t.PerLockGrantPhy3. */ - APE.PerLockGrantPhy3.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33844)); - APE.PerLockGrantPhy3.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33844)); - - /** @brief Bitmap for @ref APE_t.PerLockGrantPort6. */ - APE.PerLockGrantPort6.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33848)); - APE.PerLockGrantPort6.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33848)); - - /** @brief Bitmap for @ref APE_t.PerLockGrantGpio. */ - APE.PerLockGrantGpio.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33852)); - APE.PerLockGrantGpio.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)33852)); - - + /** @brief Component Registers for @ref APE. */ + /** @brief Bitmap for @ref APE_t.Mode. */ + APE.Mode.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)0)); + APE.Mode.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)0)); + + /** @brief Bitmap for @ref APE_t.Status. */ + APE.Status.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)4)); + APE.Status.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)4)); + + /** @brief Bitmap for @ref APE_t.GpioMessage. */ + APE.GpioMessage.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)8)); + APE.GpioMessage.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)8)); + + /** @brief Bitmap for @ref APE_t.Event. */ + APE.Event.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)12)); + APE.Event.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)12)); + + /** @brief Bitmap for @ref APE_t.Mode2. */ + APE.Mode2.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)44)); + APE.Mode2.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)44)); + + /** @brief Bitmap for @ref APE_t.Status2. */ + APE.Status2.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)48)); + APE.Status2.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)48)); + + /** @brief Bitmap for @ref APE_t.LockGrantObsolete. */ + APE.LockGrantObsolete.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)76)); + APE.LockGrantObsolete.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)76)); + + /** @brief Bitmap for @ref APE_t.B0. */ + APE.B0.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)176)); + APE.B0.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)176)); + + /** @brief Bitmap for @ref APE_t.Gpio. */ + APE.Gpio.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)184)); + APE.Gpio.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)184)); + + /** @brief Bitmap for @ref APE_t.Gint. */ + APE.Gint.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)188)); + APE.Gint.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)188)); + + /** @brief Bitmap for @ref APE_t.OtpControl. */ + APE.OtpControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)232)); + APE.OtpControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)232)); + + /** @brief Bitmap for @ref APE_t.OtpStatus. */ + APE.OtpStatus.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)236)); + APE.OtpStatus.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)236)); + + /** @brief Bitmap for @ref APE_t.OtpAddr. */ + APE.OtpAddr.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)240)); + APE.OtpAddr.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)240)); + + /** @brief Bitmap for @ref APE_t.OtpReadData. */ + APE.OtpReadData.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)248)); + APE.OtpReadData.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)248)); + + /** @brief Bitmap for @ref APE_t.Cm3. */ + APE.Cm3.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)264)); + APE.Cm3.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)264)); + + /** @brief Bitmap for @ref APE_t.SegSig. */ + APE.SegSig.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16384)); + APE.SegSig.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16384)); + + /** @brief Bitmap for @ref APE_t.FwStatus. */ + APE.FwStatus.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16396)); + APE.FwStatus.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16396)); + + /** @brief Bitmap for @ref APE_t.FwFeatures. */ + APE.FwFeatures.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16400)); + APE.FwFeatures.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16400)); + + /** @brief Bitmap for @ref APE_t.4014. */ + APE._4014.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16404)); + APE._4014.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16404)); + + /** @brief Bitmap for @ref APE_t.FwVersion. */ + APE.FwVersion.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16408)); + APE.FwVersion.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16408)); + + /** @brief Bitmap for @ref APE_t.SegMessageBufferOffset. */ + APE.SegMessageBufferOffset.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16412)); + APE.SegMessageBufferOffset.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16412)); + + /** @brief Bitmap for @ref APE_t.SegMessageBufferLength. */ + APE.SegMessageBufferLength.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16416)); + APE.SegMessageBufferLength.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16416)); + + /** @brief Bitmap for @ref APE_t.4024. */ + APE._4024.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16420)); + APE._4024.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16420)); + + /** @brief Bitmap for @ref APE_t.4028. */ + APE._4028.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16424)); + APE._4028.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16424)); + + /** @brief Bitmap for @ref APE_t.RcpuSegSig. */ + APE.RcpuSegSig.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16640)); + APE.RcpuSegSig.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16640)); + + /** @brief Bitmap for @ref APE_t.RcpuSegLength. */ + APE.RcpuSegLength.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16644)); + APE.RcpuSegLength.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16644)); + + /** @brief Bitmap for @ref APE_t.RcpuInitCount. */ + APE.RcpuInitCount.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16648)); + APE.RcpuInitCount.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16648)); + + /** @brief Bitmap for @ref APE_t.RcpuFwVersion. */ + APE.RcpuFwVersion.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16652)); + APE.RcpuFwVersion.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16652)); + + /** @brief Bitmap for @ref APE_t.RcpuCfgFeature. */ + APE.RcpuCfgFeature.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16656)); + APE.RcpuCfgFeature.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16656)); + + /** @brief Bitmap for @ref APE_t.RcpuPciVendorDeviceId. */ + APE.RcpuPciVendorDeviceId.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16660)); + APE.RcpuPciVendorDeviceId.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16660)); + + /** @brief Bitmap for @ref APE_t.RcpuPciSubsystemId. */ + APE.RcpuPciSubsystemId.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16664)); + APE.RcpuPciSubsystemId.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16664)); + + /** @brief Bitmap for @ref APE_t.411c. */ + APE._411c.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16668)); + APE._411c.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16668)); + + /** @brief Bitmap for @ref APE_t.4120. */ + APE._4120.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16672)); + APE._4120.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16672)); + + /** @brief Bitmap for @ref APE_t.4124. */ + APE._4124.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16676)); + APE._4124.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16676)); + + /** @brief Bitmap for @ref APE_t.RcpuCfgHw. */ + APE.RcpuCfgHw.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16680)); + APE.RcpuCfgHw.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16680)); + + /** @brief Bitmap for @ref APE_t.RcpuCfgHw2. */ + APE.RcpuCfgHw2.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16684)); + APE.RcpuCfgHw2.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16684)); + + /** @brief Bitmap for @ref APE_t.RcpuCpmuStatus. */ + APE.RcpuCpmuStatus.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16688)); + APE.RcpuCpmuStatus.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16688)); + + /** @brief Bitmap for @ref APE_t.HostSegSig. */ + APE.HostSegSig.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16896)); + APE.HostSegSig.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16896)); + + /** @brief Bitmap for @ref APE_t.HostSegLen. */ + APE.HostSegLen.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16900)); + APE.HostSegLen.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16900)); + + /** @brief Bitmap for @ref APE_t.HostInitCount. */ + APE.HostInitCount.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16904)); + APE.HostInitCount.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16904)); + + /** @brief Bitmap for @ref APE_t.HostDriverId. */ + APE.HostDriverId.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16908)); + APE.HostDriverId.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16908)); + + /** @brief Bitmap for @ref APE_t.HostBehavior. */ + APE.HostBehavior.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16912)); + APE.HostBehavior.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16912)); + + /** @brief Bitmap for @ref APE_t.HeartbeatInterval. */ + APE.HeartbeatInterval.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16916)); + APE.HeartbeatInterval.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16916)); + + /** @brief Bitmap for @ref APE_t.HeartbeatCount. */ + APE.HeartbeatCount.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16920)); + APE.HeartbeatCount.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16920)); + + /** @brief Bitmap for @ref APE_t.HostDriverState. */ + APE.HostDriverState.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16924)); + APE.HostDriverState.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16924)); + + /** @brief Bitmap for @ref APE_t.WolSpeed. */ + APE.WolSpeed.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16932)); + APE.WolSpeed.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16932)); + + /** @brief Bitmap for @ref APE_t.EventStatus. */ + APE.EventStatus.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17152)); + APE.EventStatus.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17152)); + + /** @brief Bitmap for @ref APE_t.ProtMagic. */ + APE.ProtMagic.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17160)); + APE.ProtMagic.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17160)); + + /** @brief Bitmap for @ref APE_t.ProtMac0High. */ + APE.ProtMac0High.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17172)); + APE.ProtMac0High.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17172)); + + /** @brief Bitmap for @ref APE_t.ProtMac0Low. */ + APE.ProtMac0Low.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17176)); + APE.ProtMac0Low.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17176)); + + /** @brief Bitmap for @ref APE_t.NcsiSig. */ + APE.NcsiSig.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18432)); + APE.NcsiSig.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18432)); + + /** @brief Bitmap for @ref APE_t.NcsiBuildTime. */ + APE.NcsiBuildTime.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18448)); + APE.NcsiBuildTime.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18448)); + + /** @brief Bitmap for @ref APE_t.NcsiBuildTime2. */ + APE.NcsiBuildTime2.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18452)); + APE.NcsiBuildTime2.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18452)); + + /** @brief Bitmap for @ref APE_t.NcsiBuildTime3. */ + APE.NcsiBuildTime3.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18456)); + APE.NcsiBuildTime3.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18456)); + + /** @brief Bitmap for @ref APE_t.NcsiBuildDate. */ + APE.NcsiBuildDate.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18460)); + APE.NcsiBuildDate.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18460)); + + /** @brief Bitmap for @ref APE_t.NcsiBuildDate2. */ + APE.NcsiBuildDate2.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18464)); + APE.NcsiBuildDate2.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18464)); + + /** @brief Bitmap for @ref APE_t.NcsiBuildDate3. */ + APE.NcsiBuildDate3.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18468)); + APE.NcsiBuildDate3.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18468)); + + /** @brief Bitmap for @ref APE_t.ChipId. */ + APE.ChipId.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18576)); + APE.ChipId.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18576)); + + /** @brief Bitmap for @ref APE_t.PerLockRequestPhy0. */ + APE.PerLockRequestPhy0.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33792)); + APE.PerLockRequestPhy0.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33792)); + + /** @brief Bitmap for @ref APE_t.PerLockRequestGrc. */ + APE.PerLockRequestGrc.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33796)); + APE.PerLockRequestGrc.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33796)); + + /** @brief Bitmap for @ref APE_t.PerLockRequestPhy1. */ + APE.PerLockRequestPhy1.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33800)); + APE.PerLockRequestPhy1.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33800)); + + /** @brief Bitmap for @ref APE_t.PerLockRequestPhy2. */ + APE.PerLockRequestPhy2.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33804)); + APE.PerLockRequestPhy2.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33804)); + + /** @brief Bitmap for @ref APE_t.PerLockRequestMem. */ + APE.PerLockRequestMem.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33808)); + APE.PerLockRequestMem.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33808)); + + /** @brief Bitmap for @ref APE_t.PerLockRequestPhy3. */ + APE.PerLockRequestPhy3.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33812)); + APE.PerLockRequestPhy3.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33812)); + + /** @brief Bitmap for @ref APE_t.PerLockRequestPort6. */ + APE.PerLockRequestPort6.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33816)); + APE.PerLockRequestPort6.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33816)); + + /** @brief Bitmap for @ref APE_t.PerLockRequestGpio. */ + APE.PerLockRequestGpio.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33820)); + APE.PerLockRequestGpio.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33820)); + + /** @brief Bitmap for @ref APE_t.PerLockGrantPhy0. */ + APE.PerLockGrantPhy0.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33824)); + APE.PerLockGrantPhy0.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33824)); + + /** @brief Bitmap for @ref APE_t.PerLockGrantGrc. */ + APE.PerLockGrantGrc.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33828)); + APE.PerLockGrantGrc.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33828)); + + /** @brief Bitmap for @ref APE_t.PerLockGrantPhy1. */ + APE.PerLockGrantPhy1.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33832)); + APE.PerLockGrantPhy1.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33832)); + + /** @brief Bitmap for @ref APE_t.PerLockGrantPhy2. */ + APE.PerLockGrantPhy2.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33836)); + APE.PerLockGrantPhy2.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33836)); + + /** @brief Bitmap for @ref APE_t.PerLockGrantMem. */ + APE.PerLockGrantMem.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33840)); + APE.PerLockGrantMem.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33840)); + + /** @brief Bitmap for @ref APE_t.PerLockGrantPhy3. */ + APE.PerLockGrantPhy3.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33844)); + APE.PerLockGrantPhy3.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33844)); + + /** @brief Bitmap for @ref APE_t.PerLockGrantPort6. */ + APE.PerLockGrantPort6.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33848)); + APE.PerLockGrantPort6.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33848)); + + /** @brief Bitmap for @ref APE_t.PerLockGrantGpio. */ + APE.PerLockGrantGpio.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33852)); + APE.PerLockGrantGpio.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)33852)); } diff --git a/simulator/bcm5719_DEVICE.cpp b/simulator/bcm5719_DEVICE.cpp index 74ec3d5..5458a1b 100644 --- a/simulator/bcm5719_DEVICE.cpp +++ b/simulator/bcm5719_DEVICE.cpp @@ -48,238 +48,238 @@ DEVICE_t DEVICE; void init_bcm5719_DEVICE(void) { - /** @brief Component Registers for @ref DEVICE. */ - /** @brief Bitmap for @ref DEVICE_t.MiscellaneousHostControl. */ + /** @brief Component Registers for @ref DEVICE. */ + /** @brief Bitmap for @ref DEVICE_t.MiscellaneousHostControl. */ - /** @brief Bitmap for @ref DEVICE_t.PciState. */ + /** @brief Bitmap for @ref DEVICE_t.PciState. */ - /** @brief Bitmap for @ref DEVICE_t.RegisterBase. */ + /** @brief Bitmap for @ref DEVICE_t.RegisterBase. */ - /** @brief Bitmap for @ref DEVICE_t.MemoryBase. */ + /** @brief Bitmap for @ref DEVICE_t.MemoryBase. */ - /** @brief Bitmap for @ref DEVICE_t.RegisterData. */ + /** @brief Bitmap for @ref DEVICE_t.RegisterData. */ - /** @brief Bitmap for @ref DEVICE_t.UndiReceiveReturnRingConsumerIndex. */ + /** @brief Bitmap for @ref DEVICE_t.UndiReceiveReturnRingConsumerIndex. */ - /** @brief Bitmap for @ref DEVICE_t.UndiReceiveReturnRingConsumerIndexLow. */ + /** @brief Bitmap for @ref DEVICE_t.UndiReceiveReturnRingConsumerIndexLow. + */ - /** @brief Bitmap for @ref DEVICE_t.LinkStatusControl. */ + /** @brief Bitmap for @ref DEVICE_t.LinkStatusControl. */ - /** @brief Bitmap for @ref DEVICE_t.EmacMode. */ + /** @brief Bitmap for @ref DEVICE_t.EmacMode. */ - /** @brief Bitmap for @ref DEVICE_t.LedControl. */ + /** @brief Bitmap for @ref DEVICE_t.LedControl. */ - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses0High. */ + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses0High. */ - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses0Low. */ + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses0Low. */ - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses1High. */ + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses1High. */ - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses1Low. */ + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses1Low. */ - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses2High. */ + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses2High. */ - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses2Low. */ + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses2Low. */ - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses3High. */ + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses3High. */ - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses3Low. */ + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses3Low. */ - /** @brief Bitmap for @ref DEVICE_t.WolPatternPointer. */ + /** @brief Bitmap for @ref DEVICE_t.WolPatternPointer. */ - /** @brief Bitmap for @ref DEVICE_t.WolPatternCfg. */ + /** @brief Bitmap for @ref DEVICE_t.WolPatternCfg. */ - /** @brief Bitmap for @ref DEVICE_t.MtuSize. */ + /** @brief Bitmap for @ref DEVICE_t.MtuSize. */ - /** @brief Bitmap for @ref DEVICE_t.MiiCommunication. */ + /** @brief Bitmap for @ref DEVICE_t.MiiCommunication. */ - /** @brief Bitmap for @ref DEVICE_t.MiiMode. */ + /** @brief Bitmap for @ref DEVICE_t.MiiMode. */ - /** @brief Bitmap for @ref DEVICE_t.ReceiveMacMode. */ + /** @brief Bitmap for @ref DEVICE_t.ReceiveMacMode. */ - /** @brief Bitmap for @ref DEVICE_t.SgmiiStatus. */ + /** @brief Bitmap for @ref DEVICE_t.SgmiiStatus. */ - /** @brief Bitmap for @ref DEVICE_t.CpmuControl. */ + /** @brief Bitmap for @ref DEVICE_t.CpmuControl. */ - /** @brief Bitmap for @ref DEVICE_t.LinkAwarePowerModeClockPolicy. */ + /** @brief Bitmap for @ref DEVICE_t.LinkAwarePowerModeClockPolicy. */ - /** @brief Bitmap for @ref DEVICE_t.ClockSpeedOverridePolicy. */ + /** @brief Bitmap for @ref DEVICE_t.ClockSpeedOverridePolicy. */ - /** @brief Bitmap for @ref DEVICE_t.Status. */ + /** @brief Bitmap for @ref DEVICE_t.Status. */ - /** @brief Bitmap for @ref DEVICE_t.ClockStatus. */ + /** @brief Bitmap for @ref DEVICE_t.ClockStatus. */ - /** @brief Bitmap for @ref DEVICE_t.GphyControlStatus. */ + /** @brief Bitmap for @ref DEVICE_t.GphyControlStatus. */ - /** @brief Bitmap for @ref DEVICE_t.ChipId. */ + /** @brief Bitmap for @ref DEVICE_t.ChipId. */ - /** @brief Bitmap for @ref DEVICE_t.MutexRequest. */ + /** @brief Bitmap for @ref DEVICE_t.MutexRequest. */ - /** @brief Bitmap for @ref DEVICE_t.MutexGrant. */ + /** @brief Bitmap for @ref DEVICE_t.MutexGrant. */ - /** @brief Bitmap for @ref DEVICE_t.GphyStrap. */ + /** @brief Bitmap for @ref DEVICE_t.GphyStrap. */ - /** @brief Bitmap for @ref DEVICE_t.TopLevelMiscellaneousControl1. */ + /** @brief Bitmap for @ref DEVICE_t.TopLevelMiscellaneousControl1. */ - /** @brief Bitmap for @ref DEVICE_t.EeeMode. */ + /** @brief Bitmap for @ref DEVICE_t.EeeMode. */ - /** @brief Bitmap for @ref DEVICE_t.EeeLinkIdleControl. */ + /** @brief Bitmap for @ref DEVICE_t.EeeLinkIdleControl. */ - /** @brief Bitmap for @ref DEVICE_t.EeeControl. */ + /** @brief Bitmap for @ref DEVICE_t.EeeControl. */ - /** @brief Bitmap for @ref DEVICE_t.GlobalMutexRequest. */ + /** @brief Bitmap for @ref DEVICE_t.GlobalMutexRequest. */ - /** @brief Bitmap for @ref DEVICE_t.GlobalMutexGrant. */ + /** @brief Bitmap for @ref DEVICE_t.GlobalMutexGrant. */ - /** @brief Bitmap for @ref DEVICE_t.MemoryArbiterMode. */ + /** @brief Bitmap for @ref DEVICE_t.MemoryArbiterMode. */ - /** @brief Bitmap for @ref DEVICE_t.BufferManagerMode. */ + /** @brief Bitmap for @ref DEVICE_t.BufferManagerMode. */ - /** @brief Bitmap for @ref DEVICE_t.LsoNonlsoBdReadDmaCorruptionEnableControl. */ + /** @brief Bitmap for @ref + * DEVICE_t.LsoNonlsoBdReadDmaCorruptionEnableControl. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscMode. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscMode. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscStatus. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscStatus. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscProgramCounter. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscProgramCounter. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscCurrentInstruction. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscCurrentInstruction. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscHardwareBreakpoint. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscHardwareBreakpoint. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister0. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister0. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister1. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister1. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister2. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister2. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister3. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister3. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister4. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister4. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister5. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister5. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister6. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister6. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister7. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister7. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister8. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister8. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister9. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister9. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister10. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister10. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister11. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister11. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister12. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister12. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister13. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister13. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister14. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister14. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister15. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister15. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister16. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister16. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister17. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister17. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister18. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister18. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister19. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister19. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister20. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister20. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister21. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister21. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister22. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister22. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister23. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister23. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister24. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister24. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister25. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister25. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister26. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister26. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister27. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister27. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister28. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister28. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister29. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister29. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister30. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister30. */ - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister31. */ + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister31. */ - /** @brief Bitmap for @ref DEVICE_t.6408. */ + /** @brief Bitmap for @ref DEVICE_t.6408. */ - /** @brief Bitmap for @ref DEVICE_t.PciPowerConsumptionInfo. */ + /** @brief Bitmap for @ref DEVICE_t.PciPowerConsumptionInfo. */ - /** @brief Bitmap for @ref DEVICE_t.PciPowerDissipatedInfo. */ + /** @brief Bitmap for @ref DEVICE_t.PciPowerDissipatedInfo. */ - /** @brief Bitmap for @ref DEVICE_t.PciVpdRequest. */ + /** @brief Bitmap for @ref DEVICE_t.PciVpdRequest. */ - /** @brief Bitmap for @ref DEVICE_t.PciVpdResponse. */ + /** @brief Bitmap for @ref DEVICE_t.PciVpdResponse. */ - /** @brief Bitmap for @ref DEVICE_t.PciVendorDeviceId. */ + /** @brief Bitmap for @ref DEVICE_t.PciVendorDeviceId. */ - /** @brief Bitmap for @ref DEVICE_t.PciSubsystemId. */ + /** @brief Bitmap for @ref DEVICE_t.PciSubsystemId. */ - /** @brief Bitmap for @ref DEVICE_t.PciClassCodeRevision. */ + /** @brief Bitmap for @ref DEVICE_t.PciClassCodeRevision. */ - /** @brief Bitmap for @ref DEVICE_t.64c0. */ + /** @brief Bitmap for @ref DEVICE_t.64c0. */ - /** @brief Bitmap for @ref DEVICE_t.64c8. */ + /** @brief Bitmap for @ref DEVICE_t.64c8. */ - /** @brief Bitmap for @ref DEVICE_t.64dc. */ + /** @brief Bitmap for @ref DEVICE_t.64dc. */ - /** @brief Bitmap for @ref DEVICE_t.PciSerialNumberLow. */ + /** @brief Bitmap for @ref DEVICE_t.PciSerialNumberLow. */ - /** @brief Bitmap for @ref DEVICE_t.PciSerialNumberHigh. */ + /** @brief Bitmap for @ref DEVICE_t.PciSerialNumberHigh. */ - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget0. */ + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget0. */ - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget1. */ + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget1. */ - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget2. */ + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget2. */ - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget3. */ + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget3. */ - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget4. */ + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget4. */ - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget5. */ + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget5. */ - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget6. */ + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget6. */ - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget7. */ + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget7. */ - /** @brief Bitmap for @ref DEVICE_t.6530. */ + /** @brief Bitmap for @ref DEVICE_t.6530. */ - /** @brief Bitmap for @ref DEVICE_t.6550. */ + /** @brief Bitmap for @ref DEVICE_t.6550. */ - /** @brief Bitmap for @ref DEVICE_t.65f4. */ + /** @brief Bitmap for @ref DEVICE_t.65f4. */ - /** @brief Bitmap for @ref DEVICE_t.GrcModeControl. */ + /** @brief Bitmap for @ref DEVICE_t.GrcModeControl. */ - /** @brief Bitmap for @ref DEVICE_t.MiscellaneousLocalControl. */ + /** @brief Bitmap for @ref DEVICE_t.MiscellaneousLocalControl. */ - /** @brief Bitmap for @ref DEVICE_t.Timer. */ + /** @brief Bitmap for @ref DEVICE_t.Timer. */ - /** @brief Bitmap for @ref DEVICE_t.RxCpuEvent. */ + /** @brief Bitmap for @ref DEVICE_t.RxCpuEvent. */ - /** @brief Bitmap for @ref DEVICE_t.6838. */ + /** @brief Bitmap for @ref DEVICE_t.6838. */ - /** @brief Bitmap for @ref DEVICE_t.MdiControl. */ + /** @brief Bitmap for @ref DEVICE_t.MdiControl. */ - /** @brief Bitmap for @ref DEVICE_t.FastBootProgramCounter. */ + /** @brief Bitmap for @ref DEVICE_t.FastBootProgramCounter. */ - /** @brief Bitmap for @ref DEVICE_t.ExpansionRomAddr. */ + /** @brief Bitmap for @ref DEVICE_t.ExpansionRomAddr. */ - /** @brief Bitmap for @ref DEVICE_t.68f0. */ - - /** @brief Bitmap for @ref DEVICE_t.EavRefClockControl. */ - - /** @brief Bitmap for @ref DEVICE_t.7c04. */ + /** @brief Bitmap for @ref DEVICE_t.68f0. */ + /** @brief Bitmap for @ref DEVICE_t.EavRefClockControl. */ + /** @brief Bitmap for @ref DEVICE_t.7c04. */ } diff --git a/simulator/bcm5719_DEVICE_mmap.cpp b/simulator/bcm5719_DEVICE_mmap.cpp index 4f5005e..7cf0222 100644 --- a/simulator/bcm5719_DEVICE_mmap.cpp +++ b/simulator/bcm5719_DEVICE_mmap.cpp @@ -42,499 +42,731 @@ /// @endcond //////////////////////////////////////////////////////////////////////////////// +#include <bcm5719_DEVICE.h> #include <stdint.h> #include <utility> -#include <bcm5719_DEVICE.h> -typedef std::pair<uint8_t*, uint32_t> ram_offset_t; +typedef std::pair<uint8_t *, uint32_t> ram_offset_t; -static uint32_t read_from_ram(uint32_t val, void* args) +static uint32_t read_from_ram(uint32_t val, void *args) { - ram_offset_t* loc = (ram_offset_t*)args; + ram_offset_t *loc = (ram_offset_t *)args; - uint8_t* base = loc->first; + uint8_t *base = loc->first; base += loc->second; - return *(uint32_t*)base; + return *(uint32_t *)base; } -static uint32_t write_to_ram(uint32_t val, void* args) +static uint32_t write_to_ram(uint32_t val, void *args) { - ram_offset_t* loc = (ram_offset_t*)args; + ram_offset_t *loc = (ram_offset_t *)args; - uint8_t* base = loc->first; + uint8_t *base = loc->first; base += loc->second; - *(uint32_t*)base = val; + *(uint32_t *)base = val; return val; } -void init_bcm5719_DEVICE_mmap(void* base) +void init_bcm5719_DEVICE_mmap(void *base) { - /** @brief Component Registers for @ref DEVICE. */ - /** @brief Bitmap for @ref DEVICE_t.MiscellaneousHostControl. */ - DEVICE.MiscellaneousHostControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)104)); - DEVICE.MiscellaneousHostControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)104)); - - /** @brief Bitmap for @ref DEVICE_t.PciState. */ - DEVICE.PciState.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)112)); - DEVICE.PciState.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)112)); - - /** @brief Bitmap for @ref DEVICE_t.RegisterBase. */ - DEVICE.RegisterBase.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)120)); - DEVICE.RegisterBase.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)120)); - - /** @brief Bitmap for @ref DEVICE_t.MemoryBase. */ - DEVICE.MemoryBase.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)124)); - DEVICE.MemoryBase.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)124)); - - /** @brief Bitmap for @ref DEVICE_t.RegisterData. */ - DEVICE.RegisterData.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)128)); - DEVICE.RegisterData.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)128)); - - /** @brief Bitmap for @ref DEVICE_t.UndiReceiveReturnRingConsumerIndex. */ - DEVICE.UndiReceiveReturnRingConsumerIndex.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)136)); - DEVICE.UndiReceiveReturnRingConsumerIndex.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)136)); - - /** @brief Bitmap for @ref DEVICE_t.UndiReceiveReturnRingConsumerIndexLow. */ - DEVICE.UndiReceiveReturnRingConsumerIndexLow.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)140)); - DEVICE.UndiReceiveReturnRingConsumerIndexLow.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)140)); - - /** @brief Bitmap for @ref DEVICE_t.LinkStatusControl. */ - DEVICE.LinkStatusControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)188)); - DEVICE.LinkStatusControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)188)); - - /** @brief Bitmap for @ref DEVICE_t.EmacMode. */ - DEVICE.EmacMode.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1024)); - DEVICE.EmacMode.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1024)); - - /** @brief Bitmap for @ref DEVICE_t.LedControl. */ - DEVICE.LedControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1036)); - DEVICE.LedControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1036)); - - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses0High. */ - DEVICE.EmacMacAddresses0High.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1040)); - DEVICE.EmacMacAddresses0High.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1040)); - - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses0Low. */ - DEVICE.EmacMacAddresses0Low.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1044)); - DEVICE.EmacMacAddresses0Low.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1044)); - - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses1High. */ - DEVICE.EmacMacAddresses1High.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1048)); - DEVICE.EmacMacAddresses1High.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1048)); - - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses1Low. */ - DEVICE.EmacMacAddresses1Low.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1052)); - DEVICE.EmacMacAddresses1Low.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1052)); - - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses2High. */ - DEVICE.EmacMacAddresses2High.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1056)); - DEVICE.EmacMacAddresses2High.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1056)); - - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses2Low. */ - DEVICE.EmacMacAddresses2Low.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1060)); - DEVICE.EmacMacAddresses2Low.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1060)); - - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses3High. */ - DEVICE.EmacMacAddresses3High.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1064)); - DEVICE.EmacMacAddresses3High.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1064)); - - /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses3Low. */ - DEVICE.EmacMacAddresses3Low.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1068)); - DEVICE.EmacMacAddresses3Low.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1068)); - - /** @brief Bitmap for @ref DEVICE_t.WolPatternPointer. */ - DEVICE.WolPatternPointer.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1072)); - DEVICE.WolPatternPointer.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1072)); - - /** @brief Bitmap for @ref DEVICE_t.WolPatternCfg. */ - DEVICE.WolPatternCfg.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1076)); - DEVICE.WolPatternCfg.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1076)); - - /** @brief Bitmap for @ref DEVICE_t.MtuSize. */ - DEVICE.MtuSize.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1084)); - DEVICE.MtuSize.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1084)); - - /** @brief Bitmap for @ref DEVICE_t.MiiCommunication. */ - DEVICE.MiiCommunication.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1100)); - DEVICE.MiiCommunication.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1100)); - - /** @brief Bitmap for @ref DEVICE_t.MiiMode. */ - DEVICE.MiiMode.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1108)); - DEVICE.MiiMode.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1108)); - - /** @brief Bitmap for @ref DEVICE_t.ReceiveMacMode. */ - DEVICE.ReceiveMacMode.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1128)); - DEVICE.ReceiveMacMode.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1128)); - - /** @brief Bitmap for @ref DEVICE_t.SgmiiStatus. */ - DEVICE.SgmiiStatus.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1460)); - DEVICE.SgmiiStatus.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1460)); - - /** @brief Bitmap for @ref DEVICE_t.CpmuControl. */ - DEVICE.CpmuControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13824)); - DEVICE.CpmuControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13824)); - - /** @brief Bitmap for @ref DEVICE_t.LinkAwarePowerModeClockPolicy. */ - DEVICE.LinkAwarePowerModeClockPolicy.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13840)); - DEVICE.LinkAwarePowerModeClockPolicy.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13840)); - - /** @brief Bitmap for @ref DEVICE_t.ClockSpeedOverridePolicy. */ - DEVICE.ClockSpeedOverridePolicy.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13860)); - DEVICE.ClockSpeedOverridePolicy.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13860)); - - /** @brief Bitmap for @ref DEVICE_t.Status. */ - DEVICE.Status.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13868)); - DEVICE.Status.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13868)); - - /** @brief Bitmap for @ref DEVICE_t.ClockStatus. */ - DEVICE.ClockStatus.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13872)); - DEVICE.ClockStatus.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13872)); - - /** @brief Bitmap for @ref DEVICE_t.GphyControlStatus. */ - DEVICE.GphyControlStatus.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13880)); - DEVICE.GphyControlStatus.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13880)); - - /** @brief Bitmap for @ref DEVICE_t.ChipId. */ - DEVICE.ChipId.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13912)); - DEVICE.ChipId.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13912)); - - /** @brief Bitmap for @ref DEVICE_t.MutexRequest. */ - DEVICE.MutexRequest.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13916)); - DEVICE.MutexRequest.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13916)); - - /** @brief Bitmap for @ref DEVICE_t.MutexGrant. */ - DEVICE.MutexGrant.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13920)); - DEVICE.MutexGrant.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13920)); - - /** @brief Bitmap for @ref DEVICE_t.GphyStrap. */ - DEVICE.GphyStrap.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13924)); - DEVICE.GphyStrap.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13924)); - - /** @brief Bitmap for @ref DEVICE_t.TopLevelMiscellaneousControl1. */ - DEVICE.TopLevelMiscellaneousControl1.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13948)); - DEVICE.TopLevelMiscellaneousControl1.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)13948)); - - /** @brief Bitmap for @ref DEVICE_t.EeeMode. */ - DEVICE.EeeMode.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14000)); - DEVICE.EeeMode.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14000)); - - /** @brief Bitmap for @ref DEVICE_t.EeeLinkIdleControl. */ - DEVICE.EeeLinkIdleControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14012)); - DEVICE.EeeLinkIdleControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14012)); - - /** @brief Bitmap for @ref DEVICE_t.EeeControl. */ - DEVICE.EeeControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14032)); - DEVICE.EeeControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14032)); - - /** @brief Bitmap for @ref DEVICE_t.GlobalMutexRequest. */ - DEVICE.GlobalMutexRequest.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14064)); - DEVICE.GlobalMutexRequest.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14064)); - - /** @brief Bitmap for @ref DEVICE_t.GlobalMutexGrant. */ - DEVICE.GlobalMutexGrant.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14068)); - DEVICE.GlobalMutexGrant.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14068)); - - /** @brief Bitmap for @ref DEVICE_t.MemoryArbiterMode. */ - DEVICE.MemoryArbiterMode.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16384)); - DEVICE.MemoryArbiterMode.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16384)); - - /** @brief Bitmap for @ref DEVICE_t.BufferManagerMode. */ - DEVICE.BufferManagerMode.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17408)); - DEVICE.BufferManagerMode.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17408)); - - /** @brief Bitmap for @ref DEVICE_t.LsoNonlsoBdReadDmaCorruptionEnableControl. */ - DEVICE.LsoNonlsoBdReadDmaCorruptionEnableControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18704)); - DEVICE.LsoNonlsoBdReadDmaCorruptionEnableControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18704)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscMode. */ - DEVICE.RxRiscMode.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20480)); - DEVICE.RxRiscMode.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20480)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscStatus. */ - DEVICE.RxRiscStatus.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20484)); - DEVICE.RxRiscStatus.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20484)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscProgramCounter. */ - DEVICE.RxRiscProgramCounter.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20508)); - DEVICE.RxRiscProgramCounter.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20508)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscCurrentInstruction. */ - DEVICE.RxRiscCurrentInstruction.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20512)); - DEVICE.RxRiscCurrentInstruction.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20512)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscHardwareBreakpoint. */ - DEVICE.RxRiscHardwareBreakpoint.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20532)); - DEVICE.RxRiscHardwareBreakpoint.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20532)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister0. */ - DEVICE.RxRiscRegister0.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20992)); - DEVICE.RxRiscRegister0.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20992)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister1. */ - DEVICE.RxRiscRegister1.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20996)); - DEVICE.RxRiscRegister1.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20996)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister2. */ - DEVICE.RxRiscRegister2.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21000)); - DEVICE.RxRiscRegister2.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21000)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister3. */ - DEVICE.RxRiscRegister3.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21004)); - DEVICE.RxRiscRegister3.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21004)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister4. */ - DEVICE.RxRiscRegister4.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21008)); - DEVICE.RxRiscRegister4.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21008)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister5. */ - DEVICE.RxRiscRegister5.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21012)); - DEVICE.RxRiscRegister5.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21012)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister6. */ - DEVICE.RxRiscRegister6.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21016)); - DEVICE.RxRiscRegister6.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21016)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister7. */ - DEVICE.RxRiscRegister7.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21020)); - DEVICE.RxRiscRegister7.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21020)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister8. */ - DEVICE.RxRiscRegister8.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21024)); - DEVICE.RxRiscRegister8.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21024)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister9. */ - DEVICE.RxRiscRegister9.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21028)); - DEVICE.RxRiscRegister9.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21028)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister10. */ - DEVICE.RxRiscRegister10.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21032)); - DEVICE.RxRiscRegister10.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21032)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister11. */ - DEVICE.RxRiscRegister11.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21036)); - DEVICE.RxRiscRegister11.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21036)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister12. */ - DEVICE.RxRiscRegister12.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21040)); - DEVICE.RxRiscRegister12.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21040)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister13. */ - DEVICE.RxRiscRegister13.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21044)); - DEVICE.RxRiscRegister13.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21044)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister14. */ - DEVICE.RxRiscRegister14.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21048)); - DEVICE.RxRiscRegister14.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21048)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister15. */ - DEVICE.RxRiscRegister15.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21052)); - DEVICE.RxRiscRegister15.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21052)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister16. */ - DEVICE.RxRiscRegister16.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21056)); - DEVICE.RxRiscRegister16.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21056)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister17. */ - DEVICE.RxRiscRegister17.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21060)); - DEVICE.RxRiscRegister17.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21060)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister18. */ - DEVICE.RxRiscRegister18.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21064)); - DEVICE.RxRiscRegister18.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21064)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister19. */ - DEVICE.RxRiscRegister19.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21068)); - DEVICE.RxRiscRegister19.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21068)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister20. */ - DEVICE.RxRiscRegister20.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21072)); - DEVICE.RxRiscRegister20.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21072)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister21. */ - DEVICE.RxRiscRegister21.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21076)); - DEVICE.RxRiscRegister21.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21076)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister22. */ - DEVICE.RxRiscRegister22.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21080)); - DEVICE.RxRiscRegister22.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21080)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister23. */ - DEVICE.RxRiscRegister23.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21084)); - DEVICE.RxRiscRegister23.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21084)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister24. */ - DEVICE.RxRiscRegister24.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21088)); - DEVICE.RxRiscRegister24.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21088)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister25. */ - DEVICE.RxRiscRegister25.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21092)); - DEVICE.RxRiscRegister25.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21092)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister26. */ - DEVICE.RxRiscRegister26.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21096)); - DEVICE.RxRiscRegister26.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21096)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister27. */ - DEVICE.RxRiscRegister27.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21100)); - DEVICE.RxRiscRegister27.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21100)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister28. */ - DEVICE.RxRiscRegister28.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21104)); - DEVICE.RxRiscRegister28.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21104)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister29. */ - DEVICE.RxRiscRegister29.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21108)); - DEVICE.RxRiscRegister29.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21108)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister30. */ - DEVICE.RxRiscRegister30.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21112)); - DEVICE.RxRiscRegister30.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21112)); - - /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister31. */ - DEVICE.RxRiscRegister31.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21116)); - DEVICE.RxRiscRegister31.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)21116)); - - /** @brief Bitmap for @ref DEVICE_t.6408. */ - DEVICE._6408.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25608)); - DEVICE._6408.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25608)); - - /** @brief Bitmap for @ref DEVICE_t.PciPowerConsumptionInfo. */ - DEVICE.PciPowerConsumptionInfo.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25616)); - DEVICE.PciPowerConsumptionInfo.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25616)); - - /** @brief Bitmap for @ref DEVICE_t.PciPowerDissipatedInfo. */ - DEVICE.PciPowerDissipatedInfo.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25620)); - DEVICE.PciPowerDissipatedInfo.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25620)); - - /** @brief Bitmap for @ref DEVICE_t.PciVpdRequest. */ - DEVICE.PciVpdRequest.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25644)); - DEVICE.PciVpdRequest.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25644)); - - /** @brief Bitmap for @ref DEVICE_t.PciVpdResponse. */ - DEVICE.PciVpdResponse.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25648)); - DEVICE.PciVpdResponse.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25648)); - - /** @brief Bitmap for @ref DEVICE_t.PciVendorDeviceId. */ - DEVICE.PciVendorDeviceId.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25652)); - DEVICE.PciVendorDeviceId.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25652)); - - /** @brief Bitmap for @ref DEVICE_t.PciSubsystemId. */ - DEVICE.PciSubsystemId.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25656)); - DEVICE.PciSubsystemId.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25656)); - - /** @brief Bitmap for @ref DEVICE_t.PciClassCodeRevision. */ - DEVICE.PciClassCodeRevision.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25660)); - DEVICE.PciClassCodeRevision.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25660)); - - /** @brief Bitmap for @ref DEVICE_t.64c0. */ - DEVICE._64c0.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25792)); - DEVICE._64c0.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25792)); - - /** @brief Bitmap for @ref DEVICE_t.64c8. */ - DEVICE._64c8.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25800)); - DEVICE._64c8.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25800)); - - /** @brief Bitmap for @ref DEVICE_t.64dc. */ - DEVICE._64dc.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25820)); - DEVICE._64dc.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25820)); - - /** @brief Bitmap for @ref DEVICE_t.PciSerialNumberLow. */ - DEVICE.PciSerialNumberLow.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25860)); - DEVICE.PciSerialNumberLow.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25860)); - - /** @brief Bitmap for @ref DEVICE_t.PciSerialNumberHigh. */ - DEVICE.PciSerialNumberHigh.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25864)); - DEVICE.PciSerialNumberHigh.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25864)); - - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget0. */ - DEVICE.PciPowerBudget0.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25872)); - DEVICE.PciPowerBudget0.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25872)); - - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget1. */ - DEVICE.PciPowerBudget1.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25876)); - DEVICE.PciPowerBudget1.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25876)); - - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget2. */ - DEVICE.PciPowerBudget2.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25880)); - DEVICE.PciPowerBudget2.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25880)); - - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget3. */ - DEVICE.PciPowerBudget3.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25884)); - DEVICE.PciPowerBudget3.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25884)); - - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget4. */ - DEVICE.PciPowerBudget4.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25888)); - DEVICE.PciPowerBudget4.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25888)); - - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget5. */ - DEVICE.PciPowerBudget5.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25892)); - DEVICE.PciPowerBudget5.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25892)); - - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget6. */ - DEVICE.PciPowerBudget6.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25896)); - DEVICE.PciPowerBudget6.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25896)); - - /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget7. */ - DEVICE.PciPowerBudget7.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25900)); - DEVICE.PciPowerBudget7.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25900)); - - /** @brief Bitmap for @ref DEVICE_t.6530. */ - DEVICE._6530.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25904)); - DEVICE._6530.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25904)); - - /** @brief Bitmap for @ref DEVICE_t.6550. */ - DEVICE._6550.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25936)); - DEVICE._6550.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25936)); - - /** @brief Bitmap for @ref DEVICE_t.65f4. */ - DEVICE._65f4.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26100)); - DEVICE._65f4.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26100)); - - /** @brief Bitmap for @ref DEVICE_t.GrcModeControl. */ - DEVICE.GrcModeControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26624)); - DEVICE.GrcModeControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26624)); - - /** @brief Bitmap for @ref DEVICE_t.MiscellaneousLocalControl. */ - DEVICE.MiscellaneousLocalControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26632)); - DEVICE.MiscellaneousLocalControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26632)); - - /** @brief Bitmap for @ref DEVICE_t.Timer. */ - DEVICE.Timer.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26636)); - DEVICE.Timer.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26636)); - - /** @brief Bitmap for @ref DEVICE_t.RxCpuEvent. */ - DEVICE.RxCpuEvent.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26640)); - DEVICE.RxCpuEvent.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26640)); - - /** @brief Bitmap for @ref DEVICE_t.6838. */ - DEVICE._6838.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26680)); - DEVICE._6838.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26680)); - - /** @brief Bitmap for @ref DEVICE_t.MdiControl. */ - DEVICE.MdiControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26692)); - DEVICE.MdiControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26692)); - - /** @brief Bitmap for @ref DEVICE_t.FastBootProgramCounter. */ - DEVICE.FastBootProgramCounter.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26772)); - DEVICE.FastBootProgramCounter.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26772)); - - /** @brief Bitmap for @ref DEVICE_t.ExpansionRomAddr. */ - DEVICE.ExpansionRomAddr.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26860)); - DEVICE.ExpansionRomAddr.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26860)); - - /** @brief Bitmap for @ref DEVICE_t.68f0. */ - DEVICE._68f0.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26864)); - DEVICE._68f0.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26864)); - - /** @brief Bitmap for @ref DEVICE_t.EavRefClockControl. */ - DEVICE.EavRefClockControl.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26888)); - DEVICE.EavRefClockControl.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26888)); - - /** @brief Bitmap for @ref DEVICE_t.7c04. */ - DEVICE._7c04.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)31748)); - DEVICE._7c04.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)31748)); - - + /** @brief Component Registers for @ref DEVICE. */ + /** @brief Bitmap for @ref DEVICE_t.MiscellaneousHostControl. */ + DEVICE.MiscellaneousHostControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)104)); + DEVICE.MiscellaneousHostControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)104)); + + /** @brief Bitmap for @ref DEVICE_t.PciState. */ + DEVICE.PciState.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)112)); + DEVICE.PciState.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)112)); + + /** @brief Bitmap for @ref DEVICE_t.RegisterBase. */ + DEVICE.RegisterBase.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)120)); + DEVICE.RegisterBase.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)120)); + + /** @brief Bitmap for @ref DEVICE_t.MemoryBase. */ + DEVICE.MemoryBase.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)124)); + DEVICE.MemoryBase.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)124)); + + /** @brief Bitmap for @ref DEVICE_t.RegisterData. */ + DEVICE.RegisterData.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)128)); + DEVICE.RegisterData.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)128)); + + /** @brief Bitmap for @ref DEVICE_t.UndiReceiveReturnRingConsumerIndex. */ + DEVICE.UndiReceiveReturnRingConsumerIndex.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)136)); + DEVICE.UndiReceiveReturnRingConsumerIndex.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)136)); + + /** @brief Bitmap for @ref DEVICE_t.UndiReceiveReturnRingConsumerIndexLow. + */ + DEVICE.UndiReceiveReturnRingConsumerIndexLow.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)140)); + DEVICE.UndiReceiveReturnRingConsumerIndexLow.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)140)); + + /** @brief Bitmap for @ref DEVICE_t.LinkStatusControl. */ + DEVICE.LinkStatusControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)188)); + DEVICE.LinkStatusControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)188)); + + /** @brief Bitmap for @ref DEVICE_t.EmacMode. */ + DEVICE.EmacMode.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1024)); + DEVICE.EmacMode.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1024)); + + /** @brief Bitmap for @ref DEVICE_t.LedControl. */ + DEVICE.LedControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1036)); + DEVICE.LedControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1036)); + + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses0High. */ + DEVICE.EmacMacAddresses0High.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1040)); + DEVICE.EmacMacAddresses0High.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1040)); + + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses0Low. */ + DEVICE.EmacMacAddresses0Low.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1044)); + DEVICE.EmacMacAddresses0Low.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1044)); + + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses1High. */ + DEVICE.EmacMacAddresses1High.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1048)); + DEVICE.EmacMacAddresses1High.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1048)); + + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses1Low. */ + DEVICE.EmacMacAddresses1Low.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1052)); + DEVICE.EmacMacAddresses1Low.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1052)); + + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses2High. */ + DEVICE.EmacMacAddresses2High.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1056)); + DEVICE.EmacMacAddresses2High.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1056)); + + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses2Low. */ + DEVICE.EmacMacAddresses2Low.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1060)); + DEVICE.EmacMacAddresses2Low.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1060)); + + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses3High. */ + DEVICE.EmacMacAddresses3High.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1064)); + DEVICE.EmacMacAddresses3High.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1064)); + + /** @brief Bitmap for @ref DEVICE_t.EmacMacAddresses3Low. */ + DEVICE.EmacMacAddresses3Low.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1068)); + DEVICE.EmacMacAddresses3Low.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1068)); + + /** @brief Bitmap for @ref DEVICE_t.WolPatternPointer. */ + DEVICE.WolPatternPointer.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1072)); + DEVICE.WolPatternPointer.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1072)); + + /** @brief Bitmap for @ref DEVICE_t.WolPatternCfg. */ + DEVICE.WolPatternCfg.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1076)); + DEVICE.WolPatternCfg.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1076)); + + /** @brief Bitmap for @ref DEVICE_t.MtuSize. */ + DEVICE.MtuSize.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1084)); + DEVICE.MtuSize.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1084)); + + /** @brief Bitmap for @ref DEVICE_t.MiiCommunication. */ + DEVICE.MiiCommunication.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1100)); + DEVICE.MiiCommunication.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1100)); + + /** @brief Bitmap for @ref DEVICE_t.MiiMode. */ + DEVICE.MiiMode.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1108)); + DEVICE.MiiMode.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1108)); + + /** @brief Bitmap for @ref DEVICE_t.ReceiveMacMode. */ + DEVICE.ReceiveMacMode.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1128)); + DEVICE.ReceiveMacMode.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1128)); + + /** @brief Bitmap for @ref DEVICE_t.SgmiiStatus. */ + DEVICE.SgmiiStatus.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1460)); + DEVICE.SgmiiStatus.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1460)); + + /** @brief Bitmap for @ref DEVICE_t.CpmuControl. */ + DEVICE.CpmuControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13824)); + DEVICE.CpmuControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13824)); + + /** @brief Bitmap for @ref DEVICE_t.LinkAwarePowerModeClockPolicy. */ + DEVICE.LinkAwarePowerModeClockPolicy.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13840)); + DEVICE.LinkAwarePowerModeClockPolicy.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13840)); + + /** @brief Bitmap for @ref DEVICE_t.ClockSpeedOverridePolicy. */ + DEVICE.ClockSpeedOverridePolicy.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13860)); + DEVICE.ClockSpeedOverridePolicy.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13860)); + + /** @brief Bitmap for @ref DEVICE_t.Status. */ + DEVICE.Status.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13868)); + DEVICE.Status.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13868)); + + /** @brief Bitmap for @ref DEVICE_t.ClockStatus. */ + DEVICE.ClockStatus.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13872)); + DEVICE.ClockStatus.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13872)); + + /** @brief Bitmap for @ref DEVICE_t.GphyControlStatus. */ + DEVICE.GphyControlStatus.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13880)); + DEVICE.GphyControlStatus.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13880)); + + /** @brief Bitmap for @ref DEVICE_t.ChipId. */ + DEVICE.ChipId.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13912)); + DEVICE.ChipId.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13912)); + + /** @brief Bitmap for @ref DEVICE_t.MutexRequest. */ + DEVICE.MutexRequest.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13916)); + DEVICE.MutexRequest.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13916)); + + /** @brief Bitmap for @ref DEVICE_t.MutexGrant. */ + DEVICE.MutexGrant.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13920)); + DEVICE.MutexGrant.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13920)); + + /** @brief Bitmap for @ref DEVICE_t.GphyStrap. */ + DEVICE.GphyStrap.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13924)); + DEVICE.GphyStrap.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13924)); + + /** @brief Bitmap for @ref DEVICE_t.TopLevelMiscellaneousControl1. */ + DEVICE.TopLevelMiscellaneousControl1.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13948)); + DEVICE.TopLevelMiscellaneousControl1.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)13948)); + + /** @brief Bitmap for @ref DEVICE_t.EeeMode. */ + DEVICE.EeeMode.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14000)); + DEVICE.EeeMode.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14000)); + + /** @brief Bitmap for @ref DEVICE_t.EeeLinkIdleControl. */ + DEVICE.EeeLinkIdleControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14012)); + DEVICE.EeeLinkIdleControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14012)); + + /** @brief Bitmap for @ref DEVICE_t.EeeControl. */ + DEVICE.EeeControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14032)); + DEVICE.EeeControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14032)); + + /** @brief Bitmap for @ref DEVICE_t.GlobalMutexRequest. */ + DEVICE.GlobalMutexRequest.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14064)); + DEVICE.GlobalMutexRequest.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14064)); + + /** @brief Bitmap for @ref DEVICE_t.GlobalMutexGrant. */ + DEVICE.GlobalMutexGrant.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14068)); + DEVICE.GlobalMutexGrant.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14068)); + + /** @brief Bitmap for @ref DEVICE_t.MemoryArbiterMode. */ + DEVICE.MemoryArbiterMode.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16384)); + DEVICE.MemoryArbiterMode.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16384)); + + /** @brief Bitmap for @ref DEVICE_t.BufferManagerMode. */ + DEVICE.BufferManagerMode.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17408)); + DEVICE.BufferManagerMode.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17408)); + + /** @brief Bitmap for @ref + * DEVICE_t.LsoNonlsoBdReadDmaCorruptionEnableControl. */ + DEVICE.LsoNonlsoBdReadDmaCorruptionEnableControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18704)); + DEVICE.LsoNonlsoBdReadDmaCorruptionEnableControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18704)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscMode. */ + DEVICE.RxRiscMode.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20480)); + DEVICE.RxRiscMode.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20480)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscStatus. */ + DEVICE.RxRiscStatus.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20484)); + DEVICE.RxRiscStatus.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20484)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscProgramCounter. */ + DEVICE.RxRiscProgramCounter.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20508)); + DEVICE.RxRiscProgramCounter.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20508)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscCurrentInstruction. */ + DEVICE.RxRiscCurrentInstruction.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20512)); + DEVICE.RxRiscCurrentInstruction.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20512)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscHardwareBreakpoint. */ + DEVICE.RxRiscHardwareBreakpoint.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20532)); + DEVICE.RxRiscHardwareBreakpoint.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20532)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister0. */ + DEVICE.RxRiscRegister0.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20992)); + DEVICE.RxRiscRegister0.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20992)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister1. */ + DEVICE.RxRiscRegister1.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20996)); + DEVICE.RxRiscRegister1.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20996)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister2. */ + DEVICE.RxRiscRegister2.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21000)); + DEVICE.RxRiscRegister2.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21000)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister3. */ + DEVICE.RxRiscRegister3.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21004)); + DEVICE.RxRiscRegister3.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21004)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister4. */ + DEVICE.RxRiscRegister4.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21008)); + DEVICE.RxRiscRegister4.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21008)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister5. */ + DEVICE.RxRiscRegister5.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21012)); + DEVICE.RxRiscRegister5.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21012)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister6. */ + DEVICE.RxRiscRegister6.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21016)); + DEVICE.RxRiscRegister6.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21016)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister7. */ + DEVICE.RxRiscRegister7.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21020)); + DEVICE.RxRiscRegister7.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21020)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister8. */ + DEVICE.RxRiscRegister8.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21024)); + DEVICE.RxRiscRegister8.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21024)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister9. */ + DEVICE.RxRiscRegister9.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21028)); + DEVICE.RxRiscRegister9.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21028)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister10. */ + DEVICE.RxRiscRegister10.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21032)); + DEVICE.RxRiscRegister10.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21032)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister11. */ + DEVICE.RxRiscRegister11.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21036)); + DEVICE.RxRiscRegister11.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21036)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister12. */ + DEVICE.RxRiscRegister12.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21040)); + DEVICE.RxRiscRegister12.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21040)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister13. */ + DEVICE.RxRiscRegister13.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21044)); + DEVICE.RxRiscRegister13.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21044)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister14. */ + DEVICE.RxRiscRegister14.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21048)); + DEVICE.RxRiscRegister14.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21048)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister15. */ + DEVICE.RxRiscRegister15.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21052)); + DEVICE.RxRiscRegister15.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21052)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister16. */ + DEVICE.RxRiscRegister16.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21056)); + DEVICE.RxRiscRegister16.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21056)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister17. */ + DEVICE.RxRiscRegister17.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21060)); + DEVICE.RxRiscRegister17.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21060)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister18. */ + DEVICE.RxRiscRegister18.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21064)); + DEVICE.RxRiscRegister18.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21064)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister19. */ + DEVICE.RxRiscRegister19.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21068)); + DEVICE.RxRiscRegister19.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21068)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister20. */ + DEVICE.RxRiscRegister20.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21072)); + DEVICE.RxRiscRegister20.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21072)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister21. */ + DEVICE.RxRiscRegister21.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21076)); + DEVICE.RxRiscRegister21.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21076)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister22. */ + DEVICE.RxRiscRegister22.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21080)); + DEVICE.RxRiscRegister22.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21080)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister23. */ + DEVICE.RxRiscRegister23.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21084)); + DEVICE.RxRiscRegister23.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21084)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister24. */ + DEVICE.RxRiscRegister24.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21088)); + DEVICE.RxRiscRegister24.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21088)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister25. */ + DEVICE.RxRiscRegister25.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21092)); + DEVICE.RxRiscRegister25.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21092)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister26. */ + DEVICE.RxRiscRegister26.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21096)); + DEVICE.RxRiscRegister26.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21096)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister27. */ + DEVICE.RxRiscRegister27.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21100)); + DEVICE.RxRiscRegister27.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21100)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister28. */ + DEVICE.RxRiscRegister28.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21104)); + DEVICE.RxRiscRegister28.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21104)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister29. */ + DEVICE.RxRiscRegister29.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21108)); + DEVICE.RxRiscRegister29.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21108)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister30. */ + DEVICE.RxRiscRegister30.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21112)); + DEVICE.RxRiscRegister30.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21112)); + + /** @brief Bitmap for @ref DEVICE_t.RxRiscRegister31. */ + DEVICE.RxRiscRegister31.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21116)); + DEVICE.RxRiscRegister31.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)21116)); + + /** @brief Bitmap for @ref DEVICE_t.6408. */ + DEVICE._6408.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25608)); + DEVICE._6408.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25608)); + + /** @brief Bitmap for @ref DEVICE_t.PciPowerConsumptionInfo. */ + DEVICE.PciPowerConsumptionInfo.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25616)); + DEVICE.PciPowerConsumptionInfo.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25616)); + + /** @brief Bitmap for @ref DEVICE_t.PciPowerDissipatedInfo. */ + DEVICE.PciPowerDissipatedInfo.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25620)); + DEVICE.PciPowerDissipatedInfo.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25620)); + + /** @brief Bitmap for @ref DEVICE_t.PciVpdRequest. */ + DEVICE.PciVpdRequest.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25644)); + DEVICE.PciVpdRequest.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25644)); + + /** @brief Bitmap for @ref DEVICE_t.PciVpdResponse. */ + DEVICE.PciVpdResponse.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25648)); + DEVICE.PciVpdResponse.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25648)); + + /** @brief Bitmap for @ref DEVICE_t.PciVendorDeviceId. */ + DEVICE.PciVendorDeviceId.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25652)); + DEVICE.PciVendorDeviceId.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25652)); + + /** @brief Bitmap for @ref DEVICE_t.PciSubsystemId. */ + DEVICE.PciSubsystemId.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25656)); + DEVICE.PciSubsystemId.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25656)); + + /** @brief Bitmap for @ref DEVICE_t.PciClassCodeRevision. */ + DEVICE.PciClassCodeRevision.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25660)); + DEVICE.PciClassCodeRevision.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25660)); + + /** @brief Bitmap for @ref DEVICE_t.64c0. */ + DEVICE._64c0.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25792)); + DEVICE._64c0.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25792)); + + /** @brief Bitmap for @ref DEVICE_t.64c8. */ + DEVICE._64c8.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25800)); + DEVICE._64c8.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25800)); + + /** @brief Bitmap for @ref DEVICE_t.64dc. */ + DEVICE._64dc.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25820)); + DEVICE._64dc.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25820)); + + /** @brief Bitmap for @ref DEVICE_t.PciSerialNumberLow. */ + DEVICE.PciSerialNumberLow.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25860)); + DEVICE.PciSerialNumberLow.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25860)); + + /** @brief Bitmap for @ref DEVICE_t.PciSerialNumberHigh. */ + DEVICE.PciSerialNumberHigh.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25864)); + DEVICE.PciSerialNumberHigh.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25864)); + + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget0. */ + DEVICE.PciPowerBudget0.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25872)); + DEVICE.PciPowerBudget0.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25872)); + + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget1. */ + DEVICE.PciPowerBudget1.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25876)); + DEVICE.PciPowerBudget1.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25876)); + + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget2. */ + DEVICE.PciPowerBudget2.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25880)); + DEVICE.PciPowerBudget2.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25880)); + + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget3. */ + DEVICE.PciPowerBudget3.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25884)); + DEVICE.PciPowerBudget3.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25884)); + + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget4. */ + DEVICE.PciPowerBudget4.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25888)); + DEVICE.PciPowerBudget4.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25888)); + + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget5. */ + DEVICE.PciPowerBudget5.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25892)); + DEVICE.PciPowerBudget5.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25892)); + + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget6. */ + DEVICE.PciPowerBudget6.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25896)); + DEVICE.PciPowerBudget6.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25896)); + + /** @brief Bitmap for @ref DEVICE_t.PciPowerBudget7. */ + DEVICE.PciPowerBudget7.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25900)); + DEVICE.PciPowerBudget7.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25900)); + + /** @brief Bitmap for @ref DEVICE_t.6530. */ + DEVICE._6530.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25904)); + DEVICE._6530.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25904)); + + /** @brief Bitmap for @ref DEVICE_t.6550. */ + DEVICE._6550.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25936)); + DEVICE._6550.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25936)); + + /** @brief Bitmap for @ref DEVICE_t.65f4. */ + DEVICE._65f4.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26100)); + DEVICE._65f4.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26100)); + + /** @brief Bitmap for @ref DEVICE_t.GrcModeControl. */ + DEVICE.GrcModeControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26624)); + DEVICE.GrcModeControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26624)); + + /** @brief Bitmap for @ref DEVICE_t.MiscellaneousLocalControl. */ + DEVICE.MiscellaneousLocalControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26632)); + DEVICE.MiscellaneousLocalControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26632)); + + /** @brief Bitmap for @ref DEVICE_t.Timer. */ + DEVICE.Timer.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26636)); + DEVICE.Timer.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26636)); + + /** @brief Bitmap for @ref DEVICE_t.RxCpuEvent. */ + DEVICE.RxCpuEvent.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26640)); + DEVICE.RxCpuEvent.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26640)); + + /** @brief Bitmap for @ref DEVICE_t.6838. */ + DEVICE._6838.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26680)); + DEVICE._6838.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26680)); + + /** @brief Bitmap for @ref DEVICE_t.MdiControl. */ + DEVICE.MdiControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26692)); + DEVICE.MdiControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26692)); + + /** @brief Bitmap for @ref DEVICE_t.FastBootProgramCounter. */ + DEVICE.FastBootProgramCounter.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26772)); + DEVICE.FastBootProgramCounter.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26772)); + + /** @brief Bitmap for @ref DEVICE_t.ExpansionRomAddr. */ + DEVICE.ExpansionRomAddr.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26860)); + DEVICE.ExpansionRomAddr.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26860)); + + /** @brief Bitmap for @ref DEVICE_t.68f0. */ + DEVICE._68f0.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26864)); + DEVICE._68f0.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26864)); + + /** @brief Bitmap for @ref DEVICE_t.EavRefClockControl. */ + DEVICE.EavRefClockControl.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26888)); + DEVICE.EavRefClockControl.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26888)); + + /** @brief Bitmap for @ref DEVICE_t.7c04. */ + DEVICE._7c04.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)31748)); + DEVICE._7c04.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)31748)); } diff --git a/simulator/bcm5719_GEN.cpp b/simulator/bcm5719_GEN.cpp index 82570e5..0e2c4ed 100644 --- a/simulator/bcm5719_GEN.cpp +++ b/simulator/bcm5719_GEN.cpp @@ -48,52 +48,50 @@ GEN_t GEN; void init_bcm5719_GEN(void) { - /** @brief Component Registers for @ref GEN. */ - /** @brief Bitmap for @ref GEN_t.GenFwMbox. */ + /** @brief Component Registers for @ref GEN. */ + /** @brief Bitmap for @ref GEN_t.GenFwMbox. */ - /** @brief Bitmap for @ref GEN_t.GenDataSig. */ + /** @brief Bitmap for @ref GEN_t.GenDataSig. */ - /** @brief Bitmap for @ref GEN_t.GenCfg. */ + /** @brief Bitmap for @ref GEN_t.GenCfg. */ - /** @brief Bitmap for @ref GEN_t.GenVersion. */ + /** @brief Bitmap for @ref GEN_t.GenVersion. */ - /** @brief Bitmap for @ref GEN_t.GenPhyId. */ + /** @brief Bitmap for @ref GEN_t.GenPhyId. */ - /** @brief Bitmap for @ref GEN_t.GenAsfStatusMbox. */ + /** @brief Bitmap for @ref GEN_t.GenAsfStatusMbox. */ - /** @brief Bitmap for @ref GEN_t.GenFwDriverStateMbox. */ + /** @brief Bitmap for @ref GEN_t.GenFwDriverStateMbox. */ - /** @brief Bitmap for @ref GEN_t.GenFwResetTypeMbox. */ + /** @brief Bitmap for @ref GEN_t.GenFwResetTypeMbox. */ - /** @brief Bitmap for @ref GEN_t.GenBc. */ + /** @brief Bitmap for @ref GEN_t.GenBc. */ - /** @brief Bitmap for @ref GEN_t.GenMacAddrHighMbox. */ + /** @brief Bitmap for @ref GEN_t.GenMacAddrHighMbox. */ - /** @brief Bitmap for @ref GEN_t.GenMacAddrLowMbox. */ + /** @brief Bitmap for @ref GEN_t.GenMacAddrLowMbox. */ - /** @brief Bitmap for @ref GEN_t.GenD8. */ + /** @brief Bitmap for @ref GEN_t.GenD8. */ - /** @brief Bitmap for @ref GEN_t.Gen1dc. */ + /** @brief Bitmap for @ref GEN_t.Gen1dc. */ - /** @brief Bitmap for @ref GEN_t.GenWolMbox. */ + /** @brief Bitmap for @ref GEN_t.GenWolMbox. */ - /** @brief Bitmap for @ref GEN_t.GenCfgFeature. */ + /** @brief Bitmap for @ref GEN_t.GenCfgFeature. */ - /** @brief Bitmap for @ref GEN_t.GenCfgHw. */ + /** @brief Bitmap for @ref GEN_t.GenCfgHw. */ - /** @brief Bitmap for @ref GEN_t.GenCfgShared. */ + /** @brief Bitmap for @ref GEN_t.GenCfgShared. */ - /** @brief Bitmap for @ref GEN_t.GenFwVersion. */ + /** @brief Bitmap for @ref GEN_t.GenFwVersion. */ - /** @brief Bitmap for @ref GEN_t.GenCfgHw2. */ + /** @brief Bitmap for @ref GEN_t.GenCfgHw2. */ - /** @brief Bitmap for @ref GEN_t.GenCpmuStatus. */ + /** @brief Bitmap for @ref GEN_t.GenCpmuStatus. */ - /** @brief Bitmap for @ref GEN_t.GenCfg5. */ - - /** @brief Bitmap for @ref GEN_t.GenDbgControlStatus. */ - - /** @brief Bitmap for @ref GEN_t.GenDbgData. */ + /** @brief Bitmap for @ref GEN_t.GenCfg5. */ + /** @brief Bitmap for @ref GEN_t.GenDbgControlStatus. */ + /** @brief Bitmap for @ref GEN_t.GenDbgData. */ } diff --git a/simulator/bcm5719_GEN_mmap.cpp b/simulator/bcm5719_GEN_mmap.cpp index 0f72544..449551d 100644 --- a/simulator/bcm5719_GEN_mmap.cpp +++ b/simulator/bcm5719_GEN_mmap.cpp @@ -42,127 +42,171 @@ /// @endcond //////////////////////////////////////////////////////////////////////////////// +#include <bcm5719_GEN.h> #include <stdint.h> #include <utility> -#include <bcm5719_GEN.h> -typedef std::pair<uint8_t*, uint32_t> ram_offset_t; +typedef std::pair<uint8_t *, uint32_t> ram_offset_t; -static uint32_t read_from_ram(uint32_t val, void* args) +static uint32_t read_from_ram(uint32_t val, void *args) { - ram_offset_t* loc = (ram_offset_t*)args; + ram_offset_t *loc = (ram_offset_t *)args; - uint8_t* base = loc->first; + uint8_t *base = loc->first; base += loc->second; - return *(uint32_t*)base; + return *(uint32_t *)base; } -static uint32_t write_to_ram(uint32_t val, void* args) +static uint32_t write_to_ram(uint32_t val, void *args) { - ram_offset_t* loc = (ram_offset_t*)args; + ram_offset_t *loc = (ram_offset_t *)args; - uint8_t* base = loc->first; + uint8_t *base = loc->first; base += loc->second; - *(uint32_t*)base = val; + *(uint32_t *)base = val; return val; } -void init_bcm5719_GEN_mmap(void* base) +void init_bcm5719_GEN_mmap(void *base) { - /** @brief Component Registers for @ref GEN. */ - /** @brief Bitmap for @ref GEN_t.GenFwMbox. */ - GEN.GenFwMbox.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)0)); - GEN.GenFwMbox.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)0)); - - /** @brief Bitmap for @ref GEN_t.GenDataSig. */ - GEN.GenDataSig.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)4)); - GEN.GenDataSig.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)4)); - - /** @brief Bitmap for @ref GEN_t.GenCfg. */ - GEN.GenCfg.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)8)); - GEN.GenCfg.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)8)); - - /** @brief Bitmap for @ref GEN_t.GenVersion. */ - GEN.GenVersion.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)12)); - GEN.GenVersion.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)12)); - - /** @brief Bitmap for @ref GEN_t.GenPhyId. */ - GEN.GenPhyId.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)36)); - GEN.GenPhyId.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)36)); - - /** @brief Bitmap for @ref GEN_t.GenAsfStatusMbox. */ - GEN.GenAsfStatusMbox.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)176)); - GEN.GenAsfStatusMbox.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)176)); - - /** @brief Bitmap for @ref GEN_t.GenFwDriverStateMbox. */ - GEN.GenFwDriverStateMbox.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)180)); - GEN.GenFwDriverStateMbox.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)180)); - - /** @brief Bitmap for @ref GEN_t.GenFwResetTypeMbox. */ - GEN.GenFwResetTypeMbox.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)184)); - GEN.GenFwResetTypeMbox.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)184)); - - /** @brief Bitmap for @ref GEN_t.GenBc. */ - GEN.GenBc.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)188)); - GEN.GenBc.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)188)); - - /** @brief Bitmap for @ref GEN_t.GenMacAddrHighMbox. */ - GEN.GenMacAddrHighMbox.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)196)); - GEN.GenMacAddrHighMbox.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)196)); - - /** @brief Bitmap for @ref GEN_t.GenMacAddrLowMbox. */ - GEN.GenMacAddrLowMbox.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)200)); - GEN.GenMacAddrLowMbox.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)200)); - - /** @brief Bitmap for @ref GEN_t.GenD8. */ - GEN.GenD8.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)216)); - GEN.GenD8.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)216)); - - /** @brief Bitmap for @ref GEN_t.Gen1dc. */ - GEN.Gen1dc.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)476)); - GEN.Gen1dc.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)476)); - - /** @brief Bitmap for @ref GEN_t.GenWolMbox. */ - GEN.GenWolMbox.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)480)); - GEN.GenWolMbox.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)480)); - - /** @brief Bitmap for @ref GEN_t.GenCfgFeature. */ - GEN.GenCfgFeature.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)484)); - GEN.GenCfgFeature.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)484)); - - /** @brief Bitmap for @ref GEN_t.GenCfgHw. */ - GEN.GenCfgHw.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)488)); - GEN.GenCfgHw.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)488)); - - /** @brief Bitmap for @ref GEN_t.GenCfgShared. */ - GEN.GenCfgShared.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)492)); - GEN.GenCfgShared.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)492)); - - /** @brief Bitmap for @ref GEN_t.GenFwVersion. */ - GEN.GenFwVersion.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)532)); - GEN.GenFwVersion.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)532)); - - /** @brief Bitmap for @ref GEN_t.GenCfgHw2. */ - GEN.GenCfgHw2.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)680)); - GEN.GenCfgHw2.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)680)); - - /** @brief Bitmap for @ref GEN_t.GenCpmuStatus. */ - GEN.GenCpmuStatus.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)688)); - GEN.GenCpmuStatus.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)688)); - - /** @brief Bitmap for @ref GEN_t.GenCfg5. */ - GEN.GenCfg5.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)700)); - GEN.GenCfg5.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)700)); - - /** @brief Bitmap for @ref GEN_t.GenDbgControlStatus. */ - GEN.GenDbgControlStatus.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)864)); - GEN.GenDbgControlStatus.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)864)); - - /** @brief Bitmap for @ref GEN_t.GenDbgData. */ - GEN.GenDbgData.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)868)); - GEN.GenDbgData.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)868)); - - + /** @brief Component Registers for @ref GEN. */ + /** @brief Bitmap for @ref GEN_t.GenFwMbox. */ + GEN.GenFwMbox.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)0)); + GEN.GenFwMbox.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)0)); + + /** @brief Bitmap for @ref GEN_t.GenDataSig. */ + GEN.GenDataSig.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)4)); + GEN.GenDataSig.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)4)); + + /** @brief Bitmap for @ref GEN_t.GenCfg. */ + GEN.GenCfg.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)8)); + GEN.GenCfg.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)8)); + + /** @brief Bitmap for @ref GEN_t.GenVersion. */ + GEN.GenVersion.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)12)); + GEN.GenVersion.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)12)); + + /** @brief Bitmap for @ref GEN_t.GenPhyId. */ + GEN.GenPhyId.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)36)); + GEN.GenPhyId.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)36)); + + /** @brief Bitmap for @ref GEN_t.GenAsfStatusMbox. */ + GEN.GenAsfStatusMbox.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)176)); + GEN.GenAsfStatusMbox.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)176)); + + /** @brief Bitmap for @ref GEN_t.GenFwDriverStateMbox. */ + GEN.GenFwDriverStateMbox.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)180)); + GEN.GenFwDriverStateMbox.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)180)); + + /** @brief Bitmap for @ref GEN_t.GenFwResetTypeMbox. */ + GEN.GenFwResetTypeMbox.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)184)); + GEN.GenFwResetTypeMbox.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)184)); + + /** @brief Bitmap for @ref GEN_t.GenBc. */ + GEN.GenBc.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)188)); + GEN.GenBc.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)188)); + + /** @brief Bitmap for @ref GEN_t.GenMacAddrHighMbox. */ + GEN.GenMacAddrHighMbox.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)196)); + GEN.GenMacAddrHighMbox.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)196)); + + /** @brief Bitmap for @ref GEN_t.GenMacAddrLowMbox. */ + GEN.GenMacAddrLowMbox.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)200)); + GEN.GenMacAddrLowMbox.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)200)); + + /** @brief Bitmap for @ref GEN_t.GenD8. */ + GEN.GenD8.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)216)); + GEN.GenD8.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)216)); + + /** @brief Bitmap for @ref GEN_t.Gen1dc. */ + GEN.Gen1dc.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)476)); + GEN.Gen1dc.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)476)); + + /** @brief Bitmap for @ref GEN_t.GenWolMbox. */ + GEN.GenWolMbox.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)480)); + GEN.GenWolMbox.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)480)); + + /** @brief Bitmap for @ref GEN_t.GenCfgFeature. */ + GEN.GenCfgFeature.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)484)); + GEN.GenCfgFeature.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)484)); + + /** @brief Bitmap for @ref GEN_t.GenCfgHw. */ + GEN.GenCfgHw.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)488)); + GEN.GenCfgHw.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)488)); + + /** @brief Bitmap for @ref GEN_t.GenCfgShared. */ + GEN.GenCfgShared.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)492)); + GEN.GenCfgShared.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)492)); + + /** @brief Bitmap for @ref GEN_t.GenFwVersion. */ + GEN.GenFwVersion.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)532)); + GEN.GenFwVersion.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)532)); + + /** @brief Bitmap for @ref GEN_t.GenCfgHw2. */ + GEN.GenCfgHw2.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)680)); + GEN.GenCfgHw2.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)680)); + + /** @brief Bitmap for @ref GEN_t.GenCpmuStatus. */ + GEN.GenCpmuStatus.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)688)); + GEN.GenCpmuStatus.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)688)); + + /** @brief Bitmap for @ref GEN_t.GenCfg5. */ + GEN.GenCfg5.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)700)); + GEN.GenCfg5.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)700)); + + /** @brief Bitmap for @ref GEN_t.GenDbgControlStatus. */ + GEN.GenDbgControlStatus.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)864)); + GEN.GenDbgControlStatus.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)864)); + + /** @brief Bitmap for @ref GEN_t.GenDbgData. */ + GEN.GenDbgData.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)868)); + GEN.GenDbgData.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)868)); } diff --git a/simulator/bcm5719_MII.cpp b/simulator/bcm5719_MII.cpp index 3adff32..d9b0666 100644 --- a/simulator/bcm5719_MII.cpp +++ b/simulator/bcm5719_MII.cpp @@ -48,48 +48,48 @@ MII_t MII; void init_bcm5719_MII(void) { - /** @brief Component Registers for @ref MII. */ - /** @brief Bitmap for @ref MII_t.Control. */ + /** @brief Component Registers for @ref MII. */ + /** @brief Bitmap for @ref MII_t.Control. */ - /** @brief Bitmap for @ref MII_t.Status. */ + /** @brief Bitmap for @ref MII_t.Status. */ - /** @brief Bitmap for @ref MII_t.PhyIdHigh. */ + /** @brief Bitmap for @ref MII_t.PhyIdHigh. */ - /** @brief Bitmap for @ref MII_t.PhyIdLow. */ + /** @brief Bitmap for @ref MII_t.PhyIdLow. */ - /** @brief Bitmap for @ref MII_t.AutonegotiationAdvertisement. */ + /** @brief Bitmap for @ref MII_t.AutonegotiationAdvertisement. */ - /** @brief Bitmap for @ref MII_t.AutonegotiationLinkPartnerAbilityBasePage. */ + /** @brief Bitmap for @ref MII_t.AutonegotiationLinkPartnerAbilityBasePage. + */ - /** @brief Bitmap for @ref MII_t.AutonegotiationExpansion. */ + /** @brief Bitmap for @ref MII_t.AutonegotiationExpansion. */ - /** @brief Bitmap for @ref MII_t.AutonegotiationNextPageTransmit. */ + /** @brief Bitmap for @ref MII_t.AutonegotiationNextPageTransmit. */ - /** @brief Bitmap for @ref MII_t.AutonegotiationLinkPartnerAbilityNextPage. */ + /** @brief Bitmap for @ref MII_t.AutonegotiationLinkPartnerAbilityNextPage. + */ - /** @brief Bitmap for @ref MII_t.1000baseTControl. */ + /** @brief Bitmap for @ref MII_t.1000baseTControl. */ - /** @brief Bitmap for @ref MII_t.1000baseTStatus. */ + /** @brief Bitmap for @ref MII_t.1000baseTStatus. */ - /** @brief Bitmap for @ref MII_t.BroadreachLreAccess. */ + /** @brief Bitmap for @ref MII_t.BroadreachLreAccess. */ - /** @brief Bitmap for @ref MII_t.IeeeExtendedStatus. */ + /** @brief Bitmap for @ref MII_t.IeeeExtendedStatus. */ - /** @brief Bitmap for @ref MII_t.PhyExtendedStatus. */ + /** @brief Bitmap for @ref MII_t.PhyExtendedStatus. */ - /** @brief Bitmap for @ref MII_t.ReceiveErrorCounter. */ + /** @brief Bitmap for @ref MII_t.ReceiveErrorCounter. */ - /** @brief Bitmap for @ref MII_t.FalseCarrierSenseCounter. */ + /** @brief Bitmap for @ref MII_t.FalseCarrierSenseCounter. */ - /** @brief Bitmap for @ref MII_t.LocalRemoteReceiverNotOkCounter. */ + /** @brief Bitmap for @ref MII_t.LocalRemoteReceiverNotOkCounter. */ - /** @brief Bitmap for @ref MII_t.AuxillaryStatusSummary. */ + /** @brief Bitmap for @ref MII_t.AuxillaryStatusSummary. */ - /** @brief Bitmap for @ref MII_t.InterruptStatus. */ - - /** @brief Bitmap for @ref MII_t.InterruptMask. */ - - /** @brief Bitmap for @ref MII_t.Test1. */ + /** @brief Bitmap for @ref MII_t.InterruptStatus. */ + /** @brief Bitmap for @ref MII_t.InterruptMask. */ + /** @brief Bitmap for @ref MII_t.Test1. */ } diff --git a/simulator/bcm5719_MII_mmap.cpp b/simulator/bcm5719_MII_mmap.cpp index 01a287b..b3c288b 100644 --- a/simulator/bcm5719_MII_mmap.cpp +++ b/simulator/bcm5719_MII_mmap.cpp @@ -42,119 +42,161 @@ /// @endcond //////////////////////////////////////////////////////////////////////////////// +#include <bcm5719_MII.h> #include <stdint.h> #include <utility> -#include <bcm5719_MII.h> -typedef std::pair<uint8_t*, uint32_t> ram_offset_t; +typedef std::pair<uint8_t *, uint32_t> ram_offset_t; -static uint32_t read_from_ram(uint32_t val, void* args) +static uint32_t read_from_ram(uint32_t val, void *args) { - ram_offset_t* loc = (ram_offset_t*)args; + ram_offset_t *loc = (ram_offset_t *)args; - uint8_t* base = loc->first; + uint8_t *base = loc->first; base += loc->second; - return *(uint32_t*)base; + return *(uint32_t *)base; } -static uint32_t write_to_ram(uint32_t val, void* args) +static uint32_t write_to_ram(uint32_t val, void *args) { - ram_offset_t* loc = (ram_offset_t*)args; + ram_offset_t *loc = (ram_offset_t *)args; - uint8_t* base = loc->first; + uint8_t *base = loc->first; base += loc->second; - *(uint32_t*)base = val; + *(uint32_t *)base = val; return val; } -void init_bcm5719_MII_mmap(void* base) +void init_bcm5719_MII_mmap(void *base) { - /** @brief Component Registers for @ref MII. */ - /** @brief Bitmap for @ref MII_t.Control. */ - MII.Control.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)0)); - MII.Control.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)0)); - - /** @brief Bitmap for @ref MII_t.Status. */ - MII.Status.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1)); - MII.Status.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)1)); - - /** @brief Bitmap for @ref MII_t.PhyIdHigh. */ - MII.PhyIdHigh.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)2)); - MII.PhyIdHigh.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)2)); - - /** @brief Bitmap for @ref MII_t.PhyIdLow. */ - MII.PhyIdLow.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)3)); - MII.PhyIdLow.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)3)); - - /** @brief Bitmap for @ref MII_t.AutonegotiationAdvertisement. */ - MII.AutonegotiationAdvertisement.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)4)); - MII.AutonegotiationAdvertisement.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)4)); - - /** @brief Bitmap for @ref MII_t.AutonegotiationLinkPartnerAbilityBasePage. */ - MII.AutonegotiationLinkPartnerAbilityBasePage.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)5)); - MII.AutonegotiationLinkPartnerAbilityBasePage.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)5)); - - /** @brief Bitmap for @ref MII_t.AutonegotiationExpansion. */ - MII.AutonegotiationExpansion.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)6)); - MII.AutonegotiationExpansion.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)6)); - - /** @brief Bitmap for @ref MII_t.AutonegotiationNextPageTransmit. */ - MII.AutonegotiationNextPageTransmit.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)7)); - MII.AutonegotiationNextPageTransmit.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)7)); - - /** @brief Bitmap for @ref MII_t.AutonegotiationLinkPartnerAbilityNextPage. */ - MII.AutonegotiationLinkPartnerAbilityNextPage.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)8)); - MII.AutonegotiationLinkPartnerAbilityNextPage.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)8)); - - /** @brief Bitmap for @ref MII_t.1000baseTControl. */ - MII._1000baseTControl.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)9)); - MII._1000baseTControl.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)9)); - - /** @brief Bitmap for @ref MII_t.1000baseTStatus. */ - MII._1000baseTStatus.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)10)); - MII._1000baseTStatus.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)10)); - - /** @brief Bitmap for @ref MII_t.BroadreachLreAccess. */ - MII.BroadreachLreAccess.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14)); - MII.BroadreachLreAccess.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)14)); - - /** @brief Bitmap for @ref MII_t.IeeeExtendedStatus. */ - MII.IeeeExtendedStatus.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)15)); - MII.IeeeExtendedStatus.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)15)); - - /** @brief Bitmap for @ref MII_t.PhyExtendedStatus. */ - MII.PhyExtendedStatus.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17)); - MII.PhyExtendedStatus.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)17)); - - /** @brief Bitmap for @ref MII_t.ReceiveErrorCounter. */ - MII.ReceiveErrorCounter.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18)); - MII.ReceiveErrorCounter.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)18)); - - /** @brief Bitmap for @ref MII_t.FalseCarrierSenseCounter. */ - MII.FalseCarrierSenseCounter.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)19)); - MII.FalseCarrierSenseCounter.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)19)); - - /** @brief Bitmap for @ref MII_t.LocalRemoteReceiverNotOkCounter. */ - MII.LocalRemoteReceiverNotOkCounter.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20)); - MII.LocalRemoteReceiverNotOkCounter.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20)); - - /** @brief Bitmap for @ref MII_t.AuxillaryStatusSummary. */ - MII.AuxillaryStatusSummary.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25)); - MII.AuxillaryStatusSummary.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)25)); - - /** @brief Bitmap for @ref MII_t.InterruptStatus. */ - MII.InterruptStatus.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26)); - MII.InterruptStatus.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)26)); - - /** @brief Bitmap for @ref MII_t.InterruptMask. */ - MII.InterruptMask.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)27)); - MII.InterruptMask.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)27)); - - /** @brief Bitmap for @ref MII_t.Test1. */ - MII.Test1.r16.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)30)); - MII.Test1.r16.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)30)); - - + /** @brief Component Registers for @ref MII. */ + /** @brief Bitmap for @ref MII_t.Control. */ + MII.Control.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)0)); + MII.Control.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)0)); + + /** @brief Bitmap for @ref MII_t.Status. */ + MII.Status.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1)); + MII.Status.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)1)); + + /** @brief Bitmap for @ref MII_t.PhyIdHigh. */ + MII.PhyIdHigh.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)2)); + MII.PhyIdHigh.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)2)); + + /** @brief Bitmap for @ref MII_t.PhyIdLow. */ + MII.PhyIdLow.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)3)); + MII.PhyIdLow.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)3)); + + /** @brief Bitmap for @ref MII_t.AutonegotiationAdvertisement. */ + MII.AutonegotiationAdvertisement.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)4)); + MII.AutonegotiationAdvertisement.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)4)); + + /** @brief Bitmap for @ref MII_t.AutonegotiationLinkPartnerAbilityBasePage. + */ + MII.AutonegotiationLinkPartnerAbilityBasePage.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)5)); + MII.AutonegotiationLinkPartnerAbilityBasePage.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)5)); + + /** @brief Bitmap for @ref MII_t.AutonegotiationExpansion. */ + MII.AutonegotiationExpansion.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)6)); + MII.AutonegotiationExpansion.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)6)); + + /** @brief Bitmap for @ref MII_t.AutonegotiationNextPageTransmit. */ + MII.AutonegotiationNextPageTransmit.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)7)); + MII.AutonegotiationNextPageTransmit.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)7)); + + /** @brief Bitmap for @ref MII_t.AutonegotiationLinkPartnerAbilityNextPage. + */ + MII.AutonegotiationLinkPartnerAbilityNextPage.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)8)); + MII.AutonegotiationLinkPartnerAbilityNextPage.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)8)); + + /** @brief Bitmap for @ref MII_t.1000baseTControl. */ + MII._1000baseTControl.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)9)); + MII._1000baseTControl.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)9)); + + /** @brief Bitmap for @ref MII_t.1000baseTStatus. */ + MII._1000baseTStatus.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)10)); + MII._1000baseTStatus.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)10)); + + /** @brief Bitmap for @ref MII_t.BroadreachLreAccess. */ + MII.BroadreachLreAccess.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14)); + MII.BroadreachLreAccess.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)14)); + + /** @brief Bitmap for @ref MII_t.IeeeExtendedStatus. */ + MII.IeeeExtendedStatus.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)15)); + MII.IeeeExtendedStatus.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)15)); + + /** @brief Bitmap for @ref MII_t.PhyExtendedStatus. */ + MII.PhyExtendedStatus.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17)); + MII.PhyExtendedStatus.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)17)); + + /** @brief Bitmap for @ref MII_t.ReceiveErrorCounter. */ + MII.ReceiveErrorCounter.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18)); + MII.ReceiveErrorCounter.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)18)); + + /** @brief Bitmap for @ref MII_t.FalseCarrierSenseCounter. */ + MII.FalseCarrierSenseCounter.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)19)); + MII.FalseCarrierSenseCounter.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)19)); + + /** @brief Bitmap for @ref MII_t.LocalRemoteReceiverNotOkCounter. */ + MII.LocalRemoteReceiverNotOkCounter.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20)); + MII.LocalRemoteReceiverNotOkCounter.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20)); + + /** @brief Bitmap for @ref MII_t.AuxillaryStatusSummary. */ + MII.AuxillaryStatusSummary.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25)); + MII.AuxillaryStatusSummary.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)25)); + + /** @brief Bitmap for @ref MII_t.InterruptStatus. */ + MII.InterruptStatus.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26)); + MII.InterruptStatus.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)26)); + + /** @brief Bitmap for @ref MII_t.InterruptMask. */ + MII.InterruptMask.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)27)); + MII.InterruptMask.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)27)); + + /** @brief Bitmap for @ref MII_t.Test1. */ + MII.Test1.r16.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)30)); + MII.Test1.r16.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)30)); } diff --git a/simulator/bcm5719_NVM.cpp b/simulator/bcm5719_NVM.cpp index acd27ba..824dfd9 100644 --- a/simulator/bcm5719_NVM.cpp +++ b/simulator/bcm5719_NVM.cpp @@ -48,20 +48,18 @@ NVM_t NVM; void init_bcm5719_NVM(void) { - /** @brief Component Registers for @ref NVM. */ - /** @brief Bitmap for @ref NVM_t.Command. */ + /** @brief Component Registers for @ref NVM. */ + /** @brief Bitmap for @ref NVM_t.Command. */ - /** @brief Bitmap for @ref NVM_t.Write. */ + /** @brief Bitmap for @ref NVM_t.Write. */ - /** @brief Bitmap for @ref NVM_t.Addr. */ + /** @brief Bitmap for @ref NVM_t.Addr. */ - /** @brief Bitmap for @ref NVM_t.Read. */ + /** @brief Bitmap for @ref NVM_t.Read. */ - /** @brief Bitmap for @ref NVM_t.NvmCfg1. */ - - /** @brief Bitmap for @ref NVM_t.SoftwareArbitration. */ - - /** @brief Bitmap for @ref NVM_t.Access. */ + /** @brief Bitmap for @ref NVM_t.NvmCfg1. */ + /** @brief Bitmap for @ref NVM_t.SoftwareArbitration. */ + /** @brief Bitmap for @ref NVM_t.Access. */ } diff --git a/simulator/bcm5719_NVM_mmap.cpp b/simulator/bcm5719_NVM_mmap.cpp index 31264a7..3f47a1c 100644 --- a/simulator/bcm5719_NVM_mmap.cpp +++ b/simulator/bcm5719_NVM_mmap.cpp @@ -42,63 +42,75 @@ /// @endcond //////////////////////////////////////////////////////////////////////////////// +#include <bcm5719_NVM.h> #include <stdint.h> #include <utility> -#include <bcm5719_NVM.h> -typedef std::pair<uint8_t*, uint32_t> ram_offset_t; +typedef std::pair<uint8_t *, uint32_t> ram_offset_t; -static uint32_t read_from_ram(uint32_t val, void* args) +static uint32_t read_from_ram(uint32_t val, void *args) { - ram_offset_t* loc = (ram_offset_t*)args; + ram_offset_t *loc = (ram_offset_t *)args; - uint8_t* base = loc->first; + uint8_t *base = loc->first; base += loc->second; - return *(uint32_t*)base; + return *(uint32_t *)base; } -static uint32_t write_to_ram(uint32_t val, void* args) +static uint32_t write_to_ram(uint32_t val, void *args) { - ram_offset_t* loc = (ram_offset_t*)args; + ram_offset_t *loc = (ram_offset_t *)args; - uint8_t* base = loc->first; + uint8_t *base = loc->first; base += loc->second; - *(uint32_t*)base = val; + *(uint32_t *)base = val; return val; } -void init_bcm5719_NVM_mmap(void* base) +void init_bcm5719_NVM_mmap(void *base) { - /** @brief Component Registers for @ref NVM. */ - /** @brief Bitmap for @ref NVM_t.Command. */ - NVM.Command.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)0)); - NVM.Command.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)0)); - - /** @brief Bitmap for @ref NVM_t.Write. */ - NVM.Write.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)8)); - NVM.Write.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)8)); - - /** @brief Bitmap for @ref NVM_t.Addr. */ - NVM.Addr.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)12)); - NVM.Addr.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)12)); - - /** @brief Bitmap for @ref NVM_t.Read. */ - NVM.Read.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16)); - NVM.Read.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)16)); - - /** @brief Bitmap for @ref NVM_t.NvmCfg1. */ - NVM.NvmCfg1.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20)); - NVM.NvmCfg1.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)20)); - - /** @brief Bitmap for @ref NVM_t.SoftwareArbitration. */ - NVM.SoftwareArbitration.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)32)); - NVM.SoftwareArbitration.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)32)); - - /** @brief Bitmap for @ref NVM_t.Access. */ - NVM.Access.r32.installReadCallback(read_from_ram, new ram_offset_t((uint8_t*)base, (uint32_t)36)); - NVM.Access.r32.installWriteCallback(write_to_ram, new ram_offset_t((uint8_t*)base, (uint32_t)36)); - - + /** @brief Component Registers for @ref NVM. */ + /** @brief Bitmap for @ref NVM_t.Command. */ + NVM.Command.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)0)); + NVM.Command.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)0)); + + /** @brief Bitmap for @ref NVM_t.Write. */ + NVM.Write.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)8)); + NVM.Write.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)8)); + + /** @brief Bitmap for @ref NVM_t.Addr. */ + NVM.Addr.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)12)); + NVM.Addr.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)12)); + + /** @brief Bitmap for @ref NVM_t.Read. */ + NVM.Read.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16)); + NVM.Read.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)16)); + + /** @brief Bitmap for @ref NVM_t.NvmCfg1. */ + NVM.NvmCfg1.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20)); + NVM.NvmCfg1.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)20)); + + /** @brief Bitmap for @ref NVM_t.SoftwareArbitration. */ + NVM.SoftwareArbitration.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)32)); + NVM.SoftwareArbitration.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)32)); + + /** @brief Bitmap for @ref NVM_t.Access. */ + NVM.Access.r32.installReadCallback( + read_from_ram, new ram_offset_t((uint8_t *)base, (uint32_t)36)); + NVM.Access.r32.installWriteCallback( + write_to_ram, new ram_offset_t((uint8_t *)base, (uint32_t)36)); } diff --git a/stage1/init_hw.c b/stage1/init_hw.c index 0a26b99..0f8383d 100644 --- a/stage1/init_hw.c +++ b/stage1/init_hw.c @@ -1,19 +1,25 @@ -#include <stdint.h> -#include <stdbool.h> -#include <bcm5719_DEVICE.h> #include <MII.h> +#include <bcm5719_DEVICE.h> +#include <stdbool.h> +#include <stdint.h> static inline bool is_nic(void) { - // If DEVICE.Status.bits.VMAINPowerStatus is set we are in NIC mode, otherwise LoM mode. + // If DEVICE.Status.bits.VMAINPowerStatus is set we are in NIC mode, + // otherwise LoM mode. return (1 == DEVICE.Status.bits.VMAINPowerStatus); } void init_mii_function0(void) { // MIIPORT 0 (0x8010):0x1A |= 0x4000 - // MIIPORT 0 (0x8610):0x15, set bits 0:1 to 2. (Note: This is done in a retry loop which verifies the block select by reading 0x1F and confirming it reads 0x8610, and then verifies that bits 0:1 have been set to 2, and retries about a dozen times until the block select and write are both correct. Probably an attempt to work around some bug or weird asynchronous behaviour for these unknown MII registers.) - // MIIPORT 0 (0x8010):0x1A, mask 0x4000. + // MIIPORT 0 (0x8610):0x15, set bits 0:1 to 2. (Note: This is done in a + // retry loop which verifies the block select by reading 0x1F and confirming + // it reads 0x8610, and then verifies that bits 0:1 have been set to 2, and + // retries about a dozen times until the block select and write are both + // correct. Probably an attempt to work around some bug or weird + // asynchronous behaviour for these unknown MII registers.) MIIPORT 0 + // (0x8010):0x1A, mask 0x4000. } void init_mii(void) @@ -39,16 +45,15 @@ void init_hw(void) // Configure GPHY RegDEVICEGphyControlStatus_t gphystate = DEVICE.GphyControlStatus; - gphystate.bits.GPHYIDDQ = 0; // Power on GPHY - gphystate.bits.BIASIDDQ = 0; // Power on BIAS - gphystate.bits.SGMII_DIV_PCSPowerDown = 0; //Power on SGMII - gphystate.bits.TLPClockSource = 0; // TLP Clock from PCIE SERDES + gphystate.bits.GPHYIDDQ = 0; // Power on GPHY + gphystate.bits.BIASIDDQ = 0; // Power on BIAS + gphystate.bits.SGMII_DIV_PCSPowerDown = 0; // Power on SGMII + gphystate.bits.TLPClockSource = 0; // TLP Clock from PCIE SERDES - if(is_nic()) + if (is_nic()) { // VMAIN ON, NIC (not LoM) gphystate.bits.TLPClockSource = 1; - } DEVICE.GphyControlStatus = gphystate; @@ -59,10 +64,10 @@ void init_hw(void) // Misc regs init - //Mask REG 0x64C0 bits 0x7FF, or bits 0x0010. This register is unknown. + // Mask REG 0x64C0 bits 0x7FF, or bits 0x0010. This register is unknown. DEVICE._64c0.r32 = (DEVICE._64c0.r32 & ~0x7FFu) | 0x10; - //Set unknown REG 0x64C8 to 0x1004. + // Set unknown REG 0x64C8 to 0x1004. DEVICE._64c8.r32 = 0x00001004; // Enable MAC clock speed override @@ -78,7 +83,8 @@ void init_hw(void) // Unknown stuff involving REG 0x6530, REG 0x65F4, depends on config - // REG_LSO_NONLSO_BD_READ_DMA_CORRUPTION_ENABLE_CONTROL: Set BD and NonLSO fields to 4K. + // REG_LSO_NONLSO_BD_READ_DMA_CORRUPTION_ENABLE_CONTROL: Set BD and NonLSO + // fields to 4K. // Disable ECC. RegDEVICEGphyStrap_t gphyStrap = DEVICE.GphyStrap; @@ -91,16 +97,21 @@ void init_hw(void) // MISC LOcal Control - // Set REG_EAV_REF_CLOCK_CONTROL as desired. This is initialized from CFG_HW; the TIMESYNC_GPIO_MAPPING, APE_GPIO_{0,1,2,3} fields within it are copied to the corresponding fields in REG_EAV_REF_CLOCK_CONTROL. + // Set REG_EAV_REF_CLOCK_CONTROL as desired. This is initialized from + // CFG_HW; the TIMESYNC_GPIO_MAPPING, APE_GPIO_{0,1,2,3} fields within it + // are copied to the corresponding fields in REG_EAV_REF_CLOCK_CONTROL. // Optionally enable REG_GRC_MODE_CONTROL__TIME_SYNC_MODE_ENABLE. // Enable const clock for MII DEVICE.MiiMode.bits.ConstantMDIO_DIV_MDCClockSpeed = 1; - // Set or clear REG_GPHY_CONTROL_STATUS__SWITCHING_REGULATOR_POWER_DOWN as desired. + // Set or clear REG_GPHY_CONTROL_STATUS__SWITCHING_REGULATOR_POWER_DOWN as + // desired. - // Set or clear REG_TOP_LEVEL_MISCELLANEOUS_CONTROL_1__NCSI_CLOCK_OUTPUT_DISABLE as desired. + // Set or clear + // REG_TOP_LEVEL_MISCELLANEOUS_CONTROL_1__NCSI_CLOCK_OUTPUT_DISABLE as + // desired. init_mii_function0(); init_mii(); |