1 /*
2  * Copyright (c) 2006-2024 RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2022-07-18     Rbb666       first version
9  */
10 
11 #ifndef __DRV_SPI__
12 #define __DRV_SPI__
13 
14 #include <rtthread.h>
15 #include "drivers/dev_spi.h"
16 
17 #include "drv_gpio.h"
18 
19 struct ifx_spi_handle
20 {
21     const char *bus_name;
22     cyhal_spi_t *spi_obj;
23 
24     uint16_t sck_pin;
25     uint16_t miso_pin;
26     uint16_t mosi_pin;
27     uint32_t freq;
28 };
29 
30 /* ifx spi dirver class */
31 struct ifx_spi
32 {
33     rt_uint32_t cs_pin;
34 
35     struct ifx_spi_handle       *spi_handle_t;
36     struct rt_spi_configuration *rt_spi_cfg_t;
37     struct rt_spi_bus spi_bus;
38 
39     struct rt_completion cpt;
40 };
41 
42 rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, rt_base_t cs_pin);
43 
44 #endif
45