12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #ifndef SSI_H_
- #define SSI_H_
- #include "gtypes.h"
- #include <rtdevice.h>
- #define MAX_SLAVE_DEVICE (2)
- struct gk_spi_slave_info
- {
- rt_uint32_t id;
- rt_uint32_t cs_pin;
- GD_HANDLE spihandle;
-
- struct rt_spi_device spi_device;
- struct gk_spi_controller *control;
- struct gk_spi_slave_info *next;
- };
- struct gk_spi_controller;
- struct gk_spi_controller_data
- {
- rt_uint32_t id;
- rt_uint32_t total_slave;
- rt_uint32_t slave_cs_pin[MAX_SLAVE_DEVICE];
- struct gk_spi_controller *control;
- };
- struct gk_spi_controller
- {
- rt_uint32_t id;
- struct rt_spi_bus spi_bus;
- struct rt_spi_message *current_message;
- struct rt_completion transfer_completion;
- struct rt_semaphore xfer_lock;
-
- struct gk_spi_slave_info *spi_slave;
- };
- void rt_hw_spi_init(void);
- #endif
|