ETAMPDET - External Tamper Detect#

External Tamper Detect (ETAMPDET) Peripheral API.

This module contains functions to control the ETAMPDET peripheral of Silicon Labs 32-bit MCUs and SoCs. The ETAMPDET can alert the system to unauthorized physical access with very low current consumption.

Modules#

sl_hal_etampdet_config_channel_t

sl_hal_etampdet_config_t

Enumerations#

enum
channel_0 = 0
channel_1
}

ETAMPDET channels.

enum
detect_filt_threshold_1 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold1
detect_filt_threshold_2 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold2
detect_filt_threshold_3 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold3
detect_filt_threshold_4 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold4
detect_filt_threshold_5 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold5
detect_filt_threshold_6 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold6
detect_filt_threshold_7 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold7
detect_filt_threshold_8 = _ETAMPDET_CNTMISMATCHMAX_CHNLCNTMISMATCHMAX0_DetectFilterThreshold8
}

ETAMPDET filter thresholds.

enum
detect_filt_win_size_2 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize2
detect_filt_win_size_3 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize3
detect_filt_win_size_4 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize4
detect_filt_win_size_5 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize5
detect_filt_win_size_6 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize6
detect_filt_win_size_7 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize7
detect_filt_win_size_8 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize8
detect_filt_win_size_9 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize9
detect_filt_win_size_10 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize10
detect_filt_win_size_11 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize11
detect_filt_win_size_12 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize12
detect_filt_win_size_13 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize13
detect_filt_win_size_14 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize14
detect_filt_win_size_15 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize15
detect_filt_win_size_16 = _ETAMPDET_CHNLFILTWINSIZE_CHNLFILTWINSIZE0_DetectFilterMovingWinSize16
}

ETAMPDET filter moving window size.

enum
upper_clk_prescaler_bypass = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_Bypass
upper_clk_prescaler_divide_2 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy2
upper_clk_prescaler_divide_4 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy4
upper_clk_prescaler_divide_8 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy8
upper_clk_prescaler_divide_16 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy16
upper_clk_prescaler_divide_32 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy32
upper_clk_prescaler_divide_64 = _ETAMPDET_CLKPRESCVAL_UPPERPRESC_DivideBy64
}

ETAMPDET upper part of divider ripple counter.

enum
lower_clk_prescaler_bypass = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_Bypass
lower_clk_prescaler_divide_2 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy2
lower_clk_prescaler_divide_3 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy3
lower_clk_prescaler_divide_4 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy4
lower_clk_prescaler_divide_5 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy5
lower_clk_prescaler_divide_6 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy6
lower_clk_prescaler_divide_7 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy7
lower_clk_prescaler_divide_8 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy8
lower_clk_prescaler_divide_9 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy9
lower_clk_prescaler_divide_10 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy10
lower_clk_prescaler_divide_11 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy11
lower_clk_prescaler_divide_12 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy12
lower_clk_prescaler_divide_13 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy13
lower_clk_prescaler_divide_14 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy14
lower_clk_prescaler_divide_15 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy15
lower_clk_prescaler_divide_16 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy16
lower_clk_prescaler_divide_17 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy17
lower_clk_prescaler_divide_18 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy18
lower_clk_prescaler_divide_19 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy19
lower_clk_prescaler_divide_20 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy20
lower_clk_prescaler_divide_21 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy21
lower_clk_prescaler_divide_22 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy22
lower_clk_prescaler_divide_23 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy23
lower_clk_prescaler_divide_24 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy24
lower_clk_prescaler_divide_25 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy25
lower_clk_prescaler_divide_26 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy26
lower_clk_prescaler_divide_27 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy27
lower_clk_prescaler_divide_28 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy28
lower_clk_prescaler_divide_29 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy29
lower_clk_prescaler_divide_30 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy30
lower_clk_prescaler_divide_31 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy31
lower_clk_prescaler_divide_32 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy32
lower_clk_prescaler_divide_33 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy33
lower_clk_prescaler_divide_34 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy34
lower_clk_prescaler_divide_35 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy35
lower_clk_prescaler_divide_36 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy36
lower_clk_prescaler_divide_37 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy37
lower_clk_prescaler_divide_38 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy38
lower_clk_prescaler_divide_39 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy39
lower_clk_prescaler_divide_40 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy40
lower_clk_prescaler_divide_41 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy41
lower_clk_prescaler_divide_42 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy42
lower_clk_prescaler_divide_43 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy43
lower_clk_prescaler_divide_44 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy44
lower_clk_prescaler_divide_45 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy45
lower_clk_prescaler_divide_46 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy46
lower_clk_prescaler_divide_47 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy47
lower_clk_prescaler_divide_48 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy48
lower_clk_prescaler_divide_49 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy49
lower_clk_prescaler_divide_50 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy50
lower_clk_prescaler_divide_51 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy51
lower_clk_prescaler_divide_52 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy52
lower_clk_prescaler_divide_53 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy53
lower_clk_prescaler_divide_54 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy54
lower_clk_prescaler_divide_55 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy55
lower_clk_prescaler_divide_56 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy56
lower_clk_prescaler_divide_57 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy57
lower_clk_prescaler_divide_58 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy58
lower_clk_prescaler_divide_59 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy59
lower_clk_prescaler_divide_60 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy60
lower_clk_prescaler_divide_61 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy61
lower_clk_prescaler_divide_62 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy62
lower_clk_prescaler_divide_63 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy63
lower_clk_prescaler_divide_64 = _ETAMPDET_CLKPRESCVAL_LOWERPRESC_DivideBy64
}

ETAMPDET lower part of divider binary counter.

Functions#

void
sl_hal_etampdet_init(const sl_hal_etampdet_config_t *config)

Initialize ETAMPDET.

void
sl_hal_etampdet_init_channel(const sl_hal_etampdet_config_channel_t *config_channel)

Initialize ETAMPDET channel.

void

Wait for the ETAMPDET to complete all synchronization of register changes and commands.

void

Wait for the ETAMPDET to complete disabling procedure.

void

Enable ETAMPDET.

void

Disable ETAMPDET.

void
sl_hal_etampdet_load(sl_hal_etampdet_channel_t channel)

Load seed value into channel LFSR.

void
sl_hal_etampdet_start(sl_hal_etampdet_channel_t channel)

Start ETAMPDET channel.

void
sl_hal_etampdet_stop(sl_hal_etampdet_channel_t channel)

Stop ETAMPDET channel.

void

Enable ETAMPDET interrupts.

void

Disable ETAMPDET interrupts.

void
sl_hal_etampdet_set_interrupts(uint32_t interrupts)

Set ETAMPDET interrupts.

void

Clear ETAMPDET interrupts.

uint32_t

Gets pending ETAMPDET interrupt flags.

uint32_t

Gets enabled and pending ETAMPDET interrupt flags.

void

Lock ETAMPDET registers.

void

Unlock ETAMPDET registers.

uint32_t

Gets ETAMPDET STATUS register value.

void
sl_hal_etampdet_set_seed_value(uint32_t seed_value, sl_hal_etampdet_channel_t channel)

Set ETAMPDET channel seed value.

uint32_t
sl_hal_etampdet_get_seed_value(sl_hal_etampdet_channel_t channel)

Get ETAMPDET channel seed value.

Macros#

#define

ETAMPDET default channel configuration.

#define

ETAMPDET default configuration.

Enumeration Documentation#

sl_hal_etampdet_channel_t#

sl_hal_etampdet_channel_t

ETAMPDET channels.

Enumerator
channel_0

Channel 0.

channel_1

Channel 1.


Definition at line 56 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_channel_cnt_mismatch_threshold_t#

sl_hal_etampdet_channel_cnt_mismatch_threshold_t

ETAMPDET filter thresholds.

Enumerator
detect_filt_threshold_1

Raise detect flag after seeing 1 event before reset counter expire.

detect_filt_threshold_2

Raise detect flag after seeing 2 events before reset counter expire.

detect_filt_threshold_3

Raise detect flag after seeing 3 events before reset counter expire.

detect_filt_threshold_4

Raise detect flag after seeing 4 events before reset counter expire.

detect_filt_threshold_5

Raise detect flag after seeing 5 events before reset counter expire.

detect_filt_threshold_6

Raise detect flag after seeing 6 events before reset counter expire.

detect_filt_threshold_7

Raise detect flag after seeing 7 events before reset counter expire.

detect_filt_threshold_8

Raise detect flag after seeing 8 events before reset counter expire.


Definition at line 65 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_channel_filt_win_size_t#

sl_hal_etampdet_channel_filt_win_size_t

ETAMPDET filter moving window size.

Enumerator
detect_filt_win_size_2

Detect filter moving window size 2.

detect_filt_win_size_3

Detect filter moving window size 3.

detect_filt_win_size_4

Detect filter moving window size 4.

detect_filt_win_size_5

Detect filter moving window size 5.

detect_filt_win_size_6

Detect filter moving window size 6.

detect_filt_win_size_7

Detect filter moving window size 7.

detect_filt_win_size_8

Detect filter moving window size 8.

detect_filt_win_size_9

Detect filter moving window size 9.

detect_filt_win_size_10

Detect filter moving window size 10.

detect_filt_win_size_11

Detect filter moving window size 11.

detect_filt_win_size_12

Detect filter moving window size 12.

detect_filt_win_size_13

Detect filter moving window size 13.

detect_filt_win_size_14

Detect filter moving window size 14.

detect_filt_win_size_15

Detect filter moving window size 15.

detect_filt_win_size_16

Detect filter moving window size 16.


Definition at line 92 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_upper_clk_presc_t#

sl_hal_etampdet_upper_clk_presc_t

ETAMPDET upper part of divider ripple counter.

Enumerator
upper_clk_prescaler_bypass

Ripple counter divider bypassed.

upper_clk_prescaler_divide_2

Divide by 2.

upper_clk_prescaler_divide_4

Divide by 4.

upper_clk_prescaler_divide_8

Divide by 8.

upper_clk_prescaler_divide_16

Divide by 16.

upper_clk_prescaler_divide_32

Divide by 32.

upper_clk_prescaler_divide_64

Divide by 64.


Definition at line 140 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_lower_clk_presc_t#

sl_hal_etampdet_lower_clk_presc_t

ETAMPDET lower part of divider binary counter.

Enumerator
lower_clk_prescaler_bypass

Divider is bypassed.

lower_clk_prescaler_divide_2

Divide by 2.

lower_clk_prescaler_divide_3

Divide by 3.

lower_clk_prescaler_divide_4

Divide by 4.

lower_clk_prescaler_divide_5

Divide by 5.

lower_clk_prescaler_divide_6

Divide by 6.

lower_clk_prescaler_divide_7

Divide by 7.

lower_clk_prescaler_divide_8

Divide by 8.

lower_clk_prescaler_divide_9

Divide by 9.

lower_clk_prescaler_divide_10

Divide by 10.

lower_clk_prescaler_divide_11

Divide by 11.

lower_clk_prescaler_divide_12

Divide by 12.

lower_clk_prescaler_divide_13

Divide by 13.

lower_clk_prescaler_divide_14

Divide by 14.

lower_clk_prescaler_divide_15

Divide by 15.

lower_clk_prescaler_divide_16

Divide by 16.

lower_clk_prescaler_divide_17

Divide by 17.

lower_clk_prescaler_divide_18

Divide by 18.

lower_clk_prescaler_divide_19

Divide by 19.

lower_clk_prescaler_divide_20

Divide by 20.

lower_clk_prescaler_divide_21

Divide by 21.

lower_clk_prescaler_divide_22

Divide by 22.

lower_clk_prescaler_divide_23

Divide by 23.

lower_clk_prescaler_divide_24

Divide by 24.

lower_clk_prescaler_divide_25

Divide by 25.

lower_clk_prescaler_divide_26

Divide by 26.

lower_clk_prescaler_divide_27

Divide by 27.

lower_clk_prescaler_divide_28

Divide by 28.

lower_clk_prescaler_divide_29

Divide by 29.

lower_clk_prescaler_divide_30

Divide by 30.

lower_clk_prescaler_divide_31

Divide by 31.

lower_clk_prescaler_divide_32

Divide by 32.

lower_clk_prescaler_divide_33

Divide by 33.

lower_clk_prescaler_divide_34

Divide by 34.

lower_clk_prescaler_divide_35

Divide by 35.

lower_clk_prescaler_divide_36

Divide by 36.

lower_clk_prescaler_divide_37

Divide by 37.

lower_clk_prescaler_divide_38

Divide by 38.

lower_clk_prescaler_divide_39

Divide by 39.

lower_clk_prescaler_divide_40

Divide by 40.

lower_clk_prescaler_divide_41

Divide by 41.

lower_clk_prescaler_divide_42

Divide by 42.

lower_clk_prescaler_divide_43

Divide by 43.

lower_clk_prescaler_divide_44

Divide by 44.

lower_clk_prescaler_divide_45

Divide by 45.

lower_clk_prescaler_divide_46

Divide by 46.

lower_clk_prescaler_divide_47

Divide by 47.

lower_clk_prescaler_divide_48

Divide by 48.

lower_clk_prescaler_divide_49

Divide by 49.

lower_clk_prescaler_divide_50

Divide by 50.

lower_clk_prescaler_divide_51

Divide by 51.

lower_clk_prescaler_divide_52

Divide by 52.

lower_clk_prescaler_divide_53

Divide by 53.

lower_clk_prescaler_divide_54

Divide by 54.

lower_clk_prescaler_divide_55

Divide by 55.

lower_clk_prescaler_divide_56

Divide by 56.

lower_clk_prescaler_divide_57

Divide by 57.

lower_clk_prescaler_divide_58

Divide by 58.

lower_clk_prescaler_divide_59

Divide by 59.

lower_clk_prescaler_divide_60

Divide by 60.

lower_clk_prescaler_divide_61

Divide by 61.

lower_clk_prescaler_divide_62

Divide by 62.

lower_clk_prescaler_divide_63

Divide by 63.

lower_clk_prescaler_divide_64

Divide by 64.


Definition at line 164 of file platform/peripheral/inc/sl_hal_etampdet.h

Function Documentation#

sl_hal_etampdet_init#

void sl_hal_etampdet_init (const sl_hal_etampdet_config_t * config)

Initialize ETAMPDET.

Parameters
[in]config

The pointer to the initialization structure.

Note

  • User should call sl_hal_etampdet_init_channel() for full initialization. This function should be called before sl_hal_etampdet_init_channel()

  • The control registers setting of the GPIOs to be used by ETAMPDET should be at the default values to ensure that other clients are not accidentally driving the GPIOs that ETAMPDET is using.


Definition at line 47 of file platform/peripheral/src/sl_hal_etampdet.c

sl_hal_etampdet_init_channel#

void sl_hal_etampdet_init_channel (const sl_hal_etampdet_config_channel_t * config_channel)

Initialize ETAMPDET channel.

Parameters
[in]config_channel

The pointer to the channel initialization structure.

Note


Definition at line 67 of file platform/peripheral/src/sl_hal_etampdet.c

sl_hal_etampdet_wait_sync#

void sl_hal_etampdet_wait_sync (void )

Wait for the ETAMPDET to complete all synchronization of register changes and commands.

Parameters
N/A

Definition at line 450 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_wait_ready#

void sl_hal_etampdet_wait_ready (void )

Wait for the ETAMPDET to complete disabling procedure.

Parameters
N/A

Definition at line 460 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_enable#

void sl_hal_etampdet_enable (void )

Enable ETAMPDET.

Parameters
N/A

Definition at line 476 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_disable#

void sl_hal_etampdet_disable (void )

Disable ETAMPDET.

Parameters
N/A

Definition at line 488 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_load#

void sl_hal_etampdet_load (sl_hal_etampdet_channel_t channel)

Load seed value into channel LFSR.

Parameters
[in]channel

The channel number.


Definition at line 503 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_start#

void sl_hal_etampdet_start (sl_hal_etampdet_channel_t channel)

Start ETAMPDET channel.

Parameters
[in]channel

The channel number.


Definition at line 516 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_stop#

void sl_hal_etampdet_stop (sl_hal_etampdet_channel_t channel)

Stop ETAMPDET channel.

Parameters
[in]channel

The channel number.


Definition at line 529 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_enable_interrupts#

void sl_hal_etampdet_enable_interrupts (uint32_t interrupts)

Enable ETAMPDET interrupts.

Parameters
[in]interrupts

The interrupts flags to enable.


Definition at line 542 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_disable_interrupts#

void sl_hal_etampdet_disable_interrupts (uint32_t interrupts)

Disable ETAMPDET interrupts.

Parameters
[in]interrupts

The interrupts flags to disable.


Definition at line 552 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_set_interrupts#

void sl_hal_etampdet_set_interrupts (uint32_t interrupts)

Set ETAMPDET interrupts.

Parameters
[in]interrupts

The interrupts flags to set.


Definition at line 562 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_clear_interrupts#

void sl_hal_etampdet_clear_interrupts (uint32_t interrupts)

Clear ETAMPDET interrupts.

Parameters
[in]interrupts

The interrupts flags to clear.


Definition at line 572 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_get_interrupts#

uint32_t sl_hal_etampdet_get_interrupts (void )

Gets pending ETAMPDET interrupt flags.

Parameters
N/A

Note

  • Event bits are not cleared by using this function.

Returns

  • Pending ETAMPDET interrupt sources. Returns a set of interrupt flags OR-ed together for multiple interrupt sources.


Definition at line 586 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_get_enabled_interrupts#

uint32_t sl_hal_etampdet_get_enabled_interrupts (void )

Gets enabled and pending ETAMPDET interrupt flags.

Parameters
N/A

Useful for handling more interrupt sources in the same interrupt handler.

Note

  • Interrupt flags are not cleared by using this function.

Returns

  • Pending and enabled ETAMPDET interrupt sources. The return value is the bitwise AND of

    • the enabled interrupt sources in ETAMPDET_IEN and

    • the pending interrupt flags ETAMPDET_IF.


Definition at line 602 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_lock#

void sl_hal_etampdet_lock (void )

Lock ETAMPDET registers.

Parameters
N/A

Note

  • When ETAMPDET registers are locked, ETAMPDET_EN, ETAMPDET_CFG, ETAMPDET_CMD, ETAMPDET_CHNLSEEDVALx, ETAMPDET_CNTMISMATCHMAX, ETAMPDET_CHNLFILTWINSIZE, ETAMPDET_EM4WUEN and ETAMPDET_CLKPRESCVAL registers cannot be written to.


Definition at line 616 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_unlock#

void sl_hal_etampdet_unlock (void )

Unlock ETAMPDET registers.

Parameters
N/A

Note

  • When ETAMPDET registers are unlocked, registers are writable.


Definition at line 626 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_get_status#

uint32_t sl_hal_etampdet_get_status (void )

Gets ETAMPDET STATUS register value.

Parameters
N/A

Returns

  • Current STATUS register value.


Definition at line 636 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_set_seed_value#

void sl_hal_etampdet_set_seed_value (uint32_t seed_value, sl_hal_etampdet_channel_t channel)

Set ETAMPDET channel seed value.

Parameters
[in]seed_value

The channel to set seed value.

[in]channel

The seed value to set into LFSR of the channel.

Note

  • It is recommended to get the random seed value using TRNG (True random Number Generator) peripheral.


Definition at line 651 of file platform/peripheral/inc/sl_hal_etampdet.h

sl_hal_etampdet_get_seed_value#

uint32_t sl_hal_etampdet_get_seed_value (sl_hal_etampdet_channel_t channel)

Get ETAMPDET channel seed value.

Parameters
[in]channel

The channel to get seed value from.

Returns

  • The seed value of the channel.


Definition at line 667 of file platform/peripheral/inc/sl_hal_etampdet.h

Macro Definition Documentation#

ETAMPDET_CONFIG_CHANNEL_DEFAULT#

#define ETAMPDET_CONFIG_CHANNEL_DEFAULT
Value:
{ \
0x13579BDF, /* Set default seed value. */ \
channel_0, /* Choose channel 0.*/ \
detect_filt_win_size_2, /* Set default filter win size. */ \
detect_filt_threshold_1, /* Set Detect filter threshold. */ \
false, /* Enable channel driving pad. */ \
false, /* Disable channel filtering. */ \
false, /* Disable 1 clock delay. */ \
false, /* Enable EM4 wakeup. */ \
} \

ETAMPDET default channel configuration.


Definition at line 400 of file platform/peripheral/inc/sl_hal_etampdet.h

ETAMPDET_CONFIG_DEFAULT#

#define ETAMPDET_CONFIG_DEFAULT
Value:
{ \
upper_clk_prescaler_bypass, /* Bypass upper prescaler. */ \
lower_clk_prescaler_bypass, /* Bypass lower prescaler.*/ \
} \

ETAMPDET default configuration.


Definition at line 413 of file platform/peripheral/inc/sl_hal_etampdet.h