/* * Copyright (c) 2006-2022, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2021-12-20 BruceOu first implementation */ #ifndef __DRV_SPI_H__ #define __DRV_SPI_H__ #include #include #include #ifdef __cplusplus extern "C" { #endif struct gd32_spi_cs { uint32_t GPIOx; uint32_t GPIO_Pin; }; /* gd32 spi dirver class */ struct gd32_spi { uint32_t spi_periph; char *bus_name; rcu_periph_enum spi_clk; rcu_periph_enum gpio_clk; struct rt_spi_bus *spi_bus; uint32_t spi_port; #if defined SOC_SERIES_GD32F4xx uint32_t alt_func_num; #endif uint16_t sck_pin; uint16_t miso_pin; uint16_t mosi_pin; }; rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, uint32_t cs_gpiox, uint16_t cs_gpio_pin); #ifdef __cplusplus } #endif #endif /* __DRV_SPI_H__ */