|
| 1 | +#include "pins_arduino.h" |
1 | 2 | #include "tf_card.h" |
2 | 3 |
|
| 4 | +#ifndef SD_CS_GPIO_PIN |
| 5 | +#define SD_CS_GPIO_PIN GPIO_PIN_12 |
| 6 | +#define SD_CS_GPIO_PORT GPIOB |
| 7 | +#define SD_CS_GPIO_CLK RCU_GPIOB |
| 8 | +#endif |
| 9 | + |
3 | 10 | #define FCLK_SLOW() { SPI_CTL0(SPI1) = (SPI_CTL0(SPI1) & ~0x38) | SPI_PSC_64; } /* Set SCLK = PCLK2 / 64 */ |
4 | 11 | #define FCLK_FAST() { SPI_CTL0(SPI1) = (SPI_CTL0(SPI1) & ~0x38) | SPI_PSC_4; } /* Set SCLK = PCLK2 / 4 */ |
5 | 12 |
|
6 | 13 | // #define FCLK_SLOW() |
7 | 14 | // #define FCLK_FAST() |
8 | 15 |
|
9 | | -#define CS_HIGH() PB_OUT(12,1) |
10 | | -#define CS_LOW() PB_OUT(12,0) |
| 16 | +#define CS_HIGH() gpio_bit_set(SD_CS_GPIO_PORT, SD_CS_GPIO_PIN) |
| 17 | +#define CS_LOW() gpio_bit_reset(SD_CS_GPIO_PORT, SD_CS_GPIO_PIN) |
11 | 18 |
|
12 | 19 | /*-------------------------------------------------------------------------- |
13 | 20 |
|
@@ -59,14 +66,16 @@ void init_spi(void) |
59 | 66 | { |
60 | 67 | spi_parameter_struct spi_init_struct; |
61 | 68 |
|
62 | | - rcu_periph_clock_enable(RCU_GPIOB); |
63 | 69 | rcu_periph_clock_enable(RCU_SPI1); |
64 | 70 |
|
65 | 71 | /* SPI1_SCK(PB13), SPI1_MISO(PB14) and SPI1_MOSI(PB15) GPIO pin configuration */ |
| 72 | + rcu_periph_clock_enable(RCU_GPIOB); |
66 | 73 | gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13 | GPIO_PIN_15); |
67 | 74 | gpio_init(GPIOB, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_14); |
68 | | - /* SPI1_CS(PB12) GPIO pin configuration */ |
69 | | - gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_12); |
| 75 | + |
| 76 | + /* SD_CS(PB12) GPIO pin configuration (PB1 on Wio Lite Risc-V) */ |
| 77 | + rcu_periph_clock_enable(SD_CS_GPIO_CLK); |
| 78 | + gpio_init( SD_CS_GPIO_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, SD_CS_GPIO_PIN); |
70 | 79 |
|
71 | 80 | /* chip _select invalid*/ |
72 | 81 | CS_HIGH(); |
|
0 commit comments