Zephyr API Documentation 4.0.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
espressif-esp32-gpio.h File Reference

Go to the source code of this file.

Macros

GPIO drive strength flags

The drive strength flags are a Zephyr specific extension of the standard GPIO flags specified by the Linux GPIO binding.

Only applicable for Espressif ESP32 SoCs.

The interface supports two different drive strengths: DFLT - The lowest drive strength supported by the HW ALT - The highest drive strength supported by the HW

#define ESP32_GPIO_DS_DFLT   (0x0U << ESP32_GPIO_DS_POS)
 Default drive strength.
 
#define ESP32_GPIO_DS_ALT   (0x3U << ESP32_GPIO_DS_POS)
 Alternative drive strength.
 
GPIO pin input/output enable flags

These flags allow configuring a pin as input or output while keeping untouched its complementary configuration.

By instance, if we configure a GPIO pin as an input and pass the flag ESP32_GPIO_PIN_OUT_EN, the driver will not disable the pin's output buffer. This functionality can be useful to render a pin both an input and output, for diagnose or testing purposes.

#define ESP32_GPIO_PIN_OUT_EN   (1 << 12)
 Keep GPIO pin enabled as output.
 
#define ESP32_GPIO_PIN_IN_EN   (1 << 13)
 Keep GPIO pin enabled as input.
 

Macro Definition Documentation

◆ ESP32_GPIO_DS_ALT

#define ESP32_GPIO_DS_ALT   (0x3U << ESP32_GPIO_DS_POS)

Alternative drive strength.

◆ ESP32_GPIO_DS_DFLT

#define ESP32_GPIO_DS_DFLT   (0x0U << ESP32_GPIO_DS_POS)

Default drive strength.

◆ ESP32_GPIO_PIN_IN_EN

#define ESP32_GPIO_PIN_IN_EN   (1 << 13)

Keep GPIO pin enabled as input.

◆ ESP32_GPIO_PIN_OUT_EN

#define ESP32_GPIO_PIN_OUT_EN   (1 << 12)

Keep GPIO pin enabled as output.