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