Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
esp-pinctrl-common.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022-2026 Espressif Systems (Shanghai) Co., Ltd.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ESP_PINCTRL_COMMON_H_
8#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ESP_PINCTRL_COMMON_H_
9
11
13#define ESP32_PIN_NUM_SHIFT 0U
14#define ESP32_PIN_NUM_MASK 0x3FU
15
22#define ESP32_PIN_SIGI_MASK 0x1FFU
23#define ESP32_PIN_SIGI_SHIFT 6U
24#define ESP32_PIN_SIGO_MASK 0x1FFU
25#define ESP32_PIN_SIGO_SHIFT 15U
26#define ESP_SIG_INVAL ESP32_PIN_SIGI_MASK
27
35#define ESP32_PINMUX(pin, sig_i, sig_o) \
36 (((pin & ESP32_PIN_NUM_MASK) << ESP32_PIN_NUM_SHIFT) | \
37 ((sig_i & ESP32_PIN_SIGI_MASK) << ESP32_PIN_SIGI_SHIFT) | \
38 ((sig_o & ESP32_PIN_SIGO_MASK) << ESP32_PIN_SIGO_SHIFT))
39
57
62#define ESP32_PIN_BIAS_SHIFT 0U
63#define ESP32_PIN_BIAS_MASK 0x3U
64#define ESP32_PIN_DRV_SHIFT 2U
65#define ESP32_PIN_DRV_MASK 0x3U
66#define ESP32_PIN_OUT_SHIFT 4U
67#define ESP32_PIN_OUT_MASK 0x3U
68#define ESP32_PIN_EN_DIR_SHIFT 6U
69#define ESP32_PIN_EN_DIR_MASK 0x3U
70#define ESP32_PIN_SLEEP_HOLD_SHIFT 8U
71#define ESP32_PIN_SLEEP_HOLD_MASK 0x1U
73
78#define ESP32_NO_PULL 0x1
79#define ESP32_PULL_UP 0x2
80#define ESP32_PULL_DOWN 0x3
82
87#define ESP32_PUSH_PULL 0x1
88#define ESP32_OPEN_DRAIN 0x2
90
95#define ESP32_PIN_OUT_HIGH 0x1
96#define ESP32_PIN_OUT_LOW 0x2
98
103#define ESP32_PIN_OUT_EN 0x1
104#define ESP32_PIN_IN_EN 0x2
106
111#define ESP32_PIN_SLEEP_HOLD_EN 0x1
113
123#define ESP32_NO_PULL_FLAG BIT(0)
124#define ESP32_PULL_UP_FLAG BIT(1)
125#define ESP32_PULL_DOWN_FLAG BIT(2)
126#define ESP32_PUSH_PULL_FLAG BIT(3)
127#define ESP32_OPEN_DRAIN_FLAG BIT(4)
128#define ESP32_DIR_INP_FLAG BIT(5)
129#define ESP32_DIR_OUT_FLAG BIT(6)
130#define ESP32_PIN_OUT_HIGH_FLAG BIT(7)
131#define ESP32_PIN_OUT_LOW_FLAG BIT(8)
132#define ESP32_PIN_OUT_EN_FLAG BIT(9)
133#define ESP32_PIN_IN_EN_FLAG BIT(10)
134#define ESP32_SLEEP_HOLD_FLAG BIT(11)
136
137#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ESP_PINCTRL_COMMON_H_ */