RTEMS 6.1-rc6
Loading...
Searching...
No Matches
spi-gpio.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/*
12 * Copyright (C) 2024 embedded brains GmbH & Co. KG
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 * 1. Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 * 2. Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 */
35
36#ifndef _RTEMS_DEV_SPI_SPI_GPIO_H
37#define _RTEMS_DEV_SPI_SPI_GPIO_H
38
39#include <rtems.h>
40#include <stdbool.h>
41
42#ifdef __cplusplus
43extern "C" {
44#endif /* __cplusplus */
45
67#define SPI_GPIO_MAX_CS 4
68
75typedef void (spi_gpio_set_pin_fn) (void *arg, bool level);
76
83typedef bool (spi_gpio_get_pin_fn) (void *arg);
84
105 spi_gpio_set_pin_fn *set_cs[SPI_GPIO_MAX_CS];
107 void *set_cs_arg[SPI_GPIO_MAX_CS];
108
114 bool cs_idle[SPI_GPIO_MAX_CS];
115};
116
127 const char *device,
128 const struct spi_gpio_params *params
129 );
130
133#ifdef __cplusplus
134}
135#endif /* __cplusplus */
136
137#endif /* _RTEMS_DEV_SPI_SPI_GPIO_H */
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
bool() spi_gpio_get_pin_fn(void *arg)
Type of the functions that read pins.
Definition: spi-gpio.h:83
rtems_status_code spi_gpio_init(const char *device, const struct spi_gpio_params *params)
Definition: spi-gpio.c:198
void() spi_gpio_set_pin_fn(void *arg, bool level)
Type of the functions that set pins.
Definition: spi-gpio.h:75
This header file defines the RTEMS Classic API.
Parameters for the driver.
Definition: spi-gpio.h:91
spi_gpio_set_pin_fn * set_clk
Definition: spi-gpio.h:93
void * set_cs_arg[SPI_GPIO_MAX_CS]
Definition: spi-gpio.h:107
void * set_mosi_arg
Definition: spi-gpio.h:99
spi_gpio_set_pin_fn * set_mosi
Definition: spi-gpio.h:97
void * get_miso_arg
Definition: spi-gpio.h:103
bool cs_idle[SPI_GPIO_MAX_CS]
Definition: spi-gpio.h:114
void * set_clk_arg
Definition: spi-gpio.h:95
spi_gpio_set_pin_fn * set_cs[SPI_GPIO_MAX_CS]
Definition: spi-gpio.h:105
spi_gpio_get_pin_fn * get_miso
Definition: spi-gpio.h:101