mainmenu "RT-Thread Configuration"

config $BSP_DIR
    string
    option env="BSP_ROOT"
    default "."

config $RTT_DIR
    string
    option env="RTT_ROOT"
    default "../.."

config $PKGS_DIR
    string
    option env="PKGS_ROOT"
    default "packages"

source "$RTT_DIR/Kconfig"
source "$PKGS_DIR/Kconfig"


choice
    prompt "Device type"
    default STM32F401RC
    config SOC_STM32F405RG
        bool "STM32F405RG"
    config SOC_STM32F405VG
        bool "STM32F405VG"
    config SOC_STM32F405ZG
        bool "STM32F405ZG"
    config SOC_STM32F415RG
        bool "STM32F415RG"
    config SOC_STM32F415VG
        bool "STM32F415VG"
    config SOC_STM32F415ZG
        bool "STM32F415ZG"
    config SOC_STM32F407VG
        bool "STM32F407VG"
    config SOC_STM32F407VE
        bool "STM32F407VE"
    config SOC_STM32F407ZG
        bool "STM32F407ZG"
    config SOC_STM32F407ZE
        bool "STM32F407ZE"
    config SOC_STM32F407IG
        bool "STM32F407IG"
    config SOC_STM32F407IE
        bool "STM32F407IE"
    config SOC_STM32F417VG
        bool "STM32F417VG"
    config SOC_STM32F417VE
        bool "STM32F417VE"
    config SOC_STM32F417ZG
        bool "STM32F417ZG"
    config SOC_STM32F417ZE
        bool "STM32F417ZE"
    config SOC_STM32F417IG
        bool "STM32F417IG"
    config SOC_STM32F417IE
        bool "STM32F417IE"
    config SOC_STM32F427VG
        bool "STM32F427VG"
    config SOC_STM32F427VI
        bool "STM32F427VI"
    config SOC_STM32F427ZG
        bool "STM32F427ZG"
    config SOC_STM32F427ZI
        bool "STM32F427ZI"
    config SOC_STM32F427IG
        bool "STM32F427IG"
    config SOC_STM32F427II
        bool "STM32F427II"
    config SOC_STM32F437VG
        bool "STM32F437VG"
    config SOC_STM32F437VI
        bool "STM32F437VI"
    config SOC_STM32F437ZG
        bool "STM32F437ZG"
    config SOC_STM32F437ZI
        bool "STM32F437ZI"
    config SOC_STM32F437IG
        bool "STM32F437IG"
    config SOC_STM32F437II
        bool "STM32F437II"
    config SOC_STM32F429VG
        bool "STM32F429VG"
    config SOC_STM32F429VI
        bool "STM32F429VI"
    config SOC_STM32F429ZG
        bool "STM32F429ZG"
    config SOC_STM32F429ZI
        bool "STM32F429ZI"
    config SOC_STM32F429BG
        bool "STM32F429BG"
    config SOC_STM32F429BI
        bool "STM32F429BI"
    config SOC_STM32F429NG
        bool "STM32F429NG"
    config SOC_STM32F429NI
        bool "STM32F429NI"
    config SOC_STM32F429IG
        bool "STM32F429IG"
    config SOC_STM32F429II
        bool "STM32F429II"
    config SOC_STM32F439VG
        bool "STM32F439VG"
    config SOC_STM32F439VI
        bool "STM32F439VI"
    config SOC_STM32F439ZG
        bool "STM32F439ZG"
    config SOC_STM32F439ZI
        bool "STM32F439ZI"
    config SOC_STM32F439BG
        bool "STM32F439BG"
    config SOC_STM32F439BI
        bool "STM32F439BI"
    config SOC_STM32F439NG
        bool "STM32F439NG"
    config SOC_STM32F439NI
        bool "STM32F439NI"
    config SOC_STM32F439IG
        bool "STM32F439IG"
    config SOC_STM32F439II
        bool "STM32F439II"
    config SOC_STM32F401CB
        bool "STM32F401CB"
    config SOC_STM32F401CC
        bool "STM32F401CC"
    config SOC_STM32F401RB
        bool "STM32F401RB"
    config SOC_STM32F401RC
        bool "STM32F401RC"
    config SOC_STM32F401VB
        bool "STM32F401VB"
    config SOC_STM32F401VC
        bool "STM32F401VC"
    config SOC_STM32F401CD
        bool "STM32F401CD"
    config SOC_STM32F401RD
        bool "STM32F401RD"
    config SOC_STM32F401VD
        bool "STM32F401VD"
    config SOC_STM32F401CE
        bool "STM32F401CE"
    config SOC_STM32F401RE
        bool "STM32F401RE"
    config SOC_STM32F401VE
        bool "STM32F401VE"
    config SOC_STM32F410T8
        bool "STM32F410T8"
    config SOC_STM32F410TB
        bool "STM32F410TB"
    config SOC_STM32F410C8
        bool "STM32F410C8"
    config SOC_STM32F410CB
        bool "STM32F410CB"
    config SOC_STM32F410R8
        bool "STM32F410R8"
    config SOC_STM32F410RB
        bool "STM32F410RB"
    config SOC_STM32F411CC
        bool "STM32F411CC"
    config SOC_STM32F411RC
        bool "STM32F411RC"
    config SOC_STM32F411VC
        bool "STM32F411VC"
    config SOC_STM32F411CE
        bool "STM32F411CE"
    config SOC_STM32F411RE
        bool "STM32F411RE"
    config SOC_STM32F411VE
        bool "STM32F411VE"
    config SOC_STM32F446MC
        bool "STM32F446MC"
    config SOC_STM32F446ME
        bool "STM32F446ME"
    config SOC_STM32F446RC
        bool "STM32F446RC"
    config SOC_STM32F446RE
        bool "STM32F446RE"
    config SOC_STM32F446VC
        bool "STM32F446VC"
    config SOC_STM32F446VE
        bool "STM32F446VE"
    config SOC_STM32F446ZC
        bool "STM32F446ZC"
    config SOC_STM32F446ZE
        bool "STM32F446ZE"
    config SOC_STM32F469AI
        bool "STM32F469AI"
    config SOC_STM32F469II
        bool "STM32F469II"
    config SOC_STM32F469BI
        bool "STM32F469BI"
    config SOC_STM32F469NI
        bool "STM32F469NI"
    config SOC_STM32F469AG
        bool "STM32F469AG"
    config SOC_STM32F469IG
        bool "STM32F469IG"
    config SOC_STM32F469BG
        bool "STM32F469BG"
    config SOC_STM32F469NG
        bool "STM32F469NG"
    config SOC_STM32F469AE
        bool "STM32F469AE"
    config SOC_STM32F469IE
        bool "STM32F469IE"
    config SOC_STM32F469BE
        bool "STM32F469BE"
    config SOC_STM32F469NE
        bool "STM32F469NE"
    config SOC_STM32F479AI
        bool "STM32F479AI"
    config SOC_STM32F479II
        bool "STM32F479II"
    config SOC_STM32F479BI
        bool "STM32F479BI"
    config SOC_STM32F479NI
        bool "STM32F479NI"
    config SOC_STM32F479AG
        bool "STM32F479AG"
    config SOC_STM32F479IG
        bool "STM32F479IG"
    config SOC_STM32F479BG
        bool "STM32F479BG"
    config SOC_STM32F479NG
        bool "STM32F479NG"
    config SOC_STM32F412CEU
        bool "STM32F412CEU"
    config SOC_STM32F412CGU
        bool "STM32F412CGU"
    config SOC_STM32F412ZET
        bool "STM32F412ZET"
    config SOC_STM32F412ZGT
        bool "STM32F412ZGT"
    config SOC_STM32F412ZEJ
        bool "STM32F412ZEJ"
    config SOC_STM32F412ZGJ
        bool "STM32F412ZGJ"
    config SOC_STM32F412VET
        bool "STM32F412VET"
    config SOC_STM32F412VGT
        bool "STM32F412VGT"
    config SOC_STM32F412VEH
        bool "STM32F412VEH"
    config SOC_STM32F412VGH
        bool "STM32F412VGH"
    config SOC_STM32F412RET
        bool "STM32F412RET"
    config SOC_STM32F412RGT
        bool "STM32F412RGT"
    config SOC_STM32F412REY
        bool "STM32F412REY"
    config SOC_STM32F412RGY
        bool "STM32F412RGY"
    config SOC_STM32F413CH
        bool "STM32F413CH"
    config SOC_STM32F413MH
        bool "STM32F413MH"
    config SOC_STM32F413RH
        bool "STM32F413RH"
    config SOC_STM32F413VH
        bool "STM32F413VH"
    config SOC_STM32F413ZH
        bool "STM32F413ZH"
    config SOC_STM32F413CG
        bool "STM32F413CG"
    config SOC_STM32F413MG
        bool "STM32F413MG"
    config SOC_STM32F413RG
        bool "STM32F413RG"
    config SOC_STM32F413VG
        bool "STM32F413VG"
    config SOC_STM32F413ZG
        bool "STM32F413ZG"
    config SOC_STM32F423CH
        bool "STM32F423CH"
    config SOC_STM32F423RH
        bool "STM32F423RH"
    config SOC_STM32F423VH
        bool "STM32F423VH"
    config SOC_STM32F423ZH
        bool "STM32F423ZH"
endchoice
config RT_USING_HSI
    bool "Using HSI as clock source"
    default n
config BSP_HSE_BY_PASS
    bool "HSE Bypass"
    depends on !RT_USING_HSI
    default n
config RT_HSE_VALUE
    int "HSE Value"
    default 8000000
    depends on !RT_USING_HSI
config RT_HSE_HCLK
    int "System Clock Value"
    default 84000000
config RT_USING_UART1
    bool "Using UART1"
    default y    

config RT_USING_UART2
    bool "Using UART2"
    default n    

config RT_USING_UART6
    bool "Using UART6"
    default n   
	
if RT_USING_SPI

config RT_USING_SPI1
    bool "Using SPI1"
    default y 

config RT_USING_SPI2
    bool "Using SPI2"
    default n  

config RT_USING_SPI3
    bool "Using SPI3"
    default n 

endif

if RT_USING_W25QXX || RT_USING_SFUD
config RT_FLASH_CS_PIN
    int "SPI NOR Flash CS pin index"
    default 0
config RT_FLASH_SPI_BUS_NAME
    string "SPI NOR Flash Spi bus name"
    default "spi1"
endif

if RT_USING_USB_DEVICE
    config USB_VENDOR_ID
        hex "USB VID"
        default 0x0483
    config USB_PRODUCT_ID
        hex "USB PID"
        default 0x5750
endif

if RT_USING_USB_HOST
menu "USB Host Config"
    config USBH_USING_CONTROLLABLE_POWER
        bool "using a gpio control usb power"
        default y
    if USBH_USING_CONTROLLABLE_POWER
        config USBH_POWER_PIN
            int "power control pin"
            default 15
        config USBH_CURRENT_PIN
            int "current check pin"
            default 86
    endif
    config USBH_USING_VBUS
        bool "using vbus check pin"
        default n
endmenu
endif



    
    
