summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEvan Lojewski <github@meklort.com>2020-01-29 20:54:08 -0700
committerGitHub <noreply@github.com>2020-01-29 20:54:08 -0700
commit3479bccff3e1a45efefdd5bc178a97d4f43b18cf (patch)
tree6c333e5f4132d68642c9e1336adb720dd1da0d9e /include
parentd0e143ed6a338dc33241563d8784de8075ab8e3f (diff)
downloadbcm5719-ortega-3479bccff3e1a45efefdd5bc178a97d4f43b18cf.tar.gz
bcm5719-ortega-3479bccff3e1a45efefdd5bc178a97d4f43b18cf.zip
ipxact: Update ipxact and regenerate to include updated error checking. (#19)
Diffstat (limited to 'include')
-rw-r--r--include/APE_APE.h4
-rw-r--r--include/APE_APE_PERI.h4
-rw-r--r--include/APE_DEVICE.h24
-rw-r--r--include/APE_DEVICE1.h6
-rw-r--r--include/APE_DEVICE2.h6
-rw-r--r--include/APE_DEVICE3.h6
-rw-r--r--include/APE_FILTERS0.h4
-rw-r--r--include/APE_FILTERS1.h4
-rw-r--r--include/APE_FILTERS2.h4
-rw-r--r--include/APE_FILTERS3.h4
-rw-r--r--include/APE_NVIC.h62
-rw-r--r--include/APE_RX_PORT0.h4
-rw-r--r--include/APE_RX_PORT1.h4
-rw-r--r--include/APE_RX_PORT2.h4
-rw-r--r--include/APE_RX_PORT3.h4
-rw-r--r--include/APE_SHM.h4
-rw-r--r--include/APE_SHM1.h4
-rw-r--r--include/APE_SHM2.h4
-rw-r--r--include/APE_SHM3.h4
-rw-r--r--include/APE_SHM_CHANNEL0.h4
-rw-r--r--include/APE_SHM_CHANNEL1.h4
-rw-r--r--include/APE_SHM_CHANNEL2.h4
-rw-r--r--include/APE_SHM_CHANNEL3.h4
-rw-r--r--include/APE_TX_PORT0.h4
-rw-r--r--include/APE_TX_PORT1.h4
-rw-r--r--include/APE_TX_PORT2.h4
-rw-r--r--include/APE_TX_PORT3.h4
-rw-r--r--include/bcm5719_APE.h4
-rw-r--r--include/bcm5719_APE_PERI.h4
-rw-r--r--include/bcm5719_BOOTCODE.h4
-rw-r--r--include/bcm5719_DEVICE.h24
-rw-r--r--include/bcm5719_GEN.h4
-rw-r--r--include/bcm5719_RXMBUF.h4
-rw-r--r--include/bcm5719_SDBCACHE.h4
-rw-r--r--include/bcm5719_SHM.h4
-rw-r--r--include/bcm5719_SHM_CHANNEL0.h4
-rw-r--r--include/bcm5719_SHM_CHANNEL1.h4
-rw-r--r--include/bcm5719_SHM_CHANNEL2.h4
-rw-r--r--include/bcm5719_SHM_CHANNEL3.h4
-rw-r--r--include/bcm5719_TXMBUF.h4
40 files changed, 208 insertions, 56 deletions
diff --git a/include/APE_APE.h b/include/APE_APE.h
index 9c6857a..6fcba49 100644
--- a/include/APE_APE.h
+++ b/include/APE_APE.h
@@ -2472,6 +2472,10 @@ extern volatile APE_t APE;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(APE_t) == 816, "sizeof(APE_t) must be 816");
+#endif
+
#endif /* !APE_APE_H */
/** @} */
diff --git a/include/APE_APE_PERI.h b/include/APE_APE_PERI.h
index 0eabba6..59e9391 100644
--- a/include/APE_APE_PERI.h
+++ b/include/APE_APE_PERI.h
@@ -3761,6 +3761,10 @@ extern volatile APE_PERI_t APE_PERI;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(APE_PERI_t) == 1088, "sizeof(APE_PERI_t) must be 1088");
+#endif
+
#endif /* !APE_APE_PERI_H */
/** @} */
diff --git a/include/APE_DEVICE.h b/include/APE_DEVICE.h
index 8eea796..ae4a937 100644
--- a/include/APE_DEVICE.h
+++ b/include/APE_DEVICE.h
@@ -4060,10 +4060,10 @@ typedef register_container RegDEVICEGphyStrap_t {
#define DEVICE_FLASH_CLOCK_CONTROL_POLICY_FORCE_FLASH_CLOCK_DISABLE_MASK 0x40000000u
#define GET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FORCE_FLASH_CLOCK_DISABLE(__reg__) (((__reg__) & 0x40000000) >> 30u)
#define SET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FORCE_FLASH_CLOCK_DISABLE(__val__) (((__val__) << 30u) & 0x40000000u)
-#define DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE_SHIFT 30u
-#define DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE_MASK 0x40000000u
-#define GET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE(__reg__) (((__reg__) & 0x40000000) >> 30u)
-#define SET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE(__val__) (((__val__) << 30u) & 0x40000000u)
+#define DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE_SHIFT 31u
+#define DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE_MASK 0x80000000u
+#define GET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE(__reg__) (((__reg__) & 0x80000000) >> 31u)
+#define SET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE(__val__) (((__val__) << 31u) & 0x80000000u)
/** @brief Register definition for @ref DEVICE_t.FlashClockControlPolicy. */
typedef register_container RegDEVICEFlashClockControlPolicy_t {
@@ -4095,14 +4095,10 @@ typedef register_container RegDEVICEFlashClockControlPolicy_t {
/** @brief */
BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, ForceFlashClockDisable, 30, 1)
/** @brief */
- BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, FlashClockSpeedOverride, 30, 1)
- /** @brief Padding */
- BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_31_31, 31, 1)
+ BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, FlashClockSpeedOverride, 31, 1)
#elif defined(__BIG_ENDIAN__)
- /** @brief Padding */
- BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_31_31, 31, 1)
/** @brief */
- BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, FlashClockSpeedOverride, 30, 1)
+ BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, FlashClockSpeedOverride, 31, 1)
/** @brief */
BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, ForceFlashClockDisable, 30, 1)
/** @brief */
@@ -8680,7 +8676,7 @@ typedef register_container RegDEVICEEavRefClockControl_t {
#endif /* CXX_SIMULATOR */
} RegDEVICEEavRefClockControl_t;
-#define REG_DEVICE_7C04 ((volatile APE_DEVICE_H_uint32_t*)0xa0047c04) /* PCIe-related. tg3 driver calls this */
+#define REG_DEVICE_7C04 ((volatile APE_DEVICE_H_uint32_t*)0xa0047c04) /* PCIe Transaction Cfg */
/** @brief Register definition for @ref DEVICE_t.7c04. */
typedef register_container RegDEVICE7c04_t {
/** @brief 32bit direct register access. */
@@ -9274,7 +9270,7 @@ typedef struct DEVICE_t {
/** @brief Reserved bytes to pad out data structure. */
APE_DEVICE_H_uint32_t reserved_26892[1214];
- /** @brief PCIe-related. tg3 driver calls this */
+ /** @brief PCIe Transaction Cfg */
RegDEVICE7c04_t _7c04;
#ifdef CXX_SIMULATOR
@@ -9996,6 +9992,10 @@ extern volatile DEVICE_t DEVICE;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(DEVICE_t) == 31752, "sizeof(DEVICE_t) must be 31752");
+#endif
+
#endif /* !APE_DEVICE_H */
/** @} */
diff --git a/include/APE_DEVICE1.h b/include/APE_DEVICE1.h
index 2134685..451a649 100644
--- a/include/APE_DEVICE1.h
+++ b/include/APE_DEVICE1.h
@@ -220,7 +220,7 @@ typedef uint32_t APE_DEVICE1_H_uint32_t;
#define REG_DEVICE1_EXPANSION_ROM_ADDR ((volatile APE_DEVICE1_H_uint32_t*)0xa00568ec) /* Expansion ROM base address, expect to be d- word aligned. */
#define REG_DEVICE1_68F0 ((volatile APE_DEVICE1_H_uint32_t*)0xa00568f0) /* */
#define REG_DEVICE1_EAV_REF_CLOCK_CONTROL ((volatile APE_DEVICE1_H_uint32_t*)0xa0056908) /* */
-#define REG_DEVICE1_7C04 ((volatile APE_DEVICE1_H_uint32_t*)0xa0057c04) /* PCIe-related. tg3 driver calls this */
+#define REG_DEVICE1_7C04 ((volatile APE_DEVICE1_H_uint32_t*)0xa0057c04) /* PCIe Transaction Cfg */
/** @brief Device Registers, function 1 */
extern volatile DEVICE_t DEVICE1;
@@ -235,6 +235,10 @@ extern volatile DEVICE_t DEVICE1;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(DEVICE_t) == 31752, "sizeof(DEVICE_t) must be 31752");
+#endif
+
#endif /* !APE_DEVICE1_H */
/** @} */
diff --git a/include/APE_DEVICE2.h b/include/APE_DEVICE2.h
index 4001800..e7a79b8 100644
--- a/include/APE_DEVICE2.h
+++ b/include/APE_DEVICE2.h
@@ -220,7 +220,7 @@ typedef uint32_t APE_DEVICE2_H_uint32_t;
#define REG_DEVICE2_EXPANSION_ROM_ADDR ((volatile APE_DEVICE2_H_uint32_t*)0xa00668ec) /* Expansion ROM base address, expect to be d- word aligned. */
#define REG_DEVICE2_68F0 ((volatile APE_DEVICE2_H_uint32_t*)0xa00668f0) /* */
#define REG_DEVICE2_EAV_REF_CLOCK_CONTROL ((volatile APE_DEVICE2_H_uint32_t*)0xa0066908) /* */
-#define REG_DEVICE2_7C04 ((volatile APE_DEVICE2_H_uint32_t*)0xa0067c04) /* PCIe-related. tg3 driver calls this */
+#define REG_DEVICE2_7C04 ((volatile APE_DEVICE2_H_uint32_t*)0xa0067c04) /* PCIe Transaction Cfg */
/** @brief Device Registers, function 2 */
extern volatile DEVICE_t DEVICE2;
@@ -235,6 +235,10 @@ extern volatile DEVICE_t DEVICE2;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(DEVICE_t) == 31752, "sizeof(DEVICE_t) must be 31752");
+#endif
+
#endif /* !APE_DEVICE2_H */
/** @} */
diff --git a/include/APE_DEVICE3.h b/include/APE_DEVICE3.h
index 38589d2..a81413e 100644
--- a/include/APE_DEVICE3.h
+++ b/include/APE_DEVICE3.h
@@ -220,7 +220,7 @@ typedef uint32_t APE_DEVICE3_H_uint32_t;
#define REG_DEVICE3_EXPANSION_ROM_ADDR ((volatile APE_DEVICE3_H_uint32_t*)0xa00768ec) /* Expansion ROM base address, expect to be d- word aligned. */
#define REG_DEVICE3_68F0 ((volatile APE_DEVICE3_H_uint32_t*)0xa00768f0) /* */
#define REG_DEVICE3_EAV_REF_CLOCK_CONTROL ((volatile APE_DEVICE3_H_uint32_t*)0xa0076908) /* */
-#define REG_DEVICE3_7C04 ((volatile APE_DEVICE3_H_uint32_t*)0xa0077c04) /* PCIe-related. tg3 driver calls this */
+#define REG_DEVICE3_7C04 ((volatile APE_DEVICE3_H_uint32_t*)0xa0077c04) /* PCIe Transaction Cfg */
/** @brief Device Registers, function 3 */
extern volatile DEVICE_t DEVICE3;
@@ -235,6 +235,10 @@ extern volatile DEVICE_t DEVICE3;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(DEVICE_t) == 31752, "sizeof(DEVICE_t) must be 31752");
+#endif
+
#endif /* !APE_DEVICE3_H */
/** @} */
diff --git a/include/APE_FILTERS0.h b/include/APE_FILTERS0.h
index 4c4ae99..f66762d 100644
--- a/include/APE_FILTERS0.h
+++ b/include/APE_FILTERS0.h
@@ -550,6 +550,10 @@ extern volatile FILTERS_t FILTERS0;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(FILTERS_t) == 512, "sizeof(FILTERS_t) must be 512");
+#endif
+
#endif /* !APE_FILTERS0_H */
/** @} */
diff --git a/include/APE_FILTERS1.h b/include/APE_FILTERS1.h
index 6b0ded5..e0bd2eb 100644
--- a/include/APE_FILTERS1.h
+++ b/include/APE_FILTERS1.h
@@ -101,6 +101,10 @@ extern volatile FILTERS_t FILTERS1;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(FILTERS_t) == 512, "sizeof(FILTERS_t) must be 512");
+#endif
+
#endif /* !APE_FILTERS1_H */
/** @} */
diff --git a/include/APE_FILTERS2.h b/include/APE_FILTERS2.h
index 2c7559c..a099a34 100644
--- a/include/APE_FILTERS2.h
+++ b/include/APE_FILTERS2.h
@@ -101,6 +101,10 @@ extern volatile FILTERS_t FILTERS2;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(FILTERS_t) == 512, "sizeof(FILTERS_t) must be 512");
+#endif
+
#endif /* !APE_FILTERS2_H */
/** @} */
diff --git a/include/APE_FILTERS3.h b/include/APE_FILTERS3.h
index fd4db08..8850009 100644
--- a/include/APE_FILTERS3.h
+++ b/include/APE_FILTERS3.h
@@ -101,6 +101,10 @@ extern volatile FILTERS_t FILTERS3;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(FILTERS_t) == 512, "sizeof(FILTERS_t) must be 512");
+#endif
+
#endif /* !APE_FILTERS3_H */
/** @} */
diff --git a/include/APE_NVIC.h b/include/APE_NVIC.h
index 35c786a..4d255cd 100644
--- a/include/APE_NVIC.h
+++ b/include/APE_NVIC.h
@@ -2156,175 +2156,175 @@ typedef register_container RegNVICSoftwareTriggerInterrupt_t {
/** @brief Component definition for @ref NVIC. */
typedef struct NVIC_t {
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint32_t reserved_0[1];
+ APE_NVIC_H_uint32_t reserved_0[4];
/** @brief Read the Interrupt Controller Type Register to see the number of interrupt lines that the NVIC supports. */
RegNVICInterruptControlType_t InterruptControlType;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_5[11];
+ APE_NVIC_H_uint32_t reserved_5[11];
/** @brief Use the SysTick Control and Status Register to enable the SysTick features. */
RegNVICSystickControlAndStatus_t SystickControlAndStatus;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_17[3];
+ APE_NVIC_H_uint32_t reserved_17[3];
/** @brief Use the SysTick Reload Value Register to specify the start value to load into the current value register when the counter reaches 0. It can be any value between 1 and 0x00FFFFFF. A start value of 0 is possible, but has no effect because the SysTick interrupt and COUNTFLAG are activated when counting from 1 to 0. */
RegNVICSystickReloadValue_t SystickReloadValue;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_21[3];
+ APE_NVIC_H_uint32_t reserved_21[3];
/** @brief Use the SysTick Current Value Register to find the current value in the register. */
RegNVICSystickCurrentValue_t SystickCurrentValue;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_25[3];
+ APE_NVIC_H_uint32_t reserved_25[3];
/** @brief Use the SysTick Calibration Value Register to enable software to scale to any required speed using divide and multiply. */
RegNVICSystickCalibrationValue_t SystickCalibrationValue;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_29[227];
+ APE_NVIC_H_uint32_t reserved_29[227];
/** @brief Each bit in the register corresponds to one of 32 interrupts. Setting a bit in the Interrupt Set-Enable Register enables the corresponding interrupt. When the enable bit of a pending interrupt is set, the processor activates the interrupt based on its priority. When the enable bit is clear, asserting its interrupt signal pends the interrupt, but it is not possible to activate the interrupt, regardless of its priority. Therefore, a disabled interrupt can serve as a latched general-purpose I/O bit. You can read it and clear it without invoking an interrupt. */
RegNVICInterruptSetEnable_t InterruptSetEnable;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_257[127];
+ APE_NVIC_H_uint32_t reserved_257[127];
/** @brief Each bit in the register corresponds to one of the 32 interrupts. Setting an Interrupt Clear-Enable Register bit disables the corresponding interrupt. */
RegNVICInterruptClearEnable_t InterruptClearEnable;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_385[127];
+ APE_NVIC_H_uint32_t reserved_385[127];
/** @brief Each bit in the register corresponds to one of the 32 interrupts. Setting an Interrupt Set-Pending Register bit pends the corresponding interrupt. */
RegNVICInterruptSetPending_t InterruptSetPending;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_513[127];
+ APE_NVIC_H_uint32_t reserved_513[127];
/** @brief Each bit in the register corresponds to one of the 32 interrupts. Setting an Interrupt Clear-Pending Register bit puts the corresponding pending interrupt in the inactive state. */
RegNVICInterruptClearPending_t InterruptClearPending;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_641[127];
+ APE_NVIC_H_uint32_t reserved_641[127];
/** @brief Read the Active Bit Register to determine which interrupts are active. Each flag in the register corresponds to one of the 32 interrupts. */
RegNVICActiveBit_t ActiveBit;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_769[255];
+ APE_NVIC_H_uint32_t reserved_769[255];
/** @brief Use the Interrupt Priority Registers to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. */
RegNVICInterruptPriority0_t InterruptPriority0;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_1025[3];
+ APE_NVIC_H_uint32_t reserved_1025[3];
/** @brief Use the Interrupt Priority Registers to assign a priority from 0 to 255 to each of the available interrupts. 0 is the highest priority, and 255 is the lowest. */
RegNVICInterruptPriority1_t InterruptPriority1;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_1029[2299];
+ APE_NVIC_H_uint32_t reserved_1029[2299];
/** @brief Read the CPU ID Base Register to determine: the ID number of the processor core, the version number of the processor core, the implementation details of the processor core. */
RegNVICCpuId_t CpuId;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3329[3];
+ APE_NVIC_H_uint32_t reserved_3329[3];
/** @brief Use the Interrupt Control State Register to: set a pending Non-Maskable Interrupt (NMI), set or clear a pending SVC, set or clear a pending SysTick, check for pending exceptions, check the vector number of the highest priority pended exception, check the vector number of the active exception. */
RegNVICInterruptControlState_t InterruptControlState;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3333[3];
+ APE_NVIC_H_uint32_t reserved_3333[3];
/** @brief Use the Vector Table Offset Register to determine: if the vector table is in RAM or code memory, the vector table offset. */
RegNVICVectorTableOffset_t VectorTableOffset;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3337[3];
+ APE_NVIC_H_uint32_t reserved_3337[3];
/** @brief the Application Interrupt and Reset Control Register to: determine data endianness, clear all active state information for debug or to recover from a hard failure, execute a system reset, alter the priority grouping position (binary point). */
RegNVICApplicationInterruptAndResetControl_t ApplicationInterruptAndResetControl;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3341[3];
+ APE_NVIC_H_uint32_t reserved_3341[3];
/** @brief Use the System Control Register for power-management functions: signal to the system when the processor can enter a low power state, control how the processor enters and exits low power states. */
RegNVICSystemControl_t SystemControl;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3345[3];
+ APE_NVIC_H_uint32_t reserved_3345[3];
/** @brief Use the Configuration Control Register to: enable NMI, Hard Fault and FAULTMASK to ignore bus fault, trap divide by zero, and unaligned accesses, enable user access to the Software Trigger Exception Register, control entry to Thread Mode. */
RegNVICConfigurationControl_t ConfigurationControl;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3349[3];
+ APE_NVIC_H_uint32_t reserved_3349[3];
/** @brief System handlers are a special class of exception handler that can have their priority set to any of the priority levels. Most can be masked on (enabled) or off (disabled). When disabled, the fault is always treated as a Hard Fault. */
RegNVICSystemHandlerPriority4_t SystemHandlerPriority4;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3353[3];
+ APE_NVIC_H_uint32_t reserved_3353[3];
/** @brief System handlers are a special class of exception handler that can have their priority set to any of the priority levels. Most can be masked on (enabled) or off (disabled). When disabled, the fault is always treated as a Hard Fault. */
RegNVICSystemHandlerPriority8_t SystemHandlerPriority8;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3357[3];
+ APE_NVIC_H_uint32_t reserved_3357[3];
/** @brief System handlers are a special class of exception handler that can have their priority set to any of the priority levels. Most can be masked on (enabled) or off (disabled). When disabled, the fault is always treated as a Hard Fault. */
RegNVICSystemHandlerPriority12_t SystemHandlerPriority12;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3361[3];
+ APE_NVIC_H_uint32_t reserved_3361[3];
/** @brief Use the System Handler Control and State Register to: enable or disable the system handlers, determine the pending status of bus fault, mem manage fault, and SVC, determine the active status of the system handlers. */
RegNVICSystemHandlerControlAndState_t SystemHandlerControlAndState;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3365[3];
+ APE_NVIC_H_uint32_t reserved_3365[3];
/** @brief The flags in these registers indicate the causes of local faults. Multiple flags can be set if more than one fault occurs. These register are read/write-clear. This means that they can be read normally, but writing a 1 to any bit clears that bit. */
RegNVICFaultStatus_t FaultStatus;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3369[3];
+ APE_NVIC_H_uint32_t reserved_3369[3];
/** @brief Use the Hard Fault Status Register (HFSR) to obtain information about events that activate the Hard Fault handler. */
RegNVICHardFaultStatus_t HardFaultStatus;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3373[3];
+ APE_NVIC_H_uint32_t reserved_3373[3];
/** @brief Use the Debug Fault Status Register to monitor: external debug requests, vector catches, data watchpoint match, BKPT instruction execution, halt requests. */
RegNVICDebugFaultStatus_t DebugFaultStatus;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3377[3];
+ APE_NVIC_H_uint32_t reserved_3377[3];
/** @brief Use the Memory Manage Fault Address Register to read the address of the location that caused a Memory Manage Fault. */
RegNVICMemoryManageFaultAddress_t MemoryManageFaultAddress;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3381[3];
+ APE_NVIC_H_uint32_t reserved_3381[3];
/** @brief Use the Bus Fault Address Register to read the address of the location that generated a Bus Fault. */
RegNVICBusFaultAddress_t BusFaultAddress;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3385[3];
+ APE_NVIC_H_uint32_t reserved_3385[3];
/** @brief Use the Auxiliary Fault Status Register (AFSR) to determine additional system fault information to software. The AFSR flags map directly onto the AUXFAULT inputs of the processor, and a single-cycle high level on an external pin causes the corresponding AFSR bit to become latched as one. The bit can only be cleared by writing a one to the corresponding AFSR bit. When an AFSR bit is written or latched as one, an exception does not occur. If you require an exception, you must use an interrupt. */
RegNVICAuxiliaryFaultAddress_t AuxiliaryFaultAddress;
/** @brief Reserved bytes to pad out data structure. */
- APE_NVIC_H_uint8_t reserved_3389[451];
+ APE_NVIC_H_uint32_t reserved_3389[451];
/** @brief Use the Software Trigger Interrupt Register to pend an interrupt to trigger. */
RegNVICSoftwareTriggerInterrupt_t SoftwareTriggerInterrupt;
@@ -2652,6 +2652,10 @@ extern volatile NVIC_t NVIC;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(NVIC_t) == 15376, "sizeof(NVIC_t) must be 15376");
+#endif
+
#endif /* !APE_NVIC_H */
/** @} */
diff --git a/include/APE_RX_PORT0.h b/include/APE_RX_PORT0.h
index 1da27d9..4866090 100644
--- a/include/APE_RX_PORT0.h
+++ b/include/APE_RX_PORT0.h
@@ -183,6 +183,10 @@ extern volatile RX_PORT_t RX_PORT0;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(RX_PORT_t) == 16384, "sizeof(RX_PORT_t) must be 16384");
+#endif
+
#endif /* !APE_RX_PORT0_H */
/** @} */
diff --git a/include/APE_RX_PORT1.h b/include/APE_RX_PORT1.h
index f50c164..145fa51 100644
--- a/include/APE_RX_PORT1.h
+++ b/include/APE_RX_PORT1.h
@@ -97,6 +97,10 @@ extern volatile RX_PORT_t RX_PORT1;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(RX_PORT_t) == 16384, "sizeof(RX_PORT_t) must be 16384");
+#endif
+
#endif /* !APE_RX_PORT1_H */
/** @} */
diff --git a/include/APE_RX_PORT2.h b/include/APE_RX_PORT2.h
index bb370e8..0705656 100644
--- a/include/APE_RX_PORT2.h
+++ b/include/APE_RX_PORT2.h
@@ -97,6 +97,10 @@ extern volatile RX_PORT_t RX_PORT2;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(RX_PORT_t) == 16384, "sizeof(RX_PORT_t) must be 16384");
+#endif
+
#endif /* !APE_RX_PORT2_H */
/** @} */
diff --git a/include/APE_RX_PORT3.h b/include/APE_RX_PORT3.h
index 16331a3..abf52c4 100644
--- a/include/APE_RX_PORT3.h
+++ b/include/APE_RX_PORT3.h
@@ -97,6 +97,10 @@ extern volatile RX_PORT_t RX_PORT3;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(RX_PORT_t) == 16384, "sizeof(RX_PORT_t) must be 16384");
+#endif
+
#endif /* !APE_RX_PORT3_H */
/** @} */
diff --git a/include/APE_SHM.h b/include/APE_SHM.h
index 491083e..4ccdfbb 100644
--- a/include/APE_SHM.h
+++ b/include/APE_SHM.h
@@ -2028,6 +2028,10 @@ extern volatile SHM_t SHM;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_t) == 2196, "sizeof(SHM_t) must be 2196");
+#endif
+
#endif /* !APE_SHM_H */
/** @} */
diff --git a/include/APE_SHM1.h b/include/APE_SHM1.h
index 05c5b2d..fbb5361 100644
--- a/include/APE_SHM1.h
+++ b/include/APE_SHM1.h
@@ -143,6 +143,10 @@ extern volatile SHM_t SHM1;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_t) == 2196, "sizeof(SHM_t) must be 2196");
+#endif
+
#endif /* !APE_SHM1_H */
/** @} */
diff --git a/include/APE_SHM2.h b/include/APE_SHM2.h
index 84443ea..43fe33d 100644
--- a/include/APE_SHM2.h
+++ b/include/APE_SHM2.h
@@ -143,6 +143,10 @@ extern volatile SHM_t SHM2;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_t) == 2196, "sizeof(SHM_t) must be 2196");
+#endif
+
#endif /* !APE_SHM2_H */
/** @} */
diff --git a/include/APE_SHM3.h b/include/APE_SHM3.h
index d257cd8..b5a3b2b 100644
--- a/include/APE_SHM3.h
+++ b/include/APE_SHM3.h
@@ -143,6 +143,10 @@ extern volatile SHM_t SHM3;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_t) == 2196, "sizeof(SHM_t) must be 2196");
+#endif
+
#endif /* !APE_SHM3_H */
/** @} */
diff --git a/include/APE_SHM_CHANNEL0.h b/include/APE_SHM_CHANNEL0.h
index 7cecce4..0dd8c9c 100644
--- a/include/APE_SHM_CHANNEL0.h
+++ b/include/APE_SHM_CHANNEL0.h
@@ -2021,6 +2021,10 @@ extern volatile SHM_CHANNEL_t SHM_CHANNEL0;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_CHANNEL_t) == 204, "sizeof(SHM_CHANNEL_t) must be 204");
+#endif
+
#endif /* !APE_SHM_CHANNEL0_H */
/** @} */
diff --git a/include/APE_SHM_CHANNEL1.h b/include/APE_SHM_CHANNEL1.h
index d2f6e15..ea0b2d1 100644
--- a/include/APE_SHM_CHANNEL1.h
+++ b/include/APE_SHM_CHANNEL1.h
@@ -136,6 +136,10 @@ extern volatile SHM_CHANNEL_t SHM_CHANNEL1;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_CHANNEL_t) == 204, "sizeof(SHM_CHANNEL_t) must be 204");
+#endif
+
#endif /* !APE_SHM_CHANNEL1_H */
/** @} */
diff --git a/include/APE_SHM_CHANNEL2.h b/include/APE_SHM_CHANNEL2.h
index 8719902..c42084e 100644
--- a/include/APE_SHM_CHANNEL2.h
+++ b/include/APE_SHM_CHANNEL2.h
@@ -136,6 +136,10 @@ extern volatile SHM_CHANNEL_t SHM_CHANNEL2;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_CHANNEL_t) == 204, "sizeof(SHM_CHANNEL_t) must be 204");
+#endif
+
#endif /* !APE_SHM_CHANNEL2_H */
/** @} */
diff --git a/include/APE_SHM_CHANNEL3.h b/include/APE_SHM_CHANNEL3.h
index 470e808..ef1ac6c 100644
--- a/include/APE_SHM_CHANNEL3.h
+++ b/include/APE_SHM_CHANNEL3.h
@@ -136,6 +136,10 @@ extern volatile SHM_CHANNEL_t SHM_CHANNEL3;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_CHANNEL_t) == 204, "sizeof(SHM_CHANNEL_t) must be 204");
+#endif
+
#endif /* !APE_SHM_CHANNEL3_H */
/** @} */
diff --git a/include/APE_TX_PORT0.h b/include/APE_TX_PORT0.h
index 01bfd4a..daee3f3 100644
--- a/include/APE_TX_PORT0.h
+++ b/include/APE_TX_PORT0.h
@@ -187,6 +187,10 @@ extern volatile TX_PORT_t TX_PORT0;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(TX_PORT_t) == 8192, "sizeof(TX_PORT_t) must be 8192");
+#endif
+
#endif /* !APE_TX_PORT0_H */
/** @} */
diff --git a/include/APE_TX_PORT1.h b/include/APE_TX_PORT1.h
index e07b369..895e09c 100644
--- a/include/APE_TX_PORT1.h
+++ b/include/APE_TX_PORT1.h
@@ -97,6 +97,10 @@ extern volatile TX_PORT_t TX_PORT1;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(TX_PORT_t) == 8192, "sizeof(TX_PORT_t) must be 8192");
+#endif
+
#endif /* !APE_TX_PORT1_H */
/** @} */
diff --git a/include/APE_TX_PORT2.h b/include/APE_TX_PORT2.h
index a733046..8c51c8c 100644
--- a/include/APE_TX_PORT2.h
+++ b/include/APE_TX_PORT2.h
@@ -97,6 +97,10 @@ extern volatile TX_PORT_t TX_PORT2;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(TX_PORT_t) == 8192, "sizeof(TX_PORT_t) must be 8192");
+#endif
+
#endif /* !APE_TX_PORT2_H */
/** @} */
diff --git a/include/APE_TX_PORT3.h b/include/APE_TX_PORT3.h
index cefd987..3a31869 100644
--- a/include/APE_TX_PORT3.h
+++ b/include/APE_TX_PORT3.h
@@ -97,6 +97,10 @@ extern volatile TX_PORT_t TX_PORT3;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(TX_PORT_t) == 8192, "sizeof(TX_PORT_t) must be 8192");
+#endif
+
#endif /* !APE_TX_PORT3_H */
/** @} */
diff --git a/include/bcm5719_APE.h b/include/bcm5719_APE.h
index d11d2bf..16c7dd3 100644
--- a/include/bcm5719_APE.h
+++ b/include/bcm5719_APE.h
@@ -2472,6 +2472,10 @@ extern volatile APE_t APE;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(APE_t) == 816, "sizeof(APE_t) must be 816");
+#endif
+
#endif /* !BCM5719_APE_H */
/** @} */
diff --git a/include/bcm5719_APE_PERI.h b/include/bcm5719_APE_PERI.h
index 2d4c67f..452cb0b 100644
--- a/include/bcm5719_APE_PERI.h
+++ b/include/bcm5719_APE_PERI.h
@@ -3761,6 +3761,10 @@ extern volatile APE_PERI_t APE_PERI;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(APE_PERI_t) == 1088, "sizeof(APE_PERI_t) must be 1088");
+#endif
+
#endif /* !BCM5719_APE_PERI_H */
/** @} */
diff --git a/include/bcm5719_BOOTCODE.h b/include/bcm5719_BOOTCODE.h
index f44d1ad..dd7e350 100644
--- a/include/bcm5719_BOOTCODE.h
+++ b/include/bcm5719_BOOTCODE.h
@@ -116,6 +116,10 @@ extern volatile BOOTCODE_t BOOTCODE;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(BOOTCODE_t) == 28672, "sizeof(BOOTCODE_t) must be 28672");
+#endif
+
#endif /* !BCM5719_BOOTCODE_H */
/** @} */
diff --git a/include/bcm5719_DEVICE.h b/include/bcm5719_DEVICE.h
index bf16a68..48dc800 100644
--- a/include/bcm5719_DEVICE.h
+++ b/include/bcm5719_DEVICE.h
@@ -4060,10 +4060,10 @@ typedef register_container RegDEVICEGphyStrap_t {
#define DEVICE_FLASH_CLOCK_CONTROL_POLICY_FORCE_FLASH_CLOCK_DISABLE_MASK 0x40000000u
#define GET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FORCE_FLASH_CLOCK_DISABLE(__reg__) (((__reg__) & 0x40000000) >> 30u)
#define SET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FORCE_FLASH_CLOCK_DISABLE(__val__) (((__val__) << 30u) & 0x40000000u)
-#define DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE_SHIFT 30u
-#define DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE_MASK 0x40000000u
-#define GET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE(__reg__) (((__reg__) & 0x40000000) >> 30u)
-#define SET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE(__val__) (((__val__) << 30u) & 0x40000000u)
+#define DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE_SHIFT 31u
+#define DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE_MASK 0x80000000u
+#define GET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE(__reg__) (((__reg__) & 0x80000000) >> 31u)
+#define SET_DEVICE_FLASH_CLOCK_CONTROL_POLICY_FLASH_CLOCK_SPEED_OVERRIDE(__val__) (((__val__) << 31u) & 0x80000000u)
/** @brief Register definition for @ref DEVICE_t.FlashClockControlPolicy. */
typedef register_container RegDEVICEFlashClockControlPolicy_t {
@@ -4095,14 +4095,10 @@ typedef register_container RegDEVICEFlashClockControlPolicy_t {
/** @brief */
BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, ForceFlashClockDisable, 30, 1)
/** @brief */
- BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, FlashClockSpeedOverride, 30, 1)
- /** @brief Padding */
- BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_31_31, 31, 1)
+ BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, FlashClockSpeedOverride, 31, 1)
#elif defined(__BIG_ENDIAN__)
- /** @brief Padding */
- BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_31_31, 31, 1)
/** @brief */
- BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, FlashClockSpeedOverride, 30, 1)
+ BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, FlashClockSpeedOverride, 31, 1)
/** @brief */
BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, ForceFlashClockDisable, 30, 1)
/** @brief */
@@ -8680,7 +8676,7 @@ typedef register_container RegDEVICEEavRefClockControl_t {
#endif /* CXX_SIMULATOR */
} RegDEVICEEavRefClockControl_t;
-#define REG_DEVICE_7C04 ((volatile BCM5719_DEVICE_H_uint32_t*)0xc0007c04) /* PCIe-related. tg3 driver calls this */
+#define REG_DEVICE_7C04 ((volatile BCM5719_DEVICE_H_uint32_t*)0xc0007c04) /* PCIe Transaction Cfg */
/** @brief Register definition for @ref DEVICE_t.7c04. */
typedef register_container RegDEVICE7c04_t {
/** @brief 32bit direct register access. */
@@ -9274,7 +9270,7 @@ typedef struct DEVICE_t {
/** @brief Reserved bytes to pad out data structure. */
BCM5719_DEVICE_H_uint32_t reserved_26892[1214];
- /** @brief PCIe-related. tg3 driver calls this */
+ /** @brief PCIe Transaction Cfg */
RegDEVICE7c04_t _7c04;
#ifdef CXX_SIMULATOR
@@ -9996,6 +9992,10 @@ extern volatile DEVICE_t DEVICE;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(DEVICE_t) == 31752, "sizeof(DEVICE_t) must be 31752");
+#endif
+
#endif /* !BCM5719_DEVICE_H */
/** @} */
diff --git a/include/bcm5719_GEN.h b/include/bcm5719_GEN.h
index 9d26924..64159a9 100644
--- a/include/bcm5719_GEN.h
+++ b/include/bcm5719_GEN.h
@@ -1769,6 +1769,10 @@ extern volatile GEN_t GEN;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(GEN_t) == 872, "sizeof(GEN_t) must be 872");
+#endif
+
#endif /* !BCM5719_GEN_H */
/** @} */
diff --git a/include/bcm5719_RXMBUF.h b/include/bcm5719_RXMBUF.h
index 6fea7c9..48b0e2f 100644
--- a/include/bcm5719_RXMBUF.h
+++ b/include/bcm5719_RXMBUF.h
@@ -116,6 +116,10 @@ extern volatile RXMBUF_t RXMBUF;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(RXMBUF_t) == 51200, "sizeof(RXMBUF_t) must be 51200");
+#endif
+
#endif /* !BCM5719_RXMBUF_H */
/** @} */
diff --git a/include/bcm5719_SDBCACHE.h b/include/bcm5719_SDBCACHE.h
index d677967..f744c7a 100644
--- a/include/bcm5719_SDBCACHE.h
+++ b/include/bcm5719_SDBCACHE.h
@@ -116,6 +116,10 @@ extern volatile SDBCACHE_t SDBCACHE;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SDBCACHE_t) == 51200, "sizeof(SDBCACHE_t) must be 51200");
+#endif
+
#endif /* !BCM5719_SDBCACHE_H */
/** @} */
diff --git a/include/bcm5719_SHM.h b/include/bcm5719_SHM.h
index 0636175..353853b 100644
--- a/include/bcm5719_SHM.h
+++ b/include/bcm5719_SHM.h
@@ -2028,6 +2028,10 @@ extern volatile SHM_t SHM;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_t) == 2196, "sizeof(SHM_t) must be 2196");
+#endif
+
#endif /* !BCM5719_SHM_H */
/** @} */
diff --git a/include/bcm5719_SHM_CHANNEL0.h b/include/bcm5719_SHM_CHANNEL0.h
index 54a8aa4..1a064ab 100644
--- a/include/bcm5719_SHM_CHANNEL0.h
+++ b/include/bcm5719_SHM_CHANNEL0.h
@@ -2021,6 +2021,10 @@ extern volatile SHM_CHANNEL_t SHM_CHANNEL0;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_CHANNEL_t) == 204, "sizeof(SHM_CHANNEL_t) must be 204");
+#endif
+
#endif /* !BCM5719_SHM_CHANNEL0_H */
/** @} */
diff --git a/include/bcm5719_SHM_CHANNEL1.h b/include/bcm5719_SHM_CHANNEL1.h
index 637e3bd..e42824f 100644
--- a/include/bcm5719_SHM_CHANNEL1.h
+++ b/include/bcm5719_SHM_CHANNEL1.h
@@ -136,6 +136,10 @@ extern volatile SHM_CHANNEL_t SHM_CHANNEL1;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_CHANNEL_t) == 204, "sizeof(SHM_CHANNEL_t) must be 204");
+#endif
+
#endif /* !BCM5719_SHM_CHANNEL1_H */
/** @} */
diff --git a/include/bcm5719_SHM_CHANNEL2.h b/include/bcm5719_SHM_CHANNEL2.h
index 2f3423c..0b073c4 100644
--- a/include/bcm5719_SHM_CHANNEL2.h
+++ b/include/bcm5719_SHM_CHANNEL2.h
@@ -136,6 +136,10 @@ extern volatile SHM_CHANNEL_t SHM_CHANNEL2;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_CHANNEL_t) == 204, "sizeof(SHM_CHANNEL_t) must be 204");
+#endif
+
#endif /* !BCM5719_SHM_CHANNEL2_H */
/** @} */
diff --git a/include/bcm5719_SHM_CHANNEL3.h b/include/bcm5719_SHM_CHANNEL3.h
index 8d82547..dd2c315 100644
--- a/include/bcm5719_SHM_CHANNEL3.h
+++ b/include/bcm5719_SHM_CHANNEL3.h
@@ -136,6 +136,10 @@ extern volatile SHM_CHANNEL_t SHM_CHANNEL3;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(SHM_CHANNEL_t) == 204, "sizeof(SHM_CHANNEL_t) must be 204");
+#endif
+
#endif /* !BCM5719_SHM_CHANNEL3_H */
/** @} */
diff --git a/include/bcm5719_TXMBUF.h b/include/bcm5719_TXMBUF.h
index ea1d6d8..5204358 100644
--- a/include/bcm5719_TXMBUF.h
+++ b/include/bcm5719_TXMBUF.h
@@ -116,6 +116,10 @@ extern volatile TXMBUF_t TXMBUF;
#undef BITFIELD_MEMBER
#undef BITFIELD_END
+#ifndef CXX_SIMULATOR
+_Static_assert(sizeof(TXMBUF_t) == 29696, "sizeof(TXMBUF_t) must be 29696");
+#endif
+
#endif /* !BCM5719_TXMBUF_H */
/** @} */
OpenPOWER on IntegriCloud