Zephyr Project API  3.2.0
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
105#define DT_GPIO_LABEL_BY_IDX(node_id, gpio_pha, idx) \
106 DT_PROP(DT_GPIO_CTLR_BY_IDX(node_id, gpio_pha, idx), label) __DEPRECATED_MACRO
107
119#define DT_GPIO_LABEL(node_id, gpio_pha) \
120 DT_GPIO_LABEL_BY_IDX(node_id, gpio_pha, 0) __DEPRECATED_MACRO
121
163#define DT_GPIO_PIN_BY_IDX(node_id, gpio_pha, idx) \
164 DT_PHA_BY_IDX(node_id, gpio_pha, idx, pin)
165
174#define DT_GPIO_PIN(node_id, gpio_pha) \
175 DT_GPIO_PIN_BY_IDX(node_id, gpio_pha, 0)
176
219#define DT_GPIO_FLAGS_BY_IDX(node_id, gpio_pha, idx) \
220 DT_PHA_BY_IDX_OR(node_id, gpio_pha, idx, flags, 0)
221
230#define DT_GPIO_FLAGS(node_id, gpio_pha) \
231 DT_GPIO_FLAGS_BY_IDX(node_id, gpio_pha, 0)
232
245#define DT_INST_GPIO_LABEL_BY_IDX(inst, gpio_pha, idx) \
246 DT_GPIO_LABEL_BY_IDX(DT_DRV_INST(inst), gpio_pha, idx) __DEPRECATED_MACRO
247
258#define DT_INST_GPIO_LABEL(inst, gpio_pha) \
259 DT_INST_GPIO_LABEL_BY_IDX(inst, gpio_pha, 0) __DEPRECATED_MACRO
260
271#define DT_INST_GPIO_PIN_BY_IDX(inst, gpio_pha, idx) \
272 DT_GPIO_PIN_BY_IDX(DT_DRV_INST(inst), gpio_pha, idx)
273
282#define DT_INST_GPIO_PIN(inst, gpio_pha) \
283 DT_INST_GPIO_PIN_BY_IDX(inst, gpio_pha, 0)
284
295#define DT_INST_GPIO_FLAGS_BY_IDX(inst, gpio_pha, idx) \
296 DT_GPIO_FLAGS_BY_IDX(DT_DRV_INST(inst), gpio_pha, idx)
297
306#define DT_INST_GPIO_FLAGS(inst, gpio_pha) \
307 DT_INST_GPIO_FLAGS_BY_IDX(inst, gpio_pha, 0)
308
313#ifdef __cplusplus
314}
315#endif
316
317#endif /* ZEPHYR_INCLUDE_DEVICETREE_GPIO_H_ */