Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
spi.h
Go to the documentation of this file.
1
6/*
7 * Copyright (c) 2020 Nordic Semiconductor
8 *
9 * SPDX-License-Identifier: Apache-2.0
10 */
11
12#ifndef ZEPHYR_INCLUDE_DEVICETREE_SPI_H_
13#define ZEPHYR_INCLUDE_DEVICETREE_SPI_H_
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
52#define DT_SPI_HAS_CS_GPIOS(spi) DT_NODE_HAS_PROP(spi, cs_gpios)
53
78#define DT_SPI_NUM_CS_GPIOS(spi) \
79 COND_CODE_1(DT_SPI_HAS_CS_GPIOS(spi), \
80 (DT_PROP_LEN(spi, cs_gpios)), (0))
81
117#define DT_SPI_DEV_HAS_CS_GPIOS(spi_dev) DT_SPI_HAS_CS_GPIOS(DT_BUS(spi_dev))
118
150#define DT_SPI_DEV_CS_GPIOS_CTLR(spi_dev) \
151 DT_GPIO_CTLR_BY_IDX(DT_BUS(spi_dev), cs_gpios, DT_REG_ADDR(spi_dev))
152
188#define DT_SPI_DEV_CS_GPIOS_LABEL(spi_dev) \
189 DT_GPIO_LABEL_BY_IDX(DT_BUS(spi_dev), cs_gpios, DT_REG_ADDR(spi_dev))
190
221#define DT_SPI_DEV_CS_GPIOS_PIN(spi_dev) \
222 DT_GPIO_PIN_BY_IDX(DT_BUS(spi_dev), cs_gpios, DT_REG_ADDR(spi_dev))
223
249#define DT_SPI_DEV_CS_GPIOS_FLAGS(spi_dev) \
250 DT_GPIO_FLAGS_BY_IDX(DT_BUS(spi_dev), cs_gpios, DT_REG_ADDR(spi_dev))
251
259#define DT_INST_SPI_DEV_HAS_CS_GPIOS(inst) \
260 DT_SPI_DEV_HAS_CS_GPIOS(DT_DRV_INST(inst))
261
269#define DT_INST_SPI_DEV_CS_GPIOS_CTLR(inst) \
270 DT_SPI_DEV_CS_GPIOS_CTLR(DT_DRV_INST(inst))
271
279#define DT_INST_SPI_DEV_CS_GPIOS_LABEL(inst) \
280 DT_SPI_DEV_CS_GPIOS_LABEL(DT_DRV_INST(inst))
281
288#define DT_INST_SPI_DEV_CS_GPIOS_PIN(inst) \
289 DT_SPI_DEV_CS_GPIOS_PIN(DT_DRV_INST(inst))
290
298#define DT_INST_SPI_DEV_CS_GPIOS_FLAGS(inst) \
299 DT_SPI_DEV_CS_GPIOS_FLAGS(DT_DRV_INST(inst))
300
305#ifdef __cplusplus
306}
307#endif
308
309#endif /* ZEPHYR_INCLUDE_DEVICETREE_SPI_H_ */