1menu "Hardware Drivers Config"
2
3menu "Onboard Peripheral Drivers"
4
5    config BSP_USING_STLINK_TO_USART
6        bool "Enable STLINK TO USART (uart1)"
7        select BSP_USING_UART
8        select BSP_USING_UART1
9        default y
10
11    config BSP_USING_ARDUINO
12        bool "Compatible with Arduino Ecosystem (RTduino)"
13        select PKG_USING_RTDUINO
14        select BSP_USING_STLINK_TO_USART
15        select BSP_USING_GPIO
16        select BSP_USING_TIM
17        select BSP_USING_TIM7
18        select BSP_USING_PWM
19        select BSP_USING_PWM1
20        select BSP_USING_PWM1_CH1
21        select BSP_USING_PWM2
22        select BSP_USING_PWM2_CH3
23        select BSP_USING_PWM2_CH4
24        select BSP_USING_PWM4
25        select BSP_USING_PWM4_CH1
26        select BSP_USING_PWM4_CH3
27        select BSP_USING_PWM4_CH4
28        select BSP_USING_ADC
29        select BSP_USING_ADC1
30        select BSP_USING_I2C
31        select BSP_USING_I2C1 # PC7-SDA PC6-SCL (User I2C)
32        select BSP_USING_DAC
33        select BSP_USING_DAC1
34        select BSP_USING_SPI
35        select BSP_USING_SPI2 # Wireless Interface (User SPI)
36        select BSP_SPI2_TX_USING_DMA
37        select BSP_SPI2_RX_USING_DMA
38        select RTDUINO_USING_WIRE
39        select RTDUINO_USING_SPI
40        imply RTDUINO_USING_SERVO
41        default n
42
43    if BSP_USING_ARDUINO
44        config BSP_USING_ARDUINO_ST7789
45            bool "Enable Arduino LCD (ST7789) library"
46            select BSP_USING_SPI3
47            select BSP_SPI3_TX_USING_DMA
48            select BSP_USING_PWM4_CH2
49            depends on !BSP_USING_SPI_LCD
50            default n
51
52        if BSP_USING_ARDUINO_ST7789
53            choice
54                prompt "Arduino GUI Framework"
55
56                config BSP_USING_ARDUINO_ST7789_ADAFRUIT_GFX
57                    bool "Adafruit GFX"
58                    select PKG_USING_ARDUINO_ADAFRUIT_ST7735
59
60                config BSP_USING_ARDUINO_ST7789_TFT_ESPI
61                    bool "TFT eSPI"
62                    select PKG_USING_ARDUINO_TFT_ESPI
63            endchoice
64
65            config BSP_USING_ARDUINO_ST7789_ADAFRUIT_GFX_DEMO
66                bool "Enable ST7789 Adafruit demo"
67                depends on BSP_USING_ARDUINO_ST7789_ADAFRUIT_GFX
68                default n
69
70            config BSP_USING_ARDUINO_ST7789_TFT_ESPI_DEMO
71                bool "Enable ST7789 TFT eSPI demo"
72                depends on BSP_USING_ARDUINO_ST7789_TFT_ESPI
73                default n
74        endif
75
76        config BSP_USING_ARDUINO_AHT10
77            bool "Enable Arduino AHT10 sensor library"
78            select BSP_USING_I2C4
79            select PKG_USING_ARDUINO_ADAFRUIT_AHTX0
80            depends on !BSP_USING_AHT10
81            default n
82
83        config BSP_USING_ARDUINO_AHT10_DEMO
84            bool "Enable Arduino AHT10 sensor library demo"
85            select PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO
86            depends on BSP_USING_ARDUINO_AHT10
87            default n
88
89        config BSP_USING_ARDUINO_AP3216
90            bool
91            select BSP_USING_I2C3
92            depends on !BSP_USING_AP3216C
93            default n
94
95        config BSP_USING_ARDUINO_ICM20608
96            bool
97            select BSP_USING_I2C3
98            depends on !BSP_USING_ICM20608
99            default n
100    endif
101
102    config BSP_USING_KEY
103        bool "Enable onboard keys"
104        select RT_USING_PIN
105        select RT_USING_TIMER_SOFT
106        select PKG_USING_MULTIBUTTON
107        default n
108
109    config BSP_USING_QSPI_FLASH
110        bool "Enable QSPI FLASH (W25Q128 qspi1)"
111        select BSP_USING_QSPI
112        select RT_USING_SFUD
113        select RT_SFUD_USING_QSPI
114        default n
115
116    config BSP_USING_SPI_LCD
117        bool "Enable LCD (spi3)"
118        select BSP_USING_SPI
119        select BSP_USING_SPI3
120        select BSP_SPI3_TX_USING_DMA
121        select BSP_USING_PWM
122        select BSP_USING_PWM4
123        select BSP_USING_PWM4_CH2
124        default n
125
126    config BSP_USING_LCD_SAMPLE
127        bool "Enable LCD raw driver sample"
128        depends on BSP_USING_SPI_LCD && !BSP_USING_LVGL
129        default n
130
131    config BSP_USING_LCD_QRCODE
132        bool "Enable LCD to show QRCode"
133        depends on BSP_USING_SPI_LCD && !BSP_USING_LVGL
134        select BSP_USING_LCD_SAMPLE
135        select PKG_USING_QRCODE
136        default n
137
138    config BSP_USING_LVGL
139        bool "Enable LVGL for LCD"
140        select PKG_USING_LVGL
141        select BSP_USING_SPI_LCD
142        default n
143
144    if BSP_USING_LVGL
145        config BSP_USING_LVGL_DEMO
146            bool "Enable LVGL demo"
147            default y
148    endif
149
150    menuconfig BSP_USING_FS
151        bool "Enable File System"
152        select RT_USING_DFS
153        select RT_USING_DFS_ROMFS
154        default n
155
156        if BSP_USING_FS
157            config BSP_USING_SDCARD_FATFS
158                bool "Enable SDCARD (FATFS)"
159                select BSP_USING_SPI
160                select BSP_USING_SPI1
161                select RT_USING_SPI_MSD
162                select RT_USING_DFS_ELMFAT
163                default n
164
165            config BSP_USING_SPI_FLASH_LITTLEFS
166                bool "Enable SPI-FLASH (LittleFS)"
167                select RT_USING_MTD_NOR
168                select BSP_USING_QSPI_FLASH
169                select RT_USING_FAL
170                select FAL_USING_AUTO_INIT
171                select FAL_PART_HAS_TABLE_CFG
172                select PKG_USING_LITTLEFS
173                default n
174        endif
175
176
177    config BSP_USING_ICM20608
178        bool "Enable ICM20608 (i2c3)"
179        select BSP_USING_I2C
180        select BSP_USING_I2C3
181        select PKG_USING_MPU6XXX
182        select PKG_USING_MPU6XXX_LATEST_VERSION
183        default n
184
185    config BSP_USING_AHT10
186        bool "Enable AHT10 (i2c4)"
187        select BSP_USING_I2C
188        select BSP_USING_I2C4
189        select PKG_USING_AHT10
190        select AHT10_USING_SENSOR_DEVICE
191        default n
192
193    config BSP_USING_AP3216C
194        bool "Enable AP3216C (i2c3)"
195        select BSP_USING_I2C
196        select BSP_USING_I2C3
197        select PKG_USING_AP3216C
198        select AP3216C_USING_SENSOR_DEVICE
199        default n
200
201    menuconfig BSP_USING_AUDIO
202        bool "Enable Audio Device"
203        select RT_USING_AUDIO
204        select BSP_USING_I2C
205        select BSP_USING_I2C3
206        default n
207
208        if BSP_USING_AUDIO
209            config BSP_USING_AUDIO_PLAY
210            bool "Enable Audio Play"
211            default y
212
213            config BSP_USING_AUDIO_RECORD
214            bool "Enable Audio Record"
215            default n
216        endif
217
218    menuconfig BSP_USING_USB_AUDIO
219        bool "Enable USB Audio"
220        select RT_USB_DEVICE_AUDIO
221        select BSP_USING_USBD
222        select BSP_USBD_EP_ISOC
223        select BSP_USING_AUDIO
224        default n
225
226        if BSP_USING_USB_AUDIO
227            config BSP_USING_USB_AUDIO_SPEAKER
228            bool "Enable USB Audio Spearker"
229            select RT_USB_DEVICE_AUDIO_SPEAKER
230            select BSP_USING_AUDIO_PLAY
231            default y
232
233            config BSP_USING_USB_AUDIO_MIC
234            bool "Enable USB Audio Mic"
235            select RT_USB_DEVICE_AUDIO_MIC
236            select BSP_USING_AUDIO_RECORD
237            default n
238
239            config _BSP_USB_DEVICE_COMPOSITE
240            bool
241            select RT_USB_DEVICE_COMPOSITE
242            default y
243            depends on BSP_USING_USB_AUDIO_SPEAKER && BSP_USING_USB_AUDIO_MIC
244        endif
245
246    config BSP_USING_WIFI
247            bool "Enable WiFi (AP6181)"
248            select PKG_USING_WLAN_WICED
249            select BSP_USING_STM32_SDIO
250            select PKG_USING_STM32_SDIO
251            select BSP_USING_QSPI_FLASH
252            select BSP_USING_ON_CHIP_FLASH
253            select RT_USING_WIFI
254            select RT_WLAN_PROT_LWIP_PBUF_FORCE
255            select RT_USING_LWIP
256            select RT_USING_DFS
257            select DFS_USING_POSIX
258            select RT_USING_FAL
259            select PKG_USING_EASYFLASH
260            select RT_USING_WIFI_6181_LIB
261            select RT_USING_OTA_LIB
262            select RT_USING_SAL
263            default n
264
265            if BSP_USING_WIFI
266                config BSP_USING_WIFI_THREAD_INIT
267                    bool "Using Thread Initialize WiFi"
268                    default n
269
270                config BSP_USING_WIFI_AUTO_INIT
271                    bool "Using WiFi Automatically Initialization"
272                    depends on RT_USING_COMPONENTS_INIT
273                    default y
274            endif
275
276endmenu
277
278menu "On-chip Peripheral Drivers"
279
280    config BSP_USING_GPIO
281        bool "Enable GPIO"
282        select RT_USING_PIN
283        default y
284
285    menuconfig BSP_USING_UART
286        bool "Enable UART"
287        default y
288        select RT_USING_SERIAL
289        if BSP_USING_UART
290            config BSP_STM32_UART_V1_TX_TIMEOUT
291                int "UART TX timeout"
292                default 2000
293                depends on RT_USING_SERIAL_V1
294
295            menuconfig BSP_USING_UART1
296                bool "Enable UART1 (Debugger)"
297                default y
298                if BSP_USING_UART1
299                    config BSP_UART1_RX_USING_DMA
300                        bool "Enable UART1 RX DMA"
301                        depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
302                        default n
303
304                    config BSP_UART1_TX_USING_DMA
305                        bool "Enable UART1 TX DMA"
306                        depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
307                        default n
308
309                    config BSP_UART1_RX_BUFSIZE
310                        int "Set UART1 RX buffer size"
311                        range 64 65535
312                        depends on RT_USING_SERIAL_V2
313                        default 256
314
315                    config BSP_UART1_TX_BUFSIZE
316                        int "Set UART1 TX buffer size"
317                        range 0 65535
318                        depends on RT_USING_SERIAL_V2
319                        default 0
320
321                    config BSP_UART1_DMA_PING_BUFSIZE
322                        int "Set UART1 RX DMA ping-pong buffer size"
323                        range 32 65535
324                        depends on RT_USING_SERIAL_V2 && BSP_UART1_RX_USING_DMA
325                        default 64
326                endif
327
328            menuconfig BSP_USING_UART2
329                bool "Enable UART2"
330                default n
331                if BSP_USING_UART2
332                    config BSP_UART2_RX_USING_DMA
333                        bool "Enable UART2 RX DMA"
334                        depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA
335                        default n
336
337                    config BSP_UART2_TX_USING_DMA
338                        bool "Enable UART2 TX DMA"
339                        depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA
340                        default n
341
342                    config BSP_UART2_RX_BUFSIZE
343                        int "Set UART2 RX buffer size"
344                        range 64 65535
345                        depends on RT_USING_SERIAL_V2
346                        default 256
347
348                    config BSP_UART2_TX_BUFSIZE
349                        int "Set UART2 TX buffer size"
350                        range 0 65535
351                        depends on RT_USING_SERIAL_V2
352                        default 0
353
354                    config BSP_UART2_DMA_PING_BUFSIZE
355                        int "Set UART2 RX DMA ping-pong buffer size"
356                        range 32 65535
357                        depends on RT_USING_SERIAL_V2 && BSP_UART2_RX_USING_DMA
358                        default 64
359                endif
360        endif
361
362    config BSP_USING_ON_CHIP_FLASH
363        bool "Enable on-chip FLASH"
364        default n
365
366    menuconfig BSP_USING_SPI
367        bool "Enable SPI Bus"
368        default n
369        select RT_USING_SPI
370        if BSP_USING_SPI
371            config BSP_USING_SPI1
372                bool "Enable SPI1 Bus"
373                default n
374
375            config BSP_SPI1_TX_USING_DMA
376                bool "Enable SPI1 TX DMA"
377                depends on BSP_USING_SPI1
378                default n
379
380            config BSP_SPI1_RX_USING_DMA
381                bool "Enable SPI1 RX DMA"
382                depends on BSP_USING_SPI1
383                select BSP_SPI1_TX_USING_DMA
384                default n
385
386            config BSP_USING_SPI2
387                bool "Enable SPI2 Bus"
388                default n
389
390            config BSP_SPI2_TX_USING_DMA
391                bool "Enable SPI2 TX DMA"
392                depends on BSP_USING_SPI2
393                default n
394
395            config BSP_SPI2_RX_USING_DMA
396                bool "Enable SPI2 RX DMA"
397                depends on BSP_USING_SPI2
398                select BSP_SPI2_TX_USING_DMA
399                default n
400
401            config BSP_USING_SPI3
402                bool "Enable SPI3 Bus"
403                default n
404
405            config BSP_SPI3_TX_USING_DMA
406                bool "Enable SPI3 TX DMA"
407                depends on BSP_USING_SPI3
408                default n
409
410            config BSP_SPI3_RX_USING_DMA
411                bool "Enable SPI3 RX DMA"
412                depends on BSP_USING_SPI3
413                select BSP_SPI3_TX_USING_DMA
414                default n
415        endif
416
417    config BSP_USING_QSPI
418        bool "Enable QSPI Bus"
419        select RT_USING_QSPI
420        select RT_USING_SPI
421        default n
422
423    config BSP_QSPI_USING_DMA
424        bool "Enable QSPI DMA support"
425        default n
426
427    menuconfig BSP_USING_I2C
428        bool "Enable I2C Bus"
429        default n
430        select RT_USING_I2C
431        select RT_USING_I2C_BITOPS
432        select RT_USING_PIN
433        if BSP_USING_I2C
434            config BSP_USING_I2C1
435                bool "Enable I2C1 Bus (User I2C)"
436                default n
437                if BSP_USING_I2C1
438                    comment "Notice: PC7 --> 39; PC6 --> 38"
439                    config BSP_I2C1_SCL_PIN
440                        int "i2c1 SCL pin number"
441                        range 1 176
442                        default 38
443                    config BSP_I2C1_SDA_PIN
444                        int "i2c1 SDA pin number"
445                        range 1 176
446                        default 39
447                endif
448
449            config BSP_USING_I2C3
450                bool "Enable I2C3 Bus (AP3216C/ICM20608/ES8388)"
451                default n
452
453                if BSP_USING_I2C3
454                    # Notice: PC0 --> 32; PC1 --> 33
455                    config BSP_I2C3_SCL_PIN
456                        int
457                        default 32
458                    config BSP_I2C3_SDA_PIN
459                        int
460                        default 33
461                endif
462
463            config BSP_USING_I2C4
464                bool "Enable I2C4 Bus (AHT10)"
465                default n
466
467                if BSP_USING_I2C4
468                    # Notice: PC1 --> 33; PD6 --> 54
469                    config BSP_I2C4_SCL_PIN
470                        int
471                        default 54
472                    config BSP_I2C4_SDA_PIN
473                        int
474                        default 33
475                endif
476        endif
477
478    menuconfig BSP_USING_TIM
479        bool "Enable timer"
480        default n
481        select RT_USING_HWTIMER
482        if BSP_USING_TIM
483            config BSP_USING_TIM7
484                bool "Enable TIM7"
485                default n
486
487            config BSP_USING_TIM15
488                bool "Enable TIM15"
489                default n
490
491            config BSP_USING_TIM16
492                bool "Enable TIM16"
493                default n
494
495            config BSP_USING_TIM17
496                bool "Enable TIM17"
497                default n
498        endif
499
500    menuconfig BSP_USING_PWM
501        bool "Enable PWM"
502        default n
503        select RT_USING_PWM
504        if BSP_USING_PWM
505        menuconfig BSP_USING_PWM1
506            bool "Enable timer1 output PWM"
507            default n
508            if BSP_USING_PWM1
509                config BSP_USING_PWM1_CH1
510                    bool "Enable PWM1 channel1"
511                    default n
512            endif
513
514        menuconfig BSP_USING_PWM2
515            bool "Enable timer2 output PWM"
516            default n
517            if BSP_USING_PWM2
518                config BSP_USING_PWM2_CH3
519                    bool "Enable PWM2 channel3"
520                    default n
521
522                config BSP_USING_PWM2_CH4
523                    bool "Enable PWM2 channel4"
524                    default n
525            endif
526
527        menuconfig BSP_USING_PWM4
528            bool "Enable timer4 output PWM"
529            default n
530            if BSP_USING_PWM4
531                config BSP_USING_PWM4_CH1
532                    bool "Enable PWM4 channel1"
533                    default n
534
535                config BSP_USING_PWM4_CH2
536                    bool "Enable PWM4 channel2"
537                    default n
538
539                config BSP_USING_PWM4_CH3
540                    bool "Enable PWM4 channel3"
541                    default n
542
543                config BSP_USING_PWM4_CH4
544                    bool "Enable PWM4 channel4"
545                    default n
546            endif
547        endif
548
549    menuconfig BSP_USING_ADC
550        bool "Enable ADC"
551        default n
552        select RT_USING_ADC
553        if BSP_USING_ADC
554            config BSP_USING_ADC1
555                bool "Enable ADC1"
556                default n
557        endif
558
559    menuconfig BSP_USING_DAC
560        bool "Enable DAC"
561        default n
562        select RT_USING_DAC
563        if BSP_USING_DAC
564            config BSP_USING_DAC1
565                bool "Enable DAC1"
566                default n
567        endif
568
569    menuconfig BSP_USING_ONCHIP_RTC
570        bool "Enable RTC"
571        select RT_USING_RTC
572        default n
573        if BSP_USING_ONCHIP_RTC
574            choice
575                prompt "Select clock source"
576                default BSP_RTC_USING_LSE
577
578                config BSP_RTC_USING_LSE
579                    bool "RTC USING LSE"
580
581                config BSP_RTC_USING_LSI
582                    bool "RTC USING LSI"
583            endchoice
584        endif
585
586    config BSP_USING_WDT
587        bool "Enable Watchdog Timer"
588        select RT_USING_WDT
589        default n
590
591    config BSP_USING_USBD
592        bool "Enable OTGFS as USB device"
593        select RT_USING_USB_DEVICE
594        default n
595
596    config BSP_USBD_EP_ISOC
597        bool
598        default n
599        depends on BSP_USING_USBD
600
601    config BSP_USING_STM32_SDIO
602            bool "Enable SDIO"
603            select RT_USING_SDIO
604            select PKG_USING_STM32_SDIO
605            default n
606            help
607            BSP_USING_STM32_SDIO use drv_sdio_adapter.c,and
608            BSP_USING_SDIO use drv_sdio.c
609
610    source "$(BSP_DIR)/../libraries/HAL_Drivers/drivers/Kconfig"
611
612endmenu
613
614menu "Board extended module Drivers"
615
616    menuconfig BSP_USING_AT_ESP8266
617        bool "Enable ESP8266(AT Command, COM2)"
618        default n
619        select BSP_USING_COM2
620        select PKG_USING_AT_DEVICE
621        select AT_DEVICE_USING_ESP8266
622        select AT_DEVICE_ESP8266_SAMPLE
623        select AT_DEVICE_ESP8266_SAMPLE_BSP_TAKEOVER
624
625        if BSP_USING_AT_ESP8266
626
627            config ESP8266_SAMPLE_WIFI_SSID
628                string "WIFI ssid"
629                default "rtthread"
630
631            config ESP8266_SAMPLE_WIFI_PASSWORD
632                string "WIFI password"
633                default "12345678"
634
635            config ESP8266_SAMPLE_CLIENT_NAME
636                string "AT client device name (Must be 'uart2')"
637                default "uart2"
638
639            config ESP8266_SAMPLE_RECV_BUFF_LEN
640                int "The maximum length of receive line buffer"
641                default 512
642
643            comment "May adjust RT_SERIAL_RB_BUFSZ up to 512 if using the Serial V1 device driver"
644
645        endif
646
647    config BSP_USING_NRF24L01
648        bool "Enable NRF24L01"
649        select BSP_USING_SPI
650        select BSP_USING_SPI2
651        select PKG_USING_NRF24L01
652        default n
653
654endmenu
655
656endmenu
657