Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
pinctrl_esp32_common.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DRIVERS_PINCTRL_PINCTRL_ESP32_COMMON_H_
8#define ZEPHYR_INCLUDE_DRIVERS_PINCTRL_PINCTRL_ESP32_COMMON_H_
9
10#define ESP32_PORT_IDX(_pin) \
11 (((_pin) < 32) ? 0 : 1)
12
13#define ESP32_PIN_NUM(_mux) \
14 (((_mux) >> ESP32_PIN_NUM_SHIFT) & ESP32_PIN_NUM_MASK)
15
16#define ESP32_PIN_SIGI(_mux) \
17 (((_mux) >> ESP32_PIN_SIGI_SHIFT) & ESP32_PIN_SIGI_MASK)
18
19#define ESP32_PIN_SIGO(_mux) \
20 (((_mux) >> ESP32_PIN_SIGO_SHIFT) & ESP32_PIN_SIGO_MASK)
21
22#define ESP32_PIN_BIAS(_cfg) \
23 (((_cfg) >> ESP32_PIN_BIAS_SHIFT) & ESP32_PIN_BIAS_MASK)
24
25#define ESP32_PIN_DRV(_cfg) \
26 (((_cfg) >> ESP32_PIN_DRV_SHIFT) & ESP32_PIN_DRV_MASK)
27
28#define ESP32_PIN_MODE_OUT(_cfg) \
29 (((_cfg) >> ESP32_PIN_OUT_SHIFT) & ESP32_PIN_OUT_MASK)
30
31#define ESP32_PIN_EN_DIR(_cfg) \
32 (((_cfg) >> ESP32_PIN_EN_DIR_SHIFT) & ESP32_PIN_EN_DIR_MASK)
33
34#endif /* ZEPHYR_INCLUDE_DRIVERS_PINCTRL_PINCTRL_ESP32_COMMON_H_ */