Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
gpio.h
Go to the documentation of this file.
1
6/*
7 * Copyright (c) 2020, Linaro Ltd.
8 * Copyright (c) 2020 Nordic Semiconductor
9 *
10 * SPDX-License-Identifier: Apache-2.0
11 */
12
13#ifndef ZEPHYR_INCLUDE_DEVICETREE_GPIO_H_
14#define ZEPHYR_INCLUDE_DEVICETREE_GPIO_H_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
53#define DT_GPIO_CTLR_BY_IDX(node_id, gpio_pha, idx) \
54 DT_PHANDLE_BY_IDX(node_id, gpio_pha, idx)
55
65#define DT_GPIO_CTLR(node_id, gpio_pha) \
66 DT_GPIO_CTLR_BY_IDX(node_id, gpio_pha, 0)
67
102#define DT_GPIO_LABEL_BY_IDX(node_id, gpio_pha, idx) \
103 DT_PROP(DT_GPIO_CTLR_BY_IDX(node_id, gpio_pha, idx), label)
104
113#define DT_GPIO_LABEL(node_id, gpio_pha) \
114 DT_GPIO_LABEL_BY_IDX(node_id, gpio_pha, 0)
115
157#define DT_GPIO_PIN_BY_IDX(node_id, gpio_pha, idx) \
158 DT_PHA_BY_IDX(node_id, gpio_pha, idx, pin)
159
168#define DT_GPIO_PIN(node_id, gpio_pha) \
169 DT_GPIO_PIN_BY_IDX(node_id, gpio_pha, 0)
170
213#define DT_GPIO_FLAGS_BY_IDX(node_id, gpio_pha, idx) \
214 DT_PHA_BY_IDX_OR(node_id, gpio_pha, idx, flags, 0)
215
224#define DT_GPIO_FLAGS(node_id, gpio_pha) \
225 DT_GPIO_FLAGS_BY_IDX(node_id, gpio_pha, 0)
226
236#define DT_INST_GPIO_LABEL_BY_IDX(inst, gpio_pha, idx) \
237 DT_GPIO_LABEL_BY_IDX(DT_DRV_INST(inst), gpio_pha, idx)
238
246#define DT_INST_GPIO_LABEL(inst, gpio_pha) \
247 DT_INST_GPIO_LABEL_BY_IDX(inst, gpio_pha, 0)
248
259#define DT_INST_GPIO_PIN_BY_IDX(inst, gpio_pha, idx) \
260 DT_GPIO_PIN_BY_IDX(DT_DRV_INST(inst), gpio_pha, idx)
261
270#define DT_INST_GPIO_PIN(inst, gpio_pha) \
271 DT_INST_GPIO_PIN_BY_IDX(inst, gpio_pha, 0)
272
283#define DT_INST_GPIO_FLAGS_BY_IDX(inst, gpio_pha, idx) \
284 DT_GPIO_FLAGS_BY_IDX(DT_DRV_INST(inst), gpio_pha, idx)
285
294#define DT_INST_GPIO_FLAGS(inst, gpio_pha) \
295 DT_INST_GPIO_FLAGS_BY_IDX(inst, gpio_pha, 0)
296
301#ifdef __cplusplus
302}
303#endif
304
305#endif /* ZEPHYR_INCLUDE_DEVICETREE_GPIO_H_ */