Software APIs
Data Structures | Typedefs | Enumerations | Functions
dif_pinmux.h File Reference

(cfe6920d59)

Pin Multiplexer Device Interface Functions More...

#include <stdbool.h>
#include <stdint.h>
#include "sw/device/lib/base/macros.h"
#include "sw/device/lib/base/mmio.h"
#include "sw/device/lib/dif/dif_base.h"
#include "sw/device/lib/dif/autogen/dif_pinmux_autogen.h"

Go to the source code of this file.

Data Structures

struct  dif_pinmux_pad_attr
 Pin multiplexer padring pad attributes. More...
 
struct  dif_pinmux_wakeup_config
 A Pin Multiplexer common wake-up configuration between different modes. More...
 

Typedefs

typedef enum dif_pinmux_pad_kind dif_pinmux_pad_kind_t
 Pin Multiplexer connects peripheral input/output signals to the Padring MIO pad input/output signals. More...
 
typedef enum dif_pinmux_lock_target dif_pinmux_lock_target_t
 Pin Multiplexer functionality locking. More...
 
typedef uint32_t dif_pinmux_index_t
 Pin Multiplexer generic index. More...
 
typedef uint8_t dif_pinmux_pad_slew_rate_t
 Pad slew rate value. More...
 
typedef uint8_t dif_pinmux_pad_drive_strength_t
 Pad drive strength value. More...
 
typedef enum dif_pinmux_pad_attr_flags dif_pinmux_pad_attr_flags_t
 Pad attribute flag values. More...
 
typedef struct dif_pinmux_pad_attr dif_pinmux_pad_attr_t
 Pin multiplexer padring pad attributes.
 
typedef enum dif_pinmux_sleep_mode dif_pinmux_sleep_mode_t
 A sleep mode for a Padring DIO/MIO pad. More...
 
typedef enum dif_pinmux_wakeup_mode dif_pinmux_wakeup_mode_t
 A Pin Multiplexer wake-up detection mode (edge triggered).
 
typedef struct dif_pinmux_wakeup_config dif_pinmux_wakeup_config_t
 A Pin Multiplexer common wake-up configuration between different modes.
 

Enumerations

enum  dif_pinmux_pad_kind {
  kDifPinmuxPadKindMio = 0 ,
  kDifPinmuxPadKindDio ,
  kDifPinmuxPadKindCount
}
 Pin Multiplexer connects peripheral input/output signals to the Padring MIO pad input/output signals. More...
 
enum  dif_pinmux_lock_target {
  kDifPinmuxLockTargetInsel = 0 ,
  kDifPinmuxLockTargetOutsel ,
  kDifPinmuxLockTargetMioSleep ,
  kDifPinmuxLockTargetDioSleep ,
  kDifPinmuxLockTargetMioPadAttr ,
  kDifPinmuxLockTargetDioPadAttr ,
  kDifPinmuxLockTargetWakeupDetector
}
 Pin Multiplexer functionality locking. More...
 
enum  dif_pinmux_pad_attr_flags {
  kDifPinmuxPadAttrInvertLevel = 1 << 0 ,
  kDifPinmuxPadAttrVirtualOpenDrain = 1 << 1 ,
  kDifPinmuxPadAttrPullResistorEnable = 1 << 2 ,
  kDifPinmuxPadAttrPullResistorUp = 1 << 3 ,
  kDifPinmuxPadAttrKeeper = 1 << 4 ,
  kDifPinmuxPadAttrSchmittTrigger = 1 << 5 ,
  kDifPinmuxPadAttrOpenDrain = 1 << 6 ,
  kDifPinmuxPadAttrInputDisable = 1 << 7
}
 Pad attribute flag values. More...
 
enum  dif_pinmux_sleep_mode {
  kDifPinmuxSleepModeLow = 0 ,
  kDifPinmuxSleepModeHigh ,
  kDifPinmuxSleepModeHighZ ,
  kDifPinmuxSleepModeKeep ,
  kDifPinmuxSleepModeCount
}
 A sleep mode for a Padring DIO/MIO pad. More...
 
enum  dif_pinmux_wakeup_mode {
  kDifPinmuxWakeupModePositiveEdge = 0 ,
  kDifPinmuxWakeupModeNegativeEdge ,
  kDifPinmuxWakeupModeAnyEdge ,
  kDifPinmuxWakeupModeTimedHigh ,
  kDifPinmuxWakeupModeTimedLow ,
  kDifPinmuxWakeupModeCount
}
 A Pin Multiplexer wake-up detection mode (edge triggered). More...
 

Functions

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_lock (const dif_pinmux_t *pinmux, dif_pinmux_index_t index, dif_pinmux_lock_target_t target)
 Locks out Pin Multiplexer functionality based on the target and index. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_is_locked (const dif_pinmux_t *pinmux, dif_pinmux_index_t index, dif_pinmux_lock_target_t target, bool *is_locked)
 Obtains the Pin Multiplexer Pad lock status based on target and index. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_input_select (const dif_pinmux_t *pinmux, dif_pinmux_index_t peripheral_input, dif_pinmux_index_t insel)
 Sets a connection between a peripheral input and a MIO pad input. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_output_select (const dif_pinmux_t *pinmux, dif_pinmux_index_t mio_pad_output, dif_pinmux_index_t outsel)
 Sets a connection between a MIO pad output and peripheral output. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_write_attrs (const dif_pinmux_t *pinmux, dif_pinmux_index_t pad, dif_pinmux_pad_kind_t type, dif_pinmux_pad_attr_t attrs_in, dif_pinmux_pad_attr_t *attrs_out)
 Writes attributes for a pad. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_get_attrs (const dif_pinmux_t *pinmux, dif_pinmux_index_t pad, dif_pinmux_pad_kind_t type, dif_pinmux_pad_attr_t *attrs)
 Get attributes for a pad. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_sleep_enable (const dif_pinmux_t *pinmux, dif_pinmux_index_t pad, dif_pinmux_pad_kind_t type, dif_pinmux_sleep_mode_t mode)
 Enables deep sleep mode of a particular pad. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_sleep_disable (const dif_pinmux_t *pinmux, dif_pinmux_index_t pad, dif_pinmux_pad_kind_t type)
 Disables deep sleep mode of a particular pad. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_sleep_get_state (const dif_pinmux_t *pinmux, dif_pinmux_index_t pad, dif_pinmux_pad_kind_t type, bool *in_sleep_mode)
 Returns the state of a particular pad. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_sleep_clear_state (const dif_pinmux_t *pinmux, dif_pinmux_index_t pad, dif_pinmux_pad_kind_t type)
 Clears deep sleep mode for a particular pad. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_wakeup_detector_enable (const dif_pinmux_t *pinmux, dif_pinmux_index_t detector, dif_pinmux_wakeup_config_t config)
 Enables wake-up mode detection for a particular detector. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_wakeup_detector_disable (const dif_pinmux_t *pinmux, dif_pinmux_index_t detector)
 Disables wake-up detection for a particular detector. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_wakeup_cause_clear (const dif_pinmux_t *pinmux)
 Clears the wake-up cause information. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_wakeup_cause_get (const dif_pinmux_t *pinmux, uint32_t *detector_map)
 Retrieves the detectors that have detected wake-up patterns. More...
 

Detailed Description

Pin Multiplexer Device Interface Functions

Definition in file dif_pinmux.h.


Data Structure Documentation

◆ dif_pinmux_pad_attr

struct dif_pinmux_pad_attr

Pin multiplexer padring pad attributes.

Definition at line 154 of file dif_pinmux.h.

Data Fields
dif_pinmux_pad_drive_strength_t drive_strength Drive strength pad attribute.

A greater number produces a stronger drive.

dif_pinmux_pad_attr_flags_t flags A bit map of single-bit attribute flags.

See dif_pinmux_pad_attr_flags_t for the mapping and definitions.

dif_pinmux_pad_slew_rate_t slew_rate Slew rate attribute.

A greater number produces a faster slew rate.

◆ dif_pinmux_wakeup_config

struct dif_pinmux_wakeup_config

A Pin Multiplexer common wake-up configuration between different modes.

Definition at line 236 of file dif_pinmux.h.

Data Fields
uint8_t counter_threshold Counter threshold for kDifPinmuxWakeupModeTimedLow and kDifPinmuxWakeupModeTimedHigh wake-up detector modes.

The threshold is in terms of always-on clock cycles.

dif_pinmux_wakeup_mode_t mode Wake-up detection mode.
dif_pinmux_index_t pad_select Selects a specific pad.

In the case of MIO, the pad select index is the same as used for dif_pinmux_input_select, meaning that index 0 and 1 just select constant 0, and the MIO pads live at indices >= 2. In the case of DIO pads, the pad select index corresponds 1:1 to the DIO pad to be selected.

dif_pinmux_pad_kind_t pad_type Pad type (MIO or DIO) to enable the wake-up detection for.
dif_toggle_t signal_filter Signal filter - signal must be stable for 4 always-on clock cycles before the value is being forwarded.

Can be used for debouncing.

Typedef Documentation

◆ dif_pinmux_index_t

typedef uint32_t dif_pinmux_index_t

Pin Multiplexer generic index.

The meaning of this index changes between APIs, and must be documented in the corresponding function description.

Definition at line 103 of file dif_pinmux.h.

◆ dif_pinmux_lock_target_t

Pin Multiplexer functionality locking.

Represents a target functionality to be locked for a given pad/peripheral input.

◆ dif_pinmux_pad_attr_flags_t

Pad attribute flag values.

This enum is a bitfield, meaning that it is allowed to pass combined value of multiple individual attributes.

Some attributes have defined meanings, others are implementation defined. Not all pads will support all attributes, or attribute combinations. The Pin Multiplexer DIF checks for conflicting or unsupported attributes provided by the Write-Any Read-Legal (WARL) semantics of the underlying hardware. If the combination of attributes is not supported - some/all of these attributes will still be disabled (relevant bit unset in the attribute field).

IMPORTANT:

  • Functions are used to toggle these attributes, must signal an error if at least one of the attributes in the bitfield could not be toggled.

◆ dif_pinmux_pad_drive_strength_t

Pad drive strength value.

This selects between available drive strength values, where the largest number produces the highest drive strength. See the device's data sheet for the particular mapping.

Definition at line 121 of file dif_pinmux.h.

◆ dif_pinmux_pad_kind_t

Pin Multiplexer connects peripheral input/output signals to the Padring MIO pad input/output signals.

Every peripheral input signal is fed into a multiplexer, where selects determine which Padring MIO pad input or constants should be connected to it.

Every Padring MIO pad output signal is fed into a multiplexer, where selects determine which peripheral output or constants should be connected to it. Pin Multiplexer Padring pad kinds.

A pad can be a Multiplexed (MIO) or Dedicated (DIO).

◆ dif_pinmux_pad_slew_rate_t

typedef uint8_t dif_pinmux_pad_slew_rate_t

Pad slew rate value.

This selects between available slew rate values, where the largest number produces the fastest slew rate. See the device's data sheet for the particular mapping.

Definition at line 112 of file dif_pinmux.h.

◆ dif_pinmux_sleep_mode_t

A sleep mode for a Padring DIO/MIO pad.

This determines the behaviour of a pad in deep sleep state.

NOTE: After the chip has come back from deep sleep, the mode of the pad persists until it is explicitly cleared by dif_pinmux_sleep_clear_state. Calling dif_pinmux_sleep_enable will configure the pad mode for the next deep sleep, however it will not change the current mode.

Enumeration Type Documentation

◆ dif_pinmux_lock_target

Pin Multiplexer functionality locking.

Represents a target functionality to be locked for a given pad/peripheral input.

Enumerator
kDifPinmuxLockTargetInsel 

Lock MIO pad input select for a given peripheral input.

This means that the peripheral input connection can no longer be changed.

kDifPinmuxLockTargetOutsel 

Lock peripheral output select for a given MIO pad output.

This means that the MIO pad output connection can no longer be changed.

kDifPinmuxLockTargetMioSleep 

Lock the sleep mode configuration for a given MIO pad.

kDifPinmuxLockTargetDioSleep 

Lock the sleep mode configuration for a given DIO pad.

kDifPinmuxLockTargetMioPadAttr 

Lock physical characteristics configuration for a given MIO pad.

kDifPinmuxLockTargetDioPadAttr 

Lock physical characteristics configuration for a given DIO pad.

kDifPinmuxLockTargetWakeupDetector 

Lock wake-up detector configuration for a given detector.

Definition at line 63 of file dif_pinmux.h.

◆ dif_pinmux_pad_attr_flags

Pad attribute flag values.

This enum is a bitfield, meaning that it is allowed to pass combined value of multiple individual attributes.

Some attributes have defined meanings, others are implementation defined. Not all pads will support all attributes, or attribute combinations. The Pin Multiplexer DIF checks for conflicting or unsupported attributes provided by the Write-Any Read-Legal (WARL) semantics of the underlying hardware. If the combination of attributes is not supported - some/all of these attributes will still be disabled (relevant bit unset in the attribute field).

IMPORTANT:

  • Functions are used to toggle these attributes, must signal an error if at least one of the attributes in the bitfield could not be toggled.

Definition at line 140 of file dif_pinmux.h.

◆ dif_pinmux_pad_kind

Pin Multiplexer connects peripheral input/output signals to the Padring MIO pad input/output signals.

Every peripheral input signal is fed into a multiplexer, where selects determine which Padring MIO pad input or constants should be connected to it.

Every Padring MIO pad output signal is fed into a multiplexer, where selects determine which peripheral output or constants should be connected to it. Pin Multiplexer Padring pad kinds.

A pad can be a Multiplexed (MIO) or Dedicated (DIO).

Enumerator
kDifPinmuxPadKindMio 

Multiplexed Input/Output pad.

Connected to a peripheral input or output via a multiplexer matrix inside the a Pin Multiplexer.

kDifPinmuxPadKindDio 

Dedicated Input/Output pad.

Connected directly to a peripheral input or output, bypassing the multiplexer matrix.

Definition at line 43 of file dif_pinmux.h.

◆ dif_pinmux_sleep_mode

A sleep mode for a Padring DIO/MIO pad.

This determines the behaviour of a pad in deep sleep state.

NOTE: After the chip has come back from deep sleep, the mode of the pad persists until it is explicitly cleared by dif_pinmux_sleep_clear_state. Calling dif_pinmux_sleep_enable will configure the pad mode for the next deep sleep, however it will not change the current mode.

Enumerator
kDifPinmuxSleepModeLow 

The pad is driven actively to zero.

kDifPinmuxSleepModeHigh 

The pad is driven actively to one.

kDifPinmuxSleepModeHighZ 

The pad is left undriven.

Note that the actual driving behaviour will depend on the pull-up/-down configuration.

kDifPinmuxSleepModeKeep 

Keep last driven value (including high-Z).

Definition at line 181 of file dif_pinmux.h.

◆ dif_pinmux_wakeup_mode

A Pin Multiplexer wake-up detection mode (edge triggered).

Enumerator
kDifPinmuxWakeupModePositiveEdge 

Trigger a wakeup request when observing a positive edge.

kDifPinmuxWakeupModeNegativeEdge 

Trigger a wakeup request when observing a negative edge.

kDifPinmuxWakeupModeAnyEdge 

Trigger a wakeup request when observing an edge in any direction.

kDifPinmuxWakeupModeTimedHigh 

Trigger a wakeup request when pin is driven HIGH for a certain amount of always-on clock cycles as configured in dif_pinmux_wakeup_timed_config_t, counter_threshold field.

kDifPinmuxWakeupModeTimedLow 

Trigger a wakeup request when pin is driven LOW for a certain amount of always-on clock cycles as configured in dif_pinmux_wakeup_timed_config_t, counter_threshold field.

Definition at line 205 of file dif_pinmux.h.

Function Documentation

◆ dif_pinmux_input_select()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_input_select ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  peripheral_input,
dif_pinmux_index_t  insel 
)

Sets a connection between a peripheral input and a MIO pad input.

A peripheral input can be connected to any available MIO pad input.

Parameters
pinmuxA Pin Multiplexer handle.
peripheral_inputA Peripheral input index.
inselInput connection select - a MIO pad input to be connected to a peripheral input.
Returns
The result of the operation.

Definition at line 148 of file dif_pinmux.c.

◆ dif_pinmux_is_locked()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_is_locked ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  index,
dif_pinmux_lock_target_t  target,
bool *  is_locked 
)

Obtains the Pin Multiplexer Pad lock status based on target and index.

Parameters
pinmuxA Pin Multiplexer handle.
indexExact meaning is determined by the target, however, it represents one of the following: peripheral input index, MIO pad index, DIO pad index or a wakeup detector index.
targetTarget functionality to be locked.
[out]is_lockedOut-param for the locked state.
Returns
The result of the operation.

Definition at line 129 of file dif_pinmux.c.

◆ dif_pinmux_lock()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_lock ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  index,
dif_pinmux_lock_target_t  target 
)

Locks out Pin Multiplexer functionality based on the target and index.

This function allows for a fine grained locking of the Pin Multiplexer parts. index changes meaning dependent on the target. For example, when target is kDifPinmuxLockTargetInsel, index represents a peripheral input for which the MIO input select functionality should be locked.

NOTE: Locking an already locked register will succeed with the kDifOk return code.

Parameters
pinmuxA Pin Multiplexer handle.
indexExact meaning is determined by the target, however, it represents one of the following: peripheral input index, MIO pad index, DIO pad index or a wakeup detector index.
targetTarget functionality to be locked.
Returns
The result of the operation.

Definition at line 114 of file dif_pinmux.c.

◆ dif_pinmux_output_select()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_output_select ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  mio_pad_output,
dif_pinmux_index_t  outsel 
)

Sets a connection between a MIO pad output and peripheral output.

A MIO pad output can be connected to any available peripheral output.

Parameters
pinmuxA Pin Multiplexer handle.
mio_pad_outputPadring MIO output index.
outselPeripheral output connection select - a Peripheral output to be connected to a MIO pad output.
Returns
The result of the operation.

Definition at line 172 of file dif_pinmux.c.

◆ dif_pinmux_pad_get_attrs()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_get_attrs ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  pad,
dif_pinmux_pad_kind_t  type,
dif_pinmux_pad_attr_t attrs 
)

Get attributes for a pad.

Parameters
pinmuxA Pin Multiplexer handle.
padPad index to obtain the attributes for.
typePad type (MIO or DIO).
attrs[out]Obtained attributes.
Returns
The result of the operation.

Definition at line 319 of file dif_pinmux.c.

◆ dif_pinmux_pad_sleep_clear_state()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_sleep_clear_state ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  pad,
dif_pinmux_pad_kind_t  type 
)

Clears deep sleep mode for a particular pad.

When deep sleep mode is enabled for a pad, and the device has entered deep sleep mode; upon wake-up, the deep sleep status of this pad can only be cleared by calling this function. Re-configuring this pad will only take effect during the next deep sleep.

Parameters
pinmuxA Pin Multiplexer handle.
padPad index.
typePadring pad type (MIO or DIO).
Returns
The result of the operation.

Definition at line 445 of file dif_pinmux.c.

◆ dif_pinmux_pad_sleep_disable()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_sleep_disable ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  pad,
dif_pinmux_pad_kind_t  type 
)

Disables deep sleep mode of a particular pad.

NOTE: After the chip has come back from deep sleep, the mode of a pad persists until is explicitly cleared by dif_pinmux_pad_sleep_clear_state. Calling dif_pinmux_pad_sleep_enable will configure a pad mode for the next deep sleep, however it will not change the current mode.

Parameters
pinmuxA Pin Multiplexer handle.
padPad index.
typePad type (MIO or DIO).
Returns
The result of the operation.

Definition at line 395 of file dif_pinmux.c.

◆ dif_pinmux_pad_sleep_enable()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_sleep_enable ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  pad,
dif_pinmux_pad_kind_t  type,
dif_pinmux_sleep_mode_t  mode 
)

Enables deep sleep mode of a particular pad.

NOTE: After the chip has come back from deep sleep, the mode of a pad persists until is explicitly cleared by dif_pinmux_pad_sleep_clear_state. Calling dif_pinmux_pad_sleep_enable will configure a pad mode for the next deep sleep, however it will not change the current mode.

Parameters
pinmuxA Pin Multiplexer handle.
padPad index.
typePad type (MIO or DIO).
modePad deep sleep mode.
Returns
The result of the operation.

Definition at line 337 of file dif_pinmux.c.

◆ dif_pinmux_pad_sleep_get_state()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_sleep_get_state ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  pad,
dif_pinmux_pad_kind_t  type,
bool *  in_sleep_mode 
)

Returns the state of a particular pad.

When the pad is in deep sleep mode, the mode persists until is explicitly cleared via dif_pinmux_pad_sleep_clear_state.

Parameters
padmuxA Pin Multiplexer handle.
padPad index.
typePadring pad type (MIO or DIO).
[out]in_sleep_modePad state, true when in deep sleep mode.
Returns
The result of the operation.

Definition at line 426 of file dif_pinmux.c.

◆ dif_pinmux_pad_write_attrs()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_pad_write_attrs ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  pad,
dif_pinmux_pad_kind_t  type,
dif_pinmux_pad_attr_t  attrs_in,
dif_pinmux_pad_attr_t attrs_out 
)

Writes attributes for a pad.

This function completely overwrites the existing configuration of a pad, and has both enable and disable semantics.

Not all pads implement all attributes and some combinations cannot be enabled together. This function returns a kDifBadArg error in case of invalid attrs_in. Not all target platforms support all attribute values and the underlying hardware registers implement Write-Any Read-Legal (WARL) semantics. For example, the maximum supported slew rate and drive strength may vary between platforms. If the specified attribute values are valid but not supported by the hardware, this function returns kDifError and the caller needs to decide on how to resolve the situation. Unsupported or conflicting attribute values can be identified by comparing attrs_in to attrs_out.

IMPORTANT: See dif_pinmux_pad_attr for information on which attributes are compulsory and which invariants are mutually exclusive.

Parameters
pinmuxA Pin Multiplexer handle.
padPad index to write the attributes for.
typePad type (MIO or DIO).
attrs_inAttribute values to write.
attrs_out[out]The actual attributes written and accepted by the hardware.
Returns
The result of the operation.

Definition at line 234 of file dif_pinmux.c.

◆ dif_pinmux_wakeup_cause_clear()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_wakeup_cause_clear ( const dif_pinmux_t pinmux)

Clears the wake-up cause information.

Parameters
pinmuxA Pin Multiplexer handle.
Returns
The result of the operation.

Definition at line 577 of file dif_pinmux.c.

◆ dif_pinmux_wakeup_cause_get()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_wakeup_cause_get ( const dif_pinmux_t pinmux,
uint32_t *  detector_map 
)

Retrieves the detectors that have detected wake-up patterns.

Parameters
pinmuxA Pin Multiplexer handle.
detector_map[out]A bit map representing detectors that have detected wake-up patterns.
Returns
The result of the operation.

Definition at line 585 of file dif_pinmux.c.

◆ dif_pinmux_wakeup_detector_disable()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_wakeup_detector_disable ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  detector 
)

Disables wake-up detection for a particular detector.

Parameters
pinmuxA Pin Multiplexer handle.
detectorA detector index.
Returns
The result of the operation.

Definition at line 553 of file dif_pinmux.c.

◆ dif_pinmux_wakeup_detector_enable()

OT_WARN_UNUSED_RESULT dif_result_t dif_pinmux_wakeup_detector_enable ( const dif_pinmux_t pinmux,
dif_pinmux_index_t  detector,
dif_pinmux_wakeup_config_t  config 
)

Enables wake-up mode detection for a particular detector.

Parameters
pinmuxA Pin Multiplexer handle.
detectorA detector index.
configA wake-up detector configuration.
Returns
The result of the operation.

Definition at line 464 of file dif_pinmux.c.