diff options
author | Evan Lojewski <github@meklort.com> | 2021-02-04 18:59:54 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-04 18:59:54 -0700 |
commit | 0265533188143e88cfef536f896e973d717af437 (patch) | |
tree | 34281c72eb238eb33a4e6066e2bae6447c708a90 | |
parent | 6ef8e4a66255ceb5744cecaca9e73aa194ba72f6 (diff) | |
download | bcm5719-ortega-0265533188143e88cfef536f896e973d717af437.tar.gz bcm5719-ortega-0265533188143e88cfef536f896e973d717af437.zip |
ipxact: Add D0u Clock Policy register. (#194)
-rw-r--r-- | include/APE_DEVICE.h | 93 | ||||
-rw-r--r-- | include/APE_DEVICE1.h | 3 | ||||
-rw-r--r-- | include/APE_DEVICE2.h | 3 | ||||
-rw-r--r-- | include/APE_DEVICE3.h | 3 | ||||
-rw-r--r-- | include/bcm5719_DEVICE.h | 93 | ||||
-rw-r--r-- | ipxact/DEVICE.xml | 62 | ||||
-rw-r--r-- | simulator/APE_DEVICE.cpp | 4 | ||||
-rw-r--r-- | simulator/APE_DEVICE1.cpp | 4 | ||||
-rw-r--r-- | simulator/APE_DEVICE1_sim.cpp | 6 | ||||
-rw-r--r-- | simulator/APE_DEVICE2.cpp | 4 | ||||
-rw-r--r-- | simulator/APE_DEVICE2_sim.cpp | 6 | ||||
-rw-r--r-- | simulator/APE_DEVICE3.cpp | 4 | ||||
-rw-r--r-- | simulator/APE_DEVICE3_sim.cpp | 6 | ||||
-rw-r--r-- | simulator/APE_DEVICE_sim.cpp | 6 | ||||
-rw-r--r-- | simulator/bcm5719_DEVICE.cpp | 4 | ||||
-rw-r--r-- | simulator/bcm5719_DEVICE_sim.cpp | 12 |
16 files changed, 285 insertions, 28 deletions
diff --git a/include/APE_DEVICE.h b/include/APE_DEVICE.h index 7b9286e..3785dc8 100644 --- a/include/APE_DEVICE.h +++ b/include/APE_DEVICE.h @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -3586,6 +3586,82 @@ typedef register_container RegDEVICELinkAwarePowerModeClockPolicy_t { #endif /* CXX_SIMULATOR */ } RegDEVICELinkAwarePowerModeClockPolicy_t; +#define REG_DEVICE_D0U_CLOCK_POLICY ((volatile APE_DEVICE_H_uint32_t*)0xa0043614) /* */ +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_SHIFT 16u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_MASK 0x1f0000u +#define GET_DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH(__reg__) (((__reg__) & 0x1f0000) >> 16u) +#define SET_DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH(__val__) (((__val__) << 16u) & 0x1f0000u) +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_60_0MHZ 0x1u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_30_0MHZ 0x3u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_15_0MHZ 0x5u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_7_5MHZ 0x7u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_3_75MHZ 0x9u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_12_5MHZ 0x11u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_6_25MHZ 0x13u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_3_125MHZ 0x15u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_1_563MHZ 0x17u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_781KHZ 0x19u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_12_5MHZ_DIV_1_25MHZ 0x1fu + + +/** @brief Register definition for @ref DEVICE_t.D0uClockPolicy. */ +typedef register_container RegDEVICED0uClockPolicy_t { + /** @brief 32bit direct register access. */ + APE_DEVICE_H_uint32_t r32; + + BITFIELD_BEGIN(APE_DEVICE_H_uint32_t, bits) +#if defined(__LITTLE_ENDIAN__) + /** @brief Padding */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_15_0, 0, 16) + /** @brief Software Controlled MAC Core Clock Speed Select. */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, MACClockSwitch, 16, 5) + /** @brief Padding */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_31_21, 21, 11) +#elif defined(__BIG_ENDIAN__) + /** @brief Padding */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_31_21, 21, 11) + /** @brief Software Controlled MAC Core Clock Speed Select. */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, MACClockSwitch, 16, 5) + /** @brief Padding */ + BITFIELD_MEMBER(APE_DEVICE_H_uint32_t, reserved_15_0, 0, 16) +#else +#error Unknown Endian +#endif + BITFIELD_END(APE_DEVICE_H_uint32_t, bits) +#ifdef CXX_SIMULATOR + /** @brief Register name for use with the simulator. */ + const char* getName(void) { return "D0uClockPolicy"; } + + /** @brief Print register value. */ + void print(void) { r32.print(); } + + RegDEVICED0uClockPolicy_t() + { + /** @brief constructor for @ref DEVICE_t.D0uClockPolicy. */ + r32.setName("D0uClockPolicy"); + bits.MACClockSwitch.setBaseRegister(&r32); + bits.MACClockSwitch.setName("MACClockSwitch"); + bits.MACClockSwitch.addEnum("60.0MHz", 0x1); + bits.MACClockSwitch.addEnum("30.0MHz", 0x3); + bits.MACClockSwitch.addEnum("15.0MHz", 0x5); + bits.MACClockSwitch.addEnum("7.5MHz", 0x7); + bits.MACClockSwitch.addEnum("3.75MHz", 0x9); + bits.MACClockSwitch.addEnum("12.5MHz", 0x11); + bits.MACClockSwitch.addEnum("6.25MHz", 0x13); + bits.MACClockSwitch.addEnum("3.125MHz", 0x15); + bits.MACClockSwitch.addEnum("1.563MHz", 0x17); + bits.MACClockSwitch.addEnum("781kHz", 0x19); + bits.MACClockSwitch.addEnum("12.5MHz/1.25MHz", 0x1f); + + } + RegDEVICED0uClockPolicy_t& operator=(const RegDEVICED0uClockPolicy_t& other) + { + r32 = other.r32; + return *this; + } +#endif /* CXX_SIMULATOR */ +} RegDEVICED0uClockPolicy_t; + #define REG_DEVICE_APE_CLK_POLICY ((volatile APE_DEVICE_H_uint32_t*)0xa004361c) /* */ #define DEVICE_APE_CLK_POLICY_LAPM_APE_CLOCK_SWITCH_SHIFT 0u #define DEVICE_APE_CLK_POLICY_LAPM_APE_CLOCK_SWITCH_MASK 0x1fu @@ -9532,8 +9608,11 @@ typedef struct DEVICE_t { /** @brief */ RegDEVICELinkAwarePowerModeClockPolicy_t LinkAwarePowerModeClockPolicy; + /** @brief */ + RegDEVICED0uClockPolicy_t D0uClockPolicy; + /** @brief Reserved bytes to pad out data structure. */ - APE_DEVICE_H_uint32_t reserved_13844[2]; + APE_DEVICE_H_uint32_t reserved_13848[1]; /** @brief */ RegDEVICEApeClkPolicy_t ApeClkPolicy; @@ -10065,9 +10144,10 @@ typedef struct DEVICE_t { reserved_13832[i].setComponentOffset(0x3608 + (i * 4)); } LinkAwarePowerModeClockPolicy.r32.setComponentOffset(0x3610); - for(int i = 0; i < 2; i++) + D0uClockPolicy.r32.setComponentOffset(0x3614); + for(int i = 0; i < 1; i++) { - reserved_13844[i].setComponentOffset(0x3614 + (i * 4)); + reserved_13848[i].setComponentOffset(0x3618 + (i * 4)); } ApeClkPolicy.r32.setComponentOffset(0x361c); ApeSleepStateClockPolicy.r32.setComponentOffset(0x3620); @@ -10428,9 +10508,10 @@ typedef struct DEVICE_t { reserved_13832[i].print(); } LinkAwarePowerModeClockPolicy.print(); - for(int i = 0; i < 2; i++) + D0uClockPolicy.print(); + for(int i = 0; i < 1; i++) { - reserved_13844[i].print(); + reserved_13848[i].print(); } ApeClkPolicy.print(); ApeSleepStateClockPolicy.print(); diff --git a/include/APE_DEVICE1.h b/include/APE_DEVICE1.h index 177364f..320788f 100644 --- a/include/APE_DEVICE1.h +++ b/include/APE_DEVICE1.h @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -130,6 +130,7 @@ typedef uint32_t APE_DEVICE1_H_uint32_t; #define REG_DEVICE1_CPMU_CONTROL ((volatile APE_DEVICE1_H_uint32_t*)0xa0053600) /* */ #define REG_DEVICE1_NO_LINK_POWER_MODE_CLOCK_POLICY ((volatile APE_DEVICE1_H_uint32_t*)0xa0053604) /* */ #define REG_DEVICE1_LINK_AWARE_POWER_MODE_CLOCK_POLICY ((volatile APE_DEVICE1_H_uint32_t*)0xa0053610) /* */ +#define REG_DEVICE1_D0U_CLOCK_POLICY ((volatile APE_DEVICE1_H_uint32_t*)0xa0053614) /* */ #define REG_DEVICE1_APE_CLK_POLICY ((volatile APE_DEVICE1_H_uint32_t*)0xa005361c) /* */ #define REG_DEVICE1_APE_SLEEP_STATE_CLOCK_POLICY ((volatile APE_DEVICE1_H_uint32_t*)0xa0053620) /* */ #define REG_DEVICE1_CLOCK_SPEED_OVERRIDE_POLICY ((volatile APE_DEVICE1_H_uint32_t*)0xa0053624) /* */ diff --git a/include/APE_DEVICE2.h b/include/APE_DEVICE2.h index 8de1bf8..efa9277 100644 --- a/include/APE_DEVICE2.h +++ b/include/APE_DEVICE2.h @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -130,6 +130,7 @@ typedef uint32_t APE_DEVICE2_H_uint32_t; #define REG_DEVICE2_CPMU_CONTROL ((volatile APE_DEVICE2_H_uint32_t*)0xa0063600) /* */ #define REG_DEVICE2_NO_LINK_POWER_MODE_CLOCK_POLICY ((volatile APE_DEVICE2_H_uint32_t*)0xa0063604) /* */ #define REG_DEVICE2_LINK_AWARE_POWER_MODE_CLOCK_POLICY ((volatile APE_DEVICE2_H_uint32_t*)0xa0063610) /* */ +#define REG_DEVICE2_D0U_CLOCK_POLICY ((volatile APE_DEVICE2_H_uint32_t*)0xa0063614) /* */ #define REG_DEVICE2_APE_CLK_POLICY ((volatile APE_DEVICE2_H_uint32_t*)0xa006361c) /* */ #define REG_DEVICE2_APE_SLEEP_STATE_CLOCK_POLICY ((volatile APE_DEVICE2_H_uint32_t*)0xa0063620) /* */ #define REG_DEVICE2_CLOCK_SPEED_OVERRIDE_POLICY ((volatile APE_DEVICE2_H_uint32_t*)0xa0063624) /* */ diff --git a/include/APE_DEVICE3.h b/include/APE_DEVICE3.h index 75b712f..3d82804 100644 --- a/include/APE_DEVICE3.h +++ b/include/APE_DEVICE3.h @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -130,6 +130,7 @@ typedef uint32_t APE_DEVICE3_H_uint32_t; #define REG_DEVICE3_CPMU_CONTROL ((volatile APE_DEVICE3_H_uint32_t*)0xa0073600) /* */ #define REG_DEVICE3_NO_LINK_POWER_MODE_CLOCK_POLICY ((volatile APE_DEVICE3_H_uint32_t*)0xa0073604) /* */ #define REG_DEVICE3_LINK_AWARE_POWER_MODE_CLOCK_POLICY ((volatile APE_DEVICE3_H_uint32_t*)0xa0073610) /* */ +#define REG_DEVICE3_D0U_CLOCK_POLICY ((volatile APE_DEVICE3_H_uint32_t*)0xa0073614) /* */ #define REG_DEVICE3_APE_CLK_POLICY ((volatile APE_DEVICE3_H_uint32_t*)0xa007361c) /* */ #define REG_DEVICE3_APE_SLEEP_STATE_CLOCK_POLICY ((volatile APE_DEVICE3_H_uint32_t*)0xa0073620) /* */ #define REG_DEVICE3_CLOCK_SPEED_OVERRIDE_POLICY ((volatile APE_DEVICE3_H_uint32_t*)0xa0073624) /* */ diff --git a/include/bcm5719_DEVICE.h b/include/bcm5719_DEVICE.h index 6ea773e..4f22df8 100644 --- a/include/bcm5719_DEVICE.h +++ b/include/bcm5719_DEVICE.h @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -3586,6 +3586,82 @@ typedef register_container RegDEVICELinkAwarePowerModeClockPolicy_t { #endif /* CXX_SIMULATOR */ } RegDEVICELinkAwarePowerModeClockPolicy_t; +#define REG_DEVICE_D0U_CLOCK_POLICY ((volatile BCM5719_DEVICE_H_uint32_t*)0xc0003614) /* */ +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_SHIFT 16u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_MASK 0x1f0000u +#define GET_DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH(__reg__) (((__reg__) & 0x1f0000) >> 16u) +#define SET_DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH(__val__) (((__val__) << 16u) & 0x1f0000u) +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_60_0MHZ 0x1u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_30_0MHZ 0x3u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_15_0MHZ 0x5u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_7_5MHZ 0x7u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_3_75MHZ 0x9u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_12_5MHZ 0x11u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_6_25MHZ 0x13u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_3_125MHZ 0x15u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_1_563MHZ 0x17u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_781KHZ 0x19u +#define DEVICE_D0U_CLOCK_POLICY_MAC_CLOCK_SWITCH_12_5MHZ_DIV_1_25MHZ 0x1fu + + +/** @brief Register definition for @ref DEVICE_t.D0uClockPolicy. */ +typedef register_container RegDEVICED0uClockPolicy_t { + /** @brief 32bit direct register access. */ + BCM5719_DEVICE_H_uint32_t r32; + + BITFIELD_BEGIN(BCM5719_DEVICE_H_uint32_t, bits) +#if defined(__LITTLE_ENDIAN__) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_15_0, 0, 16) + /** @brief Software Controlled MAC Core Clock Speed Select. */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, MACClockSwitch, 16, 5) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_31_21, 21, 11) +#elif defined(__BIG_ENDIAN__) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_31_21, 21, 11) + /** @brief Software Controlled MAC Core Clock Speed Select. */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, MACClockSwitch, 16, 5) + /** @brief Padding */ + BITFIELD_MEMBER(BCM5719_DEVICE_H_uint32_t, reserved_15_0, 0, 16) +#else +#error Unknown Endian +#endif + BITFIELD_END(BCM5719_DEVICE_H_uint32_t, bits) +#ifdef CXX_SIMULATOR + /** @brief Register name for use with the simulator. */ + const char* getName(void) { return "D0uClockPolicy"; } + + /** @brief Print register value. */ + void print(void) { r32.print(); } + + RegDEVICED0uClockPolicy_t() + { + /** @brief constructor for @ref DEVICE_t.D0uClockPolicy. */ + r32.setName("D0uClockPolicy"); + bits.MACClockSwitch.setBaseRegister(&r32); + bits.MACClockSwitch.setName("MACClockSwitch"); + bits.MACClockSwitch.addEnum("60.0MHz", 0x1); + bits.MACClockSwitch.addEnum("30.0MHz", 0x3); + bits.MACClockSwitch.addEnum("15.0MHz", 0x5); + bits.MACClockSwitch.addEnum("7.5MHz", 0x7); + bits.MACClockSwitch.addEnum("3.75MHz", 0x9); + bits.MACClockSwitch.addEnum("12.5MHz", 0x11); + bits.MACClockSwitch.addEnum("6.25MHz", 0x13); + bits.MACClockSwitch.addEnum("3.125MHz", 0x15); + bits.MACClockSwitch.addEnum("1.563MHz", 0x17); + bits.MACClockSwitch.addEnum("781kHz", 0x19); + bits.MACClockSwitch.addEnum("12.5MHz/1.25MHz", 0x1f); + + } + RegDEVICED0uClockPolicy_t& operator=(const RegDEVICED0uClockPolicy_t& other) + { + r32 = other.r32; + return *this; + } +#endif /* CXX_SIMULATOR */ +} RegDEVICED0uClockPolicy_t; + #define REG_DEVICE_APE_CLK_POLICY ((volatile BCM5719_DEVICE_H_uint32_t*)0xc000361c) /* */ #define DEVICE_APE_CLK_POLICY_LAPM_APE_CLOCK_SWITCH_SHIFT 0u #define DEVICE_APE_CLK_POLICY_LAPM_APE_CLOCK_SWITCH_MASK 0x1fu @@ -9532,8 +9608,11 @@ typedef struct DEVICE_t { /** @brief */ RegDEVICELinkAwarePowerModeClockPolicy_t LinkAwarePowerModeClockPolicy; + /** @brief */ + RegDEVICED0uClockPolicy_t D0uClockPolicy; + /** @brief Reserved bytes to pad out data structure. */ - BCM5719_DEVICE_H_uint32_t reserved_13844[2]; + BCM5719_DEVICE_H_uint32_t reserved_13848[1]; /** @brief */ RegDEVICEApeClkPolicy_t ApeClkPolicy; @@ -10065,9 +10144,10 @@ typedef struct DEVICE_t { reserved_13832[i].setComponentOffset(0x3608 + (i * 4)); } LinkAwarePowerModeClockPolicy.r32.setComponentOffset(0x3610); - for(int i = 0; i < 2; i++) + D0uClockPolicy.r32.setComponentOffset(0x3614); + for(int i = 0; i < 1; i++) { - reserved_13844[i].setComponentOffset(0x3614 + (i * 4)); + reserved_13848[i].setComponentOffset(0x3618 + (i * 4)); } ApeClkPolicy.r32.setComponentOffset(0x361c); ApeSleepStateClockPolicy.r32.setComponentOffset(0x3620); @@ -10428,9 +10508,10 @@ typedef struct DEVICE_t { reserved_13832[i].print(); } LinkAwarePowerModeClockPolicy.print(); - for(int i = 0; i < 2; i++) + D0uClockPolicy.print(); + for(int i = 0; i < 1; i++) { - reserved_13844[i].print(); + reserved_13848[i].print(); } ApeClkPolicy.print(); ApeSleepStateClockPolicy.print(); diff --git a/ipxact/DEVICE.xml b/ipxact/DEVICE.xml index 7c4de9f..a746d5d 100644 --- a/ipxact/DEVICE.xml +++ b/ipxact/DEVICE.xml @@ -1866,6 +1866,68 @@ </ipxact:field> </ipxact:register> <ipxact:register> + <ipxact:name>D0U_CLOCK_POLICY</ipxact:name> + <ipxact:description></ipxact:description> + <ipxact:addressOffset>0x3614</ipxact:addressOffset> + <!-- LINK: registerDefinitionGroup: see 6.11.3, Register definition group --> + <ipxact:size>32</ipxact:size> + <ipxact:volatile>true</ipxact:volatile> + <ipxact:field> + <ipxact:name>MAC Clock Switch</ipxact:name> + <ipxact:description>Software Controlled MAC Core Clock Speed Select.</ipxact:description> + <ipxact:bitOffset>16</ipxact:bitOffset> + <ipxact:bitWidth>5</ipxact:bitWidth> + <ipxact:access>read-write</ipxact:access> + <ipxact:enumeratedValues> + <!-- LINK: enumeratedValue: see 6.11.10, Enumeration values --> + <ipxact:enumeratedValue> + <ipxact:name>60.0MHz</ipxact:name> + <ipxact:value>1</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>30.0MHz</ipxact:name> + <ipxact:value>3</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>15.0MHz</ipxact:name> + <ipxact:value>5</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>7.5MHz</ipxact:name> + <ipxact:value>7</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>3.75MHz</ipxact:name> + <ipxact:value>9</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>12.5MHz</ipxact:name> + <ipxact:value>17</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>6.25MHz</ipxact:name> + <ipxact:value>19</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>3.125MHz</ipxact:name> + <ipxact:value>21</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>1.563MHz</ipxact:name> + <ipxact:value>23</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>781kHz</ipxact:name> + <ipxact:value>25</ipxact:value> + </ipxact:enumeratedValue> + <ipxact:enumeratedValue> + <ipxact:name>12.5MHz/1.25MHz</ipxact:name> + <ipxact:value>31</ipxact:value> + </ipxact:enumeratedValue> + </ipxact:enumeratedValues> + </ipxact:field> + </ipxact:register> + <ipxact:register> <ipxact:name>APE_CLK_POLICY</ipxact:name> <ipxact:description></ipxact:description> <ipxact:addressOffset>0x361C</ipxact:addressOffset> diff --git a/simulator/APE_DEVICE.cpp b/simulator/APE_DEVICE.cpp index 1244218..ad9d75b 100644 --- a/simulator/APE_DEVICE.cpp +++ b/simulator/APE_DEVICE.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -145,6 +145,8 @@ void init_APE_DEVICE(void) /** @brief Bitmap for @ref DEVICE_t.LinkAwarePowerModeClockPolicy. */ + /** @brief Bitmap for @ref DEVICE_t.D0uClockPolicy. */ + /** @brief Bitmap for @ref DEVICE_t.ApeClkPolicy. */ /** @brief Bitmap for @ref DEVICE_t.ApeSleepStateClockPolicy. */ diff --git a/simulator/APE_DEVICE1.cpp b/simulator/APE_DEVICE1.cpp index 3c8a7c6..01a8b8a 100644 --- a/simulator/APE_DEVICE1.cpp +++ b/simulator/APE_DEVICE1.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -145,6 +145,8 @@ void init_APE_DEVICE1(void) /** @brief Bitmap for @ref DEVICE1_t.LinkAwarePowerModeClockPolicy. */ + /** @brief Bitmap for @ref DEVICE1_t.D0uClockPolicy. */ + /** @brief Bitmap for @ref DEVICE1_t.ApeClkPolicy. */ /** @brief Bitmap for @ref DEVICE1_t.ApeSleepStateClockPolicy. */ diff --git a/simulator/APE_DEVICE1_sim.cpp b/simulator/APE_DEVICE1_sim.cpp index 9111d89..4d2a8be 100644 --- a/simulator/APE_DEVICE1_sim.cpp +++ b/simulator/APE_DEVICE1_sim.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -280,6 +280,10 @@ void init_APE_DEVICE1_sim(void *arg0) DEVICE1.LinkAwarePowerModeClockPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); DEVICE1.LinkAwarePowerModeClockPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); + /** @brief Bitmap for @ref DEVICE1_t.D0uClockPolicy. */ + DEVICE1.D0uClockPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); + DEVICE1.D0uClockPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); + /** @brief Bitmap for @ref DEVICE1_t.ApeClkPolicy. */ DEVICE1.ApeClkPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); DEVICE1.ApeClkPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); diff --git a/simulator/APE_DEVICE2.cpp b/simulator/APE_DEVICE2.cpp index 647c430..0721191 100644 --- a/simulator/APE_DEVICE2.cpp +++ b/simulator/APE_DEVICE2.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -145,6 +145,8 @@ void init_APE_DEVICE2(void) /** @brief Bitmap for @ref DEVICE2_t.LinkAwarePowerModeClockPolicy. */ + /** @brief Bitmap for @ref DEVICE2_t.D0uClockPolicy. */ + /** @brief Bitmap for @ref DEVICE2_t.ApeClkPolicy. */ /** @brief Bitmap for @ref DEVICE2_t.ApeSleepStateClockPolicy. */ diff --git a/simulator/APE_DEVICE2_sim.cpp b/simulator/APE_DEVICE2_sim.cpp index 681e1b6..f85f668 100644 --- a/simulator/APE_DEVICE2_sim.cpp +++ b/simulator/APE_DEVICE2_sim.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -280,6 +280,10 @@ void init_APE_DEVICE2_sim(void *arg0) DEVICE2.LinkAwarePowerModeClockPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); DEVICE2.LinkAwarePowerModeClockPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); + /** @brief Bitmap for @ref DEVICE2_t.D0uClockPolicy. */ + DEVICE2.D0uClockPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); + DEVICE2.D0uClockPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); + /** @brief Bitmap for @ref DEVICE2_t.ApeClkPolicy. */ DEVICE2.ApeClkPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); DEVICE2.ApeClkPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); diff --git a/simulator/APE_DEVICE3.cpp b/simulator/APE_DEVICE3.cpp index fcd0638..1e367f4 100644 --- a/simulator/APE_DEVICE3.cpp +++ b/simulator/APE_DEVICE3.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -145,6 +145,8 @@ void init_APE_DEVICE3(void) /** @brief Bitmap for @ref DEVICE3_t.LinkAwarePowerModeClockPolicy. */ + /** @brief Bitmap for @ref DEVICE3_t.D0uClockPolicy. */ + /** @brief Bitmap for @ref DEVICE3_t.ApeClkPolicy. */ /** @brief Bitmap for @ref DEVICE3_t.ApeSleepStateClockPolicy. */ diff --git a/simulator/APE_DEVICE3_sim.cpp b/simulator/APE_DEVICE3_sim.cpp index fd8fec1..95a9f6e 100644 --- a/simulator/APE_DEVICE3_sim.cpp +++ b/simulator/APE_DEVICE3_sim.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -280,6 +280,10 @@ void init_APE_DEVICE3_sim(void *arg0) DEVICE3.LinkAwarePowerModeClockPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); DEVICE3.LinkAwarePowerModeClockPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); + /** @brief Bitmap for @ref DEVICE3_t.D0uClockPolicy. */ + DEVICE3.D0uClockPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); + DEVICE3.D0uClockPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); + /** @brief Bitmap for @ref DEVICE3_t.ApeClkPolicy. */ DEVICE3.ApeClkPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); DEVICE3.ApeClkPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); diff --git a/simulator/APE_DEVICE_sim.cpp b/simulator/APE_DEVICE_sim.cpp index dea9965..f104cd8 100644 --- a/simulator/APE_DEVICE_sim.cpp +++ b/simulator/APE_DEVICE_sim.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -280,6 +280,10 @@ void init_APE_DEVICE_sim(void *arg0) DEVICE.LinkAwarePowerModeClockPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); DEVICE.LinkAwarePowerModeClockPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); + /** @brief Bitmap for @ref DEVICE_t.D0uClockPolicy. */ + DEVICE.D0uClockPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); + DEVICE.D0uClockPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); + /** @brief Bitmap for @ref DEVICE_t.ApeClkPolicy. */ DEVICE.ApeClkPolicy.r32.installReadCallback(loader_read_mem, (uint8_t *)base); DEVICE.ApeClkPolicy.r32.installWriteCallback(loader_write_mem, (uint8_t *)base); diff --git a/simulator/bcm5719_DEVICE.cpp b/simulator/bcm5719_DEVICE.cpp index 0f646cc..b400b81 100644 --- a/simulator/bcm5719_DEVICE.cpp +++ b/simulator/bcm5719_DEVICE.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -145,6 +145,8 @@ void init_bcm5719_DEVICE(void) /** @brief Bitmap for @ref DEVICE_t.LinkAwarePowerModeClockPolicy. */ + /** @brief Bitmap for @ref DEVICE_t.D0uClockPolicy. */ + /** @brief Bitmap for @ref DEVICE_t.ApeClkPolicy. */ /** @brief Bitmap for @ref DEVICE_t.ApeSleepStateClockPolicy. */ diff --git a/simulator/bcm5719_DEVICE_sim.cpp b/simulator/bcm5719_DEVICE_sim.cpp index 24ca2d3..43a3815 100644 --- a/simulator/bcm5719_DEVICE_sim.cpp +++ b/simulator/bcm5719_DEVICE_sim.cpp @@ -10,7 +10,7 @@ /// //////////////////////////////////////////////////////////////////////////////// /// -/// @copyright Copyright (c) 2020, Evan Lojewski +/// @copyright Copyright (c) 2021, Evan Lojewski /// @cond /// /// All rights reserved. @@ -353,10 +353,14 @@ void init_bcm5719_DEVICE_sim(void *base) DEVICE.LinkAwarePowerModeClockPolicy.r32.installReadCallback(read_from_ram, (uint8_t *)base); DEVICE.LinkAwarePowerModeClockPolicy.r32.installWriteCallback(write_to_ram, (uint8_t *)base); - for(int i = 0; i < 2; i++) + /** @brief Bitmap for @ref DEVICE_t.D0uClockPolicy. */ + DEVICE.D0uClockPolicy.r32.installReadCallback(read_from_ram, (uint8_t *)base); + DEVICE.D0uClockPolicy.r32.installWriteCallback(write_to_ram, (uint8_t *)base); + + for(int i = 0; i < 1; i++) { - DEVICE.reserved_13844[i].installReadCallback(read_from_ram, (uint8_t *)base); - DEVICE.reserved_13844[i].installWriteCallback(write_to_ram, (uint8_t *)base); + DEVICE.reserved_13848[i].installReadCallback(read_from_ram, (uint8_t *)base); + DEVICE.reserved_13848[i].installWriteCallback(write_to_ram, (uint8_t *)base); } /** @brief Bitmap for @ref DEVICE_t.ApeClkPolicy. */ DEVICE.ApeClkPolicy.r32.installReadCallback(read_from_ram, (uint8_t *)base); |