General-Purpose Input-Output#
Modules#
Typedefs#
GPIO interrupt callback function pointer.
Functions#
Clear one or more pending GPIO interrupts.
Configure the GPIO pin interrupt.
Set the pin mode for a GPIO pin.
Get the GPIO pin status.
Initialization of GPIO driver.
De-Initialization of GPIO driver.
Unregister GPIO driver.
Set a single pin in GPIO configuration register to 1.
Clear a single pin in GPIO configuration register to 0.
Toggle a single pin in GPIO port register.
Read the pin value for a single pin in a GPIO port.
Set bits GPIO data out register to 1.
Set bits in configuration register for a port to 0.
Get the current setting for a GPIO configuration register.
Get the current setting for a pin in a GPIO configuration register.
Set GPIO port configuration register.
Set slewrate for pins on a GPIO port.
Read the port value for GPIO.
Toggle port in GPIO port register.
Enable one or more GPIO interrupts.
Disable one or more GPIO interrupts.
Set one or more pending GPIO interrupts from SW.
Get pending GPIO interrupts.
Get enabled GPIO interrupts.
Get enabled and pending GPIO interrupt flags.
Set the direction for a GPIO pin.
Get the direction GPIO.
Enable the receiver bit in the PAD configuration register.
Disable the receiver bit in the PAD configuration register.
Select the pad(0 to 21).
Select drive strength of a GPIO pin.
Select the Driver disabled state control.
Select AND/OR of the group interrupt.
Clear the group interrupt status.
Get the group interrupt status.
Configure the group interrupt wake up the interrupt.
Configure the MCU HP group interrupts.
Get the polarity of group interrupt.
Configure the polarity of group interrupt.
Get the level/edge event of group interrupt.
Set the level/edge event of group interrupt.
Unmask the group interrupts.
Mask the group interrupts.
Disable HP/ULP GPIO clock.
Enable HP/ULP GPIO clock.
Enable the group interrupts.
Disable the group interrupts.
Select the slew rate.
Select the drive strength.
Select the driver-disabled state control.
Disable the receiver bit for ULP.
Enable the receiver bit for ULP.
Configure the MCU ULP GPIO pin interrupt.
Set the NPSS GPIO pin MUX(mode).
Enable/disable NPSS GPIO receiver.
Set the direction of the NPSS GPIO.
Get the direction of the NPSS GPIO.
Control the NPSS GPIO pin value.
Get the NPSS GPIO pin value.
Select the NPSS GPIO polarity.
Set the UULP NPSS GPIO to wake up interrupt.
Clear the UULP NPSS GPIO to wake up interrupt.
Mask the NPSS GPIO interrupt.
Unmask the NPSS GPIO interrupt.
Clear the NPSS GPIO interrupt.
Get the NPSS GPIO interrupt status.
Get the ULP GPIO interrupt status.
Clear one or more pending ULP GPIO interrupts.
Clear the ULP group interrupt.
Configure the UULP GPIO pin interrupt.
Configure ULP GPIO group interrupts.
Toggle the UULP pin.
Indicate UULP GPIO PAD configuration.
Get the release, SQA, and development version numbers of the GPIO peripheral.
Macros#
Typedef Documentation#
sl_gpio_irq_callback_t#
typedef void(* sl_gpio_irq_callback_t) (uint32_t flag) )(uint32_t flag)
GPIO interrupt callback function pointer.
80
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
Function Documentation#
sl_gpio_driver_clear_interrupts#
STATIC __INLINE sl_status_t sl_gpio_driver_clear_interrupts (uint32_t flags)
Clear one or more pending GPIO interrupts.
[in] | flags | - Bitwise logic OR of GPIO interrupt sources to clear. |
Pre-conditions:
Returns
returns status 0 SL_STATUS _OK (0X000) - Success
104
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_configure_interrupt#
sl_status_t sl_gpio_driver_configure_interrupt (sl_gpio_t * gpio, uint32_t int_no, sl_gpio_interrupt_flag_t flags, sl_gpio_irq_callback_t gpio_callback, uint32_t * avl_intr_no)
Configure the GPIO pin interrupt.
[in] | gpio | - Pointer to the structure of type sl_gpio_t |
[in] | int_no | - The interrupt number to trigger. |
[in] | flags | - Interrupt configuration flags |
[in] | gpio_callback | - IRQ function pointer |
[out] | avl_intr_no | - Pointer to the available interrupt number. SL_GPIO_INTERRUPT_UNAVAILABLE (0xFF) no available interrupt |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
Pre-conditions:
Returns
The following values are returned:
SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
137
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_set_pin_mode#
sl_status_t sl_gpio_driver_set_pin_mode (sl_gpio_t * gpio, sl_gpio_mode_t mode, uint32_t output_value)
Set the pin mode for a GPIO pin.
[in] | gpio | - Pointer to the structure of type sl_gpio_t |
[in] | mode | - The desired pin mode. |
[in] | output_value | - A value to set for the pin in the GPIO register. The GPIO setting is important for some input mode configurations. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
The following values are returned:
SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
167
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_get_pin_mode#
sl_status_t sl_gpio_driver_get_pin_mode (sl_gpio_t * gpio, sl_gpio_mode_t * mode)
Get the GPIO pin status.
[in] | gpio | - Pointer to the structure of type sl_gpio_t |
[out] | mode | - The desired pin mode. |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance. sl_gpio_driver_set_pin_mode();
Returns
The following values are returned:
SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
196
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_init#
sl_status_t sl_gpio_driver_init (void )
Initialization of GPIO driver.
N/A |
Returns
returns status 0, SL_STATUS _OK (0X000) - Success
204
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_deinit#
sl_status_t sl_gpio_driver_deinit (void )
De-Initialization of GPIO driver.
N/A |
Returns
returns status 0, SL_STATUS _OK (0X000) - Success
212
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_unregister#
sl_status_t sl_gpio_driver_unregister (sl_si91x_gpio_instances_t gpio_instance, sl_si91x_gpio_intr_t gpio_intr, uint8_t flag)
Unregister GPIO driver.
[in] | gpio_instance | - Instances of type sl_si91x_gpio_instances_t |
[in] | gpio_intr | - GPIO interrupts of type sl_si91x_gpio_intr_t |
[in] | flag | - GPIO interrupt flag |
Returns
The following values are returned:
SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
227
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_set_pin#
STATIC __INLINE sl_status_t sl_gpio_driver_set_pin (sl_gpio_t * gpio)
Set a single pin in GPIO configuration register to 1.
[in] | gpio | - Pointer to the structure of type sl_gpio_t |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
The following values are returned:
SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
261
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_clear_pin#
STATIC __INLINE sl_status_t sl_gpio_driver_clear_pin (sl_gpio_t * gpio)
Clear a single pin in GPIO configuration register to 0.
[in] | gpio | - Pointer to the structure of type sl_gpio_t |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(); for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
324
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_toggle_pin#
STATIC __INLINE sl_status_t sl_gpio_driver_toggle_pin (sl_gpio_t * gpio)
Toggle a single pin in GPIO port register.
[in] | gpio | - Pointer to the structure of type sl_gpio_t |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
387
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_get_pin#
STATIC __INLINE sl_status_t sl_gpio_driver_get_pin (sl_gpio_t * gpio, uint8_t * pin_value)
Read the pin value for a single pin in a GPIO port.
[in] | gpio | - Pointer to the structure of type sl_gpio_t |
[out] | pin_value | - Gets the gpio pin value |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
451
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_set_port#
STATIC __INLINE sl_status_t sl_gpio_driver_set_port (sl_gpio_port_t port, uint32_t pins)
Set bits GPIO data out register to 1.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | pins | - The GPIO pins in a port are set to 1's. |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
515
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_clear_port#
STATIC __INLINE sl_status_t sl_gpio_driver_clear_port (sl_gpio_port_t port, uint32_t pins)
Set bits in configuration register for a port to 0.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | pins | - The GPIO pins in a port to clear. |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
557
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_get_port_output#
STATIC __INLINE sl_status_t sl_gpio_driver_get_port_output (sl_gpio_port_t port, uint32_t * port_value)
Get the current setting for a GPIO configuration register.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[out] | port_value | - Gets the gpio port value |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
599
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_get_pin_output#
STATIC __INLINE uint8_t sl_gpio_driver_get_pin_output (sl_gpio_t * gpio)
Get the current setting for a pin in a GPIO configuration register.
[in] | gpio | - Pointer to the structure of type sl_gpio_t |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
The GPIO pin value '0' - Output
'1' - Input
637
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_set_port_output_value#
STATIC __INLINE sl_status_t sl_gpio_driver_set_port_output_value (sl_gpio_port_t port, uint32_t val, uint32_t mask)
Set GPIO port configuration register.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | val | - Value to write to port configuration register. |
[in] | mask | - Mask indicating which bits to modify. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance
Use corresponding pad receiver API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
701
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_set_slew_rate#
STATIC __INLINE sl_status_t sl_gpio_driver_set_slew_rate (sl_gpio_port_t port, uint32_t slewrate, uint32_t slewrate_alt)
Set slewrate for pins on a GPIO port.
[in] | port | - The GPIO port to configure. |
[in] | slewrate | - The slewrate to configure for pins on this GPIO port. |
[in] | slewrate_alt | - The slewrate to configure for pins using alternate modes on this GPIO port. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
732
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_get_port_input#
STATIC __INLINE uint32_t sl_gpio_driver_get_port_input (sl_gpio_port_t port)
Read the port value for GPIO.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance
Use corresponding pad receiver API for corresponding GPIO instance.
Returns
The pad values for the GPIO port.
766
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_toggle_port_output#
STATIC __INLINE sl_status_t sl_gpio_driver_toggle_port_output (sl_gpio_port_t port, uint32_t pins)
Toggle port in GPIO port register.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | pins | - Port pins to toggle. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance
Use corresponding pad receiver API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
807
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_enable_interrupts#
STATIC __INLINE sl_status_t sl_gpio_driver_enable_interrupts (uint32_t flags)
Enable one or more GPIO interrupts.
[in] | flags | - GPIO interrupt sources to enable. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Returns
returns status 0 SL_STATUS _OK (0X000) - Success
837
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_disable_interrupts#
STATIC __INLINE sl_status_t sl_gpio_driver_disable_interrupts (uint32_t flags)
Disable one or more GPIO interrupts.
[in] | flags | - GPIO interrupt sources to disable. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Returns
returns status 0 SL_STATUS _OK (0X000) - Success
862
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_set_interrupts#
STATIC __INLINE sl_status_t sl_gpio_driver_set_interrupts (uint32_t flags)
Set one or more pending GPIO interrupts from SW.
[in] | flags | - GPIO interrupt sources to set to pending. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Returns
returns status 0 SL_STATUS _OK (0X000) - Success
887
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_get_pending_interrupts#
STATIC __INLINE uint32_t sl_gpio_driver_get_pending_interrupts (void )
Get pending GPIO interrupts.
N/A |
Pre-conditions:
Returns
GPIO interrupt sources pending.
908
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_get_enabled_interrupts#
STATIC __INLINE uint32_t sl_gpio_driver_get_enabled_interrupts (void )
Get enabled GPIO interrupts.
N/A |
Pre-conditions:
Returns
Enabled GPIO interrupt sources.
930
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_gpio_driver_get_enabled_pending_interrupts#
STATIC __INLINE uint32_t sl_gpio_driver_get_enabled_pending_interrupts (void )
Get enabled and pending GPIO interrupt flags.
N/A |
Pre-conditions:
Returns
returns enabled GPIO pending interrupts.
952
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
sl_si91x_gpio_driver_set_pin_direction#
sl_status_t sl_si91x_gpio_driver_set_pin_direction (uint8_t port, uint8_t pin, sl_si91x_gpio_direction_t direction)
Set the direction for a GPIO pin.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | pin | - The pin number on the port. HP instance has total 57 GPIO pins. Port 0, 1, 2 has 16 pins each. Port 3 has 9 pins. ULP instance has total 12 pins. |
[in] | direction | - pin direction of type sl_si91x_gpio_direction_t '0' - Output
|
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
81
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_get_pin_direction#
uint8_t sl_si91x_gpio_driver_get_pin_direction (uint8_t port, uint8_t pin)
Get the direction GPIO.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | pin | - The pin number on the port. HP instance has total 57 GPIO pins. Port 0, 1, 2 has 16 pins each. Port 3 has 9 pins. ULP instance has total 12 pins. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_selection(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Returns
Returns the direction of the pin. '0' - Output
'1' - Input
112
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_enable_pad_receiver#
sl_status_t sl_si91x_gpio_driver_enable_pad_receiver (uint8_t gpio_num)
Enable the receiver bit in the PAD configuration register.
[in] | gpio_num | - GPIO pin number to be use. |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
129
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_disable_pad_receiver#
sl_status_t sl_si91x_gpio_driver_disable_pad_receiver (uint8_t gpio_num)
Disable the receiver bit in the PAD configuration register.
[in] | gpio_num | - GPIO pin number to be use. |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
146
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_enable_pad_selection#
sl_status_t sl_si91x_gpio_driver_enable_pad_selection (uint8_t gpio_padnum)
Select the pad(0 to 21).
[in] | gpio_padnum | - PAD number to be use |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
161
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_select_pad_driver_strength#
sl_status_t sl_si91x_gpio_driver_select_pad_driver_strength (uint8_t gpio_num, sl_si91x_gpio_driver_strength_select_t strength)
Select drive strength of a GPIO pin.
[in] | gpio_num | - GPIO pin number to be use |
[in] | strength | - Drive strength selector(E1,E2) of type sl_si91x_gpio_driver_strength_select_t possible values are 0, for two_milli_amps (E1=0,E2=0)
|
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
190
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_select_pad_driver_disable_state#
sl_status_t sl_si91x_gpio_driver_select_pad_driver_disable_state (uint8_t gpio_num, sl_si91x_gpio_driver_disable_state_t disable_state)
Select the Driver disabled state control.
[in] | gpio_num | - GPIO pin number to be use |
[in] | disable_state | - driver disable state of type sl_si91x_gpio_driver_disable_state_t possible values are 0, for HiZ (P1=0,P2=0)
|
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
220
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_select_group_interrupt_and_or#
sl_status_t sl_si91x_gpio_driver_select_group_interrupt_and_or (uint8_t port, sl_si91x_group_interrupt_t group_interrupt, sl_si91x_gpio_and_or_t and_or)
Select AND/OR of the group interrupt.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | group_interrupt | - Group interrupt number of type sl_si91x_group_interrupt_t |
[in] | and_or | - AND/OR of GPIO group interrupts of type sl_si91x_gpio_and_or_t '0' - AND
|
If multiple interrupts on same port (or) different are to be generated, then use this API. Example: Consider port 0: pin 2,3 and port 3: pin 1,2 for interrupt generation. Choose OR, any of the selected pin is fine for group interrupt generation Choose AND, all the selected pins are necessary for group interrupt generation
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance
Use corresponding pad receiver API for corresponding GPIO instance.
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt, for ULP instance
Use corresponding group interrupt configuration API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
273
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_clear_group_interrupt#
sl_status_t sl_si91x_gpio_driver_clear_group_interrupt (sl_si91x_group_interrupt_t group_interrupt)
Clear the group interrupt status.
[in] | group_interrupt | - Group interrupt number of type sl_si91x_group_interrupt_t |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
300
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_get_group_interrupt_status#
uint32_t sl_si91x_gpio_driver_get_group_interrupt_status (uint8_t port, sl_si91x_group_interrupt_t group_interrupt)
Get the group interrupt status.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | group_interrupt | - Group interrupt number of type sl_si91x_group_interrupt_t |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt, for ULP instance Use corresponding group interrupt configuration API for corresponding GPIO instance.
Returns
returns the group interrupt status register 1, when interrupt is enabled
0, when interrupt is disabled
333
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_select_group_interrupt_wakeup#
sl_status_t sl_si91x_gpio_driver_select_group_interrupt_wakeup (uint8_t port, sl_si91x_group_interrupt_t group_interrupt, sl_si91x_gpio_wakeup_t flags)
Configure the group interrupt wake up the interrupt.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | group_interrupt | - Group interrupt number of type sl_si91x_group_interrupt_t |
[in] | flags | - GPIO group interrupt wake up flag of type sl_si91x_gpio_wakeup_t '1' - enable
|
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
355
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_configure_group_interrupt#
sl_status_t sl_si91x_gpio_driver_configure_group_interrupt (sl_si91x_gpio_group_interrupt_config_t * configuration, sl_gpio_irq_callback_t gpio_callback, gpio_callback)
Configure the MCU HP group interrupts.
[in] | configuration | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | gpio_callback | - configuration pointer to sl_si91x_gpio_group_interrupt_config_t structure |
[in] | gpio_callback | - IRQ function pointer |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
384
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_get_group_interrupt_polarity#
uint8_t sl_si91x_gpio_driver_get_group_interrupt_polarity (sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin)
Get the polarity of group interrupt.
[in] | group_interrupt | - GPIO group interrupt number of type sl_si91x_group_interrupt_t |
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | pin | - The pin number on the port. HP instance has total 57 GPIO pins. Port 0, 1, 2 has 16 pins each. Port 3 has 9 pins. ULP instance has total 12 pins. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt, for ULP instance Use corresponding group interrupt configuration API for corresponding GPIO instance.
Returns
returns group interrupt polarity 1, when GPIO pin status is '1'
0, when GPIO pin status is '0'
422
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_set_group_interrupt_polarity#
sl_status_t sl_si91x_gpio_driver_set_group_interrupt_polarity (sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin, sl_si91x_gpio_polarity_t polarity)
Configure the polarity of group interrupt.
[in] | group_interrupt | - GPIO group interrupt number of type sl_si91x_group_interrupt_t |
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | pin | - The pin number on the port. HP instance has total 57 GPIO pins. Port 0, 1, 2 has 16 pins each. Port 3 has 9 pins. ULP instance has total 12 pins. |
[in] | polarity | - polarity of GPIO group interrupt of type sl_si91x_gpio_polarity_t 1, group interrupt gets generated when GPIO pin status is '1'
|
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt, for ULP instance Use corresponding group interrupt configuration API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
468
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_get_group_interrupt_level_edge#
uint8_t sl_si91x_gpio_driver_get_group_interrupt_level_edge (uint8_t port, sl_si91x_group_interrupt_t group_interrupt)
Get the level/edge event of group interrupt.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | group_interrupt | - GPIO group interrupt number of type sl_si91x_group_interrupt_t |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt, for ULP instance Use corresponding group interrupt configuration API for corresponding GPIO instance.
Returns
returns group interrupt level_edge 1, for Edge
0, for Level
504
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_set_group_interrupt_level_edge#
sl_status_t sl_si91x_gpio_driver_set_group_interrupt_level_edge (uint8_t port, sl_si91x_group_interrupt_t group_interrupt, sl_si91x_gpio_level_edge_t level_edge)
Set the level/edge event of group interrupt.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | group_interrupt | - GPIO group interrupt number of type sl_si91x_group_interrupt_t |
[in] | level_edge | - GPIO level edge group interrupt of type sl_si91x_gpio_level_edge_t 1, for Edge
|
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt, for ULP instance Use corresponding group interrupt configuration API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
544
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_unmask_group_interrupt#
sl_status_t sl_si91x_gpio_driver_unmask_group_interrupt (uint8_t port, sl_si91x_group_interrupt_t group_interrupt)
Unmask the group interrupts.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | group_interrupt | - GPIO group interrupt number of type sl_si91x_group_interrupt_t |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt, for ULP instance Use corresponding group interrupt configuration API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
580
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_mask_group_interrupt#
sl_status_t sl_si91x_gpio_driver_mask_group_interrupt (uint8_t port, sl_si91x_group_interrupt_t group_interrupt)
Mask the group interrupts.
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | group_interrupt | - GPIO group interrupt number of type sl_si91x_group_interrupt_t |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
609
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_disable_clock#
sl_status_t sl_si91x_gpio_driver_disable_clock (sl_si91x_gpio_select_clock_t clock)
Disable HP/ULP GPIO clock.
[in] | clock | - Selects M4 clock or ULP clock of type sl_si91x_gpio_select_clock_t 0, for M4 GPIO CLK
|
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
626
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_enable_clock#
sl_status_t sl_si91x_gpio_driver_enable_clock (sl_si91x_gpio_select_clock_t clock)
Enable HP/ULP GPIO clock.
[in] | clock | - Selects M4 clock or ULP clock of type sl_si91x_gpio_select_clock_t 0, for M4 GPIO CLK
|
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
643
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_enable_group_interrupt#
sl_status_t sl_si91x_gpio_driver_enable_group_interrupt (sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin)
Enable the group interrupts.
[in] | group_interrupt | - GPIO group interrupt number of type sl_si91x_group_interrupt_t |
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | pin | - The pin number on the port. HP instance has total 57 GPIO pins. Port 0, 1, 2 has 16 pins each. Port 3 has 9 pins. ULP instance has total 12 pins. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance Use corresponding pad receiver API for corresponding GPIO instance.
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt, for ULP instance Use corresponding group interrupt configuration API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
681
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_disable_group_interrupt#
sl_status_t sl_si91x_gpio_driver_disable_group_interrupt (sl_si91x_group_interrupt_t group_interrupt, uint8_t port, uint8_t pin)
Disable the group interrupts.
[in] | group_interrupt | - GPIO group interrupt number of type sl_si91x_group_interrupt_t |
[in] | port | - The port to associate with the pin. HP instance - PORT 0,1,2,3 ULP instance - PORT 4 |
[in] | pin | - The pin number on the port. HP instance has total 57 GPIO pins. Port 0, 1, 2 has 16 pins each. Port 3 has 9 pins. ULP instance has total 12 pins. |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_enable_clock, for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_pad_receiver(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_enable_ulp_pad_receiver(), for ULP instance
Use corresponding pad receiver API for corresponding GPIO instance.
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt(), for HP instance
Pre-conditions:
sl_si91x_gpio_driver_configure_ulp_group_interrupt, for ULP instance
Use corresponding group interrupt configuration API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
733
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_select_ulp_pad_slew_rate#
sl_status_t sl_si91x_gpio_driver_select_ulp_pad_slew_rate (uint8_t gpio_num, sl_si91x_gpio_slew_rate_t slew_rate)
Select the slew rate.
[in] | gpio_num | - GPIO pin number to be use |
[in] | slew_rate | - slew rate of type sl_si91x_gpio_slew_rate_t '0' - Slow
|
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
757
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_select_ulp_pad_driver_strength#
sl_status_t sl_si91x_gpio_driver_select_ulp_pad_driver_strength (uint8_t gpio_num, sl_si91x_gpio_driver_strength_select_t strength)
Select the drive strength.
[in] | gpio_num | - GPIO pin number to be use |
[in] | strength | - Drive strength selector(E1,E2) of type sl_si91x_gpio_driver_strength_select_t 0, for two_milli_amps (E1=0,E2=0)
|
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
784
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_select_ulp_pad_driver_disable_state#
sl_status_t sl_si91x_gpio_driver_select_ulp_pad_driver_disable_state (uint8_t gpio_num, sl_si91x_gpio_driver_disable_state_t disable_state)
Select the driver-disabled state control.
[in] | gpio_num | - GPIO pin number to be use |
[in] | disable_state | - driver disable state of type sl_si91x_gpio_driver_disable_state_t 0, for HiZ (P1=0,P2=0)
|
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
812
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_disable_ulp_pad_receiver#
sl_status_t sl_si91x_gpio_driver_disable_ulp_pad_receiver (uint8_t gpio_num)
Disable the receiver bit for ULP.
[in] | gpio_num | - GPIO pin number to be used |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
829
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_enable_ulp_pad_receiver#
sl_status_t sl_si91x_gpio_driver_enable_ulp_pad_receiver (uint8_t gpio_num)
Enable the receiver bit for ULP.
[in] | gpio_num | - GPIO pin number to be used |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
844
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_configure_ulp_pin_interrupt#
sl_status_t sl_si91x_gpio_driver_configure_ulp_pin_interrupt (uint8_t int_no, sl_si91x_gpio_interrupt_config_flag_t flags, sl_si91x_gpio_pin_ulp_t pin, sl_gpio_irq_callback_t gpio_callback)
Configure the MCU ULP GPIO pin interrupt.
[in] | int_no | - The interrupt number to trigger. |
[in] | flags | - Interrupt configuration flags of type sl_si91x_gpio_interrupt_config_flag_t |
[in] | pin | - GPIO pin number |
[in] | gpio_callback | - IRQ function pointer |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
874
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_set_uulp_npss_pin_mux#
sl_status_t sl_si91x_gpio_driver_set_uulp_npss_pin_mux (uint8_t pin, sl_si91x_uulp_npss_mode_t mode)
Set the NPSS GPIO pin MUX(mode).
[in] | pin | - NPSS GPIO pin number(0...4) of type sl_si91x_uulp_npss_mode_t |
[in] | mode | - NPSS GPIO MUX value |
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
896
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_select_uulp_npss_receiver#
sl_status_t sl_si91x_gpio_driver_select_uulp_npss_receiver (uint8_t pin, sl_si91x_gpio_receiver_t receiver)
Enable/disable NPSS GPIO receiver.
[in] | pin | - is NPSS GPIO pin number (0...4) |
[in] | receiver | - is enable/disable NPSS GPIO receiver of type sl_si91x_gpio_receiver_t '1' - Enable
|
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
917
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_set_uulp_npss_direction#
sl_status_t sl_si91x_gpio_driver_set_uulp_npss_direction (uint8_t pin, sl_si91x_gpio_direction_t direction)
Set the direction of the NPSS GPIO.
[in] | pin | - is NPSS GPIO pin number (0...4) |
[in] | direction | - is direction value (Input / Output) of type sl_si91x_gpio_direction_t '1' - Input Direction
|
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
944
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_get_uulp_npss_direction#
uint8_t sl_si91x_gpio_driver_get_uulp_npss_direction (uint8_t pin)
Get the direction of the NPSS GPIO.
[in] | pin | - is NPSS GPIO pin number(0...4) |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns the GPIO pin direction
1, Input Direction
0, Output Direction
965
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_set_uulp_npss_pin_value#
sl_status_t sl_si91x_gpio_driver_set_uulp_npss_pin_value (uint8_t pin, sl_si91x_gpio_pin_value_t pin_value)
Control the NPSS GPIO pin value.
[in] | pin | - is NPSS GPIO pin number (0...4) of type sl_si91x_gpio_pin_value_t |
[in] | pin_value | - is NPSS GPIO pin value '0' - Output
|
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
995
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_get_uulp_npss_pin#
uint8_t sl_si91x_gpio_driver_get_uulp_npss_pin (uint8_t pin)
Get the NPSS GPIO pin value.
[in] | pin | - is NPSS GPIO pin number (0...4) |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns the pin logical state of pin '0' - Output
'1' - Input
1021
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_select_uulp_npss_polarity#
sl_status_t sl_si91x_gpio_driver_select_uulp_npss_polarity (uint8_t pin, sl_si91x_gpio_polarity_t polarity)
Select the NPSS GPIO polarity.
[in] | pin | - is NPSS GPIO pin number (0...4) |
[in] | polarity | - GPIO polarity sl_si91x_gpio_polarity_t '1' - High
|
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
1042
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_set_uulp_npss_wakeup_interrupt#
sl_status_t sl_si91x_gpio_driver_set_uulp_npss_wakeup_interrupt (uint8_t npssgpio_interrupt)
Set the UULP NPSS GPIO to wake up interrupt.
[in] | npssgpio_interrupt | - OR'ed values of the NPSS GPIO interrupts |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
1057
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_clear_uulp_npss_wakeup_interrupt#
sl_status_t sl_si91x_gpio_driver_clear_uulp_npss_wakeup_interrupt (uint8_t npssgpio_interrupt)
Clear the UULP NPSS GPIO to wake up interrupt.
[in] | npssgpio_interrupt | - OR'ed values of the NPSS GPIO interrupts |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
1072
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_mask_uulp_npss_interrupt#
sl_status_t sl_si91x_gpio_driver_mask_uulp_npss_interrupt (uint8_t npssgpio_interrupt)
Mask the NPSS GPIO interrupt.
[in] | npssgpio_interrupt | - OR'ed values of the NPSS GPIO interrupts |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_set_uulp_pad_configuration()
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
1099
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_unmask_uulp_npss_interrupt#
sl_status_t sl_si91x_gpio_driver_unmask_uulp_npss_interrupt (uint8_t npssgpio_interrupt)
Unmask the NPSS GPIO interrupt.
[in] | npssgpio_interrupt | - OR'ed values of the NPSS GPIO interrupts |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_set_uulp_pad_configuration()
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
1126
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_clear_uulp_interrupt#
sl_status_t sl_si91x_gpio_driver_clear_uulp_interrupt (uint8_t npssgpio_interrupt)
Clear the NPSS GPIO interrupt.
[in] | npssgpio_interrupt | - OR'ed values of the NPSS GPIO interrupts |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_set_uulp_pad_configuration()
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_configure_uulp_interrupt()
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
1156
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_get_uulp_interrupt_status#
uint8_t sl_si91x_gpio_driver_get_uulp_interrupt_status (void )
Get the NPSS GPIO interrupt status.
[in] |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_set_uulp_pad_configuration()
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_configure_uulp_interrupt()
Returns
returns the UULP INTR status. 1, interrupt has been raised
0, interrupt is masked or not raised
1185
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_get_ulp_interrupt_status#
uint32_t sl_si91x_gpio_driver_get_ulp_interrupt_status (uint32_t flags)
Get the ULP GPIO interrupt status.
[in] | flags | : ULP GPIO interrupt sources status. |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_configure_ulp_pin_interrupt()
Returns
returns the ULP INTR status. 1, interrupt has been raised
0, interrupt is masked or not raised
1211
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_clear_ulp_interrupt#
sl_status_t sl_si91x_gpio_driver_clear_ulp_interrupt (uint32_t flags)
Clear one or more pending ULP GPIO interrupts.
[in] | flags | : ULP GPIO interrupt sources to clear. |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_configure_ulp_pin_interrupt()
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
1238
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_clear_ulp_group_interrupt#
sl_status_t sl_si91x_gpio_driver_clear_ulp_group_interrupt (sl_si91x_group_interrupt_t group_interrupt)
Clear the ULP group interrupt.
[in] | group_interrupt | - Group interrupt number of type sl_si91x_group_interrupt_t |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_driver_set_pin_direction()
sl_si91x_gpio_driver_configure_ulp_group_interrupt()
Use corresponding group interrupt configuration API for corresponding GPIO instance.
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
1266
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_configure_uulp_interrupt#
sl_status_t sl_si91x_gpio_driver_configure_uulp_interrupt (sl_si91x_gpio_interrupt_config_flag_t flags, uint8_t npssgpio_interrupt, sl_gpio_irq_callback_t gpio_callback)
Configure the UULP GPIO pin interrupt.
[in] | flags | - Interrupt configuration flags of type sl_si91x_gpio_interrupt_config_flag_t |
[in] | npssgpio_interrupt | - NPSS GPIO input number (0 to 4) |
[in] | gpio_callback | - IRQ function pointer |
Pre-conditions:
Pre-conditions:
sl_si91x_gpio_set_uulp_pad_configuration()
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
1298
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_configure_ulp_group_interrupt#
sl_status_t sl_si91x_gpio_driver_configure_ulp_group_interrupt (sl_si91x_gpio_group_interrupt_config_t * configuration, sl_gpio_irq_callback_t gpio_callback)
Configure ULP GPIO group interrupts.
[in] | configuration | - configuration pointer to sl_si91x_gpio_group_interrupt_config_t structure |
[in] | gpio_callback | - IRQ function pointer |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
1326
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_toggle_uulp_npss_pin#
sl_status_t sl_si91x_gpio_driver_toggle_uulp_npss_pin (uint8_t pin)
Toggle the UULP pin.
[in] | pin | - UULP pin number to toggle |
Pre-conditions:
Pre-conditions:
Pre-conditions:
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument
SL_STATUS _OK (0X000) - Success
1351
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_set_uulp_pad_configuration#
sl_status_t sl_si91x_gpio_driver_set_uulp_pad_configuration (uulp_pad_config_t * pad_config)
Indicate UULP GPIO PAD configuration.
[in] | pad_config | : PAD configuration pointer to uulp_pad_config_t structure |
Pre-conditions:
Returns
returns status 0 if successful, else error code as follow. SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer
SL_STATUS _OK (0X000) - Success
1366
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
sl_si91x_gpio_driver_get_version#
sl_si91x_gpio_version_t sl_si91x_gpio_driver_get_version (void )
Get the release, SQA, and development version numbers of the GPIO peripheral.
[in] |
Returns
returns structure of type sl_si91x_gpio_version_t
1373
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_si91x_driver_gpio.h
Macro Definition Documentation#
GPIO_MAX_OUTPUT_VALUE#
#define GPIO_MAX_OUTPUT_VALUEValue:
1
50
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
MAX_GROUP_INT#
#define MAX_GROUP_INTValue:
2
51
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
GPIO_PORT_MAX_VALUE#
#define GPIO_PORT_MAX_VALUEValue:
5
52
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
MAX_UULP_INT#
#define MAX_UULP_INTValue:
5
53
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
ULP_MAX_MODE#
#define ULP_MAX_MODEValue:
10
54
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
GPIO_MAX_INTR_VALUE#
#define GPIO_MAX_INTR_VALUEValue:
8
56
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
PORTD_PIN_MAX_VALUE#
#define PORTD_PIN_MAX_VALUEValue:
8
57
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
PORTE_PIN_MAX_VALUE#
#define PORTE_PIN_MAX_VALUEValue:
11
58
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
PORTF_PIN_MAX_VALUE#
#define PORTF_PIN_MAX_VALUEValue:
5
59
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
MAX_ULP_INTR#
#define MAX_ULP_INTRValue:
8
60
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
MAX_MODE#
#define MAX_MODEValue:
15
61
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
PORT_PIN_MAX_VALUE#
#define PORT_PIN_MAX_VALUEValue:
15
62
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
GPIO_FLAGS_MAX_VALUE#
#define GPIO_FLAGS_MAX_VALUEValue:
0x0F
63
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h
PORTF#
#define PORTFValue:
5
65
of file components/device/silabs/si91x/mcu/drivers/unified_api/inc/sl_driver_gpio.h