52 #ifndef ti_dl_dl_lfss__include 53 #define ti_dl_dl_lfss__include 58 #include <ti/devices/msp/msp.h> 61 #if defined(__MSPM0_HAS_LFSS__) || defined(DOXYGEN__INCLUDE) 77 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_0 (LFSS_CPU_INT_IMASK_TIO0_SET) 82 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_1 (LFSS_CPU_INT_IMASK_TIO1_SET) 87 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_2 (LFSS_CPU_INT_IMASK_TIO2_SET) 92 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_3 (LFSS_CPU_INT_IMASK_TIO3_SET) 97 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_4 (LFSS_CPU_INT_IMASK_TIO4_SET) 102 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_5 (LFSS_CPU_INT_IMASK_TIO6_SET) 107 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_6 (LFSS_CPU_INT_IMASK_TIO6_SET) 112 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_7 (LFSS_CPU_INT_IMASK_TIO7_SET) 117 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_8 (LFSS_CPU_INT_IMASK_TIO8_SET) 122 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_9 (LFSS_CPU_INT_IMASK_TIO9_SET) 127 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_10 (LFSS_CPU_INT_IMASK_TIO10_SET) 132 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_11 (LFSS_CPU_INT_IMASK_TIO11_SET) 137 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_12 (LFSS_CPU_INT_IMASK_TIO12_SET) 142 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_13 (LFSS_CPU_INT_IMASK_TIO13_SET) 147 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_14 (LFSS_CPU_INT_IMASK_TIO14_SET) 152 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_15 (LFSS_CPU_INT_IMASK_TIO15_SET) 162 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_0 (LFSS_GEN_EVENT_IMASK_TIO0_SET) 167 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_1 (LFSS_GEN_EVENT_IMASK_TIO1_SET) 172 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_2 (LFSS_GEN_EVENT_IMASK_TIO2_SET) 177 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_3 (LFSS_GEN_EVENT_IMASK_TIO3_SET) 182 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_4 (LFSS_GEN_EVENT_IMASK_TIO4_SET) 187 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_5 (LFSS_GEN_EVENT_IMASK_TIO5_SET) 192 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_6 (LFSS_GEN_EVENT_IMASK_TIO6_SET) 197 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_7 (LFSS_GEN_EVENT_IMASK_TIO7_SET) 202 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_8 (LFSS_GEN_EVENT_IMASK_TIO8_SET) 207 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_9 (LFSS_GEN_EVENT_IMASK_TIO9_SET) 212 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_10 (LFSS_GEN_EVENT_IMASK_TIO10_SET) 217 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_11 (LFSS_GEN_EVENT_IMASK_TIO11_SET) 222 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_12 (LFSS_GEN_EVENT_IMASK_TIO12_SET) 227 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_13 (LFSS_GEN_EVENT_IMASK_TIO13_SET) 232 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_14 (LFSS_GEN_EVENT_IMASK_TIO14_SET) 237 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_15 (LFSS_GEN_EVENT_IMASK_TIO15_SET) 244 #define LFSS_TAMPER_IO_PIN_ENABLE 0x1 249 #define LFSS_TAMPER_IO_PIN_MASK 0x1 514 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] |=
515 LFSS_TIOCTL_OUTINV_ENABLE;
533 return ((lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
534 LFSS_TIOCTL_OUTINV_MASK) == LFSS_TIOCTL_OUTINV_ENABLE);
547 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &=
548 ~(LFSS_TIOCTL_OUTINV_MASK);
565 (uint32_t) source, LFSS_TIOCTL_TOUTSEL_MASK);
580 __STATIC_INLINE DL_LFSS_TAMPERIO_OUTPUT_SOURCE
584 return ((DL_LFSS_TAMPERIO_OUTPUT_SOURCE)(
585 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
586 LFSS_TIOCTL_TOUTSEL_MASK));
610 (uint32_t) width, LFSS_TIOCTL_FILTEREN_MASK);
625 __STATIC_INLINE DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH
629 return ((DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH)(
630 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
631 LFSS_TIOCTL_FILTEREN_MASK));
645 DL_LFSS_TAMPERIO_EDGE_DETECTION_POLARITY polarity)
648 (uint32_t) polarity, LFSS_TIOCTL_POLARITY_MASK);
662 __STATIC_INLINE DL_LFSS_TAMPERIO_EDGE_DETECTION_POLARITY
666 return ((DL_LFSS_TAMPERIO_EDGE_DETECTION_POLARITY)(
667 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
668 LFSS_TIOCTL_POLARITY_MASK));
681 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] |=
682 LFSS_TIOCTL_PIPU_ENABLE;
701 return ((lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
702 LFSS_TIOCTL_PIPU_MASK) == LFSS_TIOCTL_PIPU_ENABLE);
715 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &=
716 ~(LFSS_TIOCTL_PIPU_MASK);
729 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] |=
730 LFSS_TIOCTL_PIPD_ENABLE;
749 return ((lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
750 LFSS_TIOCTL_PIPD_MASK) == LFSS_TIOCTL_PIPD_ENABLE);
763 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &=
764 ~(LFSS_TIOCTL_PIPD_MASK);
777 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] |=
778 LFSS_TIOCTL_INENA_ENABLE;
796 return ((lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
797 LFSS_TIOCTL_INENA_MASK) == LFSS_TIOCTL_INENA_ENABLE);
810 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &=
811 ~(LFSS_TIOCTL_INENA_MASK);
835 (uint32_t) mode, LFSS_TIOCTL_IOMUX_MASK);
852 return ((DL_LFSS_TAMPERIO_MODE)(
853 lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
854 LFSS_TIOCTL_IOMUX_MASK));
867 volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TOE3_0;
870 pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
886 volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TOE3_0;
889 pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
910 volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TOE3_0;
913 pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
916 << (8 * (tamperIO % 4));
918 << (8 * (tamperIO % 4));
921 return ((*pReg & pinMask) == enableMask);
936 volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TOUT3_0;
939 pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
941 volatile uint32_t valueMask = outVal << (8 * (tamperIO % 4));
943 << (8 * (tamperIO % 4));
962 volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TOUT3_0;
965 pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
968 << (8 * (tamperIO % 4));
970 uint32_t outVal = (*pReg & pinMask) >> (8 * (tamperIO % 4));
989 const volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TIN3_0;
992 pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
995 << (8 * (tamperIO % 4));
997 uint32_t inputVal = (*pReg & pinMask) >> (8 * (tamperIO % 4));
1010 LFSS_Regs *lfss, DL_LFSS_HEARTBEAT_INTERVAL interval)
1013 LFSS_HEARTBEAT_HBINTERVAL_MASK);
1025 __STATIC_INLINE DL_LFSS_HEARTBEAT_INTERVAL
1029 lfss->IPSPECIFIC_TIO.HEARTBEAT & LFSS_HEARTBEAT_HBINTERVAL_MASK;
1031 return (DL_LFSS_HEARTBEAT_INTERVAL)(interval);
1042 LFSS_Regs *lfss, DL_LFSS_HEARTBEAT_PULSE_WIDTH width)
1045 LFSS_HEARTBEAT_HBWIDTH_MASK);
1057 __STATIC_INLINE DL_LFSS_HEARTBEAT_PULSE_WIDTH
1061 (lfss->IPSPECIFIC_TIO.HEARTBEAT & LFSS_HEARTBEAT_HBWIDTH_MASK);
1063 return (DL_LFSS_HEARTBEAT_PULSE_WIDTH)(width);
1074 LFSS_Regs *lfss, DL_LFSS_HEARTBEAT_MODE mode)
1077 LFSS_HEARTBEAT_HBMODE_MASK);
1090 const LFSS_Regs *lfss)
1093 (lfss->IPSPECIFIC_TIO.HEARTBEAT & LFSS_HEARTBEAT_HBMODE_MASK);
1095 return (DL_LFSS_HEARTBEAT_MODE)(mode);
1108 lfss->IPSPECIFIC_TIO.TIOLOCK =
1109 (LFSS_TIOLOCK_PROTECT_SET | LFSS_TIOLOCK_KEY_UNLOCK_W);
1124 const LFSS_Regs *lfss)
1126 return ((lfss->IPSPECIFIC_TIO.TIOLOCK & LFSS_TIOLOCK_PROTECT_MASK) ==
1127 LFSS_TIOLOCK_PROTECT_SET);
1138 lfss->IPSPECIFIC_TIO.TIOLOCK =
1139 (LFSS_TIOLOCK_PROTECT_CLR | LFSS_TIOLOCK_KEY_UNLOCK_W);
1149 lfss->IPSPECIFIC_WDT.WDTEN =
1150 (LFSS_WDTEN_KEY_UNLOCK_W | LFSS_WDTEN_ENABLE_SET);
1160 lfss->IPSPECIFIC_WDT.WDTEN =
1161 (LFSS_WDTEN_KEY_UNLOCK_W | LFSS_WDTEN_ENABLE_CLR);
1174 return ((lfss->IPSPECIFIC_WDT.WDTEN & LFSS_WDTEN_ENABLE_MASK) ==
1175 LFSS_WDTEN_ENABLE_SET);
1188 lfss->IPSPECIFIC_WDT.WDTDBGCTL = LFSS_WDTDBGCTL_FREE_RUN;
1198 lfss->IPSPECIFIC_WDT.WDTDBGCTL = LFSS_WDTDBGCTL_FREE_STOP;
1211 return ((lfss->IPSPECIFIC_WDT.WDTDBGCTL & LFSS_WDTDBGCTL_FREE_MASK) ==
1212 LFSS_WDTDBGCTL_FREE_RUN);
1226 ((uint32_t) divider | LFSS_WDTCTL_KEY_UNLOCK_W),
1227 LFSS_WDTCTL_CLKDIV_MASK | LFSS_WDTCTL_KEY_MASK);
1240 const LFSS_Regs *lfss)
1242 uint32_t divider = (lfss->IPSPECIFIC_WDT.WDTCTL & LFSS_WDTCTL_CLKDIV_MASK);
1255 LFSS_Regs *lfss, DL_LFSS_IWDT_TIMER_PERIOD period)
1258 ((uint32_t) period | LFSS_WDTCTL_KEY_UNLOCK_W),
1259 LFSS_WDTCTL_PER_MASK | LFSS_WDTCTL_KEY_MASK);
1272 const LFSS_Regs *lfss)
1274 uint32_t period = (lfss->IPSPECIFIC_WDT.WDTCTL & LFSS_WDTCTL_PER_MASK);
1276 return (DL_LFSS_IWDT_TIMER_PERIOD)(period);
1286 lfss->IPSPECIFIC_WDT.WDTCNTRST = LFSS_WDTCNTRST_RESTART_VALUE;
1299 return ((lfss->IPSPECIFIC_WDT.WDTSTAT & LFSS_WDTSTAT_RUN_MASK) ==
1300 LFSS_WDTSTAT_RUN_RUN);
1313 lfss->IPSPECIFIC_WDT.WDTLOCK =
1314 (LFSS_WDTLOCK_PROTECT_SET | LFSS_WDTLOCK_KEY_UNLOCK_W);
1330 return ((lfss->IPSPECIFIC_WDT.WDTLOCK & LFSS_WDTLOCK_PROTECT_MASK) ==
1331 LFSS_WDTLOCK_PROTECT_SET);
1342 lfss->IPSPECIFIC_WDT.WDTLOCK =
1343 (LFSS_WDTLOCK_PROTECT_CLR | LFSS_WDTLOCK_KEY_UNLOCK_W);
1365 lfss->IPSPECIFIC_MEM.SPMEM[(uint32_t) memIndex] = data;
1396 volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMEM[(uint32_t) memIndex];
1399 uint32_t offset = ((uint32_t) byteIndex * (uint32_t) 8);
1400 data = data << offset;
1401 uint32_t mask = ((uint32_t) 0x000000FFU) << offset;
1422 return (lfss->IPSPECIFIC_MEM.SPMEM[(uint32_t) memIndex]);
1452 volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMEM[(uint32_t) memIndex];
1455 uint32_t offset = ((uint32_t) byteIndex * (uint32_t) 8);
1456 uint32_t mask = ((uint32_t) 0x000000FFU) << offset;
1458 return (((*pReg & mask)) >> offset);
1479 uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1480 volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMWPROT0 + regIndex;
1483 uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1485 (uint32_t) byteIndex);
1487 *pReg |= (LFSS_SPMWPROT0_KEY_UNLOCK_W | mask);
1510 uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1511 volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMWPROT0 + regIndex;
1514 uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1516 (uint32_t) byteIndex);
1518 return ((*pReg & mask) == mask);
1540 uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1541 volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMWPROT0 + regIndex;
1544 uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1546 (uint32_t) byteIndex);
1548 *pReg = ((*pReg & (~mask)) | LFSS_SPMWPROT1_KEY_UNLOCK_W);
1570 uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1571 volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMTERASE0 + regIndex;
1574 uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1576 (uint32_t) byteIndex);
1578 *pReg |= (LFSS_SPMTERASE0_KEY_UNLOCK_W | mask);
1601 uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1602 volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMTERASE0 + regIndex;
1605 uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1607 (uint32_t) byteIndex);
1609 return ((*pReg & mask) == mask);
1630 uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1631 volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMTERASE0 + regIndex;
1634 uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1636 (uint32_t) byteIndex);
1638 *pReg = ((*pReg & (~mask)) | LFSS_SPMWPROT2_KEY_UNLOCK_W);
1650 LFSS_Regs *lfss, uint32_t interruptMask)
1652 lfss->CPU_INT.IMASK |= interruptMask;
1664 LFSS_Regs *lfss, uint32_t interruptMask)
1666 lfss->CPU_INT.IMASK &= ~(interruptMask);
1682 const LFSS_Regs *lfss, uint32_t interruptMask)
1684 return (lfss->CPU_INT.IMASK & interruptMask);
1705 const LFSS_Regs *lfss, uint32_t interruptMask)
1707 return (lfss->CPU_INT.MIS & interruptMask);
1726 const LFSS_Regs *lfss, uint32_t interruptMask)
1728 return (lfss->CPU_INT.RIS & interruptMask);
1744 const LFSS_Regs *lfss)
1746 return (DL_LFSS_TAMPERIO_IIDX)(lfss->CPU_INT.IIDX);
1758 LFSS_Regs *lfss, uint32_t interruptMask)
1760 lfss->CPU_INT.ICLR = interruptMask;
1771 LFSS_Regs *lfss, uint32_t eventMask)
1773 lfss->GEN_EVENT.IMASK |= (eventMask);
1784 LFSS_Regs *lfss, uint32_t eventMask)
1786 lfss->GEN_EVENT.IMASK &= ~(eventMask);
1801 const LFSS_Regs *lfss, uint32_t eventMask)
1803 return ((lfss->GEN_EVENT.IMASK) & (eventMask));
1823 const LFSS_Regs *lfss, uint32_t eventMask)
1825 return ((lfss->GEN_EVENT.MIS) & eventMask);
1843 const LFSS_Regs *lfss, uint32_t eventMask)
1845 return ((lfss->GEN_EVENT.RIS) & eventMask);
1856 LFSS_Regs *lfss, uint32_t eventMask)
1858 lfss->GEN_EVENT.ICLR |= (eventMask);
1869 LFSS_Regs *lfss, uint8_t chanID)
1871 lfss->FPUB_0 = (chanID & LFSS_FPUB_0_CHANID_MAXIMUM);
1883 const LFSS_Regs *lfss)
1885 return (uint8_t)(lfss->FPUB_0 & LFSS_FPUB_0_CHANID_MAXIMUM);
1897 lfss->IPSPECIFIC_RTC.LFSSRST =
1898 (LFSS_LFSSRST_KEY_UNLOCK_W | LFSS_LFSSRST_VBATPOR_SET);
Definition: dl_lfss.h:497
__STATIC_INLINE void DL_LFSS_TamperIO_disableEvent(LFSS_Regs *lfss, uint32_t eventMask)
Disable LFSS Tamper event.
Definition: dl_lfss.h:1783
__STATIC_INLINE void DL_LFSS_TamperIO_enableOutput(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Enable data output for the specified Tamper IO.
Definition: dl_lfss.h:864
__STATIC_INLINE void DL_Common_updateReg(volatile uint32_t *reg, uint32_t val, uint32_t mask)
Writes value to specified register - retaining bits unaffected by mask.
Definition: dl_common.h:63
DL_LFSS_TAMPERIO_OUTPUT_SOURCE
Definition: dl_lfss.h:296
Definition: dl_lfss.h:411
__STATIC_INLINE void DL_LFSS_TamperIO_setHeartBeatMode(LFSS_Regs *lfss, DL_LFSS_HEARTBEAT_MODE mode)
Sets the mode for the heart beat generator.
Definition: dl_lfss.h:1073
__STATIC_INLINE void DL_LFSS_IWDT_enableFreeRun(LFSS_Regs *lfss)
Enables the Watchdog free run control.
Definition: dl_lfss.h:1186
Definition: dl_lfss.h:300
Definition: dl_lfss.h:413
Definition: dl_lfss.h:415
__STATIC_INLINE DL_LFSS_TAMPERIO_MODE DL_LFSS_TamperIO_getMode(const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Gets the mode for the specified Tamper IO.
Definition: dl_lfss.h:849
Definition: dl_lfss.h:389
__STATIC_INLINE void DL_LFSS_TamperIO_setHeartBeatPulseWidth(LFSS_Regs *lfss, DL_LFSS_HEARTBEAT_PULSE_WIDTH width)
Sets the pulse width for the heart beat generator.
Definition: dl_lfss.h:1041
Definition: dl_lfss.h:282
Definition: dl_lfss.h:499
__STATIC_INLINE void DL_LFSS_TamperIO_disableInput(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Disable input path for the specified Tamper IO.
Definition: dl_lfss.h:807
__STATIC_INLINE void DL_LFSS_IWDT_setClockDivider(LFSS_Regs *lfss, DL_LFSS_IWDT_CLOCK_DIVIDE divider)
Sets the clock divider for the WDT module.
Definition: dl_lfss.h:1222
Definition: dl_lfss.h:487
__STATIC_INLINE uint32_t DL_LFSS_TamperIO_getEnabledEventStatus(const LFSS_Regs *lfss, uint32_t eventMask)
Check event flag of enabled LFSS Tamper event.
Definition: dl_lfss.h:1822
Definition: dl_lfss.h:425
__STATIC_INLINE bool DL_LFSS_TamperIO_isOutputInversionEnabled(const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Checks if output inversion is enabled for the specified Tamper IO.
Definition: dl_lfss.h:530
__STATIC_INLINE uint8_t DL_LFSS_readScratchPadDataByte(LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex, DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
Read the specified byte in scratch pad memory.
Definition: dl_lfss.h:1447
__STATIC_INLINE void DL_LFSS_TamperIO_clearInterruptStatus(LFSS_Regs *lfss, uint32_t interruptMask)
Clear pending LFSS Tamper interrupts.
Definition: dl_lfss.h:1757
__STATIC_INLINE uint8_t DL_LFSS_TamperIO_getPublisherChanID(const LFSS_Regs *lfss)
Gets the event publisher channel ID.
Definition: dl_lfss.h:1882
__STATIC_INLINE void DL_LFSS_reset(LFSS_Regs *lfss)
Requests a reset to the LFSS module.
Definition: dl_lfss.h:1895
Definition: dl_lfss.h:328
Definition: dl_lfss.h:407
__STATIC_INLINE void DL_LFSS_TamperIO_disableOutputInversion(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Disable output inversion for the specified Tamper IO.
Definition: dl_lfss.h:544
__STATIC_INLINE void DL_LFSS_IWDT_enableWriteProtect(LFSS_Regs *lfss)
Enable write protection lock of the WDTEN and WDTCTL registers from accidental updates.
Definition: dl_lfss.h:1311
Definition: dl_lfss.h:465
__STATIC_INLINE void DL_LFSS_TamperIO_enableInput(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Enable input path for the specified Tamper IO.
Definition: dl_lfss.h:774
DL_LFSS_SCRATCHPAD_MEM_BYTE
Definition: dl_lfss.h:451
__STATIC_INLINE DL_LFSS_TAMPERIO_IIDX DL_LFSS_TamperIO_getPendingInterrupt(const LFSS_Regs *lfss)
Get highest priority pending LFSS interrupt.
Definition: dl_lfss.h:1743
__STATIC_INLINE void DL_LFSS_enableScratchPadWriteProtectByte(LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex, DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
Enable write protection lock of the specified byte in scratch pad memory from accidental updates...
Definition: dl_lfss.h:1474
__STATIC_INLINE uint32_t DL_LFSS_TamperIO_isOutputEnabled(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Checks if data output for the specified Tamper IO is enabled.
Definition: dl_lfss.h:907
__STATIC_INLINE void DL_LFSS_TamperIO_disableInterrupt(LFSS_Regs *lfss, uint32_t interruptMask)
Disable LFSS Tamper interrupts.
Definition: dl_lfss.h:1663
Definition: dl_lfss.h:453
Definition: dl_lfss.h:318
Definition: dl_lfss.h:324
Definition: dl_lfss.h:256
Definition: dl_lfss.h:459
Definition: dl_lfss.h:421
__STATIC_INLINE uint32_t DL_LFSS_TamperIO_getEnabledEvents(const LFSS_Regs *lfss, uint32_t eventMask)
Check which LFSS Tamper events are enabled.
Definition: dl_lfss.h:1800
Definition: dl_lfss.h:349
__STATIC_INLINE void DL_LFSS_TamperIO_setHeartBeatInterval(LFSS_Regs *lfss, DL_LFSS_HEARTBEAT_INTERVAL interval)
Sets the interval for the heart beat generator.
Definition: dl_lfss.h:1009
__STATIC_INLINE bool DL_LFSS_IWDT_isFreeRunEnabled(const LFSS_Regs *lfss)
Returns if Watchdog free run control is enabled.
Definition: dl_lfss.h:1209
__STATIC_INLINE void DL_LFSS_TamperIO_enableOutputInversion(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Enable output inversion for the specified Tamper IO.
Definition: dl_lfss.h:511
Definition: dl_lfss.h:375
Definition: dl_lfss.h:316
__STATIC_INLINE DL_LFSS_HEARTBEAT_PULSE_WIDTH DL_LFSS_TamperIO_getHeartBeatPulseWidth(const LFSS_Regs *lfss)
Gets the pulse width for the heart beat generator.
Definition: dl_lfss.h:1058
DL_LFSS_HEARTBEAT_MODE
Definition: dl_lfss.h:383
DL_LFSS_SCRATCHPAD_MEM_WORD
Definition: dl_lfss.h:431
Definition: dl_lfss.h:260
__STATIC_INLINE void DL_LFSS_writeScratchPadData32(LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex, uint32_t data)
Write a word in scratch pad memory.
Definition: dl_lfss.h:1362
Definition: dl_lfss.h:373
Definition: dl_lfss.h:441
__STATIC_INLINE DL_LFSS_TAMPERIO_VALUE DL_LFSS_TamperIO_getOutputValue(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Gets the output data value for the specified Tamper IO.
Definition: dl_lfss.h:959
Definition: dl_lfss.h:457
__STATIC_INLINE uint32_t DL_LFSS_TamperIO_getRawInterruptStatus(const LFSS_Regs *lfss, uint32_t interruptMask)
Check interrupt flag of any LFSS Tamper interrupt.
Definition: dl_lfss.h:1725
Definition: dl_lfss.h:353
Definition: dl_lfss.h:379
__STATIC_INLINE void DL_LFSS_IWDT_restart(LFSS_Regs *lfss)
Restarts the Watchdog.
Definition: dl_lfss.h:1284
Definition: dl_lfss.h:274
__STATIC_INLINE void DL_LFSS_writeScratchPadData8(LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex, DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex, uint32_t data)
Write to a single byte in scratch pad memory.
Definition: dl_lfss.h:1391
__STATIC_INLINE void DL_LFSS_TamperIO_enableWriteProtectLock(LFSS_Regs *lfss)
Enable write protection lock of the TIOCTL and HEARTBEAT registers from accidental updates...
Definition: dl_lfss.h:1106
__STATIC_INLINE void DL_LFSS_IWDT_enableModule(LFSS_Regs *lfss)
Enables the Watchdog module.
Definition: dl_lfss.h:1147
Definition: dl_lfss.h:292
Definition: dl_lfss.h:469
Definition: dl_lfss.h:365
Definition: dl_lfss.h:447
DL_LFSS_TAMPERIO_VALUE
Definition: dl_lfss.h:288
Definition: dl_lfss.h:491
__STATIC_INLINE void DL_LFSS_TamperIO_setEdgeDetectionPolarity(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO, DL_LFSS_TAMPERIO_EDGE_DETECTION_POLARITY polarity)
Selects the edge detection polarity for the specified Tamper IO.
Definition: dl_lfss.h:643
__STATIC_INLINE bool DL_LFSS_TamperIO_isWriteProtectLockEnabled(const LFSS_Regs *lfss)
Checks if write protection lock of the TIOCTL and HEARTBEAT registers is enabled for the specified Ta...
Definition: dl_lfss.h:1123
Definition: dl_lfss.h:359
Definition: dl_lfss.h:351
__STATIC_INLINE void DL_LFSS_IWDT_disableFreeRun(LFSS_Regs *lfss)
Disables the Watchdog free run control.
Definition: dl_lfss.h:1196
Definition: dl_lfss.h:473
Definition: dl_lfss.h:385
DL_LFSS_IWDT_TIMER_PERIOD
Definition: dl_lfss.h:483
Definition: dl_lfss.h:355
Definition: dl_lfss.h:427
__STATIC_INLINE bool DL_LFSS_TamperIO_isInternalPullDownEnabled(const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Checks if internal pull-down resistor is enabled for the specified Tamper IO.
Definition: dl_lfss.h:746
Definition: dl_lfss.h:391
Definition: dl_lfss.h:405
Definition: dl_lfss.h:443
Definition: dl_lfss.h:280
__STATIC_INLINE void DL_LFSS_TamperIO_enableEvent(LFSS_Regs *lfss, uint32_t eventMask)
Enable LFSS Tamper event.
Definition: dl_lfss.h:1770
Definition: dl_lfss.h:284
__STATIC_INLINE void DL_LFSS_TamperIO_enableInterrupt(LFSS_Regs *lfss, uint32_t interruptMask)
Enable LFSS Tamper Interrupts.
Definition: dl_lfss.h:1649
__STATIC_INLINE void DL_LFSS_TamperIO_disableInternalPullUp(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Disable internal pull-up resistor for the specified Tamper IO.
Definition: dl_lfss.h:712
Definition: dl_lfss.h:485
__STATIC_INLINE bool DL_LFSS_isScratchPadWriteProtectByteEnabled(LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex, DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
Checks if write protection is enabled for the specified byte in scratch pad memory.
Definition: dl_lfss.h:1505
Definition: dl_lfss.h:419
__STATIC_INLINE DL_LFSS_IWDT_CLOCK_DIVIDE DL_LFSS_IWDT_getClockDivider(const LFSS_Regs *lfss)
Gets the clock divider for the WDT module.
Definition: dl_lfss.h:1239
Definition: dl_lfss.h:369
DL_LFSS_TAMPERIO
Definition: dl_lfss.h:252
Definition: dl_lfss.h:397
DL_LFSS_TAMPERIO_MODE
Definition: dl_lfss.h:335
__STATIC_INLINE bool DL_LFSS_IWDT_isWriteProtectEnabled(const LFSS_Regs *lfss)
Checks if write protection lock of the WDTEN and WDTCTL registers is enabled.
Definition: dl_lfss.h:1328
Definition: dl_lfss.h:445
Definition: dl_lfss.h:298
Definition: dl_lfss.h:278
__STATIC_INLINE DL_LFSS_HEARTBEAT_INTERVAL DL_LFSS_TamperIO_getHeartBeatInterval(const LFSS_Regs *lfss)
Gets the interval for the heart beat generator.
Definition: dl_lfss.h:1026
DL_LFSS_HEARTBEAT_PULSE_WIDTH
Definition: dl_lfss.h:363
Definition: dl_lfss.h:435
Definition: dl_lfss.h:367
__STATIC_INLINE void DL_LFSS_TamperIO_clearEventsStatus(LFSS_Regs *lfss, uint32_t eventMask)
Clear pending LFSS Tamper events.
Definition: dl_lfss.h:1855
Definition: dl_lfss.h:345
__STATIC_INLINE void DL_LFSS_TamperIO_disableOutput(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Disable data output for the specified Tamper IO.
Definition: dl_lfss.h:883
Definition: dl_lfss.h:339
__STATIC_INLINE DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH DL_LFSS_TamperIO_getGlitchFilterWidth(const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Gets the filter width for the digital glitch filter for the specified Tamper IO.
Definition: dl_lfss.h:626
Definition: dl_lfss.h:347
__STATIC_INLINE bool DL_LFSS_IWDT_isModuleEnabled(const LFSS_Regs *lfss)
Returns if Watchdog module is on.
Definition: dl_lfss.h:1172
Definition: dl_lfss.h:276
#define LFSS_TAMPER_IO_PIN_MASK
Individual Tamper IO pin mask.
Definition: dl_lfss.h:249
__STATIC_INLINE void DL_LFSS_TamperIO_enableInternalPullUp(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Enable internal pull-up resistor for the specified Tamper IO.
Definition: dl_lfss.h:678
Definition: dl_lfss.h:493
Definition: dl_lfss.h:409
__STATIC_INLINE bool DL_LFSS_TamperIO_isInternalPullUpEnabled(const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Checks if internal pull-up resistor is enabled for the specified Tamper IO.
Definition: dl_lfss.h:698
__STATIC_INLINE void DL_LFSS_TamperIO_setOutputSource(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO, DL_LFSS_TAMPERIO_OUTPUT_SOURCE source)
Selects the source for the tamper output (TOUT) control for the specified Tamper IO.
Definition: dl_lfss.h:561
Definition: dl_lfss.h:377
__STATIC_INLINE uint32_t DL_LFSS_readScratchPadDataWord(const LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex)
Read the specified word in scratch pad memory.
Definition: dl_lfss.h:1419
Definition: dl_lfss.h:401
DL_LFSS_IWDT_CLOCK_DIVIDE
Definition: dl_lfss.h:463
Definition: dl_lfss.h:371
Definition: dl_lfss.h:423
DL_LFSS_TAMPERIO_IIDX
Definition: dl_lfss.h:395
Definition: dl_lfss.h:262
__STATIC_INLINE void DL_LFSS_TamperIO_setGlitchFilterWidth(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO, DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH width)
Selects the filter width for the digital glitch filter for the specified Tamper IO.
Definition: dl_lfss.h:606
#define LFSS_TAMPER_IO_PIN_ENABLE
Individual Tamper IO pin enable.
Definition: dl_lfss.h:244
__STATIC_INLINE DL_LFSS_HEARTBEAT_MODE DL_LFSS_TamperIO_getHeartBeatMode(const LFSS_Regs *lfss)
Gets the pulse mode for the heart beat generator.
Definition: dl_lfss.h:1089
__STATIC_INLINE void DL_LFSS_disableScratchPadWriteProtectByte(LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex, DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
Disable write protection lock of the specified byte in scratch pad memory.
Definition: dl_lfss.h:1535
Definition: dl_lfss.h:479
__STATIC_INLINE DL_LFSS_TAMPERIO_OUTPUT_SOURCE DL_LFSS_TamperIO_getOutputSource(const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Gets the source for the tamper output (TOUT) control for the specified Tamper IO. ...
Definition: dl_lfss.h:581
Definition: dl_lfss.h:471
Definition: dl_lfss.h:270
__STATIC_INLINE void DL_LFSS_TamperIO_disableWriteProtectLock(LFSS_Regs *lfss)
Disable write protection lock of the TIOCTL and HEARTBEAT registers.
Definition: dl_lfss.h:1136
DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH
Definition: dl_lfss.h:310
Definition: dl_lfss.h:439
Definition: dl_lfss.h:489
Definition: dl_lfss.h:387
__STATIC_INLINE void DL_LFSS_TamperIO_setOutputValue(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO, DL_LFSS_TAMPERIO_VALUE outVal)
Enable data output value as zero for the specified Tamper IO.
Definition: dl_lfss.h:933
Definition: dl_lfss.h:399
__STATIC_INLINE uint32_t DL_LFSS_TamperIO_getRawEventsStatus(const LFSS_Regs *lfss, uint32_t eventMask)
Check interrupt flag of any LFSS Tamper event.
Definition: dl_lfss.h:1842
Definition: dl_lfss.h:337
__STATIC_INLINE void DL_LFSS_IWDT_disableWriteProtect(LFSS_Regs *lfss)
Disable write protection lock of the WDTEN and WDTCTL registers.
Definition: dl_lfss.h:1340
Definition: dl_lfss.h:330
Definition: dl_lfss.h:312
Definition: dl_lfss.h:467
DL_LFSS_TAMPERIO_EDGE_DETECTION_POLARITY
Definition: dl_lfss.h:322
Definition: dl_lfss.h:254
__STATIC_INLINE void DL_LFSS_enableScratchPadTamperEraseByte(LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex, DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
Enable tamper erase of the specified byte in scratch pad memory.
Definition: dl_lfss.h:1565
Definition: dl_lfss.h:290
Definition: dl_lfss.h:455
__STATIC_INLINE uint32_t DL_LFSS_TamperIO_getEnabledInterruptStatus(const LFSS_Regs *lfss, uint32_t interruptMask)
Check interrupt flag of enabled LFSS Tamper interrupts.
Definition: dl_lfss.h:1704
Definition: dl_lfss.h:326
Definition: dl_lfss.h:433
__STATIC_INLINE bool DL_LFSS_isScratchPadTamperEraseByteEnabled(LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex, DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
Checks if tamper erase is enabled for the specified byte in scratch pad memory.
Definition: dl_lfss.h:1596
__STATIC_INLINE DL_LFSS_IWDT_TIMER_PERIOD DL_LFSS_IWDT_getTimerPeriod(const LFSS_Regs *lfss)
Get the timer period for the WDT module.
Definition: dl_lfss.h:1271
__STATIC_INLINE void DL_LFSS_IWDT_disableModule(LFSS_Regs *lfss)
Disables the Watchdog module.
Definition: dl_lfss.h:1158
Definition: dl_lfss.h:306
Definition: dl_lfss.h:272
Definition: dl_lfss.h:495
__STATIC_INLINE void DL_LFSS_TamperIO_enableInternalPullDown(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Enable internal pull-down resistor for the specified Tamper IO.
Definition: dl_lfss.h:726
Definition: dl_lfss.h:268
Definition: dl_lfss.h:475
__STATIC_INLINE void DL_LFSS_TamperIO_setMode(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO, DL_LFSS_TAMPERIO_MODE mode)
Selects the mode for the specified Tamper IO.
Definition: dl_lfss.h:831
__STATIC_INLINE DL_LFSS_TAMPERIO_VALUE DL_LFSS_TamperIO_getInputValue(const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Gets the input data value for the specified Tamper IO.
Definition: dl_lfss.h:986
Definition: dl_lfss.h:258
Definition: dl_lfss.h:357
__STATIC_INLINE bool DL_LFSS_IWDT_isWatchdogRunning(const LFSS_Regs *lfss)
Returns if Watchdog module is running.
Definition: dl_lfss.h:1297
Definition: dl_lfss.h:266
Definition: dl_lfss.h:264
__STATIC_INLINE uint32_t DL_LFSS_TamperIO_getEnabledInterrupts(const LFSS_Regs *lfss, uint32_t interruptMask)
Check which LFSS Tamper interrupts are enabled.
Definition: dl_lfss.h:1681
Definition: dl_lfss.h:403
Definition: dl_lfss.h:417
Definition: dl_lfss.h:437
DL_LFSS_HEARTBEAT_INTERVAL
Definition: dl_lfss.h:343
Definition: dl_lfss.h:314
__STATIC_INLINE void DL_LFSS_TamperIO_disableInternalPullDown(LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Disable internal pull-down resistor for the specified Tamper IO.
Definition: dl_lfss.h:760
Definition: dl_lfss.h:477
Definition: dl_lfss.h:303
__STATIC_INLINE void DL_LFSS_IWDT_setTimerPeriod(LFSS_Regs *lfss, DL_LFSS_IWDT_TIMER_PERIOD period)
Sets the timer period for the WDT module.
Definition: dl_lfss.h:1254
__STATIC_INLINE DL_LFSS_TAMPERIO_EDGE_DETECTION_POLARITY DL_LFSS_TamperIO_getEdgeDetectionPolarity(const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Gets the edge detection polarity for the specified Tamper IO.
Definition: dl_lfss.h:663
__STATIC_INLINE bool DL_LFSS_TamperIO_isInputEnabled(const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
Checks if input is enabled for the specified Tamper IO.
Definition: dl_lfss.h:793
__STATIC_INLINE void DL_LFSS_TamperIO_setPublisherChanID(LFSS_Regs *lfss, uint8_t chanID)
Sets the LFSS Tamper event publisher channel ID.
Definition: dl_lfss.h:1868
__STATIC_INLINE void DL_LFSS_disableScratchPadTamperEraseByte(LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex, DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
Disable tamper erase of the specified byte in scratch pad memory.
Definition: dl_lfss.h:1625