blob: 868aa29685ffb33d44b603ea2fb28f284af445bf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
/*
* Copyright (c) 2006-2023, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2023-05-01 flyingcys first version
*/
#include <rtthread.h>
#include <rtdevice.h>
#include <rthw.h>
#include "bflb_spi.h"
#include "bflb_dma.h"
#include "bflb_gpio.h"
#ifndef __DRV_SPI_H_
#define __DRV_SPI_H_
#ifdef SPI_SCK_USING_GPIO1
#define SPI_SCK_PIN GPIO_PIN_1
#elif defined(SPI_SCK_USING_GPIO3)
#define SPI_SCK_PIN GPIO_PIN_3
#elif defined(SPI_SCK_USING_GPIO5)
#define SPI_SCK_PIN GPIO_PIN_5
#elif defined(SPI_SCK_USING_GPIO7)
#define SPI_SCK_PIN GPIO_PIN_7
#elif defined(SPI_SCK_USING_GPIO9)
#define SPI_SCK_PIN GPIO_PIN_9
#elif defined(SPI_SCK_USING_GPIO11)
#define SPI_SCK_PIN GPIO_PIN_11
#elif defined(SPI_SCK_USING_GPIO13)
#define SPI_SCK_PIN GPIO_PIN_13
#elif defined(SPI_SCK_USING_GPIO15)
#define SPI_SCK_PIN GPIO_PIN_15
#elif defined(SPI_SCK_USING_GPIO17)
#define SPI_SCK_PIN GPIO_PIN_17
#elif defined(SPI_SCK_USING_GPIO19)
#define SPI_SCK_PIN GPIO_PIN_19
#elif defined(SPI_SCK_USING_GPIO21)
#define SPI_SCK_PIN GPIO_PIN_21
#elif defined(SPI_SCK_USING_GPIO23)
#define SPI_SCK_PIN GPIO_PIN_23
#elif defined(SPI_SCK_USING_GPIO25)
#define SPI_SCK_PIN GPIO_PIN_25
#elif defined(SPI_SCK_USING_GPIO27)
#define SPI_SCK_PIN GPIO_PIN_27
#elif defined(SPI_SCK_USING_GPIO29)
#define SPI_SCK_PIN GPIO_PIN_29
#elif defined(SPI_SCK_USING_GPIO31)
#define SPI_SCK_PIN GPIO_PIN_31
#elif defined(SPI_SCK_USING_GPIO33)
#define SPI_SCK_PIN GPIO_PIN_33
#elif defined(SPI_SCK_USING_GPIO35)
#define SPI_SCK_PIN GPIO_PIN_35
#elif defined(SPI_SCK_USING_GPIO39)
#define SPI_SCK_PIN GPIO_PIN_39
#elif defined(SPI_SCK_USING_GPIO43)
#define SPI_SCK_PIN GPIO_PIN_43
#endif
#ifdef SPI_MISO_USING_GPIO0
#define SPI_MISO_PIN GPIO_PIN_0
#elif defined(SPI_MISO_USING_GPIO1)
#define SPI_MISO_PIN GPIO_PIN_1
#elif defined(SPI_MISO_USING_GPIO2)
#define SPI_MISO_PIN GPIO_PIN_2
#elif defined(SPI_MISO_USING_GPIO4)
#define SPI_MISO_PIN GPIO_PIN_4
#elif defined(SPI_MISO_USING_GPIO5)
#define SPI_MISO_PIN GPIO_PIN_5
#elif defined(SPI_MISO_USING_GPIO6)
#define SPI_MISO_PIN GPIO_PIN_6
#elif defined(SPI_MISO_USING_GPIO8)
#define SPI_MISO_PIN GPIO_PIN_8
#elif defined(SPI_MISO_USING_GPIO9)
#define SPI_MISO_PIN GPIO_PIN_9
#elif defined(SPI_MISO_USING_GPIO10)
#define SPI_MISO_PIN GPIO_PIN_10
#elif defined(SPI_MISO_USING_GPIO12)
#define SPI_MISO_PIN GPIO_PIN_12
#elif defined(SPI_MISO_USING_GPIO13)
#define SPI_MISO_PIN GPIO_PIN_13
#elif defined(SPI_MISO_USING_GPIO14)
#define SPI_MISO_PIN GPIO_PIN_14
#elif defined(SPI_MISO_USING_GPIO16)
#define SPI_MISO_PIN GPIO_PIN_16
#elif defined(SPI_MISO_USING_GPIO17)
#define SPI_MISO_PIN GPIO_PIN_17
#elif defined(SPI_MISO_USING_GPIO18)
#define SPI_MISO_PIN GPIO_PIN_18
#elif defined(SPI_MISO_USING_GPIO20)
#define SPI_MISO_PIN GPIO_PIN_20
#elif defined(SPI_MISO_USING_GPIO21)
#define SPI_MISO_PIN GPIO_PIN_21
#elif defined(SPI_MISO_USING_GPIO22)
#define SPI_MISO_PIN GPIO_PIN_22
#elif defined(SPI_MISO_USING_GPIO25)
#define SPI_MISO_PIN GPIO_PIN_25
#elif defined(SPI_MISO_USING_GPIO26)
#define SPI_MISO_PIN GPIO_PIN_26
#elif defined(SPI_MISO_USING_GPIO29)
#define SPI_MISO_PIN GPIO_PIN_29
#elif defined(SPI_MISO_USING_GPIO30)
#define SPI_MISO_PIN GPIO_PIN_30
#elif defined(SPI_MISO_USING_GPIO34)
#define SPI_MISO_PIN GPIO_PIN_34
#elif defined(SPI_MISO_USING_GPIO38)
#define SPI_MISO_PIN GPIO_PIN_38
#elif defined(SPI_MISO_USING_GPIO42)
#define SPI_MISO_PIN GPIO_PIN_42
#endif
#ifdef SPI_MOSI_USING_GPIO0
#define SPI_MOSI_PIN GPIO_PIN_0
#elif defined(SPI_MOSI_USING_GPIO1)
#define SPI_MOSI_PIN GPIO_PIN_1
#elif defined(SPI_MOSI_USING_GPIO3)
#define SPI_MOSI_PIN GPIO_PIN_3
#elif defined(SPI_MOSI_USING_GPIO4)
#define SPI_MOSI_PIN GPIO_PIN_4
#elif defined(SPI_MOSI_USING_GPIO5)
#define SPI_MOSI_PIN GPIO_PIN_5
#elif defined(SPI_MOSI_USING_GPIO7)
#define SPI_MOSI_PIN GPIO_PIN_7
#elif defined(SPI_MOSI_USING_GPIO8)
#define SPI_MOSI_PIN GPIO_PIN_8
#elif defined(SPI_MOSI_USING_GPIO9)
#define SPI_MOSI_PIN GPIO_PIN_9
#elif defined(SPI_MOSI_USING_GPIO11)
#define SPI_MOSI_PIN GPIO_PIN_11
#elif defined(SPI_MOSI_USING_GPIO12)
#define SPI_MOSI_PIN GPIO_PIN_12
#elif defined(SPI_MOSI_USING_GPIO13)
#define SPI_MOSI_PIN GPIO_PIN_13
#elif defined(SPI_MOSI_USING_GPIO15)
#define SPI_MOSI_PIN GPIO_PIN_15
#elif defined(SPI_MOSI_USING_GPIO16)
#define SPI_MOSI_PIN GPIO_PIN_16
#elif defined(SPI_MOSI_USING_GPIO17)
#define SPI_MOSI_PIN GPIO_PIN_17
#elif defined(SPI_MOSI_USING_GPIO19)
#define SPI_MOSI_PIN GPIO_PIN_19
#elif defined(SPI_MOSI_USING_GPIO20)
#define SPI_MOSI_PIN GPIO_PIN_20
#elif defined(SPI_MOSI_USING_GPIO21)
#define SPI_MOSI_PIN GPIO_PIN_21
#elif defined(SPI_MOSI_USING_GPIO23)
#define SPI_MOSI_PIN GPIO_PIN_23
#elif defined(SPI_MOSI_USING_GPIO24)
#define SPI_MOSI_PIN GPIO_PIN_24
#elif defined(SPI_MOSI_USING_GPIO25)
#define SPI_MOSI_PIN GPIO_PIN_25
#elif defined(SPI_MOSI_USING_GPIO27)
#define SPI_MOSI_PIN GPIO_PIN_27
#elif defined(SPI_MOSI_USING_GPIO28)
#define SPI_MOSI_PIN GPIO_PIN_28
#elif defined(SPI_MOSI_USING_GPIO29)
#define SPI_MOSI_PIN GPIO_PIN_29
#elif defined(SPI_MOSI_USING_GPIO31)
#define SPI_MOSI_PIN GPIO_PIN_31
#elif defined(SPI_MOSI_USING_GPIO33)
#define SPI_MOSI_PIN GPIO_PIN_33
#elif defined(SPI_MOSI_USING_GPIO37)
#define SPI_MOSI_PIN GPIO_PIN_37
#elif defined(SPI_MOSI_USING_GPIO41)
#define SPI_MOSI_PIN GPIO_PIN_41
#elif defined(SPI_MOSI_USING_GPIO45)
#define SPI_MOSI_PIN GPIO_PIN_45
#endif
rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, rt_uint32_t cs_pin);
int rt_hw_spi_init(void);
#endif /*__DRV_SPI_H_*/
|