HPM SDK
HPMicro Software Development Kit
hpm_sysctl_drv.h
Go to the documentation of this file.
1 
8 #ifndef HPM_SYSCTL_DRV_H
9 #define HPM_SYSCTL_DRV_H
10 
11 #include "hpm_common.h"
12 #include "hpm_sysctl_regs.h"
13 typedef enum {
34 
38 typedef enum {
39  sysctl_preset_0 = 1 << 0,
40  sysctl_preset_1 = 1 << 1,
41  sysctl_preset_2 = 1 << 2,
42  sysctl_preset_3 = 1 << 3,
44 
48 typedef enum {
54 
58 typedef enum {
84 
164 
293 
297 typedef enum {
302 
306 typedef enum {
380 
386 
391 } clock_node_t;
392 
396 typedef enum {
407 
411 typedef enum {
416 
420 typedef enum {
425 
429 typedef enum {
433 } cpu_lp_mode_t;
434 
438 /* Monitor Target types */
439 typedef enum {
527 
531 typedef enum {
535 
539 typedef enum {
543 
547 typedef enum {
551 
552 typedef enum {
558 
562 typedef struct monitor_config {
563  uint8_t divide_by;
568  bool start_measure;
569  bool enable_output;
570  uint32_t high_limit;
571  uint32_t low_limit;
573 
574 #ifdef __cplusplus
575 extern "C" {
576 #endif
577 
586 static inline bool sysctl_monitor_result_is_valid(SYSCTL_Type *ptr, uint8_t monitor_index)
587 {
588  return SYSCTL_MONITOR_CONTROL_VALID_GET(ptr->MONITOR[monitor_index].CONTROL);
589 }
590 
598 static inline uint32_t sysctl_monitor_get_current_result(SYSCTL_Type *ptr, uint8_t monitor_index)
599 {
600  while (!sysctl_monitor_result_is_valid(ptr, monitor_index)) {
601  }
602  return ptr->MONITOR[monitor_index].CURRENT;
603 }
604 
612 static inline void sysctl_monitor_set_work_mode(SYSCTL_Type *ptr, uint8_t monitor_index, monitor_work_mode_t mode)
613 {
614  ptr->MONITOR[monitor_index].CONTROL = (ptr->MONITOR[monitor_index].CONTROL & ~SYSCTL_MONITOR_CONTROL_MODE_MASK) |
616 }
617 
625 static inline hpm_stat_t sysctl_monitor_set_limit_low(SYSCTL_Type *ptr, uint8_t monitor_index, uint32_t limit)
626 {
627  if (ptr->MONITOR[monitor_index].CONTROL & SYSCTL_MONITOR_CONTROL_MODE_MASK) {
629  }
630  ptr->MONITOR[monitor_index].LOW_LIMIT = SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_SET(limit);
631  return status_success;
632 }
633 
641 static inline hpm_stat_t sysctl_monitor_set_limit_high(SYSCTL_Type *ptr, uint8_t monitor_index, uint32_t limit)
642 {
643  if (ptr->MONITOR[monitor_index].CONTROL & SYSCTL_MONITOR_CONTROL_MODE_MASK) {
645  }
646  ptr->MONITOR[monitor_index].HIGH_LIMIT = SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_SET(limit);
647  return status_success;
648 }
649 
659  uint8_t monitor_index,
660  uint32_t limit_high,
661  uint32_t limit_low)
662 {
663  if (ptr->MONITOR[monitor_index].CONTROL & SYSCTL_MONITOR_CONTROL_MODE_MASK) {
665  }
666  ptr->MONITOR[monitor_index].HIGH_LIMIT = SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_SET(limit_high);
667  ptr->MONITOR[monitor_index].LOW_LIMIT = SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_SET(limit_low);
668  return status_success;
669 }
670 
678 static inline uint32_t sysctl_monitor_get_limit_high(SYSCTL_Type *ptr, uint32_t monitor_index)
679 {
680  return SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_GET(ptr->MONITOR[monitor_index].HIGH_LIMIT);
681 }
682 
690 static inline uint32_t sysctl_monitor_get_limit_low(SYSCTL_Type *ptr, uint32_t monitor_index)
691 {
692  return SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_SET(ptr->MONITOR[monitor_index].LOW_LIMIT);
693 }
694 
705  uint8_t monitor_index,
706  monitor_target_t target,
707  bool enable_output);
708 
717 static inline void sysctl_set_enable_cpu_affiliate(SYSCTL_Type *ptr, uint8_t cpu_index)
718 {
719  ptr->AFFILIATE[cpu_index].SET = 1 << cpu_index;
720 }
721 
728 static inline void sysctl_set_disable_cpu_affiliate(SYSCTL_Type *ptr, uint8_t cpu_index)
729 {
730  ptr->AFFILIATE[cpu_index].CLEAR = 1 << cpu_index;
731 }
732 
739 static inline bool sysctl_resource_any_is_busy(SYSCTL_Type *ptr)
740 {
741  return ptr->RESOURCE[0] & SYSCTL_RESOURCE_GLB_BUSY_MASK;
742 }
743 
752 {
753  return ptr->RESOURCE[resource] & SYSCTL_RESOURCE_LOC_BUSY_MASK;
754 }
755 
764  sysctl_resource_t resource,
766 {
767  ptr->RESOURCE[resource] =
768  (ptr->RESOURCE[resource] & ~SYSCTL_RESOURCE_MODE_MASK) |
770 }
771 
779 static inline uint8_t sysctl_resource_target_get_mode(SYSCTL_Type *ptr,
780  sysctl_resource_t resource)
781 {
782  return SYSCTL_RESOURCE_MODE_GET(ptr->RESOURCE[resource]);
783 }
784 
792 static inline void sysctl_clear_cpu_lp_retention_with_mask(SYSCTL_Type *ptr, uint8_t cpu_index, uint32_t mask)
793 {
794  ptr->RETENTION[cpu_index].CLEAR = mask;
795 }
796 
803 static inline void sysctl_clear_cpu0_lp_retention_with_mask(SYSCTL_Type *ptr, uint32_t mask)
804 {
806 }
807 
814 static inline void sysctl_clear_cpu1_lp_retention_with_mask(SYSCTL_Type *ptr, uint32_t mask)
815 {
817 }
818 
826 static inline void sysctl_set_cpu_lp_retention_with_mask(SYSCTL_Type *ptr, uint8_t cpu_index, uint32_t mask)
827 {
828  ptr->RETENTION[cpu_index].SET = mask;
829 }
830 
837 static inline void sysctl_set_cpu0_lp_retention_with_mask(SYSCTL_Type *ptr, uint32_t mask)
838 {
840 }
841 
848 static inline void sysctl_set_cpu1_lp_retention_with_mask(SYSCTL_Type *ptr, uint32_t mask)
849 {
851 }
852 
860 static inline void sysctl_set_cpu_lp_retention(SYSCTL_Type *ptr, uint8_t cpu_index, uint32_t value)
861 {
862  ptr->RETENTION[cpu_index].VALUE = value;
863 }
864 
871 static inline void sysctl_set_cpu0_lp_retention(SYSCTL_Type *ptr, uint32_t value)
872 {
873  sysctl_set_cpu_lp_retention(ptr, 0, value);
874 }
875 
882 static inline void sysctl_set_cpu1_lp_retention(SYSCTL_Type *ptr, uint32_t value)
883 {
884  sysctl_set_cpu_lp_retention(ptr, 1, value);
885 }
886 
896  uint8_t cpu_index,
898  bool retain_mem)
899 {
900  uint8_t set_mask = 0x1;
901  if (domain < sysctl_retention_domain_xtal24m) {
902  set_mask = retain_mem ? 0x3 : 0x1;
903  }
904  ptr->RETENTION[cpu_index].SET = (set_mask << domain);
905 }
906 
916  bool retain_mem)
917 {
918  sysctl_set_cpu_lp_retain_domain(ptr, 0, domain, retain_mem);
919 }
920 
930  bool retain_mem)
931 {
932  sysctl_set_cpu_lp_retain_domain(ptr, 1, domain, retain_mem);
933 }
934 
941 static inline bool sysctl_clock_any_is_busy(SYSCTL_Type *ptr)
942 {
943  return ptr->CLOCK[0] & SYSCTL_CLOCK_GLB_BUSY_MASK;
944 }
945 
953 static inline bool sysctl_clock_target_is_busy(SYSCTL_Type *ptr, uint32_t clock)
954 {
955  return ptr->CLOCK[clock] & SYSCTL_CLOCK_LOC_BUSY_MASK;
956 }
957 
965 {
966  ptr->CLOCK[clock] |= SYSCTL_CLOCK_PRESERVE_MASK;
967 }
968 
976 {
977  ptr->CLOCK[clock] &= ~SYSCTL_CLOCK_PRESERVE_MASK;
978 }
979 
986 static inline void sysctl_clock_set_preset(SYSCTL_Type *ptr, sysctl_preset_t preset)
987 {
989 }
990 
999 {
1000  return ptr->RESET[domain].CONTROL & SYSCTL_RESET_CONTROL_FLAG_WAKE_MASK;
1001 }
1002 
1010 {
1012 }
1013 
1022 {
1023  return ptr->RESET[domain].CONTROL & SYSCTL_RESET_CONTROL_FLAG_MASK;
1024 }
1025 
1033 {
1035 }
1036 
1044 {
1046 }
1047 
1056 static inline uint32_t sysctl_get_wakeup_source_status(SYSCTL_Type *ptr, uint8_t cpu_index, uint8_t status_index)
1057 {
1058  return ptr->CPU[cpu_index].WAKEUP_STATUS[status_index];
1059 }
1060 
1068 static inline uint32_t sysctl_get_cpu0_wakeup_source_status(SYSCTL_Type *ptr, uint8_t status_index)
1069 {
1070  return sysctl_get_wakeup_source_status(ptr, 0, status_index);
1071 }
1072 
1080 static inline uint32_t sysctl_get_cpu1_wakeup_source_status(SYSCTL_Type *ptr, uint8_t status_index)
1081 {
1082  return sysctl_get_wakeup_source_status(ptr, 1, status_index);
1083 }
1084 
1095  uint8_t cpu_index,
1096  uint8_t status_index,
1097  uint32_t mask)
1098 {
1099  return ptr->CPU[cpu_index].WAKEUP_STATUS[status_index] & mask;
1100 }
1101 
1111  uint8_t status_index,
1112  uint32_t mask)
1113 {
1114  return sysctl_check_wakeup_source_status_with_mask(ptr, 0, status_index, mask);
1115 }
1116 
1126  uint8_t status_index,
1127  uint32_t mask)
1128 {
1129  return sysctl_check_wakeup_source_status_with_mask(ptr, 1, status_index, mask);
1130 }
1131 
1141  uint8_t cpu_index,
1142  uint8_t enable_index,
1143  uint32_t mask)
1144 {
1145  ptr->CPU[cpu_index].WAKEUP_ENABLE[enable_index] |= mask;
1146 }
1147 
1156  uint8_t enable_index,
1157  uint32_t mask)
1158 {
1159  ptr->CPU[0].WAKEUP_ENABLE[enable_index] |= mask;
1160 }
1161 
1170  uint8_t enable_index,
1171  uint32_t mask)
1172 {
1173  ptr->CPU[1].WAKEUP_ENABLE[enable_index] |= mask;
1174 }
1175 
1185  uint8_t cpu_index,
1186  uint8_t enable_index,
1187  uint32_t mask)
1188 {
1189  ptr->CPU[cpu_index].WAKEUP_ENABLE[enable_index] &= ~mask;
1190 }
1191 
1200  uint8_t enable_index,
1201  uint32_t mask)
1202 {
1203  sysctl_disable_wakeup_source_with_mask(ptr, 0, enable_index, mask);
1204 }
1205 
1206 
1215  uint8_t enable_index,
1216  uint32_t mask)
1217 {
1218  sysctl_disable_wakeup_source_with_mask(ptr, 1, enable_index, mask);
1219 }
1220 
1229  uint8_t cpu_index,
1230  uint16_t irq_num)
1231 {
1232  ptr->CPU[cpu_index].WAKEUP_ENABLE[irq_num >> 2] &= ~(1UL << (irq_num % 32));
1233 }
1234 
1241 static inline void sysctl_disable_cpu0_wakeup_source_with_irq(SYSCTL_Type *ptr, uint16_t irq_num)
1242 {
1243  sysctl_disable_wakeup_source_with_irq(ptr, 0, irq_num);
1244 }
1245 
1246 
1253 static inline void sysctl_disable_cpu1_wakeup_source_with_irq(SYSCTL_Type *ptr, uint16_t irq_num)
1254 {
1255  sysctl_disable_wakeup_source_with_irq(ptr, 1, irq_num);
1256 }
1257 
1265 static inline void sysctl_enable_wakeup_source_with_irq(SYSCTL_Type *ptr, uint8_t cpu_index, uint16_t irq_num)
1266 {
1267  ptr->CPU[cpu_index].WAKEUP_ENABLE[irq_num / 32] |= 1UL << (irq_num & 0x1F);
1268 }
1269 
1276 static inline void sysctl_enable_cpu0_wakeup_source_with_irq(SYSCTL_Type *ptr, uint16_t irq_num)
1277 {
1278  sysctl_enable_wakeup_source_with_irq(ptr, 0, irq_num);
1279 }
1280 
1287 static inline void sysctl_enable_cpu1_wakeup_source_with_irq(SYSCTL_Type *ptr, uint16_t irq_num)
1288 {
1289  sysctl_enable_wakeup_source_with_irq(ptr, 1, irq_num);
1290 }
1291 
1299 static inline void sysctl_cpu_lock_gpr_with_mask(SYSCTL_Type *ptr, uint8_t cpu_index, uint16_t gpr_mask)
1300 {
1301  ptr->CPU[cpu_index].LOCK |= SYSCTL_CPU_LOCK_GPR_SET(gpr_mask);
1302 }
1303 
1304 
1311 static inline void sysctl_cpu0_lock_gpr_with_mask(SYSCTL_Type *ptr, uint16_t gpr_mask)
1312 {
1313  sysctl_cpu_lock_gpr_with_mask(ptr, 0, gpr_mask);
1314 }
1315 
1322 static inline void sysctl_cpu1_lock_gpr_with_mask(SYSCTL_Type *ptr, uint16_t gpr_mask)
1323 {
1324  sysctl_cpu_lock_gpr_with_mask(ptr, 1, gpr_mask);
1325 }
1326 
1333 static inline void sysctl_cpu_lock(SYSCTL_Type *ptr, uint8_t cpu_index)
1334 {
1335  ptr->CPU[cpu_index].LOCK |= SYSCTL_CPU_LOCK_LOCK_MASK;
1336 }
1337 
1343 static inline void sysctl_cpu0_lock(SYSCTL_Type *ptr)
1344 {
1345  sysctl_cpu_lock(ptr, 0);
1346 }
1347 
1353 static inline void sysctl_cpu1_lock(SYSCTL_Type *ptr)
1354 {
1355  sysctl_cpu_lock(ptr, 1);
1356 }
1357 
1365 static inline void sysctl_set_cpu_lp_mode(SYSCTL_Type *ptr, uint8_t cpu_index, cpu_lp_mode_t mode)
1366 {
1367  ptr->CPU[cpu_index].LP = (ptr->CPU[cpu_index].LP & ~(SYSCTL_CPU_LP_MODE_MASK)) | (mode);
1368 }
1369 
1376 static inline void sysctl_set_cpu0_lp_mode(SYSCTL_Type *ptr, cpu_lp_mode_t mode)
1377 {
1378  sysctl_set_cpu_lp_mode(ptr, 0, mode);
1379 }
1380 
1387 static inline void sysctl_set_cpu1_lp_mode(SYSCTL_Type *ptr, cpu_lp_mode_t mode)
1388 {
1389  sysctl_set_cpu_lp_mode(ptr, 1, mode);
1390 }
1391 
1399 static inline void sysctl_clear_cpu_flags(SYSCTL_Type *ptr, uint8_t cpu_index, cpu_event_flag_mask_t flags)
1400 {
1401  ptr->CPU[cpu_index].LP |=
1403 }
1404 
1412 {
1413  sysctl_clear_cpu_flags(ptr, 0, flags);
1414 }
1415 
1423 {
1424  sysctl_clear_cpu_flags(ptr, 1, flags);
1425 }
1426 
1434 static inline uint32_t sysctl_get_cpu_flags(SYSCTL_Type *ptr, uint8_t cpu_index)
1435 {
1436  return ptr->CPU[cpu_index].LP &
1438 }
1439 
1446 static inline uint32_t sysctl_get_cpu0_flags(SYSCTL_Type *ptr)
1447 {
1448  return sysctl_get_cpu_flags(ptr, 0);
1449 }
1450 
1457 static inline uint32_t sysctl_get_cpu1_flags(SYSCTL_Type *ptr)
1458 {
1459  return sysctl_get_cpu_flags(ptr, 1);
1460 }
1461 
1468 static inline void sysctl_release_cpu(SYSCTL_Type *ptr, uint8_t cpu_index)
1469 {
1470  ptr->CPU[cpu_index].LP &= ~SYSCTL_CPU_LP_HALT_MASK;
1471 }
1472 
1478 static inline void sysctl_release_cpu1(SYSCTL_Type *ptr)
1479 {
1480  sysctl_release_cpu(ptr, 1);
1481 }
1482 
1491 static inline bool sysctl_is_cpu_released(SYSCTL_Type *ptr, uint8_t cpu_index)
1492 {
1493  return ((ptr->CPU[cpu_index].LP & SYSCTL_CPU_LP_HALT_MASK) == 0U);
1494 }
1495 
1503 static inline bool sysctl_is_cpu1_released(SYSCTL_Type *ptr)
1504 {
1505  return sysctl_is_cpu_released(ptr, 1);
1506 }
1507 
1517 hpm_stat_t sysctl_config_clock(SYSCTL_Type *ptr, clock_node_t node, clock_source_t source, uint32_t divide_by);
1518 
1528 
1538 
1549  uint8_t group,
1550  sysctl_resource_t resource,
1551  bool enable);
1552 
1561 bool sysctl_check_group_resource_enable(SYSCTL_Type *ptr, uint8_t group, sysctl_resource_t linkable_resource);
1562 
1571 uint32_t sysctl_get_group_resource_value(SYSCTL_Type *ptr, uint8_t group, uint8_t index);
1572 
1581 
1590 
1599 
1608 
1616 
1624 void sysctl_monitor_init(SYSCTL_Type *ptr, uint8_t monitor_index, monitor_config_t *config);
1625 
1636 hpm_stat_t sysctl_cpu0_set_gpr(SYSCTL_Type *ptr, uint8_t start, uint8_t count, uint32_t *data, bool lock);
1637 
1647 hpm_stat_t sysctl_cpu0_get_gpr(SYSCTL_Type *ptr, uint8_t start, uint8_t count, uint32_t *data);
1648 
1659 hpm_stat_t sysctl_cpu1_set_gpr(SYSCTL_Type *ptr, uint8_t start, uint8_t count, uint32_t *data, bool lock);
1660 
1670 hpm_stat_t sysctl_get_cpu1_gpr(SYSCTL_Type *ptr, uint8_t start, uint8_t count, uint32_t *data);
1671 
1680 hpm_stat_t sysctl_set_cpu_entry(SYSCTL_Type *ptr, uint8_t cpu, uint32_t entry);
1681 
1690 
1698 hpm_stat_t sysctl_set_cpu1_entry(SYSCTL_Type *ptr, uint32_t entry);
1699 
1700 #ifdef __cplusplus
1701 }
1702 #endif
1706 #endif /* HPM_SYSCTL_DRV_H */
#define SYSCTL_CLOCK_CLK_TOP_SPI0
Definition: hpm_sysctl_regs.h:1205
#define SYSCTL_RESOURCE_CLK_TOP_SPI3
Definition: hpm_sysctl_regs.h:1099
#define SYSCTL_CLOCK_LOC_BUSY_MASK
Definition: hpm_sysctl_regs.h:602
#define SYSCTL_CLOCK_CLK_TOP_I2C0
Definition: hpm_sysctl_regs.h:1201
#define SYSCTL_CLOCK_CLK_TOP_XPI0
Definition: hpm_sysctl_regs.h:1217
#define SYSCTL_RESOURCE_CLK_TOP_TMR1
Definition: hpm_sysctl_regs.h:1089
#define SYSCTL_CLOCK_CLK_TOP_URT6
Definition: hpm_sysctl_regs.h:1215
#define SYSCTL_RESOURCE_CAN1
Definition: hpm_sysctl_regs.h:1124
#define SYSCTL_RESOURCE_CLK_TOP_TMR3
Definition: hpm_sysctl_regs.h:1091
#define SYSCTL_CPU_LOCK_GPR_SET(x)
Definition: hpm_sysctl_regs.h:1017
#define SYSCTL_RESET_CONTROL_FLAG_WAKE_MASK
Definition: hpm_sysctl_regs.h:413
#define SYSCTL_RESOURCE_CLK_SRC_CLK0_PLL1
Definition: hpm_sysctl_regs.h:1076
#define SYSCTL_RESOURCE_RNG0
Definition: hpm_sysctl_regs.h:1161
#define SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_SET(x)
Definition: hpm_sysctl_regs.h:911
#define SYSCTL_CLOCK_CLK_TOP_URT5
Definition: hpm_sysctl_regs.h:1214
#define SYSCTL_RESOURCE_CLK_TOP_URT5
Definition: hpm_sysctl_regs.h:1105
#define SYSCTL_GLOBAL00_MUX_SET(x)
Definition: hpm_sysctl_regs.h:761
#define SYSCTL_CLOCK_CLK_TOP_TMR2
Definition: hpm_sysctl_regs.h:1199
#define SYSCTL_CLOCK_CLK_TOP_SPI1
Definition: hpm_sysctl_regs.h:1206
#define SYSCTL_RESOURCE_SPI3
Definition: hpm_sysctl_regs.h:1139
#define SYSCTL_RESOURCE_HDMA
Definition: hpm_sysctl_regs.h:1165
#define SYSCTL_CLOCK_PRESERVE_MASK
Definition: hpm_sysctl_regs.h:613
#define SYSCTL_CLOCK_CLK_TOP_ANA1
Definition: hpm_sysctl_regs.h:1219
#define SYSCTL_RESOURCE_I2C0
Definition: hpm_sysctl_regs.h:1132
#define SYSCTL_CPU_LP_MODE_MASK
Definition: hpm_sysctl_regs.h:1004
#define SYSCTL_CLOCK_CLK_TOP_ANA3
Definition: hpm_sysctl_regs.h:1221
#define SYSCTL_RESOURCE_URT0
Definition: hpm_sysctl_regs.h:1140
#define SYSCTL_RESOURCE_CLK_TOP_URT7
Definition: hpm_sysctl_regs.h:1107
#define SYSCTL_CLOCK_CLK_TOP_URT2
Definition: hpm_sysctl_regs.h:1211
#define SYSCTL_RESOURCE_CLK_TOP_I2C0
Definition: hpm_sysctl_regs.h:1092
#define SYSCTL_RESOURCE_SPI1
Definition: hpm_sysctl_regs.h:1137
#define SYSCTL_RESOURCE_CLK_TOP_I2C3
Definition: hpm_sysctl_regs.h:1095
#define SYSCTL_RESOURCE_CLK_TOP_URT1
Definition: hpm_sysctl_regs.h:1101
#define SYSCTL_RESOURCE_CLK_TOP_TMR2
Definition: hpm_sysctl_regs.h:1090
#define SYSCTL_CLOCK_CLK_TOP_I2C3
Definition: hpm_sysctl_regs.h:1204
#define SYSCTL_CLOCK_CLK_TOP_TMR3
Definition: hpm_sysctl_regs.h:1200
#define SYSCTL_CLOCK_CLK_TOP_SPI3
Definition: hpm_sysctl_regs.h:1208
#define SYSCTL_RESOURCE_URT5
Definition: hpm_sysctl_regs.h:1145
#define SYSCTL_CLOCK_CLK_TOP_CAN2
Definition: hpm_sysctl_regs.h:1195
#define SYSCTL_RESOURCE_CLK_TOP_URT4
Definition: hpm_sysctl_regs.h:1104
#define SYSCTL_RESOURCE_URT4
Definition: hpm_sysctl_regs.h:1144
#define SYSCTL_CPU_LP_RESET_FLAG_MASK
Definition: hpm_sysctl_regs.h:990
#define SYSCTL_RESOURCE_I2C3
Definition: hpm_sysctl_regs.h:1135
#define SYSCTL_RESOURCE_GPIO
Definition: hpm_sysctl_regs.h:1164
#define SYSCTL_RESOURCE_URT7
Definition: hpm_sysctl_regs.h:1147
#define SYSCTL_MONITOR_CONTROL_MODE_MASK
Definition: hpm_sysctl_regs.h:843
#define SYSCTL_RESOURCE_CLK_TOP_XPI0
Definition: hpm_sysctl_regs.h:1108
#define SYSCTL_CLOCK_CLK_TOP_CAN0
Definition: hpm_sysctl_regs.h:1193
#define SYSCTL_RESOURCE_USB0
Definition: hpm_sysctl_regs.h:1167
#define SYSCTL_RESOURCE_SPI0
Definition: hpm_sysctl_regs.h:1136
#define SYSCTL_RESOURCE_CLK_TOP_URT3
Definition: hpm_sysctl_regs.h:1103
#define SYSCTL_RESOURCE_CLK_TOP_CAN3
Definition: hpm_sysctl_regs.h:1087
#define SYSCTL_CLOCK_CLK_TOP_REF0
Definition: hpm_sysctl_regs.h:1222
#define SYSCTL_RESOURCE_CLK_SRC_PLL1
Definition: hpm_sysctl_regs.h:1075
#define SYSCTL_RESOURCE_CLK_TOP_ANA2
Definition: hpm_sysctl_regs.h:1111
#define SYSCTL_RESOURCE_CLK_TOP_CAN1
Definition: hpm_sysctl_regs.h:1085
#define SYSCTL_CLOCK_CLK_TOP_URT0
Definition: hpm_sysctl_regs.h:1209
#define SYSCTL_RESET_CONTROL_FLAG_MASK
Definition: hpm_sysctl_regs.h:401
#define SYSCTL_CLOCK_CLK_TOP_REF1
Definition: hpm_sysctl_regs.h:1223
#define SYSCTL_CLOCK_CLK_TOP_I2C2
Definition: hpm_sysctl_regs.h:1203
#define SYSCTL_RESOURCE_CLK_TOP_SPI1
Definition: hpm_sysctl_regs.h:1097
#define SYSCTL_CLOCK_CLK_TOP_TMR0
Definition: hpm_sysctl_regs.h:1197
#define SYSCTL_RESOURCE_TSNS
Definition: hpm_sysctl_regs.h:1151
#define SYSCTL_RESOURCE_CAN3
Definition: hpm_sysctl_regs.h:1126
#define SYSCTL_RESOURCE_CLK_TOP_TMR0
Definition: hpm_sysctl_regs.h:1088
#define SYSCTL_RESOURCE_KMAN
Definition: hpm_sysctl_regs.h:1163
#define SYSCTL_CLOCK_CLK_TOP_URT1
Definition: hpm_sysctl_regs.h:1210
#define SYSCTL_RESOURCE_CLK_TOP_URT0
Definition: hpm_sysctl_regs.h:1100
#define SYSCTL_RESOURCE_TMR1
Definition: hpm_sysctl_regs.h:1129
#define SYSCTL_RESOURCE_CLK_TOP_REF0
Definition: hpm_sysctl_regs.h:1113
#define SYSCTL_RESOURCE_I2C2
Definition: hpm_sysctl_regs.h:1134
#define SYSCTL_CPU_LP_HALT_MASK
Definition: hpm_sysctl_regs.h:932
#define SYSCTL_RESOURCE_SPI2
Definition: hpm_sysctl_regs.h:1138
#define SYSCTL_CLOCK_CLK_TOP_URT7
Definition: hpm_sysctl_regs.h:1216
#define SYSCTL_RESOURCE_CLK_TOP_CPU0
Definition: hpm_sysctl_regs.h:1082
#define SYSCTL_CLOCK_CLK_TOP_URT4
Definition: hpm_sysctl_regs.h:1213
#define SYSCTL_CLOCK_CLK_TOP_TMR1
Definition: hpm_sysctl_regs.h:1198
#define SYSCTL_RESOURCE_MODE_SET(x)
Definition: hpm_sysctl_regs.h:113
#define SYSCTL_RESOURCE_CPU0
Definition: hpm_sysctl_regs.h:1065
#define SYSCTL_RESOURCE_CLK_SRC_PLL0_REF
Definition: hpm_sysctl_regs.h:1080
#define SYSCTL_RESOURCE_CLK_SRC_CLK1_PLL0
Definition: hpm_sysctl_regs.h:1073
#define SYSCTL_CPU_LOCK_LOCK_MASK
Definition: hpm_sysctl_regs.h:1025
#define SYSCTL_RESOURCE_URT1
Definition: hpm_sysctl_regs.h:1141
#define SYSCTL_RESOURCE_CLK_TOP_ANA0
Definition: hpm_sysctl_regs.h:1109
#define SYSCTL_RESOURCE_LOC_BUSY_MASK
Definition: hpm_sysctl_regs.h:98
#define SYSCTL_RESOURCE_I2C1
Definition: hpm_sysctl_regs.h:1133
#define SYSCTL_MONITOR_CONTROL_MODE_SET(x)
Definition: hpm_sysctl_regs.h:845
#define SYSCTL_CLOCK_CLK_TOP_SPI2
Definition: hpm_sysctl_regs.h:1207
#define SYSCTL_RESOURCE_TMR3
Definition: hpm_sysctl_regs.h:1131
#define SYSCTL_RESOURCE_URT6
Definition: hpm_sysctl_regs.h:1146
#define SYSCTL_RESOURCE_CLK_SRC_CLK2_PLL1
Definition: hpm_sysctl_regs.h:1078
#define SYSCTL_MONITOR_HIGH_LIMIT_FREQUENCY_GET(x)
Definition: hpm_sysctl_regs.h:912
#define SYSCTL_RESOURCE_CLK_TOP_ANA1
Definition: hpm_sysctl_regs.h:1110
#define SYSCTL_MONITOR_CONTROL_VALID_GET(x)
Definition: hpm_sysctl_regs.h:775
#define SYSCTL_CLOCK_GLB_BUSY_MASK
Definition: hpm_sysctl_regs.h:591
#define SYSCTL_RESOURCE_CLK_TOP_CAN0
Definition: hpm_sysctl_regs.h:1084
#define SYSCTL_CLOCK_CLK_TOP_I2C1
Definition: hpm_sysctl_regs.h:1202
#define SYSCTL_CLOCK_CLK_TOP_CAN3
Definition: hpm_sysctl_regs.h:1196
#define SYSCTL_RESOURCE_PTPC
Definition: hpm_sysctl_regs.h:1127
#define SYSCTL_RESOURCE_CLK_SRC_XTAL
Definition: hpm_sysctl_regs.h:1070
#define SYSCTL_RESOURCE_CLK_TOP_URT2
Definition: hpm_sysctl_regs.h:1102
#define SYSCTL_MONITOR_LOW_LIMIT_FREQUENCY_SET(x)
Definition: hpm_sysctl_regs.h:900
#define SYSCTL_RESOURCE_TMR0
Definition: hpm_sysctl_regs.h:1128
#define SYSCTL_RESOURCE_MODE_GET(x)
Definition: hpm_sysctl_regs.h:114
#define SYSCTL_RESOURCE_RST_SOC
Definition: hpm_sysctl_regs.h:1068
#define SYSCTL_RESOURCE_CLK_SRC_PLL0
Definition: hpm_sysctl_regs.h:1071
#define SYSCTL_RESOURCE_RST_CPU0
Definition: hpm_sysctl_regs.h:1069
#define SYSCTL_RESOURCE_ADC1
Definition: hpm_sysctl_regs.h:1154
#define SYSCTL_RESOURCE_URT3
Definition: hpm_sysctl_regs.h:1143
#define SYSCTL_RESOURCE_CLK_SRC_CLK0_PLL0
Definition: hpm_sysctl_regs.h:1072
#define SYSCTL_RESOURCE_MODE_MASK
Definition: hpm_sysctl_regs.h:111
#define SYSCTL_RESOURCE_WDG0
Definition: hpm_sysctl_regs.h:1148
#define SYSCTL_RESOURCE_GLB_BUSY_MASK
Definition: hpm_sysctl_regs.h:87
#define SYSCTL_RESOURCE_CAN2
Definition: hpm_sysctl_regs.h:1125
#define SYSCTL_RESOURCE_MCT0
Definition: hpm_sysctl_regs.h:1121
#define SYSCTL_RESOURCE_CLK_TOP_SPI0
Definition: hpm_sysctl_regs.h:1096
#define SYSCTL_RESOURCE_CLK_TOP_CAN2
Definition: hpm_sysctl_regs.h:1086
#define SYSCTL_RESOURCE_CLK_TOP_MCT0
Definition: hpm_sysctl_regs.h:1083
#define SYSCTL_RESOURCE_CLK_TOP_ADC0
Definition: hpm_sysctl_regs.h:1115
#define SYSCTL_CLOCK_CLK_TOP_URT3
Definition: hpm_sysctl_regs.h:1212
#define SYSCTL_RESOURCE_ADC0
Definition: hpm_sysctl_regs.h:1153
#define SYSCTL_RESOURCE_POW_CPU0
Definition: hpm_sysctl_regs.h:1067
#define SYSCTL_RESOURCE_ROM0
Definition: hpm_sysctl_regs.h:1122
#define SYSCTL_RESOURCE_CLK_TOP_ADC1
Definition: hpm_sysctl_regs.h:1116
#define SYSCTL_RESOURCE_TMR2
Definition: hpm_sysctl_regs.h:1130
#define SYSCTL_CLOCK_CLK_TOP_ANA0
Definition: hpm_sysctl_regs.h:1218
#define SYSCTL_RESOURCE_CLK_TOP_ANA3
Definition: hpm_sysctl_regs.h:1112
#define SYSCTL_RESOURCE_XPI0
Definition: hpm_sysctl_regs.h:1166
#define SYSCTL_RESOURCE_REF0
Definition: hpm_sysctl_regs.h:1168
#define SYSCTL_CPU_LP_WAKE_FLAG_MASK
Definition: hpm_sysctl_regs.h:966
#define SYSCTL_CLOCK_CLK_TOP_CAN1
Definition: hpm_sysctl_regs.h:1194
#define SYSCTL_RESOURCE_CLK_SRC_PLL1_REF
Definition: hpm_sysctl_regs.h:1081
#define SYSCTL_RESOURCE_CRC0
Definition: hpm_sysctl_regs.h:1152
#define SYSCTL_RESOURCE_LMM0
Definition: hpm_sysctl_regs.h:1120
#define SYSCTL_RESOURCE_WDG1
Definition: hpm_sysctl_regs.h:1149
#define SYSCTL_RESOURCE_CLK_TOP_SPI2
Definition: hpm_sysctl_regs.h:1098
#define SYSCTL_RESOURCE_SDP0
Definition: hpm_sysctl_regs.h:1162
#define SYSCTL_RESOURCE_CLK_TOP_REF1
Definition: hpm_sysctl_regs.h:1114
#define SYSCTL_RESOURCE_REF1
Definition: hpm_sysctl_regs.h:1169
#define SYSCTL_RESOURCE_MBX0
Definition: hpm_sysctl_regs.h:1150
#define SYSCTL_RESOURCE_URT2
Definition: hpm_sysctl_regs.h:1142
#define SYSCTL_CLOCK_CLK_TOP_MCT0
Definition: hpm_sysctl_regs.h:1192
#define SYSCTL_RESOURCE_CLK_TOP_I2C1
Definition: hpm_sysctl_regs.h:1093
#define SYSCTL_RESOURCE_CAN0
Definition: hpm_sysctl_regs.h:1123
#define SYSCTL_CLOCK_CLK_TOP_ANA2
Definition: hpm_sysctl_regs.h:1220
#define SYSCTL_GLOBAL00_MUX_MASK
Definition: hpm_sysctl_regs.h:759
#define SYSCTL_RESOURCE_CLK_SRC_CLK1_PLL1
Definition: hpm_sysctl_regs.h:1077
#define SYSCTL_RESOURCE_CLK_TOP_URT6
Definition: hpm_sysctl_regs.h:1106
#define SYSCTL_RESOURCE_CLK_TOP_I2C2
Definition: hpm_sysctl_regs.h:1094
#define SYSCTL_RESOURCE_CPX0
Definition: hpm_sysctl_regs.h:1066
#define SYSCTL_CPU_LP_SLEEP_FLAG_MASK
Definition: hpm_sysctl_regs.h:978
#define SYSCTL_CLOCK_CLK_TOP_MCT1
Definition: hpm_sysctl_regs.h:1316
#define SYSCTL_RESOURCE_MBX1
Definition: hpm_sysctl_regs.h:1266
#define SYSCTL_RESOURCE_POW_CPU1
Definition: hpm_sysctl_regs.h:1154
#define SYSCTL_RESOURCE_XDMA
Definition: hpm_sysctl_regs.h:1275
#define SYSCTL_RESOURCE_SDM0
Definition: hpm_sysctl_regs.h:1245
#define SYSCTL_RESOURCE_AHBP
Definition: hpm_sysctl_regs.h:1217
#define SYSCTL_RESOURCE_CPX1
Definition: hpm_sysctl_regs.h:1152
#define SYSCTL_RESOURCE_CPU1
Definition: hpm_sysctl_regs.h:1151
#define SYSCTL_RESOURCE_AXIS
Definition: hpm_sysctl_regs.h:1218
#define SYSCTL_RESOURCE_MCT1
Definition: hpm_sysctl_regs.h:1223
#define SYSCTL_RESOURCE_CLK_TOP_ADC2
Definition: hpm_sysctl_regs.h:1214
#define SYSCTL_RESOURCE_CLK_TOP_MCT1
Definition: hpm_sysctl_regs.h:1174
#define SYSCTL_RESOURCE_CLK_SRC_CLK1_PLL2
Definition: hpm_sysctl_regs.h:1168
#define SYSCTL_RESOURCE_RST_CPU1
Definition: hpm_sysctl_regs.h:1157
#define SYSCTL_RESOURCE_LMM1
Definition: hpm_sysctl_regs.h:1222
#define SYSCTL_RESOURCE_AXIC
Definition: hpm_sysctl_regs.h:1219
#define SYSCTL_RESOURCE_CLK_SRC_PLL2
Definition: hpm_sysctl_regs.h:1166
#define SYSCTL_RESOURCE_RAM0
Definition: hpm_sysctl_regs.h:1225
#define SYSCTL_RESOURCE_ADC2
Definition: hpm_sysctl_regs.h:1237
#define SYSCTL_RESOURCE_CLK_SRC_PLL2_REF
Definition: hpm_sysctl_regs.h:1171
#define SYSCTL_RESOURCE_CLK_SRC_CLK0_PLL2
Definition: hpm_sysctl_regs.h:1167
#define SYSCTL_RESOURCE_I2S0
Definition: hpm_sysctl_regs.h:1199
#define SYSCTL_RESOURCE_CLK_TOP_FEMC
Definition: hpm_sysctl_regs.h:1106
#define SYSCTL_CLOCK_CLK_TOP_AUD1
Definition: hpm_sysctl_regs.h:1266
#define SYSCTL_RESOURCE_CLK_TOP_PTP0
Definition: hpm_sysctl_regs.h:1139
#define SYSCTL_CLOCK_CLK_TOP_PTP0
Definition: hpm_sysctl_regs.h:1268
#define SYSCTL_RESOURCE_NTM0
Definition: hpm_sysctl_regs.h:1207
#define SYSCTL_CLOCK_CLK_TOP_AUD0
Definition: hpm_sysctl_regs.h:1265
#define SYSCTL_RESOURCE_I2S1
Definition: hpm_sysctl_regs.h:1200
#define SYSCTL_RESOURCE_PDM0
Definition: hpm_sysctl_regs.h:1201
#define SYSCTL_RESOURCE_CLK_TOP_I2S1
Definition: hpm_sysctl_regs.h:1149
#define SYSCTL_RESOURCE_CLK_TOP_AUD0
Definition: hpm_sysctl_regs.h:1136
#define SYSCTL_CLOCK_CLK_TOP_NTM0
Definition: hpm_sysctl_regs.h:1271
#define SYSCTL_RESOURCE_CLK_TOP_NTM0
Definition: hpm_sysctl_regs.h:1142
#define SYSCTL_RESOURCE_ETH0
Definition: hpm_sysctl_regs.h:1206
#define SYSCTL_RESOURCE_CLK_TOP_ETH0
Definition: hpm_sysctl_regs.h:1138
#define SYSCTL_RESOURCE_FEMC
Definition: hpm_sysctl_regs.h:1153
#define SYSCTL_RESOURCE_FFA0
Definition: hpm_sysctl_regs.h:1165
#define SYSCTL_CLOCK_CLK_TOP_FEMC
Definition: hpm_sysctl_regs.h:1235
#define SYSCTL_CLOCK_CLK_TOP_ETH0
Definition: hpm_sysctl_regs.h:1267
#define SYSCTL_RESOURCE_CLK_TOP_AUD1
Definition: hpm_sysctl_regs.h:1137
#define SYSCTL_RESOURCE_CLK_TOP_I2S0
Definition: hpm_sysctl_regs.h:1148
#define SYSCTL_RESOURCE_WDG3
Definition: hpm_sysctl_regs.h:1102
#define SYSCTL_RESOURCE_CLK_TOP_CPU1
Definition: hpm_sysctl_regs.h:1004
#define SYSCTL_CLOCK_CLK_TOP_CPU1
Definition: hpm_sysctl_regs.h:1206
#define SYSCTL_RESOURCE_WDG2
Definition: hpm_sysctl_regs.h:1101
#define SYSCTL_RESOURCE_CLK_TOP_ADC3
Definition: hpm_sysctl_regs.h:1072
#define SYSCTL_CLOCK_CLK_TOP_CPU0
Definition: hpm_sysctl_regs.h:1204
#define SYSCTL_RESOURCE_ADC3
Definition: hpm_sysctl_regs.h:1143
#define SYSCTL_RESOURCE_CLK_TOP_AXIS
Definition: hpm_sysctl_regs.h:985
#define SYSCTL_RESOURCE_CLK_TOP_CAN7
Definition: hpm_sysctl_regs.h:996
#define SYSCTL_RESOURCE_TMR5
Definition: hpm_sysctl_regs.h:1109
#define SYSCTL_RESOURCE_CAN6
Definition: hpm_sysctl_regs.h:1071
#define SYSCTL_CLOCK_CLK_TOP_CAN7
Definition: hpm_sysctl_regs.h:1194
#define SYSCTL_RESOURCE_CAN7
Definition: hpm_sysctl_regs.h:1072
#define SYSCTL_RESOURCE_CLK_TOP_TMR7
Definition: hpm_sysctl_regs.h:1028
#define SYSCTL_RESOURCE_TMR7
Definition: hpm_sysctl_regs.h:1111
#define SYSCTL_CLOCK_CLK_TOP_CAN6
Definition: hpm_sysctl_regs.h:1193
#define SYSCTL_RESOURCE_CLK_TOP_CAN6
Definition: hpm_sysctl_regs.h:995
#define SYSCTL_RESOURCE_CLK_TOP_AXIC
Definition: hpm_sysctl_regs.h:986
#define SYSCTL_CLOCK_CLK_TOP_TMR6
Definition: hpm_sysctl_regs.h:1225
#define SYSCTL_RESOURCE_TMR4
Definition: hpm_sysctl_regs.h:1108
#define SYSCTL_CLOCK_CLK_TOP_AXIS
Definition: hpm_sysctl_regs.h:1183
#define SYSCTL_RESOURCE_TMR6
Definition: hpm_sysctl_regs.h:1110
#define SYSCTL_RESOURCE_CLK_TOP_TMR4
Definition: hpm_sysctl_regs.h:1025
#define SYSCTL_RESOURCE_CLK_TOP_AXIF
Definition: hpm_sysctl_regs.h:984
#define SYSCTL_RESOURCE_CLK_TOP_TMR6
Definition: hpm_sysctl_regs.h:1027
#define SYSCTL_CLOCK_CLK_TOP_TMR5
Definition: hpm_sysctl_regs.h:1224
#define SYSCTL_RESOURCE_CAN5
Definition: hpm_sysctl_regs.h:1070
#define SYSCTL_CLOCK_CLK_TOP_CAN4
Definition: hpm_sysctl_regs.h:1191
#define SYSCTL_RESOURCE_CLK_TOP_CAN4
Definition: hpm_sysctl_regs.h:993
#define SYSCTL_CLOCK_CLK_TOP_AXIC
Definition: hpm_sysctl_regs.h:1184
#define SYSCTL_CLOCK_CLK_TOP_CAN5
Definition: hpm_sysctl_regs.h:1192
#define SYSCTL_CLOCK_CLK_TOP_TMR7
Definition: hpm_sysctl_regs.h:1226
#define SYSCTL_RESOURCE_CAN4
Definition: hpm_sysctl_regs.h:1069
#define SYSCTL_CLOCK_CLK_TOP_TMR4
Definition: hpm_sysctl_regs.h:1223
#define SYSCTL_CLOCK_CLK_TOP_AXIF
Definition: hpm_sysctl_regs.h:1182
#define SYSCTL_RESOURCE_CLK_TOP_CAN5
Definition: hpm_sysctl_regs.h:994
#define SYSCTL_RESOURCE_CLK_TOP_TMR5
Definition: hpm_sysctl_regs.h:1026
static void sysctl_cpu_lock_gpr_with_mask(SYSCTL_Type *ptr, uint8_t cpu_index, uint16_t gpr_mask)
Lock CPU gpr with mask.
Definition: hpm_sysctl_drv.h:1299
static void sysctl_clock_unpreserve_settings(SYSCTL_Type *ptr, clock_node_t clock)
Unpreserve clock setting for certain node.
Definition: hpm_sysctl_drv.h:975
static void sysctl_disable_wakeup_source_with_irq(SYSCTL_Type *ptr, uint8_t cpu_index, uint16_t irq_num)
Disable wakeup source status with irq.
Definition: hpm_sysctl_drv.h:1228
static void sysctl_enable_wakeup_source_with_mask(SYSCTL_Type *ptr, uint8_t cpu_index, uint8_t enable_index, uint32_t mask)
Enable wakeup source status with mask.
Definition: hpm_sysctl_drv.h:1140
static void sysctl_set_cpu1_lp_retention_with_mask(SYSCTL_Type *ptr, uint32_t mask)
Enable resource retention when CPU1 enters stop mode.
Definition: hpm_sysctl_drv.h:848
static void sysctl_disable_cpu0_wakeup_source_with_mask(SYSCTL_Type *ptr, uint8_t enable_index, uint32_t mask)
Disable CPU0 wakeup source status with mask.
Definition: hpm_sysctl_drv.h:1199
static hpm_stat_t sysctl_monitor_set_limit_low(SYSCTL_Type *ptr, uint8_t monitor_index, uint32_t limit)
Set minimum frequency for target monitor instance.
Definition: hpm_sysctl_drv.h:625
static bool sysctl_reset_check_target_domain_flag(SYSCTL_Type *ptr, sysctl_reset_domain_t domain)
Clear target reset domain reset status.
Definition: hpm_sysctl_drv.h:1021
static void sysctl_disable_cpu1_wakeup_source_with_irq(SYSCTL_Type *ptr, uint16_t irq_num)
Disable CPU1 wakeup source status with irq.
Definition: hpm_sysctl_drv.h:1253
static void sysctl_set_cpu1_lp_retain_domain(SYSCTL_Type *ptr, sysctl_retention_domain_t domain, bool retain_mem)
Retain target domain for specific CPU.
Definition: hpm_sysctl_drv.h:928
static void sysctl_clear_cpu0_lp_retention_with_mask(SYSCTL_Type *ptr, uint32_t mask)
Disable resource retention when CPU0 enters stop mode.
Definition: hpm_sysctl_drv.h:803
static void sysctl_enable_cpu1_wakeup_source_with_mask(SYSCTL_Type *ptr, uint8_t enable_index, uint32_t mask)
Enable CPU1 wakeup source status with mask.
Definition: hpm_sysctl_drv.h:1169
static bool sysctl_is_cpu1_released(SYSCTL_Type *ptr)
Check whether CPU1 is released or not.
Definition: hpm_sysctl_drv.h:1503
static void sysctl_disable_cpu1_wakeup_source_with_mask(SYSCTL_Type *ptr, uint8_t enable_index, uint32_t mask)
Disable CPU1 wakeup source status with mask.
Definition: hpm_sysctl_drv.h:1214
static uint32_t sysctl_get_cpu1_wakeup_source_status(SYSCTL_Type *ptr, uint8_t status_index)
Get target CPU1 wakeup source status.
Definition: hpm_sysctl_drv.h:1080
static void sysctl_cpu1_lock_gpr_with_mask(SYSCTL_Type *ptr, uint16_t gpr_mask)
Lock CPU1 gpr with mask.
Definition: hpm_sysctl_drv.h:1322
static void sysctl_set_cpu1_lp_mode(SYSCTL_Type *ptr, cpu_lp_mode_t mode)
Set CPU1 low power mode.
Definition: hpm_sysctl_drv.h:1387
static void sysctl_reset_clear_target_domain_all_flags(SYSCTL_Type *ptr, sysctl_reset_domain_t domain)
Clear target reset domain for all reset status.
Definition: hpm_sysctl_drv.h:1043
static void sysctl_clear_cpu_lp_retention_with_mask(SYSCTL_Type *ptr, uint8_t cpu_index, uint32_t mask)
Disable resource retention when specific CPU enters stop mode.
Definition: hpm_sysctl_drv.h:792
static void sysctl_cpu_lock(SYSCTL_Type *ptr, uint8_t cpu_index)
Lock CPU lock.
Definition: hpm_sysctl_drv.h:1333
static hpm_stat_t sysctl_monitor_set_limit(SYSCTL_Type *ptr, uint8_t monitor_index, uint32_t limit_high, uint32_t limit_low)
Set frequency limit for target monitor instance.
Definition: hpm_sysctl_drv.h:658
static uint32_t sysctl_get_cpu_flags(SYSCTL_Type *ptr, uint8_t cpu_index)
Get CPU event flags.
Definition: hpm_sysctl_drv.h:1434
static uint32_t sysctl_get_cpu0_flags(SYSCTL_Type *ptr)
Get CPU0 event flags.
Definition: hpm_sysctl_drv.h:1446
static uint8_t sysctl_resource_target_get_mode(SYSCTL_Type *ptr, sysctl_resource_t resource)
Get target mode.
Definition: hpm_sysctl_drv.h:779
static void sysctl_enable_cpu0_wakeup_source_with_irq(SYSCTL_Type *ptr, uint16_t irq_num)
Enable CPU0 wakeup source status with irq.
Definition: hpm_sysctl_drv.h:1276
static void sysctl_cpu0_lock(SYSCTL_Type *ptr)
Lock CPU0 lock.
Definition: hpm_sysctl_drv.h:1343
static uint32_t sysctl_monitor_get_limit_high(SYSCTL_Type *ptr, uint32_t monitor_index)
Get maximum frequency for target monitor instance.
Definition: hpm_sysctl_drv.h:678
static void sysctl_set_cpu_lp_mode(SYSCTL_Type *ptr, uint8_t cpu_index, cpu_lp_mode_t mode)
Set CPU low power mode.
Definition: hpm_sysctl_drv.h:1365
static void sysctl_resource_target_set_mode(SYSCTL_Type *ptr, sysctl_resource_t resource, sysctl_resource_mode_t mode)
Set target mode.
Definition: hpm_sysctl_drv.h:763
static void sysctl_reset_clear_target_domain_flag(SYSCTL_Type *ptr, sysctl_reset_domain_t domain)
Clear target reset domain reset status.
Definition: hpm_sysctl_drv.h:1032
static bool sysctl_is_cpu_released(SYSCTL_Type *ptr, uint8_t cpu_index)
Check whether CPU is released or not.
Definition: hpm_sysctl_drv.h:1491
static void sysctl_set_cpu0_lp_retention(SYSCTL_Type *ptr, uint32_t value)
Enable resource retention when CPU0 enters stop mode.
Definition: hpm_sysctl_drv.h:871
static void sysctl_set_enable_cpu_affiliate(SYSCTL_Type *ptr, uint8_t cpu_index)
Link current CPU core its own group.
Definition: hpm_sysctl_drv.h:717
static void sysctl_clock_set_preset(SYSCTL_Type *ptr, sysctl_preset_t preset)
Set clock preset.
Definition: hpm_sysctl_drv.h:986
static void sysctl_cpu1_lock(SYSCTL_Type *ptr)
Lock CPU1 lock.
Definition: hpm_sysctl_drv.h:1353
static void sysctl_enable_wakeup_source_with_irq(SYSCTL_Type *ptr, uint8_t cpu_index, uint16_t irq_num)
Enable wakeup source status with irq.
Definition: hpm_sysctl_drv.h:1265
static uint32_t sysctl_check_cpu0_wakeup_source_status_with_mask(SYSCTL_Type *ptr, uint8_t status_index, uint32_t mask)
Check CPU0 wakeup source status with mask.
Definition: hpm_sysctl_drv.h:1110
static uint32_t sysctl_monitor_get_limit_low(SYSCTL_Type *ptr, uint32_t monitor_index)
Get minimum frequency for target monitor instance.
Definition: hpm_sysctl_drv.h:690
static void sysctl_enable_cpu0_wakeup_source_with_mask(SYSCTL_Type *ptr, uint8_t enable_index, uint32_t mask)
Enable CPU0 wakeup source status with mask.
Definition: hpm_sysctl_drv.h:1155
static uint32_t sysctl_check_wakeup_source_status_with_mask(SYSCTL_Type *ptr, uint8_t cpu_index, uint8_t status_index, uint32_t mask)
Check wakeup source status with mask.
Definition: hpm_sysctl_drv.h:1094
static void sysctl_set_cpu0_lp_retain_domain(SYSCTL_Type *ptr, sysctl_retention_domain_t domain, bool retain_mem)
Retain target domain for specific CPU0.
Definition: hpm_sysctl_drv.h:914
static uint32_t sysctl_get_wakeup_source_status(SYSCTL_Type *ptr, uint8_t cpu_index, uint8_t status_index)
Get target CPU wakeup source status.
Definition: hpm_sysctl_drv.h:1056
static bool sysctl_monitor_result_is_valid(SYSCTL_Type *ptr, uint8_t monitor_index)
Check if monitor result is valid.
Definition: hpm_sysctl_drv.h:586
static void sysctl_set_disable_cpu_affiliate(SYSCTL_Type *ptr, uint8_t cpu_index)
Unlink current CPU core with its own group.
Definition: hpm_sysctl_drv.h:728
static void sysctl_enable_cpu1_wakeup_source_with_irq(SYSCTL_Type *ptr, uint16_t irq_num)
Enable CPU1 wakeup source status with irq.
Definition: hpm_sysctl_drv.h:1287
static void sysctl_monitor_set_work_mode(SYSCTL_Type *ptr, uint8_t monitor_index, monitor_work_mode_t mode)
Set work mode for target monitor instance.
Definition: hpm_sysctl_drv.h:612
static void sysctl_disable_cpu0_wakeup_source_with_irq(SYSCTL_Type *ptr, uint16_t irq_num)
Disable CPU0 wakeup source status with irq.
Definition: hpm_sysctl_drv.h:1241
static bool sysctl_resource_target_is_busy(SYSCTL_Type *ptr, sysctl_resource_t resource)
Check if specific target is busy.
Definition: hpm_sysctl_drv.h:751
static void sysctl_clock_preserve_settings(SYSCTL_Type *ptr, clock_node_t clock)
Preserve clock setting for certain node.
Definition: hpm_sysctl_drv.h:964
static void sysctl_clear_cpu1_lp_retention_with_mask(SYSCTL_Type *ptr, uint32_t mask)
Disable resource retention when CPU1 enters stop mode.
Definition: hpm_sysctl_drv.h:814
static void sysctl_clear_cpu1_flags(SYSCTL_Type *ptr, cpu_event_flag_mask_t flags)
Clear CPU1 event flags.
Definition: hpm_sysctl_drv.h:1422
static void sysctl_disable_wakeup_source_with_mask(SYSCTL_Type *ptr, uint8_t cpu_index, uint8_t enable_index, uint32_t mask)
Disable wakeup source status with mask.
Definition: hpm_sysctl_drv.h:1184
static uint32_t sysctl_check_cpu1_wakeup_source_status_with_mask(SYSCTL_Type *ptr, uint8_t status_index, uint32_t mask)
Check CPU1 wakeup source status with mask.
Definition: hpm_sysctl_drv.h:1125
static uint32_t sysctl_get_cpu0_wakeup_source_status(SYSCTL_Type *ptr, uint8_t status_index)
Get target CPU0 wakeup source status.
Definition: hpm_sysctl_drv.h:1068
static bool sysctl_reset_check_target_domain_wakeup_flag(SYSCTL_Type *ptr, sysctl_reset_domain_t domain)
Check if target reset domain wakeup status.
Definition: hpm_sysctl_drv.h:998
static void sysctl_release_cpu(SYSCTL_Type *ptr, uint8_t cpu_index)
Release cpu.
Definition: hpm_sysctl_drv.h:1468
static bool sysctl_resource_any_is_busy(SYSCTL_Type *ptr)
Check if any resource is busy.
Definition: hpm_sysctl_drv.h:739
static void sysctl_set_cpu_lp_retention_with_mask(SYSCTL_Type *ptr, uint8_t cpu_index, uint32_t mask)
Enable resource retention when specific CPU enters stop mode.
Definition: hpm_sysctl_drv.h:826
static bool sysctl_clock_any_is_busy(SYSCTL_Type *ptr)
Check if any clock is busy.
Definition: hpm_sysctl_drv.h:941
static void sysctl_set_cpu_lp_retain_domain(SYSCTL_Type *ptr, uint8_t cpu_index, sysctl_retention_domain_t domain, bool retain_mem)
Retain target domain for specific CPU.
Definition: hpm_sysctl_drv.h:895
static void sysctl_clear_cpu_flags(SYSCTL_Type *ptr, uint8_t cpu_index, cpu_event_flag_mask_t flags)
Clear CPU event flags.
Definition: hpm_sysctl_drv.h:1399
static void sysctl_cpu0_lock_gpr_with_mask(SYSCTL_Type *ptr, uint16_t gpr_mask)
Lock CPU0 gpr with mask.
Definition: hpm_sysctl_drv.h:1311
static uint32_t sysctl_monitor_get_current_result(SYSCTL_Type *ptr, uint8_t monitor_index)
Get target monitor instance result.
Definition: hpm_sysctl_drv.h:598
static void sysctl_set_cpu_lp_retention(SYSCTL_Type *ptr, uint8_t cpu_index, uint32_t value)
Enable resource retention when specific CPU enters stop mode.
Definition: hpm_sysctl_drv.h:860
static hpm_stat_t sysctl_monitor_set_limit_high(SYSCTL_Type *ptr, uint8_t monitor_index, uint32_t limit)
Set maximum frequency for target monitor instance.
Definition: hpm_sysctl_drv.h:641
static void sysctl_set_cpu0_lp_retention_with_mask(SYSCTL_Type *ptr, uint32_t mask)
Enable resource retention when CPU0 enters stop mode.
Definition: hpm_sysctl_drv.h:837
static void sysctl_reset_clear_target_domain_wakeup_flag(SYSCTL_Type *ptr, sysctl_reset_domain_t domain)
Clear target reset domain wakeup status.
Definition: hpm_sysctl_drv.h:1009
static uint32_t sysctl_get_cpu1_flags(SYSCTL_Type *ptr)
Get CPU1 event flags.
Definition: hpm_sysctl_drv.h:1457
static void sysctl_release_cpu1(SYSCTL_Type *ptr)
Release cpu1.
Definition: hpm_sysctl_drv.h:1478
static void sysctl_set_cpu1_lp_retention(SYSCTL_Type *ptr, uint32_t value)
Enable resource retention when CPU1 enters stop mode.
Definition: hpm_sysctl_drv.h:882
static void sysctl_set_cpu0_lp_mode(SYSCTL_Type *ptr, cpu_lp_mode_t mode)
Set CPU0 low power mode.
Definition: hpm_sysctl_drv.h:1376
static void sysctl_clear_cpu0_flags(SYSCTL_Type *ptr, cpu_event_flag_mask_t flags)
Clear CPU0 event flags.
Definition: hpm_sysctl_drv.h:1411
#define SYSCTL_RESOURCE_CLK_TOP_URT9
Definition: hpm_sysctl_regs.h:1074
#define SYSCTL_RESOURCE_CLK_TOP_I2C5
Definition: hpm_sysctl_regs.h:1054
#define SYSCTL_RESOURCE_CLK_TOP_URT14
Definition: hpm_sysctl_regs.h:1079
#define SYSCTL_RESOURCE_PWM0
Definition: hpm_sysctl_regs.h:1201
#define SYSCTL_RESOURCE_CLK_TOP_URT15
Definition: hpm_sysctl_regs.h:1080
#define SYSCTL_CLOCK_CLK_TOP_SPI4
Definition: hpm_sysctl_regs.h:1297
#define SYSCTL_RESOURCE_SPI6
Definition: hpm_sysctl_regs.h:1142
#define SYSCTL_RESOURCE_AXIN
Definition: hpm_sysctl_regs.h:1114
#define SYSCTL_RESOURCE_PWM3
Definition: hpm_sysctl_regs.h:1204
#define SYSCTL_CLOCK_CLK_TOP_SPI7
Definition: hpm_sysctl_regs.h:1300
#define SYSCTL_RESOURCE_SEI0
Definition: hpm_sysctl_regs.h:1210
#define SYSCTL_RESOURCE_QEO0
Definition: hpm_sysctl_regs.h:1197
#define SYSCTL_RESOURCE_CLK_TOP_I2C6
Definition: hpm_sysctl_regs.h:1055
#define SYSCTL_CLOCK_CLK_TOP_URT14
Definition: hpm_sysctl_regs.h:1315
#define SYSCTL_RESOURCE_CLK_TOP_SPI7
Definition: hpm_sysctl_regs.h:1064
#define SYSCTL_CLOCK_CLK_TOP_I2C5
Definition: hpm_sysctl_regs.h:1290
#define SYSCTL_CLOCK_CLK_TOP_I2C4
Definition: hpm_sysctl_regs.h:1289
#define SYSCTL_CLOCK_CLK_TOP_URT13
Definition: hpm_sysctl_regs.h:1314
#define SYSCTL_RESOURCE_QEI2
Definition: hpm_sysctl_regs.h:1195
#define SYSCTL_RESOURCE_CLC0
Definition: hpm_sysctl_regs.h:1215
#define SYSCTL_RESOURCE_CMP1
Definition: hpm_sysctl_regs.h:1177
#define SYSCTL_RESOURCE_ESC0
Definition: hpm_sysctl_regs.h:1234
#define SYSCTL_RESOURCE_QEO3
Definition: hpm_sysctl_regs.h:1200
#define SYSCTL_RESOURCE_PWM2
Definition: hpm_sysctl_regs.h:1203
#define SYSCTL_RESOURCE_URT8
Definition: hpm_sysctl_regs.h:1152
#define SYSCTL_RESOURCE_CMP2
Definition: hpm_sysctl_regs.h:1178
#define SYSCTL_RESOURCE_QEI3
Definition: hpm_sysctl_regs.h:1196
#define SYSCTL_CLOCK_CLK_TOP_URT11
Definition: hpm_sysctl_regs.h:1312
#define SYSCTL_RESOURCE_EMDS
Definition: hpm_sysctl_regs.h:1217
#define SYSCTL_RESOURCE_I2C4
Definition: hpm_sysctl_regs.h:1132
#define SYSCTL_CLOCK_CLK_TOP_AXIN
Definition: hpm_sysctl_regs.h:1276
#define SYSCTL_RESOURCE_PKA0
Definition: hpm_sysctl_regs.h:1220
#define SYSCTL_CLOCK_CLK_TOP_URT10
Definition: hpm_sysctl_regs.h:1311
#define SYSCTL_RESOURCE_RDC1
Definition: hpm_sysctl_regs.h:1206
#define SYSCTL_RESOURCE_I2C5
Definition: hpm_sysctl_regs.h:1133
#define SYSCTL_RESOURCE_CLC1
Definition: hpm_sysctl_regs.h:1216
#define SYSCTL_RESOURCE_URT13
Definition: hpm_sysctl_regs.h:1157
#define SYSCTL_RESOURCE_CLK_TOP_SPI4
Definition: hpm_sysctl_regs.h:1061
#define SYSCTL_RESOURCE_RST_OTN
Definition: hpm_sysctl_regs.h:1017
#define SYSCTL_RESOURCE_SDM1
Definition: hpm_sysctl_regs.h:1208
#define SYSCTL_RESOURCE_PPI0
Definition: hpm_sysctl_regs.h:1169
#define SYSCTL_RESOURCE_MTG0
Definition: hpm_sysctl_regs.h:1211
#define SYSCTL_RESOURCE_CLK_TOP_TSW2
Definition: hpm_sysctl_regs.h:1103
#define SYSCTL_RESOURCE_QEO1
Definition: hpm_sysctl_regs.h:1198
#define SYSCTL_RESOURCE_CLK_TOP_I2C7
Definition: hpm_sysctl_regs.h:1056
#define SYSCTL_RESOURCE_CLSD
Definition: hpm_sysctl_regs.h:1183
#define SYSCTL_CLOCK_CLK_TOP_I2C6
Definition: hpm_sysctl_regs.h:1291
#define SYSCTL_CLOCK_CLK_TOP_TSW1
Definition: hpm_sysctl_regs.h:1338
#define SYSCTL_RESOURCE_CMP0
Definition: hpm_sysctl_regs.h:1176
#define SYSCTL_RESOURCE_CLK_TOP_SPI6
Definition: hpm_sysctl_regs.h:1063
#define SYSCTL_CLOCK_CLK_TOP_I2C7
Definition: hpm_sysctl_regs.h:1292
#define SYSCTL_RESOURCE_PLB0
Definition: hpm_sysctl_regs.h:1209
#define SYSCTL_RESOURCE_URT12
Definition: hpm_sysctl_regs.h:1156
#define SYSCTL_RESOURCE_RDC0
Definition: hpm_sysctl_regs.h:1205
#define SYSCTL_RESOURCE_SPI7
Definition: hpm_sysctl_regs.h:1143
#define SYSCTL_RESOURCE_TSW0
Definition: hpm_sysctl_regs.h:1233
#define SYSCTL_RESOURCE_CLK_TOP_SPI5
Definition: hpm_sysctl_regs.h:1062
#define SYSCTL_RESOURCE_CLK_TOP_URT8
Definition: hpm_sysctl_regs.h:1073
#define SYSCTL_RESOURCE_VSC0
Definition: hpm_sysctl_regs.h:1213
#define SYSCTL_RESOURCE_SPI5
Definition: hpm_sysctl_regs.h:1141
#define SYSCTL_RESOURCE_CLK_TOP_TSW1
Definition: hpm_sysctl_regs.h:1102
#define SYSCTL_RESOURCE_QEI1
Definition: hpm_sysctl_regs.h:1194
#define SYSCTL_RESOURCE_CLK_TOP_URT13
Definition: hpm_sysctl_regs.h:1078
#define SYSCTL_RESOURCE_I2C7
Definition: hpm_sysctl_regs.h:1135
#define SYSCTL_RESOURCE_URT15
Definition: hpm_sysctl_regs.h:1159
#define SYSCTL_CLOCK_CLK_TOP_URT15
Definition: hpm_sysctl_regs.h:1316
#define SYSCTL_RESOURCE_VSC1
Definition: hpm_sysctl_regs.h:1214
#define SYSCTL_RESOURCE_CLK_TOP_URT10
Definition: hpm_sysctl_regs.h:1075
#define SYSCTL_RESOURCE_LOBS
Definition: hpm_sysctl_regs.h:1171
#define SYSCTL_RESOURCE_URT10
Definition: hpm_sysctl_regs.h:1154
#define SYSCTL_RESOURCE_PWM1
Definition: hpm_sysctl_regs.h:1202
#define SYSCTL_RESOURCE_CLK_TOP_AXIN
Definition: hpm_sysctl_regs.h:1040
#define SYSCTL_RESOURCE_QEO2
Definition: hpm_sysctl_regs.h:1199
#define SYSCTL_RESOURCE_SPI4
Definition: hpm_sysctl_regs.h:1140
#define SYSCTL_RESOURCE_RAM1
Definition: hpm_sysctl_regs.h:1225
#define SYSCTL_RESOURCE_QEI0
Definition: hpm_sysctl_regs.h:1193
#define SYSCTL_RESOURCE_CLK_TOP_AHB0
Definition: hpm_sysctl_regs.h:1036
#define SYSCTL_RESOURCE_URT9
Definition: hpm_sysctl_regs.h:1153
#define SYSCTL_RESOURCE_CLK_TOP_I2C4
Definition: hpm_sysctl_regs.h:1053
#define SYSCTL_RESOURCE_CLK_TOP_URT11
Definition: hpm_sysctl_regs.h:1076
#define SYSCTL_RESOURCE_POW_OTN
Definition: hpm_sysctl_regs.h:1013
#define SYSCTL_CLOCK_CLK_TOP_AHB0
Definition: hpm_sysctl_regs.h:1272
#define SYSCTL_CLOCK_CLK_TOP_URT12
Definition: hpm_sysctl_regs.h:1313
#define SYSCTL_RESOURCE_URT11
Definition: hpm_sysctl_regs.h:1155
#define SYSCTL_RESOURCE_URT14
Definition: hpm_sysctl_regs.h:1158
#define SYSCTL_RESOURCE_CLK_TOP_TSW3
Definition: hpm_sysctl_regs.h:1104
#define SYSCTL_RESOURCE_MTG1
Definition: hpm_sysctl_regs.h:1212
#define SYSCTL_CLOCK_CLK_TOP_SPI6
Definition: hpm_sysctl_regs.h:1299
#define SYSCTL_RESOURCE_CMP3
Definition: hpm_sysctl_regs.h:1179
#define SYSCTL_CLOCK_CLK_TOP_TSW3
Definition: hpm_sysctl_regs.h:1340
#define SYSCTL_CLOCK_CLK_TOP_URT8
Definition: hpm_sysctl_regs.h:1309
#define SYSCTL_RESOURCE_CLK_TOP_URT12
Definition: hpm_sysctl_regs.h:1077
#define SYSCTL_CLOCK_CLK_TOP_URT9
Definition: hpm_sysctl_regs.h:1310
#define SYSCTL_CLOCK_CLK_TOP_TSW2
Definition: hpm_sysctl_regs.h:1339
#define SYSCTL_CLOCK_CLK_TOP_SPI5
Definition: hpm_sysctl_regs.h:1298
#define SYSCTL_RESOURCE_I2C6
Definition: hpm_sysctl_regs.h:1134
uint32_t hpm_stat_t
Definition: hpm_common.h:123
@ status_invalid_argument
Definition: hpm_common.h:179
@ status_success
Definition: hpm_common.h:177
cpu_event_flag_mask_t
Definition: hpm_sysctl_drv.h:288
monitor_accuracy_t
Monitor accuracy.
Definition: hpm_sysctl_drv.h:275
hpm_stat_t sysctl_add_resource_to_cpu0(SYSCTL_Type *ptr, sysctl_resource_t resource)
Add resource to CPU0.
Definition: hpm_sysctl_drv.c:216
uint32_t sysctl_get_group_resource_value(SYSCTL_Type *ptr, uint8_t group, uint8_t index)
Get group resource value.
Definition: hpm_sysctl_drv.c:202
hpm_stat_t sysctl_add_resource_to_cpu1(SYSCTL_Type *ptr, sysctl_resource_t resource)
Add resource to CPU1.
Definition: hpm_sysctl_drv.c:262
bool sysctl_check_group_resource_enable(SYSCTL_Type *ptr, uint8_t group, sysctl_resource_t resource)
Check group resource enable status.
Definition: hpm_sysctl_drv.c:181
hpm_stat_t sysctl_cpu1_set_gpr(SYSCTL_Type *ptr, uint8_t start, uint8_t count, uint32_t *data, bool lock)
Set data to CPU1 GPR starting from given index.
Definition: hpm_sysctl_drv.c:89
clock_source_t
General clock sources.
Definition: hpm_sysctl_drv.h:192
hpm_stat_t sysctl_set_adc_clock_mux(SYSCTL_Type *ptr, clock_node_t node, clock_source_adc_t source)
Set ADC clock mux.
Definition: hpm_sysctl_drv.c:279
monitor_target_t
Monitor targets.
Definition: hpm_sysctl_drv.h:225
sysctl_resource_mode_t
Resource modes.
Definition: hpm_sysctl_drv.h:140
hpm_stat_t sysctl_set_cpu0_wakeup_entry(SYSCTL_Type *ptr, uint32_t entry)
Set entry point on CPU0 wakeup.
Definition: hpm_sysctl_drv.c:148
hpm_stat_t sysctl_set_cpu_entry(SYSCTL_Type *ptr, uint8_t cpu, uint32_t entry)
Set entry point on CPU boot or wakeup.
Definition: hpm_sysctl_drv.c:138
clock_source_i2s_t
I2S clock sources.
Definition: hpm_sysctl_drv.h:392
hpm_stat_t sysctl_cpu0_get_gpr(SYSCTL_Type *ptr, uint8_t start, uint8_t count, uint32_t *data)
Get data saved from GPU0 GPR starting from given index.
Definition: hpm_sysctl_drv.c:49
sysctl_resource_t
Resource.
Definition: hpm_sysctl_drv.h:54
hpm_stat_t sysctl_remove_resource_from_cpu0(SYSCTL_Type *ptr, sysctl_resource_t resource)
Remove resource from CPU0.
Definition: hpm_sysctl_drv.c:221
uint32_t sysctl_monitor_measure_frequency(SYSCTL_Type *ptr, uint8_t monitor_index, monitor_target_t target, bool enable_output)
Measure specific target frequency.
Definition: hpm_sysctl_drv.c:121
void sysctl_monitor_get_default_config(SYSCTL_Type *ptr, monitor_config_t *config)
Get default monitor config.
Definition: hpm_sysctl_drv.c:87
struct monitor_config monitor_config_t
Monitor config.
hpm_stat_t sysctl_set_cpu1_entry(SYSCTL_Type *ptr, uint32_t entry)
Set entry point on either CPU1 boot or wakeup.
Definition: hpm_sysctl_drv.c:165
hpm_stat_t sysctl_remove_resource_from_cpu1(SYSCTL_Type *ptr, sysctl_resource_t resource)
Remove resource from CPU1.
Definition: hpm_sysctl_drv.c:267
sysctl_reset_domain_t
Reset domains.
Definition: hpm_sysctl_drv.h:46
monitor_work_mode_t
Monitor work mode.
Definition: hpm_sysctl_drv.h:267
cpu_lp_mode_t
CPU low power mode.
Definition: hpm_sysctl_drv.h:216
hpm_stat_t sysctl_set_i2s_clock_mux(SYSCTL_Type *ptr, clock_node_t node, clock_source_i2s_t source)
Set I2S clock mux.
Definition: hpm_sysctl_drv.c:235
clock_source_adc_t
ADC/I2S clock sources.
Definition: hpm_sysctl_drv.h:207
hpm_stat_t sysctl_cpu0_set_gpr(SYSCTL_Type *ptr, uint8_t start, uint8_t count, uint32_t *data, bool lock)
Save data to GPU0 GPR starting from given index.
Definition: hpm_sysctl_drv.c:72
void sysctl_monitor_init(SYSCTL_Type *ptr, uint8_t monitor_index, monitor_config_t *config)
Initialize Monitor.
Definition: hpm_sysctl_drv.c:101
hpm_stat_t sysctl_enable_group_resource(SYSCTL_Type *ptr, uint8_t group, sysctl_resource_t resource, bool enable)
Enable group resource.
Definition: hpm_sysctl_drv.c:153
clock_node_t
Clock nodes.
Definition: hpm_sysctl_drv.h:149
sysctl_preset_t
Clock presets.
Definition: hpm_sysctl_drv.h:36
static bool sysctl_clock_target_is_busy(SYSCTL_Type *ptr, uint32_t clock)
Check if target clock is busy.
Definition: hpm_sysctl_drv.h:953
hpm_stat_t sysctl_get_cpu1_gpr(SYSCTL_Type *ptr, uint8_t start, uint8_t count, uint32_t *data)
Get data saved in CPU1 GPR starting from given index.
hpm_stat_t sysctl_config_clock(SYSCTL_Type *ptr, clock_node_t node, clock_source_t source, uint32_t divide_by)
Config lock.
Definition: hpm_sysctl_drv.c:238
monitor_reference_t
Monitor reference clock source.
Definition: hpm_sysctl_drv.h:283
sysctl_retention_domain_t
Retention domains.
Definition: hpm_sysctl_drv.h:24
@ cpu_event_flag_mask_wake
Definition: hpm_sysctl_drv.h:291
@ cpu_event_flag_mask_reset
Definition: hpm_sysctl_drv.h:289
@ cpu_event_flag_mask_all
Definition: hpm_sysctl_drv.h:292
@ cpu_event_flag_mask_sleep
Definition: hpm_sysctl_drv.h:290
@ monitor_accuracy_1hz
Definition: hpm_sysctl_drv.h:277
@ monitor_accuracy_1khz
Definition: hpm_sysctl_drv.h:276
@ clock_source_osc0_clk0
Definition: hpm_sysctl_drv.h:193
@ clock_source_pll1_clk0
Definition: hpm_sysctl_drv.h:197
@ clock_source_pll1_clk2
Definition: hpm_sysctl_drv.h:199
@ clock_source_pll2_clk0
Definition: hpm_sysctl_drv.h:280
@ clock_source_pll0_clk0
Definition: hpm_sysctl_drv.h:194
@ clock_source_pll1_clk1
Definition: hpm_sysctl_drv.h:198
@ clock_source_pll2_clk1
Definition: hpm_sysctl_drv.h:281
@ clock_source_pll0_clk1
Definition: hpm_sysctl_drv.h:195
@ clock_source_general_source_end
Definition: hpm_sysctl_drv.h:201
@ monitor_target_clk_top_spi1
Definition: hpm_sysctl_drv.h:247
@ monitor_target_clk_top_uart5
Definition: hpm_sysctl_drv.h:320
@ monitor_target_clk_top_gptmr2
Definition: hpm_sysctl_drv.h:305
@ monitor_target_clk_top_can7
Definition: hpm_sysctl_drv.h:509
@ monitor_target_clk_top_uart14
Definition: hpm_sysctl_drv.h:500
@ monitor_target_clk_top_spi3
Definition: hpm_sysctl_drv.h:249
@ monitor_target_clk_top_ana2
Definition: hpm_sysctl_drv.h:258
@ monitor_target_clk_top_i2c0
Definition: hpm_sysctl_drv.h:242
@ monitor_target_clk_top_ahb0
Definition: hpm_sysctl_drv.h:437
@ monitor_target_clk_top_uart13
Definition: hpm_sysctl_drv.h:499
@ monitor_target_clk_top_uart3
Definition: hpm_sysctl_drv.h:253
@ monitor_target_clk_top_spi7
Definition: hpm_sysctl_drv.h:485
@ monitor_target_clk_32k_batt
Definition: hpm_sysctl_drv.h:440
@ monitor_target_clk_top_cpu1
Definition: hpm_sysctl_drv.h:432
@ monitor_target_clk_top_spi5
Definition: hpm_sysctl_drv.h:483
@ monitor_target_clk_irc24m
Definition: hpm_sysctl_drv.h:227
@ monitor_target_clk_top_tsn2
Definition: hpm_sysctl_drv.h:524
@ monitor_target_clk_top_uart7
Definition: hpm_sysctl_drv.h:322
@ monitor_target_clk0_pll0
Definition: hpm_sysctl_drv.h:231
@ monitor_target_clk_top_aud1
Definition: hpm_sysctl_drv.h:382
@ monitor_target_clk_usb0_phy
Definition: hpm_sysctl_drv.h:229
@ monitor_target_clk_top_uart6
Definition: hpm_sysctl_drv.h:321
@ monitor_target_clk_top_can6
Definition: hpm_sysctl_drv.h:508
@ monitor_target_clk_top_uart12
Definition: hpm_sysctl_drv.h:498
@ monitor_target_clk_top_gptmr7
Definition: hpm_sysctl_drv.h:448
@ monitor_target_clk_top_spi0
Definition: hpm_sysctl_drv.h:246
@ monitor_target_clk_32k_pmic
Definition: hpm_sysctl_drv.h:441
@ monitor_target_clk_top_ana1
Definition: hpm_sysctl_drv.h:257
@ monitor_target_clk_top_i2c5
Definition: hpm_sysctl_drv.h:475
@ monitor_target_clk_top_ref1
Definition: hpm_sysctl_drv.h:261
@ monitor_target_clk_top_tsn3
Definition: hpm_sysctl_drv.h:525
@ monitor_target_clk_top_uart1
Definition: hpm_sysctl_drv.h:251
@ monitor_target_clk0_pll2
Definition: hpm_sysctl_drv.h:233
@ monitor_target_clk_top_femc
Definition: hpm_sysctl_drv.h:348
@ monitor_target_clk_top_gptmr4
Definition: hpm_sysctl_drv.h:445
@ monitor_target_clk_top_ptp0
Definition: hpm_sysctl_drv.h:386
@ monitor_target_clk_top_ref0
Definition: hpm_sysctl_drv.h:260
@ monitor_target_clk_top_can5
Definition: hpm_sysctl_drv.h:507
@ monitor_target_clk_top_tsn1
Definition: hpm_sysctl_drv.h:523
@ monitor_target_clk_top_ntmr0
Definition: hpm_sysctl_drv.h:390
@ monitor_target_clk_top_can1
Definition: hpm_sysctl_drv.h:296
@ monitor_target_clk_top_i2c1
Definition: hpm_sysctl_drv.h:243
@ monitor_target_clk_top_ana3
Definition: hpm_sysctl_drv.h:259
@ monitor_target_clk_top_aud0
Definition: hpm_sysctl_drv.h:381
@ monitor_target_clk1_pll1
Definition: hpm_sysctl_drv.h:235
@ monitor_target_clk_top_i2c3
Definition: hpm_sysctl_drv.h:245
@ monitor_target_clk_top_can0
Definition: hpm_sysctl_drv.h:295
@ monitor_target_clk_top_i2c4
Definition: hpm_sysctl_drv.h:474
@ monitor_target_clk_top_gptmr0
Definition: hpm_sysctl_drv.h:240
@ monitor_target_clk_top_uart2
Definition: hpm_sysctl_drv.h:252
@ monitor_target_clk_top_xpi0
Definition: hpm_sysctl_drv.h:255
@ monitor_target_clk_top_axis
Definition: hpm_sysctl_drv.h:458
@ monitor_target_clk_top_mchtmr0
Definition: hpm_sysctl_drv.h:239
@ monitor_target_clk_top_uart8
Definition: hpm_sysctl_drv.h:457
@ monitor_target_clk_top_gptmr1
Definition: hpm_sysctl_drv.h:241
@ monitor_target_clk_top_gptmr3
Definition: hpm_sysctl_drv.h:306
@ monitor_target_clk_top_ana0
Definition: hpm_sysctl_drv.h:256
@ monitor_target_clk_top_i2c2
Definition: hpm_sysctl_drv.h:244
@ monitor_target_clk_top_can2
Definition: hpm_sysctl_drv.h:297
@ monitor_target_clk1_pll0
Definition: hpm_sysctl_drv.h:234
@ monitor_target_clk_top_axif
Definition: hpm_sysctl_drv.h:457
@ monitor_target_clk_top_gptmr6
Definition: hpm_sysctl_drv.h:447
@ monitor_target_clk_top_cpu0
Definition: hpm_sysctl_drv.h:238
@ monitor_target_clk2_pll1
Definition: hpm_sysctl_drv.h:450
@ monitor_target_clk_top_uart9
Definition: hpm_sysctl_drv.h:458
@ monitor_target_clk_top_i2c6
Definition: hpm_sysctl_drv.h:476
@ monitor_target_clk_top_mchtmr1
Definition: hpm_sysctl_drv.h:332
@ monitor_target_clk_top_can3
Definition: hpm_sysctl_drv.h:298
@ monitor_target_clk_top_uart10
Definition: hpm_sysctl_drv.h:496
@ monitor_target_clk_top_uart11
Definition: hpm_sysctl_drv.h:497
@ monitor_target_clk_top_can4
Definition: hpm_sysctl_drv.h:506
@ monitor_target_clk_top_i2c7
Definition: hpm_sysctl_drv.h:477
@ monitor_target_clk_top_spi6
Definition: hpm_sysctl_drv.h:484
@ monitor_target_clk_top_axin
Definition: hpm_sysctl_drv.h:460
@ monitor_target_clk_top_uart4
Definition: hpm_sysctl_drv.h:254
@ monitor_target_clk_top_uart0
Definition: hpm_sysctl_drv.h:250
@ monitor_target_clk0_osc0
Definition: hpm_sysctl_drv.h:230
@ monitor_target_clk_top_spi4
Definition: hpm_sysctl_drv.h:482
@ monitor_target_clk_top_spi2
Definition: hpm_sysctl_drv.h:248
@ monitor_target_clk_top_gptmr5
Definition: hpm_sysctl_drv.h:446
@ monitor_target_clk_top_eth0
Definition: hpm_sysctl_drv.h:384
@ monitor_target_clk_top_uart15
Definition: hpm_sysctl_drv.h:501
@ monitor_target_clk_xtal_24m
Definition: hpm_sysctl_drv.h:228
@ monitor_target_clk1_pll2
Definition: hpm_sysctl_drv.h:236
@ monitor_target_clk0_pll1
Definition: hpm_sysctl_drv.h:232
@ monitor_target_clk_top_axic
Definition: hpm_sysctl_drv.h:459
@ sysctl_resource_mode_force_off
Definition: hpm_sysctl_drv.h:143
@ sysctl_resource_mode_auto
Definition: hpm_sysctl_drv.h:141
@ sysctl_resource_mode_force_on
Definition: hpm_sysctl_drv.h:142
@ clock_source_i2s_audx_clock
Definition: hpm_sysctl_drv.h:394
@ clock_source_i2s_audn_clock
Definition: hpm_sysctl_drv.h:393
@ clock_source_i2s_clk_end
Definition: hpm_sysctl_drv.h:395
@ sysctl_resource_pka0
Definition: hpm_sysctl_drv.h:275
@ sysctl_resource_ref0
Definition: hpm_sysctl_drv.h:131
@ sysctl_resource_i2c3
Definition: hpm_sysctl_drv.h:109
@ sysctl_resource_clc0
Definition: hpm_sysctl_drv.h:270
@ sysctl_resource_clk_top_ptp0
Definition: hpm_sysctl_drv.h:123
@ sysctl_resource_clk_top_can7
Definition: hpm_sysctl_drv.h:103
@ sysctl_resource_uart3
Definition: hpm_sysctl_drv.h:117
@ sysctl_resource_xtal
Definition: hpm_sysctl_drv.h:60
@ sysctl_resource_axin
Definition: hpm_sysctl_drv.h:169
@ sysctl_resource_rst_cpu0
Definition: hpm_sysctl_drv.h:59
@ sysctl_resource_mtg0
Definition: hpm_sysctl_drv.h:266
@ sysctl_resource_linkable_start
Definition: hpm_sysctl_drv.h:98
@ sysctl_resource_i2sdao
Definition: hpm_sysctl_drv.h:209
@ sysctl_resource_i2s0
Definition: hpm_sysctl_drv.h:206
@ sysctl_resource_adc0
Definition: hpm_sysctl_drv.h:124
@ sysctl_resource_rom0
Definition: hpm_sysctl_drv.h:102
@ sysctl_resource_clk_top_i2c0
Definition: hpm_sysctl_drv.h:76
@ sysctl_resource_wdg0
Definition: hpm_sysctl_drv.h:119
@ sysctl_resource_tsns
Definition: hpm_sysctl_drv.h:122
@ sysctl_resource_clk0_pll0
Definition: hpm_sysctl_drv.h:62
@ sysctl_resource_pll2_ref
Definition: hpm_sysctl_drv.h:79
@ sysctl_resource_uart1
Definition: hpm_sysctl_drv.h:115
@ sysctl_resource_clk2_pll1
Definition: hpm_sysctl_drv.h:68
@ sysctl_resource_sdm0
Definition: hpm_sysctl_drv.h:157
@ sysctl_resource_mchtmr1
Definition: hpm_sysctl_drv.h:135
@ sysctl_resource_pwm3
Definition: hpm_sysctl_drv.h:259
@ sysctl_resource_i2c6
Definition: hpm_sysctl_drv.h:189
@ sysctl_resource_hdma
Definition: hpm_sysctl_drv.h:128
@ sysctl_resource_clk_top_spi7
Definition: hpm_sysctl_drv.h:117
@ sysctl_resource_rdc1
Definition: hpm_sysctl_drv.h:261
@ sysctl_resource_kman
Definition: hpm_sysctl_drv.h:126
@ sysctl_resource_pll1_ref
Definition: hpm_sysctl_drv.h:71
@ sysctl_resource_can5
Definition: hpm_sysctl_drv.h:180
@ sysctl_resource_i2c0
Definition: hpm_sysctl_drv.h:106
@ sysctl_resource_tsn0
Definition: hpm_sysctl_drv.h:288
@ sysctl_resource_can1
Definition: hpm_sysctl_drv.h:120
@ sysctl_resource_clk_top_i2c4
Definition: hpm_sysctl_drv.h:106
@ sysctl_resource_clk_top_spi2
Definition: hpm_sysctl_drv.h:82
@ sysctl_resource_pwm1
Definition: hpm_sysctl_drv.h:257
@ sysctl_resource_clk_top_gptmr5
Definition: hpm_sysctl_drv.h:122
@ sysctl_resource_uart12
Definition: hpm_sysctl_drv.h:211
@ sysctl_resource_clk_top_spi0
Definition: hpm_sysctl_drv.h:80
@ sysctl_resource_clk_top_can4
Definition: hpm_sysctl_drv.h:100
@ sysctl_resource_clk_top_gptmr0
Definition: hpm_sysctl_drv.h:74
@ sysctl_resource_clk_top_ana0
Definition: hpm_sysctl_drv.h:90
@ sysctl_resource_clk1_pll1
Definition: hpm_sysctl_drv.h:67
@ sysctl_resource_uart10
Definition: hpm_sysctl_drv.h:209
@ sysctl_resource_mtg1
Definition: hpm_sysctl_drv.h:267
@ sysctl_resource_gptmr2
Definition: hpm_sysctl_drv.h:130
@ sysctl_resource_eth0
Definition: hpm_sysctl_drv.h:213
@ sysctl_resource_gptmr3
Definition: hpm_sysctl_drv.h:131
@ sysctl_resource_cmp0
Definition: hpm_sysctl_drv.h:231
@ sysctl_resource_gptmr0
Definition: hpm_sysctl_drv.h:104
@ sysctl_resource_gptmr6
Definition: hpm_sysctl_drv.h:215
@ sysctl_resource_clk_top_spi4
Definition: hpm_sysctl_drv.h:114
@ sysctl_resource_wdg3
Definition: hpm_sysctl_drv.h:208
@ sysctl_resource_clk_top_tsn1
Definition: hpm_sysctl_drv.h:155
@ sysctl_resource_sei0
Definition: hpm_sysctl_drv.h:265
@ sysctl_resource_wdg2
Definition: hpm_sysctl_drv.h:207
@ sysctl_resource_vsc1
Definition: hpm_sysctl_drv.h:269
@ sysctl_resource_clk_top_adc0
Definition: hpm_sysctl_drv.h:96
@ sysctl_resource_gptmr7
Definition: hpm_sysctl_drv.h:216
@ sysctl_resource_clk_top_axic
Definition: hpm_sysctl_drv.h:93
@ sysctl_resource_spi7
Definition: hpm_sysctl_drv.h:198
@ sysctl_resource_clk_top_mchtmr1
Definition: hpm_sysctl_drv.h:83
@ sysctl_resource_clk_top_can5
Definition: hpm_sysctl_drv.h:101
@ sysctl_resource_clk_top_uart3
Definition: hpm_sysctl_drv.h:87
@ sysctl_resource_cmp2
Definition: hpm_sysctl_drv.h:233
@ sysctl_resource_qeo0
Definition: hpm_sysctl_drv.h:252
@ sysctl_resource_clk0_pll1
Definition: hpm_sysctl_drv.h:66
@ sysctl_resource_clk_top_gptmr2
Definition: hpm_sysctl_drv.h:84
@ sysctl_resource_pow_cpu1
Definition: hpm_sysctl_drv.h:62
@ sysctl_resource_lobs
Definition: hpm_sysctl_drv.h:226
@ sysctl_resource_spi0
Definition: hpm_sysctl_drv.h:110
@ sysctl_resource_clk_top_uart13
Definition: hpm_sysctl_drv.h:131
@ sysctl_resource_can7
Definition: hpm_sysctl_drv.h:182
@ sysctl_resource_uart14
Definition: hpm_sysctl_drv.h:213
@ sysctl_resource_pow_otn
Definition: hpm_sysctl_drv.h:65
@ sysctl_resource_sdm1
Definition: hpm_sysctl_drv.h:263
@ sysctl_resource_lmm1
Definition: hpm_sysctl_drv.h:134
@ sysctl_resource_clk_top_uart4
Definition: hpm_sysctl_drv.h:88
@ sysctl_resource_clk_top_uart5
Definition: hpm_sysctl_drv.h:99
@ sysctl_resource_cmp1
Definition: hpm_sysctl_drv.h:232
@ sysctl_resource_clk_top_uart10
Definition: hpm_sysctl_drv.h:128
@ sysctl_resource_pow_cpu0
Definition: hpm_sysctl_drv.h:57
@ sysctl_resource_clk_top_aud1
Definition: hpm_sysctl_drv.h:121
@ sysctl_resource_qeo3
Definition: hpm_sysctl_drv.h:255
@ sysctl_resource_cpx1
Definition: hpm_sysctl_drv.h:60
@ sysctl_resource_clk_top_gptmr4
Definition: hpm_sysctl_drv.h:121
@ sysctl_resource_uart0
Definition: hpm_sysctl_drv.h:114
@ sysctl_resource_mbx0
Definition: hpm_sysctl_drv.h:121
@ sysctl_resource_clk_top_ana1
Definition: hpm_sysctl_drv.h:91
@ sysctl_resource_clk_top_i2c5
Definition: hpm_sysctl_drv.h:107
@ sysctl_resource_clk_top_ntm0
Definition: hpm_sysctl_drv.h:148
@ sysctl_resource_clk_top_spi1
Definition: hpm_sysctl_drv.h:81
@ sysctl_resource_clk_top_ref0
Definition: hpm_sysctl_drv.h:94
@ sysctl_resource_pll0
Definition: hpm_sysctl_drv.h:61
@ sysctl_resource_clk_top_uart14
Definition: hpm_sysctl_drv.h:132
@ sysctl_resource_clk_top_uart1
Definition: hpm_sysctl_drv.h:85
@ sysctl_resource_lmm0
Definition: hpm_sysctl_drv.h:100
@ sysctl_resource_clk_top_can1
Definition: hpm_sysctl_drv.h:75
@ sysctl_resource_ffa0
Definition: hpm_sysctl_drv.h:172
@ sysctl_resource_clk_top_xpi0
Definition: hpm_sysctl_drv.h:84
@ sysctl_resource_clk_top_axis
Definition: hpm_sysctl_drv.h:92
@ sysctl_resource_can6
Definition: hpm_sysctl_drv.h:181
@ sysctl_resource_clk_top_axif
Definition: hpm_sysctl_drv.h:91
@ sysctl_resource_i2c1
Definition: hpm_sysctl_drv.h:107
@ sysctl_resource_clk1_pll2
Definition: hpm_sysctl_drv.h:76
@ sysctl_resource_cmp3
Definition: hpm_sysctl_drv.h:234
@ sysctl_resource_adc1
Definition: hpm_sysctl_drv.h:154
@ sysctl_resource_uart11
Definition: hpm_sysctl_drv.h:210
@ sysctl_resource_plb0
Definition: hpm_sysctl_drv.h:264
@ sysctl_resource_i2c5
Definition: hpm_sysctl_drv.h:188
@ sysctl_resource_clk_top_adc3
Definition: hpm_sysctl_drv.h:176
@ sysctl_resource_i2c7
Definition: hpm_sysctl_drv.h:190
@ sysctl_resource_gptmr1
Definition: hpm_sysctl_drv.h:105
@ sysctl_resource_clk_top_gptmr7
Definition: hpm_sysctl_drv.h:124
@ sysctl_resource_i2s1
Definition: hpm_sysctl_drv.h:207
@ sysctl_resource_cpu1
Definition: hpm_sysctl_drv.h:59
@ sysctl_resource_uart4
Definition: hpm_sysctl_drv.h:118
@ sysctl_resource_clk_top_spi5
Definition: hpm_sysctl_drv.h:115
@ sysctl_resource_clk_top_eth0
Definition: hpm_sysctl_drv.h:122
@ sysctl_resource_qei0
Definition: hpm_sysctl_drv.h:248
@ sysctl_resource_clk_top_gptmr6
Definition: hpm_sysctl_drv.h:123
@ sysctl_resource_pwm2
Definition: hpm_sysctl_drv.h:258
@ sysctl_resource_clk_top_cpu1
Definition: hpm_sysctl_drv.h:108
@ sysctl_resource_vsc0
Definition: hpm_sysctl_drv.h:268
@ sysctl_resource_xdma
Definition: hpm_sysctl_drv.h:281
@ sysctl_resource_spi5
Definition: hpm_sysctl_drv.h:196
@ sysctl_resource_clk_top_uart6
Definition: hpm_sysctl_drv.h:100
@ sysctl_resource_spi1
Definition: hpm_sysctl_drv.h:111
@ sysctl_resource_axic
Definition: hpm_sysctl_drv.h:131
@ sysctl_resource_esc0
Definition: hpm_sysctl_drv.h:289
@ sysctl_resource_clk_top_femc
Definition: hpm_sysctl_drv.h:90
@ sysctl_resource_spi4
Definition: hpm_sysctl_drv.h:195
@ sysctl_resource_spi2
Definition: hpm_sysctl_drv.h:112
@ sysctl_resource_i2c4
Definition: hpm_sysctl_drv.h:187
@ sysctl_resource_clk_top_tsn2
Definition: hpm_sysctl_drv.h:156
@ sysctl_resource_clk_top_uart8
Definition: hpm_sysctl_drv.h:133
@ sysctl_resource_clc1
Definition: hpm_sysctl_drv.h:271
@ sysctl_resource_clk_top_ana3
Definition: hpm_sysctl_drv.h:93
@ sysctl_resource_clk_top_spi6
Definition: hpm_sysctl_drv.h:116
@ sysctl_resource_wdg1
Definition: hpm_sysctl_drv.h:120
@ sysctl_resource_uart2
Definition: hpm_sysctl_drv.h:116
@ sysctl_resource_clk_top_can3
Definition: hpm_sysctl_drv.h:77
@ sysctl_resource_mchtmr0
Definition: hpm_sysctl_drv.h:101
@ sysctl_resource_linkable_end
Definition: hpm_sysctl_drv.h:133
@ sysctl_resource_cpx0
Definition: hpm_sysctl_drv.h:56
@ sysctl_resource_gptmr5
Definition: hpm_sysctl_drv.h:214
@ sysctl_resource_i2spdm0
Definition: hpm_sysctl_drv.h:208
@ sysctl_resource_qeo2
Definition: hpm_sysctl_drv.h:254
@ sysctl_resource_uart9
Definition: hpm_sysctl_drv.h:226
@ sysctl_resource_i2c2
Definition: hpm_sysctl_drv.h:108
@ sysctl_resource_clk_top_ana2
Definition: hpm_sysctl_drv.h:92
@ sysctl_resource_cpu0
Definition: hpm_sysctl_drv.h:55
@ sysctl_resource_clk_top_uart15
Definition: hpm_sysctl_drv.h:133
@ sysctl_resource_clk_top_uart12
Definition: hpm_sysctl_drv.h:130
@ sysctl_resource_rng0
Definition: hpm_sysctl_drv.h:161
@ sysctl_resource_ptpc
Definition: hpm_sysctl_drv.h:103
@ sysctl_resource_clk_top_adc2
Definition: hpm_sysctl_drv.h:123
@ sysctl_resource_adc3
Definition: hpm_sysctl_drv.h:249
@ sysctl_resource_rst_otn
Definition: hpm_sysctl_drv.h:69
@ sysctl_resource_qei2
Definition: hpm_sysctl_drv.h:250
@ sysctl_resource_uart8
Definition: hpm_sysctl_drv.h:225
@ sysctl_resource_clk_top_can0
Definition: hpm_sysctl_drv.h:74
@ sysctl_resource_clk_top_spi3
Definition: hpm_sysctl_drv.h:83
@ sysctl_resource_clk_top_can2
Definition: hpm_sysctl_drv.h:76
@ sysctl_resource_clk0_pll2
Definition: hpm_sysctl_drv.h:75
@ sysctl_resource_uart5
Definition: hpm_sysctl_drv.h:145
@ sysctl_resource_clk_top_i2c2
Definition: hpm_sysctl_drv.h:78
@ sysctl_resource_adc2
Definition: hpm_sysctl_drv.h:149
@ sysctl_resource_clk_top_i2c1
Definition: hpm_sysctl_drv.h:77
@ sysctl_resource_ntmr0
Definition: hpm_sysctl_drv.h:214
@ sysctl_resource_femc
Definition: hpm_sysctl_drv.h:160
@ sysctl_resource_clk_top_gptmr3
Definition: hpm_sysctl_drv.h:85
@ sysctl_resource_end
Definition: hpm_sysctl_drv.h:134
@ sysctl_resource_spi3
Definition: hpm_sysctl_drv.h:113
@ sysctl_resource_ppi0
Definition: hpm_sysctl_drv.h:224
@ sysctl_resource_mbx1
Definition: hpm_sysctl_drv.h:178
@ sysctl_resource_clk_top_i2s0
Definition: hpm_sysctl_drv.h:132
@ sysctl_resource_clk_top_mchtmr0
Definition: hpm_sysctl_drv.h:73
@ sysctl_resource_rst_soc
Definition: hpm_sysctl_drv.h:58
@ sysctl_resource_emds
Definition: hpm_sysctl_drv.h:272
@ sysctl_resource_clk_top_cpu0
Definition: hpm_sysctl_drv.h:72
@ sysctl_resource_ram0
Definition: hpm_sysctl_drv.h:137
@ sysctl_resource_clk_top_uart9
Definition: hpm_sysctl_drv.h:134
@ sysctl_resource_clk_top_i2c7
Definition: hpm_sysctl_drv.h:109
@ sysctl_resource_clk_top_aud0
Definition: hpm_sysctl_drv.h:120
@ sysctl_resource_xpi0
Definition: hpm_sysctl_drv.h:129
@ sysctl_resource_clk_top_i2c6
Definition: hpm_sysctl_drv.h:108
@ sysctl_resource_clk_top_uart11
Definition: hpm_sysctl_drv.h:129
@ sysctl_resource_pll1
Definition: hpm_sysctl_drv.h:65
@ sysctl_resource_sdp0
Definition: hpm_sysctl_drv.h:162
@ sysctl_resource_clk_top_i2c3
Definition: hpm_sysctl_drv.h:79
@ sysctl_resource_pll0_ref
Definition: hpm_sysctl_drv.h:70
@ sysctl_resource_clk_top_uart7
Definition: hpm_sysctl_drv.h:101
@ sysctl_resource_pwm0
Definition: hpm_sysctl_drv.h:256
@ sysctl_resource_qei1
Definition: hpm_sysctl_drv.h:249
@ sysctl_resource_usb0
Definition: hpm_sysctl_drv.h:130
@ sysctl_resource_clk_top_axin
Definition: hpm_sysctl_drv.h:93
@ sysctl_resource_uart6
Definition: hpm_sysctl_drv.h:146
@ sysctl_resource_uart15
Definition: hpm_sysctl_drv.h:214
@ sysctl_resource_pll2
Definition: hpm_sysctl_drv.h:74
@ sysctl_resource_clk_top_ahb0
Definition: hpm_sysctl_drv.h:113
@ sysctl_resource_axis
Definition: hpm_sysctl_drv.h:130
@ sysctl_resource_rst_cpu1
Definition: hpm_sysctl_drv.h:65
@ sysctl_resource_clk_top_uart0
Definition: hpm_sysctl_drv.h:84
@ sysctl_resource_ahbp
Definition: hpm_sysctl_drv.h:129
@ sysctl_resource_can3
Definition: hpm_sysctl_drv.h:122
@ sysctl_resource_clk_top_uart2
Definition: hpm_sysctl_drv.h:86
@ sysctl_resource_can4
Definition: hpm_sysctl_drv.h:179
@ sysctl_resource_can0
Definition: hpm_sysctl_drv.h:119
@ sysctl_resource_clk_top_can6
Definition: hpm_sysctl_drv.h:102
@ sysctl_resource_clk_top_tsn3
Definition: hpm_sysctl_drv.h:157
@ sysctl_resource_clk_top_adc1
Definition: hpm_sysctl_drv.h:110
@ sysctl_resource_crc0
Definition: hpm_sysctl_drv.h:123
@ sysctl_resource_qei3
Definition: hpm_sysctl_drv.h:251
@ sysctl_resource_gpio
Definition: hpm_sysctl_drv.h:127
@ sysctl_resource_qeo1
Definition: hpm_sysctl_drv.h:253
@ sysctl_resource_rdc0
Definition: hpm_sysctl_drv.h:260
@ sysctl_resource_clk_top_ref1
Definition: hpm_sysctl_drv.h:95
@ sysctl_resource_uart13
Definition: hpm_sysctl_drv.h:212
@ sysctl_resource_spi6
Definition: hpm_sysctl_drv.h:197
@ sysctl_resource_clk_top_i2s1
Definition: hpm_sysctl_drv.h:133
@ sysctl_resource_clk_top_gptmr1
Definition: hpm_sysctl_drv.h:75
@ sysctl_resource_gptmr4
Definition: hpm_sysctl_drv.h:213
@ sysctl_resource_can2
Definition: hpm_sysctl_drv.h:121
@ sysctl_resource_uart7
Definition: hpm_sysctl_drv.h:147
@ sysctl_resource_ram1
Definition: hpm_sysctl_drv.h:194
@ sysctl_resource_ref1
Definition: hpm_sysctl_drv.h:132
@ sysctl_resource_clk1_pll0
Definition: hpm_sysctl_drv.h:63
@ sysctl_reset_domain_cpu0
Definition: hpm_sysctl_drv.h:48
@ sysctl_reset_domain_otn
Definition: hpm_sysctl_drv.h:52
@ sysctl_reset_domain_cpu1
Definition: hpm_sysctl_drv.h:50
@ sysctl_reset_domain_soc
Definition: hpm_sysctl_drv.h:47
@ monitor_work_mode_compare
Definition: hpm_sysctl_drv.h:268
@ monitor_work_mode_record
Definition: hpm_sysctl_drv.h:269
@ cpu_lp_mode_ungate_cpu_clock
Definition: hpm_sysctl_drv.h:219
@ cpu_lp_mode_trigger_system_lp
Definition: hpm_sysctl_drv.h:218
@ cpu_lp_mode_gate_cpu_clock
Definition: hpm_sysctl_drv.h:217
@ clock_source_adc_clk_end
Definition: hpm_sysctl_drv.h:210
@ clock_source_adc_ahb_clock
Definition: hpm_sysctl_drv.h:209
@ clock_source_adc_ana_clock
Definition: hpm_sysctl_drv.h:208
@ clock_node_axic
Definition: hpm_sysctl_drv.h:285
@ clock_node_uart9
Definition: hpm_sysctl_drv.h:322
@ clock_node_axif
Definition: hpm_sysctl_drv.h:283
@ clock_node_adc0
Definition: hpm_sysctl_drv.h:175
@ clock_node_mchtmr0
Definition: hpm_sysctl_drv.h:150
@ clock_node_uart6
Definition: hpm_sysctl_drv.h:210
@ clock_node_ana3
Definition: hpm_sysctl_drv.h:170
@ clock_node_ana1
Definition: hpm_sysctl_drv.h:168
@ clock_node_i2c4
Definition: hpm_sysctl_drv.h:328
@ clock_node_uart13
Definition: hpm_sysctl_drv.h:353
@ clock_node_eth0
Definition: hpm_sysctl_drv.h:269
@ clock_node_gptmr1
Definition: hpm_sysctl_drv.h:152
@ clock_node_spi1
Definition: hpm_sysctl_drv.h:158
@ clock_node_can1
Definition: hpm_sysctl_drv.h:189
@ clock_node_mchtmr1
Definition: hpm_sysctl_drv.h:213
@ clock_node_uart12
Definition: hpm_sysctl_drv.h:352
@ clock_node_i2c0
Definition: hpm_sysctl_drv.h:153
@ clock_node_uart8
Definition: hpm_sysctl_drv.h:321
@ clock_node_uart7
Definition: hpm_sysctl_drv.h:211
@ clock_node_gptmr7
Definition: hpm_sysctl_drv.h:312
@ clock_node_uart3
Definition: hpm_sysctl_drv.h:164
@ clock_node_aud1
Definition: hpm_sysctl_drv.h:268
@ clock_node_uart1
Definition: hpm_sysctl_drv.h:162
@ clock_node_gptmr4
Definition: hpm_sysctl_drv.h:309
@ clock_node_spi0
Definition: hpm_sysctl_drv.h:157
@ clock_node_uart2
Definition: hpm_sysctl_drv.h:163
@ clock_node_uart10
Definition: hpm_sysctl_drv.h:350
@ clock_node_xpi0
Definition: hpm_sysctl_drv.h:166
@ clock_node_axis
Definition: hpm_sysctl_drv.h:284
@ clock_node_gptmr2
Definition: hpm_sysctl_drv.h:194
@ clock_node_i2c7
Definition: hpm_sysctl_drv.h:331
@ clock_node_ahb0
Definition: hpm_sysctl_drv.h:301
@ clock_node_uart0
Definition: hpm_sysctl_drv.h:161
@ clock_node_i2c6
Definition: hpm_sysctl_drv.h:330
@ clock_node_adc_start
Definition: hpm_sysctl_drv.h:174
@ clock_node_can2
Definition: hpm_sysctl_drv.h:190
@ clock_node_adc3
Definition: hpm_sysctl_drv.h:256
@ clock_node_axin
Definition: hpm_sysctl_drv.h:315
@ clock_node_can4
Definition: hpm_sysctl_drv.h:292
@ clock_node_spi2
Definition: hpm_sysctl_drv.h:159
@ clock_node_ref0
Definition: hpm_sysctl_drv.h:171
@ clock_node_can7
Definition: hpm_sysctl_drv.h:295
@ clock_node_can5
Definition: hpm_sysctl_drv.h:293
@ clock_node_gptmr5
Definition: hpm_sysctl_drv.h:310
@ clock_node_ana0
Definition: hpm_sysctl_drv.h:167
@ clock_node_spi5
Definition: hpm_sysctl_drv.h:337
@ clock_node_can6
Definition: hpm_sysctl_drv.h:294
@ clock_node_uart4
Definition: hpm_sysctl_drv.h:165
@ clock_node_aud0
Definition: hpm_sysctl_drv.h:267
@ clock_node_gptmr3
Definition: hpm_sysctl_drv.h:195
@ clock_node_end
Definition: hpm_sysctl_drv.h:181
@ clock_node_uart5
Definition: hpm_sysctl_drv.h:209
@ clock_node_spi7
Definition: hpm_sysctl_drv.h:339
@ clock_node_uart14
Definition: hpm_sysctl_drv.h:354
@ clock_node_i2s_start
Definition: hpm_sysctl_drv.h:355
@ clock_node_adc2
Definition: hpm_sysctl_drv.h:255
@ clock_node_can0
Definition: hpm_sysctl_drv.h:188
@ clock_node_i2c3
Definition: hpm_sysctl_drv.h:156
@ clock_node_ntmr0
Definition: hpm_sysctl_drv.h:273
@ clock_node_femc
Definition: hpm_sysctl_drv.h:237
@ clock_node_ptp0
Definition: hpm_sysctl_drv.h:270
@ clock_node_spi3
Definition: hpm_sysctl_drv.h:160
@ clock_node_ref1
Definition: hpm_sysctl_drv.h:172
@ clock_node_cpu1
Definition: hpm_sysctl_drv.h:265
@ clock_node_i2c2
Definition: hpm_sysctl_drv.h:155
@ clock_node_spi6
Definition: hpm_sysctl_drv.h:338
@ clock_node_cpu0
Definition: hpm_sysctl_drv.h:184
@ clock_node_i2s1
Definition: hpm_sysctl_drv.h:282
@ clock_node_i2c5
Definition: hpm_sysctl_drv.h:329
@ clock_node_uart11
Definition: hpm_sysctl_drv.h:351
@ clock_node_tsn3
Definition: hpm_sysctl_drv.h:379
@ clock_node_adc1
Definition: hpm_sysctl_drv.h:176
@ clock_node_i2s0
Definition: hpm_sysctl_drv.h:281
@ clock_node_ana2
Definition: hpm_sysctl_drv.h:169
@ clock_node_can3
Definition: hpm_sysctl_drv.h:191
@ clock_node_i2c1
Definition: hpm_sysctl_drv.h:154
@ clock_node_uart15
Definition: hpm_sysctl_drv.h:355
@ clock_node_tsn1
Definition: hpm_sysctl_drv.h:377
@ clock_node_spi4
Definition: hpm_sysctl_drv.h:336
@ clock_node_tsn2
Definition: hpm_sysctl_drv.h:378
@ clock_node_gptmr0
Definition: hpm_sysctl_drv.h:151
@ clock_node_gptmr6
Definition: hpm_sysctl_drv.h:311
@ sysctl_preset_1
Definition: hpm_sysctl_drv.h:38
@ sysctl_preset_2
Definition: hpm_sysctl_drv.h:39
@ sysctl_preset_0
Definition: hpm_sysctl_drv.h:37
@ sysctl_preset_3
Definition: hpm_sysctl_drv.h:40
@ monitor_reference_24mhz
Definition: hpm_sysctl_drv.h:285
@ monitor_reference_32khz
Definition: hpm_sysctl_drv.h:284
@ sysctl_retention_domain_pll2
Definition: hpm_sysctl_drv.h:31
@ sysctl_retention_domain_xtal24m
Definition: hpm_sysctl_drv.h:28
@ sysctl_retention_domain_cpu0
Definition: hpm_sysctl_drv.h:26
@ sysctl_retention_domain_cpu1
Definition: hpm_sysctl_drv.h:27
@ sysctl_retention_domain_otn
Definition: hpm_sysctl_drv.h:28
@ sysctl_retention_domain_sys
Definition: hpm_sysctl_drv.h:25
@ sysctl_retention_domain_pll1
Definition: hpm_sysctl_drv.h:30
@ sysctl_retention_domain_pll0
Definition: hpm_sysctl_drv.h:29
Definition: hpm_sysctl_regs.h:12
struct SYSCTL_Type::@346 CPU[1]
__RW uint32_t LOCK
Definition: hpm_sysctl_regs.h:69
__RW uint32_t CONTROL
Definition: hpm_sysctl_regs.h:45
__RW uint32_t LOW_LIMIT
Definition: hpm_sysctl_regs.h:62
__RW uint32_t RESOURCE[311]
Definition: hpm_sysctl_regs.h:13
__R uint32_t WAKEUP_STATUS[4]
Definition: hpm_sysctl_regs.h:71
struct SYSCTL_Type::@341 AFFILIATE[1]
__RW uint32_t HIGH_LIMIT
Definition: hpm_sysctl_regs.h:63
__R uint32_t CURRENT
Definition: hpm_sysctl_regs.h:61
__RW uint32_t SET
Definition: hpm_sysctl_regs.h:17
__RW uint32_t VALUE
Definition: hpm_sysctl_regs.h:16
__RW uint32_t CLOCK[36]
Definition: hpm_sysctl_regs.h:52
__RW uint32_t WAKEUP_ENABLE[4]
Definition: hpm_sysctl_regs.h:73
struct SYSCTL_Type::@345 MONITOR[4]
struct SYSCTL_Type::@342 RETENTION[1]
__RW uint32_t LP
Definition: hpm_sysctl_regs.h:68
__RW uint32_t GLOBAL00
Definition: hpm_sysctl_regs.h:57
struct SYSCTL_Type::@344 RESET[2]
__RW uint32_t CLEAR
Definition: hpm_sysctl_regs.h:18
Monitor config.
Definition: hpm_sysctl_drv.h:298
uint32_t high_limit
Definition: hpm_sysctl_drv.h:306
uint32_t low_limit
Definition: hpm_sysctl_drv.h:307
bool start_measure
Definition: hpm_sysctl_drv.h:304
uint8_t divide_by
Definition: hpm_sysctl_drv.h:299
monitor_target_t target
Definition: hpm_sysctl_drv.h:303
monitor_accuracy_t accuracy
Definition: hpm_sysctl_drv.h:301
monitor_reference_t reference
Definition: hpm_sysctl_drv.h:302
bool enable_output
Definition: hpm_sysctl_drv.h:305
monitor_work_mode_t mode
Definition: hpm_sysctl_drv.h:300