RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
include
dev
spi
spi-gpio.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
10
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
43
extern
"C"
{
44
#endif
/* __cplusplus */
45
66
67
#define SPI_GPIO_MAX_CS 4
68
75
typedef
void (
spi_gpio_set_pin_fn
) (
void
*arg,
bool
level);
76
83
typedef
bool (
spi_gpio_get_pin_fn
) (
void
*arg);
84
91
struct
spi_gpio_params
{
93
spi_gpio_set_pin_fn
*
set_clk
;
95
void
*
set_clk_arg
;
97
spi_gpio_set_pin_fn
*
set_mosi
;
99
void
*
set_mosi_arg
;
101
spi_gpio_get_pin_fn
*
get_miso
;
103
void
*
get_miso_arg
;
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
126
rtems_status_code
spi_gpio_init
(
127
const
char
*device,
128
const
struct
spi_gpio_params
*params
129
);
130
132
133
#ifdef __cplusplus
134
}
135
#endif
/* __cplusplus */
136
137
#endif
/* _RTEMS_DEV_SPI_SPI_GPIO_H */
rtems_status_code
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition
status.h:85
spi_gpio_get_pin_fn
bool spi_gpio_get_pin_fn(void *arg)
Type of the functions that read pins.
Definition
spi-gpio.h:83
spi_gpio_init
rtems_status_code spi_gpio_init(const char *device, const struct spi_gpio_params *params)
Definition
spi-gpio.c:198
spi_gpio_set_pin_fn
void spi_gpio_set_pin_fn(void *arg, bool level)
Type of the functions that set pins.
Definition
spi-gpio.h:75
rtems.h
This header file defines the RTEMS Classic API.
spi_gpio_params
Parameters for the driver.
Definition
spi-gpio.h:91
spi_gpio_params::set_clk
spi_gpio_set_pin_fn * set_clk
Definition
spi-gpio.h:93
spi_gpio_params::set_cs_arg
void * set_cs_arg[SPI_GPIO_MAX_CS]
Definition
spi-gpio.h:107
spi_gpio_params::set_mosi_arg
void * set_mosi_arg
Definition
spi-gpio.h:99
spi_gpio_params::set_mosi
spi_gpio_set_pin_fn * set_mosi
Definition
spi-gpio.h:97
spi_gpio_params::get_miso_arg
void * get_miso_arg
Definition
spi-gpio.h:103
spi_gpio_params::cs_idle
bool cs_idle[SPI_GPIO_MAX_CS]
Definition
spi-gpio.h:114
spi_gpio_params::set_clk_arg
void * set_clk_arg
Definition
spi-gpio.h:95
spi_gpio_params::set_cs
spi_gpio_set_pin_fn * set_cs[SPI_GPIO_MAX_CS]
Definition
spi-gpio.h:105
spi_gpio_params::get_miso
spi_gpio_get_pin_fn * get_miso
Definition
spi-gpio.h:101
Generated by
1.18.0