1# SPDX-License-Identifier: Apache-2.0
2
3menu "Hardware Drivers Config"
4
5config SOC_SERIES_GD32E23x
6    bool
7    default y
8
9config SOC_GD32E230C8T6
10    bool
11    select SOC_SERIES_GD32E23x
12    select RT_USING_COMPONENTS_INIT
13    select RT_USING_USER_MAIN
14    default y
15
16menu "Onboard Peripheral Drivers"
17    menuconfig BSP_USING_LED
18        bool "Enable Onboard LED"
19        default y
20        if BSP_USING_LED
21            config BSP_LED_PIN
22                int "The pin number of the onboard LED"
23                default 45 # GET_PIN(C, 13)
24        endif
25
26endmenu
27
28menu "On-chip Peripheral Drivers"
29
30    config BSP_USING_GPIO
31        bool "Enable GPIO"
32        select RT_USING_PIN
33        default y
34
35    menuconfig BSP_USING_UART
36        bool "Enable UART"
37        select RT_USING_SERIAL
38        default y
39        if BSP_USING_UART
40            config BSP_USING_UART0
41                bool "Enable UART0 for Console"
42                default y
43
44            config BSP_UART0_RX_USING_DMA
45                bool "Enable UART0 RX DMA"
46                depends on BSP_USING_UART0
47                select RT_SERIAL_USING_DMA
48                default n
49
50            config BSP_UART0_TX_USING_DMA
51                bool "Enable UART0 TX DMA"
52                depends on BSP_USING_UART0
53                select RT_SERIAL_USING_DMA
54                default n
55
56            config BSP_UART0_RX_BUFSIZE
57                int "Set UART0 RX buffer size"
58                range 64 65535
59                depends on BSP_USING_UART0 && RT_USING_SERIAL_V2
60                default 64
61
62            config BSP_UART0_TX_BUFSIZE
63                int "Set UART0 TX buffer size"
64                range 0 65535
65                depends on BSP_USING_UART0 && RT_USING_SERIAL_V2
66                default 64
67
68            config BSP_UART0_DMA_PING_BUFSIZE
69                int "Set UART0 RX DMA ping-pong buffer size"
70                range 32 65535
71                depends on RT_USING_SERIAL_V2 && BSP_UART0_RX_USING_DMA
72                default 32
73
74            config BSP_USING_UART1
75                bool "Enable UART1"
76                default n
77
78            config BSP_UART1_RX_USING_DMA
79                bool "Enable UART1 RX DMA"
80                depends on BSP_USING_UART1
81                select RT_SERIAL_USING_DMA
82                default n
83
84            config BSP_UART1_TX_USING_DMA
85                bool "Enable UART1 TX DMA"
86                depends on BSP_USING_UART1
87                select RT_SERIAL_USING_DMA
88                default n
89
90            config BSP_UART1_RX_BUFSIZE
91                int "Set UART1 RX buffer size"
92                range 64 65535
93                depends on BSP_USING_UART1 && RT_USING_SERIAL_V2
94                default 64
95
96            config BSP_UART1_TX_BUFSIZE
97                int "Set UART1 TX buffer size"
98                range 0 65535
99                depends on BSP_USING_UART1 && RT_USING_SERIAL_V2
100                default 0
101
102            config BSP_UART1_DMA_PING_BUFSIZE
103                int "Set UART1 RX DMA ping-pong buffer size"
104                range 32 65535
105                depends on RT_USING_SERIAL_V2 && BSP_UART1_RX_USING_DMA
106                default 32
107        endif
108
109    menuconfig BSP_USING_SPI
110        bool "Enable SPI"
111        select RT_USING_SPI
112        default n
113        if BSP_USING_SPI
114            config BSP_USING_SPI0
115                bool "Enable SPI0"
116                default n
117
118            config BSP_SPI0_TX_USING_DMA
119                bool "Enable SPI0 TX DMA"
120                depends on BSP_USING_SPI0
121                default n
122
123            config BSP_SPI0_RX_USING_DMA
124                bool "Enable SPI0 RX DMA"
125                depends on BSP_USING_SPI0
126                default n
127
128            config BSP_USING_SPI1
129                bool "Enable SPI1"
130                default n
131
132            config BSP_SPI1_TX_USING_DMA
133                bool "Enable SPI1 TX DMA"
134                depends on BSP_USING_SPI1
135                default n
136
137            config BSP_SPI1_RX_USING_DMA
138                bool "Enable SPI1 RX DMA"
139                depends on BSP_USING_SPI1
140                default n
141        endif
142
143    menu "I2C Configuration"
144        menuconfig BSP_USING_HW_I2C
145            bool "Enable Hardware I2C"
146            select RT_USING_I2C
147            default n
148            if BSP_USING_HW_I2C
149                config BSP_USING_HW_I2C0
150                    bool "Enable I2C0"
151                    default y
152
153                config BSP_HW_I2C0_CLOCK_SPEED
154                    int "I2C0 Clock Speed (Hz)"
155                    depends on BSP_USING_HW_I2C0
156                    range 100000 1000000
157                    default 400000
158                    help
159                      Set the I2C0 clock speed in Hz.
160                      Standard mode: 100000 (100KHz)
161                      Fast mode: 400000 (400KHz)
162                      Fast mode plus: 1000000 (1MHz)
163
164                config BSP_USING_HW_I2C1
165                    bool "Enable I2C1"
166                    default n
167
168                config BSP_HW_I2C1_CLOCK_SPEED
169                    int "I2C1 Clock Speed (Hz)"
170                    depends on BSP_USING_HW_I2C1
171                    range 100000 1000000
172                    default 400000
173                    help
174                      Set the I2C1 clock speed in Hz.
175                      Standard mode: 100000 (100KHz)
176                      Fast mode: 400000 (400KHz)
177                      Fast mode plus: 1000000 (1MHz)
178            endif
179        menuconfig BSP_USING_I2C0
180            bool "Enable I2C0 BUS (software simulation)"
181            default n
182            select RT_USING_I2C
183            select RT_USING_I2C_BITOPS
184            select RT_USING_PIN
185            if BSP_USING_I2C0
186                config BSP_I2C0_SCL_PIN
187                    int "i2c0 scl pin number"
188                    range 1 216
189                    default 22
190                config BSP_I2C0_SDA_PIN
191                    int "I2C0 sda pin number"
192                    range 1 216
193                    default 23
194            endif
195        menuconfig BSP_USING_I2C1
196            bool "Enable I2C1 BUS (software simulation)"
197            default n
198            select RT_USING_I2C
199            select RT_USING_I2C_BITOPS
200            select RT_USING_PIN
201            if BSP_USING_I2C1
202                config BSP_I2C1_SCL_PIN
203                    int "i2c1 scl pin number"
204                    range 1 216
205                    default 24
206                config BSP_I2C1_SDA_PIN
207                    int "I2C1 sda pin number"
208                    range 1 216
209                    default 25
210            endif
211    endmenu
212
213    menuconfig BSP_USING_ADC
214        bool "Enable ADC"
215        select RT_USING_ADC
216        default n
217        if BSP_USING_ADC
218            config BSP_USING_ADC0
219                bool "Enable ADC"
220                default y
221        endif
222
223    menuconfig BSP_USING_TIM
224        bool "Enable Hardware Timer"
225        select RT_USING_HWTIMER
226        default n
227        if BSP_USING_TIM
228            config BSP_USING_TIM2
229                bool "Enable TIM2"
230                default n
231
232            config BSP_USING_TIM3
233                bool "Enable TIM3"
234                default n
235        endif
236
237    menuconfig BSP_USING_ONCHIP_RTC
238        bool "Enable RTC"
239        select RT_USING_RTC
240        default n
241        if BSP_USING_ONCHIP_RTC
242            choice
243                prompt "Select RTC clock source"
244                default BSP_RTC_USING_LSE
245
246                config BSP_RTC_USING_LSE
247                    bool "RTC using LSE (External Crystal)"
248
249                config BSP_RTC_USING_LSI
250                    bool "RTC using LSI (Internal RC)"
251            endchoice
252        endif
253
254    config BSP_USING_WDT
255        bool "Enable Watchdog Timer"
256        select RT_USING_WDT
257        default n
258
259    # Source the upstream GD32 drivers Kconfig
260    source "$(BSP_DIR)/../libraries/gd32_drivers/Kconfig"
261
262endmenu
263
264menu "Board extended module Drivers"
265    # Configuration for external modules connected to the board
266endmenu
267
268endmenu
269