MSPM0L122X_L222X Driver Library  2.05.01.00
dl_lfss.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 /*!****************************************************************************
33  * @file dl_lfss.h
34  * @brief LFSS(Low Frequency Sub-System) Peripheral Interface
35  * @defgroup LFSS Low Frequeuncy Sub-System (LFSS)
36  *
37  * @anchor ti_devices_msp_dl_lfss_Overview
38  * # Overview
39  * The Low Frequency Sub-System (LFSS) Driver Library allows full configuration
40  * of the MSPM0 LFSS module.
41  * The LFSS IP enables a separate, dedicated battery supply used for
42  * maintaining continuous operation of real time clock (RTC), tamper detection
43  * input / output (TIO) module, an independent asynchronous watchdog timer
44  * (IWDT) and a small scratchpad memory storage (SPM).
45  *
46  * <hr>
47  ******************************************************************************
48  */
52 #ifndef ti_dl_dl_lfss__include
53 #define ti_dl_dl_lfss__include
54 
55 #include <stdbool.h>
56 #include <stdint.h>
57 
58 #include <ti/devices/msp/msp.h>
59 #include <ti/driverlib/dl_common.h>
60 
61 #if defined(__MSPM0_HAS_LFSS__) || defined(DOXYGEN__INCLUDE)
62 
63 #ifdef __cplusplus
64 extern "C" {
65 #endif
66 
67 /* clang-format off */
68 
69 
77 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_0 (LFSS_CPU_INT_IMASK_TIO0_SET)
78 
82 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_1 (LFSS_CPU_INT_IMASK_TIO1_SET)
83 
87 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_2 (LFSS_CPU_INT_IMASK_TIO2_SET)
88 
92 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_3 (LFSS_CPU_INT_IMASK_TIO3_SET)
93 
97 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_4 (LFSS_CPU_INT_IMASK_TIO4_SET)
98 
102 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_5 (LFSS_CPU_INT_IMASK_TIO6_SET)
103 
107 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_6 (LFSS_CPU_INT_IMASK_TIO6_SET)
108 
112 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_7 (LFSS_CPU_INT_IMASK_TIO7_SET)
113 
117 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_8 (LFSS_CPU_INT_IMASK_TIO8_SET)
118 
122 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_9 (LFSS_CPU_INT_IMASK_TIO9_SET)
123 
127 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_10 (LFSS_CPU_INT_IMASK_TIO10_SET)
128 
132 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_11 (LFSS_CPU_INT_IMASK_TIO11_SET)
133 
137 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_12 (LFSS_CPU_INT_IMASK_TIO12_SET)
138 
142 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_13 (LFSS_CPU_INT_IMASK_TIO13_SET)
143 
147 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_14 (LFSS_CPU_INT_IMASK_TIO14_SET)
148 
152 #define DL_LFSS_TAMPERIO_INTERRUPT_TAMPERIO_15 (LFSS_CPU_INT_IMASK_TIO15_SET)
153 
162 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_0 (LFSS_GEN_EVENT_IMASK_TIO0_SET)
163 
167 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_1 (LFSS_GEN_EVENT_IMASK_TIO1_SET)
168 
172 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_2 (LFSS_GEN_EVENT_IMASK_TIO2_SET)
173 
177 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_3 (LFSS_GEN_EVENT_IMASK_TIO3_SET)
178 
182 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_4 (LFSS_GEN_EVENT_IMASK_TIO4_SET)
183 
187 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_5 (LFSS_GEN_EVENT_IMASK_TIO5_SET)
188 
192 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_6 (LFSS_GEN_EVENT_IMASK_TIO6_SET)
193 
197 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_7 (LFSS_GEN_EVENT_IMASK_TIO7_SET)
198 
202 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_8 (LFSS_GEN_EVENT_IMASK_TIO8_SET)
203 
207 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_9 (LFSS_GEN_EVENT_IMASK_TIO9_SET)
208 
212 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_10 (LFSS_GEN_EVENT_IMASK_TIO10_SET)
213 
217 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_11 (LFSS_GEN_EVENT_IMASK_TIO11_SET)
218 
222 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_12 (LFSS_GEN_EVENT_IMASK_TIO12_SET)
223 
227 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_13 (LFSS_GEN_EVENT_IMASK_TIO13_SET)
228 
232 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_14 (LFSS_GEN_EVENT_IMASK_TIO14_SET)
233 
237 #define DL_LFSS_TAMPERIO_EVENT_TAMPERIO_15 (LFSS_GEN_EVENT_IMASK_TIO15_SET)
238 
244 #define LFSS_TAMPER_IO_PIN_ENABLE 0x1
245 
249 #define LFSS_TAMPER_IO_PIN_MASK 0x1
250 
252 typedef enum {
286 
288 typedef enum {
294 
296 typedef enum {
298  DL_LFSS_TAMPERIO_OUTPUT_SOURCE_TOUT = LFSS_TIOCTL_TOUTSEL_TOUT,
300  DL_LFSS_TAMPERIO_OUTPUT_SOURCE_LFCLK = LFSS_TIOCTL_TOUTSEL_LFCLKEXT,
303  DL_LFSS_TAMPERIO_OUTPUT_SOURCE_HEARTBEAT = LFSS_TIOCTL_TOUTSEL_HEARTBEAT,
306  DL_LFSS_TAMPERIO_OUTPUT_SOURCE_TIME_STAMP_EVENT = LFSS_TIOCTL_TOUTSEL_TSEVTSTAT,
308 
310 typedef enum {
312  DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH_NONE = LFSS_TIOCTL_FILTEREN_NO_FLT,
314  DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH_30_USEC = LFSS_TIOCTL_FILTEREN_FLT_1,
316  DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH_100_USEC = LFSS_TIOCTL_FILTEREN_FLT_2,
318  DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH_200_USEC = LFSS_TIOCTL_FILTEREN_FLT_3,
320 
322 typedef enum {
324  DL_LFSS_TAMPERIO_EDGE_DETECTION_POLARITY_DISABLE = LFSS_TIOCTL_POLARITY_DISABLE,
331 
333 
335 typedef enum {
337  DL_LFSS_TAMPERIO_MODE_TAMPER = LFSS_TIOCTL_IOMUX_TAMPER,
339  DL_LFSS_TAMPERIO_MODE_IOMUX = LFSS_TIOCTL_IOMUX_IOMUX
341 
343 typedef enum {
345  DL_LFSS_HEARTBEAT_INTERVAL_0_125_SEC = LFSS_HEARTBEAT_HBINTERVAL_HBINT0P125,
347  DL_LFSS_HEARTBEAT_INTERVAL_0_25_SEC = LFSS_HEARTBEAT_HBINTERVAL_HBINT0P25,
349  DL_LFSS_HEARTBEAT_INTERVAL_05_SEC = LFSS_HEARTBEAT_HBINTERVAL_HBINT0P5,
351  DL_LFSS_HEARTBEAT_INTERVAL_1_SEC = LFSS_HEARTBEAT_HBINTERVAL_HBINT1,
353  DL_LFSS_HEARTBEAT_INTERVAL_2_SEC = LFSS_HEARTBEAT_HBINTERVAL_HBINT2,
355  DL_LFSS_HEARTBEAT_INTERVAL_4_SEC = LFSS_HEARTBEAT_HBINTERVAL_HBINT4,
357  DL_LFSS_HEARTBEAT_INTERVAL_8_SEC = LFSS_HEARTBEAT_HBINTERVAL_HBINT8,
359  DL_LFSS_HEARTBEAT_INTERVAL_16_SEC = LFSS_HEARTBEAT_HBINTERVAL_HBINT16,
361 
363 typedef enum {
365  DL_LFSS_HEARTBEAT_PULSE_WIDTH_1_MSEC = LFSS_HEARTBEAT_HBWIDTH_HBPWDTH1,
367  DL_LFSS_HEARTBEAT_PULSE_WIDTH_2_MSEC = LFSS_HEARTBEAT_HBWIDTH_HBPWDTH2,
369  DL_LFSS_HEARTBEAT_PULSE_WIDTH_4_MSEC = LFSS_HEARTBEAT_HBWIDTH_HBPWDTH4,
371  DL_LFSS_HEARTBEAT_PULSE_WIDTH_8_MSEC = LFSS_HEARTBEAT_HBWIDTH_HBPWDTH8,
373  DL_LFSS_HEARTBEAT_PULSE_WIDTH_16_MSEC = LFSS_HEARTBEAT_HBWIDTH_HBPWDTH16,
375  DL_LFSS_HEARTBEAT_PULSE_WIDTH_32_MSEC = LFSS_HEARTBEAT_HBWIDTH_HBPWDTH32,
377  DL_LFSS_HEARTBEAT_PULSE_WIDTH_64_MSEC = LFSS_HEARTBEAT_HBWIDTH_HBPWDTH64,
379  DL_LFSS_HEARTBEAT_PULSE_WIDTH_128_MSEC = LFSS_HEARTBEAT_HBWIDTH_HBPWDTH128,
381 
383 typedef enum {
385  DL_LFSS_HEARTBEAT_MODE_DISABLED = LFSS_HEARTBEAT_HBMODE_HB_DIS,
387  DL_LFSS_HEARTBEAT_MODE_ALWAYS_ON = LFSS_HEARTBEAT_HBMODE_HB_ALLWAYS,
389  DL_LFSS_HEARTBEAT_MODE_TIME_STAMP = LFSS_HEARTBEAT_HBMODE_HB_TS,
391  DL_LFSS_HEARTBEAT_MODE_POWER_FAIL = LFSS_HEARTBEAT_HBMODE_HB_VDDFAIL,
393 
395 typedef enum {
397  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_0 = LFSS_CPU_INT_IIDX_STAT_TIO0,
399  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_1 = LFSS_CPU_INT_IIDX_STAT_TIO1,
401  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_2 = LFSS_CPU_INT_IIDX_STAT_TIO2,
403  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_3 = LFSS_CPU_INT_IIDX_STAT_TIO3,
405  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_4 = LFSS_CPU_INT_IIDX_STAT_TIO4,
407  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_5 = LFSS_CPU_INT_IIDX_STAT_TIO5,
409  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_6 = LFSS_CPU_INT_IIDX_STAT_TIO6,
411  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_7 = LFSS_CPU_INT_IIDX_STAT_TIO7,
413  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_8 = LFSS_CPU_INT_IIDX_STAT_TIO8,
415  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_9 = LFSS_CPU_INT_IIDX_STAT_TIO9,
417  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_10 = LFSS_CPU_INT_IIDX_STAT_TIO10,
419  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_11 = LFSS_CPU_INT_IIDX_STAT_TIO11,
421  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_12 = LFSS_CPU_INT_IIDX_STAT_TIO12,
423  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_13 = LFSS_CPU_INT_IIDX_STAT_TIO13,
425  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_14 = LFSS_CPU_INT_IIDX_STAT_TIO14,
427  DL_LFSS_TAMPERIO_IIDX_TAMPER_IO_15 = LFSS_CPU_INT_IIDX_STAT_TIO15,
429 
431 typedef enum {
449 
451 typedef enum {
461 
463 typedef enum {
481 
483 typedef enum {
485  DL_LFSS_IWDT_TIMER_PERIOD_6_BITS = LFSS_WDTCTL_PER_PER_EN_6,
487  DL_LFSS_IWDT_TIMER_PERIOD_8_BITS = LFSS_WDTCTL_PER_PER_EN_8,
489  DL_LFSS_IWDT_TIMER_PERIOD_10_BITS = LFSS_WDTCTL_PER_PER_EN_10,
491  DL_LFSS_IWDT_TIMER_PERIOD_12_BITS = LFSS_WDTCTL_PER_PER_EN_12,
493  DL_LFSS_IWDT_TIMER_PERIOD_15_BITS = LFSS_WDTCTL_PER_PER_EN_15,
495  DL_LFSS_IWDT_TIMER_PERIOD_18_BITS = LFSS_WDTCTL_PER_PER_EN_18,
497  DL_LFSS_IWDT_TIMER_PERIOD_21_BITS = LFSS_WDTCTL_PER_PER_EN_21,
499  DL_LFSS_IWDT_TIMER_PERIOD_25_BITS = LFSS_WDTCTL_PER_PER_EN_25
501 
502 /* clang-format on */
503 
512  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
513 {
514  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] |=
515  LFSS_TIOCTL_OUTINV_ENABLE;
516 }
517 
531  const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
532 {
533  return ((lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
534  LFSS_TIOCTL_OUTINV_MASK) == LFSS_TIOCTL_OUTINV_ENABLE);
535 }
536 
545  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
546 {
547  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &=
548  ~(LFSS_TIOCTL_OUTINV_MASK);
549 }
550 
561 __STATIC_INLINE void DL_LFSS_TamperIO_setOutputSource(LFSS_Regs *lfss,
562  DL_LFSS_TAMPERIO tamperIO, DL_LFSS_TAMPERIO_OUTPUT_SOURCE source)
563 {
564  DL_Common_updateReg(&lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO],
565  (uint32_t) source, LFSS_TIOCTL_TOUTSEL_MASK);
566 }
567 
580 __STATIC_INLINE DL_LFSS_TAMPERIO_OUTPUT_SOURCE
582  const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
583 {
584  return ((DL_LFSS_TAMPERIO_OUTPUT_SOURCE)(
585  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
586  LFSS_TIOCTL_TOUTSEL_MASK));
587 }
588 
606 __STATIC_INLINE void DL_LFSS_TamperIO_setGlitchFilterWidth(LFSS_Regs *lfss,
607  DL_LFSS_TAMPERIO tamperIO, DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH width)
608 {
609  DL_Common_updateReg(&lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO],
610  (uint32_t) width, LFSS_TIOCTL_FILTEREN_MASK);
611 }
612 
625 __STATIC_INLINE DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH
627  const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
628 {
629  return ((DL_LFSS_TAMPERIO_GLITCH_FILTER_WIDTH)(
630  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
631  LFSS_TIOCTL_FILTEREN_MASK));
632 }
633 
643 __STATIC_INLINE void DL_LFSS_TamperIO_setEdgeDetectionPolarity(LFSS_Regs *lfss,
644  DL_LFSS_TAMPERIO tamperIO,
645  DL_LFSS_TAMPERIO_EDGE_DETECTION_POLARITY polarity)
646 {
647  DL_Common_updateReg(&lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO],
648  (uint32_t) polarity, LFSS_TIOCTL_POLARITY_MASK);
649 }
650 
662 __STATIC_INLINE DL_LFSS_TAMPERIO_EDGE_DETECTION_POLARITY
664  const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
665 {
666  return ((DL_LFSS_TAMPERIO_EDGE_DETECTION_POLARITY)(
667  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
668  LFSS_TIOCTL_POLARITY_MASK));
669 }
670 
679  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
680 {
681  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] |=
682  LFSS_TIOCTL_PIPU_ENABLE;
683 }
684 
699  const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
700 {
701  return ((lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
702  LFSS_TIOCTL_PIPU_MASK) == LFSS_TIOCTL_PIPU_ENABLE);
703 }
704 
713  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
714 {
715  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &=
716  ~(LFSS_TIOCTL_PIPU_MASK);
717 }
718 
727  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
728 {
729  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] |=
730  LFSS_TIOCTL_PIPD_ENABLE;
731 }
732 
747  const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
748 {
749  return ((lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
750  LFSS_TIOCTL_PIPD_MASK) == LFSS_TIOCTL_PIPD_ENABLE);
751 }
752 
761  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
762 {
763  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &=
764  ~(LFSS_TIOCTL_PIPD_MASK);
765 }
766 
774 __STATIC_INLINE void DL_LFSS_TamperIO_enableInput(
775  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
776 {
777  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] |=
778  LFSS_TIOCTL_INENA_ENABLE;
779 }
780 
793 __STATIC_INLINE bool DL_LFSS_TamperIO_isInputEnabled(
794  const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
795 {
796  return ((lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
797  LFSS_TIOCTL_INENA_MASK) == LFSS_TIOCTL_INENA_ENABLE);
798 }
799 
807 __STATIC_INLINE void DL_LFSS_TamperIO_disableInput(
808  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
809 {
810  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &=
811  ~(LFSS_TIOCTL_INENA_MASK);
812 }
813 
831 __STATIC_INLINE void DL_LFSS_TamperIO_setMode(
832  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO, DL_LFSS_TAMPERIO_MODE mode)
833 {
834  DL_Common_updateReg(&lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO],
835  (uint32_t) mode, LFSS_TIOCTL_IOMUX_MASK);
836 }
837 
849 __STATIC_INLINE DL_LFSS_TAMPERIO_MODE DL_LFSS_TamperIO_getMode(
850  const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
851 {
852  return ((DL_LFSS_TAMPERIO_MODE)(
853  lfss->IPSPECIFIC_TIO.TIOCTL[(uint32_t) tamperIO] &
854  LFSS_TIOCTL_IOMUX_MASK));
855 }
856 
864 __STATIC_INLINE void DL_LFSS_TamperIO_enableOutput(
865  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
866 {
867  volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TOE3_0;
868 
869  /* Point to correct base register */
870  pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
871 
872  /* Set just the one bit for the specified tamper IO */
873  *pReg |= LFSS_TAMPER_IO_PIN_ENABLE << (8 * (tamperIO % 4));
874 }
875 
883 __STATIC_INLINE void DL_LFSS_TamperIO_disableOutput(
884  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
885 {
886  volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TOE3_0;
887 
888  /* Point to correct base register */
889  pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
890 
891  /* Clear just the one bit for the specified tamper IO */
892  *pReg &= ~(LFSS_TAMPER_IO_PIN_ENABLE << (8 * (tamperIO % 4)));
893 }
894 
907 __STATIC_INLINE uint32_t DL_LFSS_TamperIO_isOutputEnabled(
908  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
909 {
910  volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TOE3_0;
911 
912  /* Point to correct base register */
913  pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
914 
915  volatile uint32_t pinMask = LFSS_TAMPER_IO_PIN_MASK
916  << (8 * (tamperIO % 4));
917  volatile uint32_t enableMask = LFSS_TAMPER_IO_PIN_ENABLE
918  << (8 * (tamperIO % 4));
919 
920  /* Get just the one bit for the specified tamper IO */
921  return ((*pReg & pinMask) == enableMask);
922 }
923 
933 __STATIC_INLINE void DL_LFSS_TamperIO_setOutputValue(
934  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO, DL_LFSS_TAMPERIO_VALUE outVal)
935 {
936  volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TOUT3_0;
937 
938  /* Point to correct base register */
939  pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
940 
941  volatile uint32_t valueMask = outVal << (8 * (tamperIO % 4));
942  volatile uint32_t pinMask = LFSS_TAMPER_IO_PIN_MASK
943  << (8 * (tamperIO % 4));
944 
945  DL_Common_updateReg(pReg, valueMask, pinMask);
946 }
947 
960  LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
961 {
962  volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TOUT3_0;
963 
964  /* Point to correct base register */
965  pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
966 
967  volatile uint32_t pinMask = LFSS_TAMPER_IO_PIN_MASK
968  << (8 * (tamperIO % 4));
969 
970  uint32_t outVal = (*pReg & pinMask) >> (8 * (tamperIO % 4));
971 
972  return (DL_LFSS_TAMPERIO_VALUE)(outVal);
973 }
974 
987  const LFSS_Regs *lfss, DL_LFSS_TAMPERIO tamperIO)
988 {
989  const volatile uint32_t *pReg = &lfss->IPSPECIFIC_TIO.TIN3_0;
990 
991  /* Point to correct base register */
992  pReg = (uint32_t *) ((uint8_t *) pReg + (uint8_t)(4 * (tamperIO / 4)));
993 
994  volatile uint32_t pinMask = LFSS_TAMPER_IO_PIN_MASK
995  << (8 * (tamperIO % 4));
996 
997  uint32_t inputVal = (*pReg & pinMask) >> (8 * (tamperIO % 4));
998 
999  return (DL_LFSS_TAMPERIO_VALUE)(inputVal);
1000 }
1001 
1010  LFSS_Regs *lfss, DL_LFSS_HEARTBEAT_INTERVAL interval)
1011 {
1012  DL_Common_updateReg(&lfss->IPSPECIFIC_TIO.HEARTBEAT, (uint32_t) interval,
1013  LFSS_HEARTBEAT_HBINTERVAL_MASK);
1014 }
1015 
1025 __STATIC_INLINE DL_LFSS_HEARTBEAT_INTERVAL
1027 {
1028  uint32_t interval =
1029  lfss->IPSPECIFIC_TIO.HEARTBEAT & LFSS_HEARTBEAT_HBINTERVAL_MASK;
1030 
1031  return (DL_LFSS_HEARTBEAT_INTERVAL)(interval);
1032 }
1033 
1042  LFSS_Regs *lfss, DL_LFSS_HEARTBEAT_PULSE_WIDTH width)
1043 {
1044  DL_Common_updateReg(&lfss->IPSPECIFIC_TIO.HEARTBEAT, (uint32_t) width,
1045  LFSS_HEARTBEAT_HBWIDTH_MASK);
1046 }
1047 
1057 __STATIC_INLINE DL_LFSS_HEARTBEAT_PULSE_WIDTH
1059 {
1060  uint32_t width =
1061  (lfss->IPSPECIFIC_TIO.HEARTBEAT & LFSS_HEARTBEAT_HBWIDTH_MASK);
1062 
1063  return (DL_LFSS_HEARTBEAT_PULSE_WIDTH)(width);
1064 }
1065 
1074  LFSS_Regs *lfss, DL_LFSS_HEARTBEAT_MODE mode)
1075 {
1076  DL_Common_updateReg(&lfss->IPSPECIFIC_TIO.HEARTBEAT, (uint32_t) mode,
1077  LFSS_HEARTBEAT_HBMODE_MASK);
1078 }
1079 
1089 __STATIC_INLINE DL_LFSS_HEARTBEAT_MODE DL_LFSS_TamperIO_getHeartBeatMode(
1090  const LFSS_Regs *lfss)
1091 {
1092  uint32_t mode =
1093  (lfss->IPSPECIFIC_TIO.HEARTBEAT & LFSS_HEARTBEAT_HBMODE_MASK);
1094 
1095  return (DL_LFSS_HEARTBEAT_MODE)(mode);
1096 }
1097 
1106 __STATIC_INLINE void DL_LFSS_TamperIO_enableWriteProtectLock(LFSS_Regs *lfss)
1107 {
1108  lfss->IPSPECIFIC_TIO.TIOLOCK =
1109  (LFSS_TIOLOCK_PROTECT_SET | LFSS_TIOLOCK_KEY_UNLOCK_W);
1110 }
1111 
1124  const LFSS_Regs *lfss)
1125 {
1126  return ((lfss->IPSPECIFIC_TIO.TIOLOCK & LFSS_TIOLOCK_PROTECT_MASK) ==
1127  LFSS_TIOLOCK_PROTECT_SET);
1128 }
1129 
1136 __STATIC_INLINE void DL_LFSS_TamperIO_disableWriteProtectLock(LFSS_Regs *lfss)
1137 {
1138  lfss->IPSPECIFIC_TIO.TIOLOCK =
1139  (LFSS_TIOLOCK_PROTECT_CLR | LFSS_TIOLOCK_KEY_UNLOCK_W);
1140 }
1141 
1147 __STATIC_INLINE void DL_LFSS_IWDT_enableModule(LFSS_Regs *lfss)
1148 {
1149  lfss->IPSPECIFIC_WDT.WDTEN =
1150  (LFSS_WDTEN_KEY_UNLOCK_W | LFSS_WDTEN_ENABLE_SET);
1151 }
1152 
1158 __STATIC_INLINE void DL_LFSS_IWDT_disableModule(LFSS_Regs *lfss)
1159 {
1160  lfss->IPSPECIFIC_WDT.WDTEN =
1161  (LFSS_WDTEN_KEY_UNLOCK_W | LFSS_WDTEN_ENABLE_CLR);
1162 }
1163 
1172 __STATIC_INLINE bool DL_LFSS_IWDT_isModuleEnabled(const LFSS_Regs *lfss)
1173 {
1174  return ((lfss->IPSPECIFIC_WDT.WDTEN & LFSS_WDTEN_ENABLE_MASK) ==
1175  LFSS_WDTEN_ENABLE_SET);
1176 }
1177 
1186 __STATIC_INLINE void DL_LFSS_IWDT_enableFreeRun(LFSS_Regs *lfss)
1187 {
1188  lfss->IPSPECIFIC_WDT.WDTDBGCTL = LFSS_WDTDBGCTL_FREE_RUN;
1189 }
1190 
1196 __STATIC_INLINE void DL_LFSS_IWDT_disableFreeRun(LFSS_Regs *lfss)
1197 {
1198  lfss->IPSPECIFIC_WDT.WDTDBGCTL = LFSS_WDTDBGCTL_FREE_STOP;
1199 }
1200 
1209 __STATIC_INLINE bool DL_LFSS_IWDT_isFreeRunEnabled(const LFSS_Regs *lfss)
1210 {
1211  return ((lfss->IPSPECIFIC_WDT.WDTDBGCTL & LFSS_WDTDBGCTL_FREE_MASK) ==
1212  LFSS_WDTDBGCTL_FREE_RUN);
1213 }
1214 
1222 __STATIC_INLINE void DL_LFSS_IWDT_setClockDivider(
1223  LFSS_Regs *lfss, DL_LFSS_IWDT_CLOCK_DIVIDE divider)
1224 {
1225  DL_Common_updateReg(&lfss->IPSPECIFIC_WDT.WDTCTL,
1226  ((uint32_t) divider | LFSS_WDTCTL_KEY_UNLOCK_W),
1227  LFSS_WDTCTL_CLKDIV_MASK | LFSS_WDTCTL_KEY_MASK);
1228 }
1229 
1240  const LFSS_Regs *lfss)
1241 {
1242  uint32_t divider = (lfss->IPSPECIFIC_WDT.WDTCTL & LFSS_WDTCTL_CLKDIV_MASK);
1243 
1244  return (DL_LFSS_IWDT_CLOCK_DIVIDE)(divider);
1245 }
1246 
1254 __STATIC_INLINE void DL_LFSS_IWDT_setTimerPeriod(
1255  LFSS_Regs *lfss, DL_LFSS_IWDT_TIMER_PERIOD period)
1256 {
1257  DL_Common_updateReg(&lfss->IPSPECIFIC_WDT.WDTCTL,
1258  ((uint32_t) period | LFSS_WDTCTL_KEY_UNLOCK_W),
1259  LFSS_WDTCTL_PER_MASK | LFSS_WDTCTL_KEY_MASK);
1260 }
1261 
1271 __STATIC_INLINE DL_LFSS_IWDT_TIMER_PERIOD DL_LFSS_IWDT_getTimerPeriod(
1272  const LFSS_Regs *lfss)
1273 {
1274  uint32_t period = (lfss->IPSPECIFIC_WDT.WDTCTL & LFSS_WDTCTL_PER_MASK);
1275 
1276  return (DL_LFSS_IWDT_TIMER_PERIOD)(period);
1277 }
1278 
1284 __STATIC_INLINE void DL_LFSS_IWDT_restart(LFSS_Regs *lfss)
1285 {
1286  lfss->IPSPECIFIC_WDT.WDTCNTRST = LFSS_WDTCNTRST_RESTART_VALUE;
1287 }
1288 
1297 __STATIC_INLINE bool DL_LFSS_IWDT_isWatchdogRunning(const LFSS_Regs *lfss)
1298 {
1299  return ((lfss->IPSPECIFIC_WDT.WDTSTAT & LFSS_WDTSTAT_RUN_MASK) ==
1300  LFSS_WDTSTAT_RUN_RUN);
1301 }
1302 
1311 __STATIC_INLINE void DL_LFSS_IWDT_enableWriteProtect(LFSS_Regs *lfss)
1312 {
1313  lfss->IPSPECIFIC_WDT.WDTLOCK =
1314  (LFSS_WDTLOCK_PROTECT_SET | LFSS_WDTLOCK_KEY_UNLOCK_W);
1315 }
1316 
1328 __STATIC_INLINE bool DL_LFSS_IWDT_isWriteProtectEnabled(const LFSS_Regs *lfss)
1329 {
1330  return ((lfss->IPSPECIFIC_WDT.WDTLOCK & LFSS_WDTLOCK_PROTECT_MASK) ==
1331  LFSS_WDTLOCK_PROTECT_SET);
1332 }
1333 
1340 __STATIC_INLINE void DL_LFSS_IWDT_disableWriteProtect(LFSS_Regs *lfss)
1341 {
1342  lfss->IPSPECIFIC_WDT.WDTLOCK =
1343  (LFSS_WDTLOCK_PROTECT_CLR | LFSS_WDTLOCK_KEY_UNLOCK_W);
1344 }
1345 
1362 __STATIC_INLINE void DL_LFSS_writeScratchPadData32(
1363  LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex, uint32_t data)
1364 {
1365  lfss->IPSPECIFIC_MEM.SPMEM[(uint32_t) memIndex] = data;
1366 }
1367 
1391 __STATIC_INLINE void DL_LFSS_writeScratchPadData8(LFSS_Regs *lfss,
1392  DL_LFSS_SCRATCHPAD_MEM_WORD memIndex,
1393  DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex, uint32_t data)
1394 {
1395  /* Point to correct SPMEM word */
1396  volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMEM[(uint32_t) memIndex];
1397 
1398  /* Get the correct bit based on the byteIndex */
1399  uint32_t offset = ((uint32_t) byteIndex * (uint32_t) 8);
1400  data = data << offset;
1401  uint32_t mask = ((uint32_t) 0x000000FFU) << offset;
1402 
1403  DL_Common_updateReg(pReg, data, mask);
1404 }
1405 
1419 __STATIC_INLINE uint32_t DL_LFSS_readScratchPadDataWord(
1420  const LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex)
1421 {
1422  return (lfss->IPSPECIFIC_MEM.SPMEM[(uint32_t) memIndex]);
1423 }
1424 
1447 __STATIC_INLINE uint8_t DL_LFSS_readScratchPadDataByte(LFSS_Regs *lfss,
1448  DL_LFSS_SCRATCHPAD_MEM_WORD memIndex,
1449  DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
1450 {
1451  /* Point to correct SPMEM word */
1452  volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMEM[(uint32_t) memIndex];
1453 
1454  /* Get the correct bit based on the byteIndex */
1455  uint32_t offset = ((uint32_t) byteIndex * (uint32_t) 8);
1456  uint32_t mask = ((uint32_t) 0x000000FFU) << offset;
1457 
1458  return (((*pReg & mask)) >> offset);
1459 }
1460 
1474 __STATIC_INLINE void DL_LFSS_enableScratchPadWriteProtectByte(LFSS_Regs *lfss,
1475  DL_LFSS_SCRATCHPAD_MEM_WORD memIndex,
1476  DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
1477 {
1478  /* Point to correct SPMWPROT register */
1479  uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1480  volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMWPROT0 + regIndex;
1481 
1482  /* Get the correct bit based on the byteIndex */
1483  uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1484  << (uint32_t) 2) +
1485  (uint32_t) byteIndex);
1486 
1487  *pReg |= (LFSS_SPMWPROT0_KEY_UNLOCK_W | mask);
1488 }
1489 
1506  LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex,
1507  DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
1508 {
1509  /* Point to correct SPMWPROT index */
1510  uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1511  volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMWPROT0 + regIndex;
1512 
1513  /* Get the correct bit based on the byteIndex */
1514  uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1515  << (uint32_t) 2) +
1516  (uint32_t) byteIndex);
1517 
1518  return ((*pReg & mask) == mask);
1519 }
1520 
1535 __STATIC_INLINE void DL_LFSS_disableScratchPadWriteProtectByte(LFSS_Regs *lfss,
1536  DL_LFSS_SCRATCHPAD_MEM_WORD memIndex,
1537  DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
1538 {
1539  /* Point to correct SPMWPROT index */
1540  uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1541  volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMWPROT0 + regIndex;
1542 
1543  /* Get the correct bit based on the byteIndex */
1544  uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1545  << (uint32_t) 2) +
1546  (uint32_t) byteIndex);
1547 
1548  *pReg = ((*pReg & (~mask)) | LFSS_SPMWPROT1_KEY_UNLOCK_W);
1549 }
1550 
1565 __STATIC_INLINE void DL_LFSS_enableScratchPadTamperEraseByte(LFSS_Regs *lfss,
1566  DL_LFSS_SCRATCHPAD_MEM_WORD memIndex,
1567  DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
1568 {
1569  /* Point to correct SPMTERASE index */
1570  uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1571  volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMTERASE0 + regIndex;
1572 
1573  /* Get the correct bit based on the byteIndex */
1574  uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1575  << (uint32_t) 2) +
1576  (uint32_t) byteIndex);
1577 
1578  *pReg |= (LFSS_SPMTERASE0_KEY_UNLOCK_W | mask);
1579 }
1580 
1597  LFSS_Regs *lfss, DL_LFSS_SCRATCHPAD_MEM_WORD memIndex,
1598  DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
1599 {
1600  /* Point to correct SPMTERASE index */
1601  uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1602  volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMTERASE0 + regIndex;
1603 
1604  /* Get the correct bit based on the byteIndex */
1605  uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1606  << (uint32_t) 2) +
1607  (uint32_t) byteIndex);
1608 
1609  return ((*pReg & mask) == mask);
1610 }
1611 
1625 __STATIC_INLINE void DL_LFSS_disableScratchPadTamperEraseByte(LFSS_Regs *lfss,
1626  DL_LFSS_SCRATCHPAD_MEM_WORD memIndex,
1627  DL_LFSS_SCRATCHPAD_MEM_BYTE byteIndex)
1628 {
1629  /* Point to correct SPMTERASE index */
1630  uint32_t regIndex = (uint32_t) memIndex >> (uint32_t) 2;
1631  volatile uint32_t *pReg = &lfss->IPSPECIFIC_MEM.SPMTERASE0 + regIndex;
1632 
1633  /* Get the correct bit based on the byteIndex */
1634  uint32_t mask = (uint32_t) 1 << ((((uint32_t) memIndex % (uint32_t) 4)
1635  << (uint32_t) 2) +
1636  (uint32_t) byteIndex);
1637 
1638  *pReg = ((*pReg & (~mask)) | LFSS_SPMWPROT2_KEY_UNLOCK_W);
1639 }
1640 
1650  LFSS_Regs *lfss, uint32_t interruptMask)
1651 {
1652  lfss->CPU_INT.IMASK |= interruptMask;
1653 }
1654 
1664  LFSS_Regs *lfss, uint32_t interruptMask)
1665 {
1666  lfss->CPU_INT.IMASK &= ~(interruptMask);
1667 }
1668 
1681 __STATIC_INLINE uint32_t DL_LFSS_TamperIO_getEnabledInterrupts(
1682  const LFSS_Regs *lfss, uint32_t interruptMask)
1683 {
1684  return (lfss->CPU_INT.IMASK & interruptMask);
1685 }
1686 
1705  const LFSS_Regs *lfss, uint32_t interruptMask)
1706 {
1707  return (lfss->CPU_INT.MIS & interruptMask);
1708 }
1709 
1726  const LFSS_Regs *lfss, uint32_t interruptMask)
1727 {
1728  return (lfss->CPU_INT.RIS & interruptMask);
1729 }
1730 
1743 __STATIC_INLINE DL_LFSS_TAMPERIO_IIDX DL_LFSS_TamperIO_getPendingInterrupt(
1744  const LFSS_Regs *lfss)
1745 {
1746  return (DL_LFSS_TAMPERIO_IIDX)(lfss->CPU_INT.IIDX);
1747 }
1748 
1758  LFSS_Regs *lfss, uint32_t interruptMask)
1759 {
1760  lfss->CPU_INT.ICLR = interruptMask;
1761 }
1762 
1770 __STATIC_INLINE void DL_LFSS_TamperIO_enableEvent(
1771  LFSS_Regs *lfss, uint32_t eventMask)
1772 {
1773  lfss->GEN_EVENT.IMASK |= (eventMask);
1774 }
1775 
1783 __STATIC_INLINE void DL_LFSS_TamperIO_disableEvent(
1784  LFSS_Regs *lfss, uint32_t eventMask)
1785 {
1786  lfss->GEN_EVENT.IMASK &= ~(eventMask);
1787 }
1788 
1800 __STATIC_INLINE uint32_t DL_LFSS_TamperIO_getEnabledEvents(
1801  const LFSS_Regs *lfss, uint32_t eventMask)
1802 {
1803  return ((lfss->GEN_EVENT.IMASK) & (eventMask));
1804 }
1805 
1823  const LFSS_Regs *lfss, uint32_t eventMask)
1824 {
1825  return ((lfss->GEN_EVENT.MIS) & eventMask);
1826 }
1827 
1842 __STATIC_INLINE uint32_t DL_LFSS_TamperIO_getRawEventsStatus(
1843  const LFSS_Regs *lfss, uint32_t eventMask)
1844 {
1845  return ((lfss->GEN_EVENT.RIS) & eventMask);
1846 }
1847 
1856  LFSS_Regs *lfss, uint32_t eventMask)
1857 {
1858  lfss->GEN_EVENT.ICLR |= (eventMask);
1859 }
1860 
1869  LFSS_Regs *lfss, uint8_t chanID)
1870 {
1871  lfss->FPUB_0 = (chanID & LFSS_FPUB_0_CHANID_MAXIMUM);
1872 }
1873 
1882 __STATIC_INLINE uint8_t DL_LFSS_TamperIO_getPublisherChanID(
1883  const LFSS_Regs *lfss)
1884 {
1885  return (uint8_t)(lfss->FPUB_0 & LFSS_FPUB_0_CHANID_MAXIMUM);
1886 }
1887 
1895 __STATIC_INLINE void DL_LFSS_reset(LFSS_Regs *lfss)
1896 {
1897  lfss->IPSPECIFIC_RTC.LFSSRST =
1898  (LFSS_LFSSRST_KEY_UNLOCK_W | LFSS_LFSSRST_VBATPOR_SET);
1899 }
1900 
1901 #ifdef __cplusplus
1902 }
1903 #endif
1904 #endif /* __MSPM0_HAS_LFSS__ */
1905 #endif /* ti_dl_dl_lfss__include */
1906 
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: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: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
__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
__STATIC_INLINE void DL_LFSS_IWDT_restart(LFSS_Regs *lfss)
Restarts the Watchdog.
Definition: dl_lfss.h:1284
DriverLib Common APIs.
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: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: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: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
__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
__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
© Copyright 1995-2025, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale