Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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
191#define DT_SPI_DEV_CS_GPIOS_LABEL(spi_dev) \
192 DT_GPIO_LABEL_BY_IDX(DT_BUS(spi_dev), cs_gpios, DT_REG_ADDR(spi_dev)) __DEPRECATED_MACRO
193
224#define DT_SPI_DEV_CS_GPIOS_PIN(spi_dev) \
225 DT_GPIO_PIN_BY_IDX(DT_BUS(spi_dev), cs_gpios, DT_REG_ADDR(spi_dev))
226
252#define DT_SPI_DEV_CS_GPIOS_FLAGS(spi_dev) \
253 DT_GPIO_FLAGS_BY_IDX(DT_BUS(spi_dev), cs_gpios, DT_REG_ADDR(spi_dev))
254
262#define DT_INST_SPI_DEV_HAS_CS_GPIOS(inst) \
263 DT_SPI_DEV_HAS_CS_GPIOS(DT_DRV_INST(inst))
264
272#define DT_INST_SPI_DEV_CS_GPIOS_CTLR(inst) \
273 DT_SPI_DEV_CS_GPIOS_CTLR(DT_DRV_INST(inst))
274
285#define DT_INST_SPI_DEV_CS_GPIOS_LABEL(inst) \
286 DT_SPI_DEV_CS_GPIOS_LABEL(DT_DRV_INST(inst)) __DEPRECATED_MACRO
287
294#define DT_INST_SPI_DEV_CS_GPIOS_PIN(inst) \
295 DT_SPI_DEV_CS_GPIOS_PIN(DT_DRV_INST(inst))
296
304#define DT_INST_SPI_DEV_CS_GPIOS_FLAGS(inst) \
305 DT_SPI_DEV_CS_GPIOS_FLAGS(DT_DRV_INST(inst))
306
311#ifdef __cplusplus
312}
313#endif
314
315#endif /* ZEPHYR_INCLUDE_DEVICETREE_SPI_H_ */