]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_GCC/freedom-metal/src/spi.c
d344e095f72f43d046a61b86fb3d0f01c29d1be5
[freertos] / FreeRTOS / Demo / RISC-V_RV32_SiFive_HiFive1_GCC / freedom-metal / src / spi.c
1 /* Copyright 2018 SiFive, Inc */
2 /* SPDX-License-Identifier: Apache-2.0 */
3
4 #include <metal/machine.h>
5 #include <metal/spi.h>
6
7 extern inline void metal_spi_init(struct metal_spi *spi, int baud_rate);
8 extern inline int metal_spi_transfer(struct metal_spi *spi, struct metal_spi_config *config, size_t len, char *tx_buf, char *rx_buf);
9 extern inline int metal_spi_get_baud_rate(struct metal_spi *spi);
10 extern inline int metal_spi_set_baud_rate(struct metal_spi *spi, int baud_rate);
11
12 struct metal_spi *metal_spi_get_device(int device_num)
13 {
14     if(device_num >= __METAL_DT_MAX_SPIS) {
15         return NULL;
16     }
17
18     return (struct metal_spi *) __metal_spi_table[device_num];
19 }