menu "Hardware Drivers Config"

menu "Onboard Peripheral Drivers"

    config BSP_USING_USB_TO_USART
        bool "Enable USB TO USART (uart0)"
        select BSP_USING_UART
        select BSP_USING_UART0
        default y

    menuconfig BSP_USING_AUDIO
        bool "Enable Audio Device"
        select RT_USING_AUDIO
        default n

        if BSP_USING_AUDIO
            config BSP_USING_AUDIO_PLAY
            bool "Enable Audio Play"
            default y
        endif

    config BSP_USING_SDCARD
        bool "Enable SDCARD"
        select BSP_USING_SDIO
        default n

    if BSP_USING_SDCARD
    config SDIO_MAX_FREQ
        int "sdio max freq"
        range 0 24000000
        default 24000000
    endif

endmenu

menu "On-chip Peripheral Drivers"

    menuconfig BSP_USING_UART0
        bool "Enable UART0"
        select RT_USING_SERIAL
        default y

    config BSP_USING_SDIO
        bool "Enable SDIO"
        select RT_USING_SDIO
        select RT_USING_DFS
        select RT_USING_DFS_ELMFAT
        default n

    menuconfig BSP_USING_I2C1
        bool "Enable I2C1 BUS (software simulation)"
        default n
        select RT_USING_I2C
        select RT_USING_I2C_BITOPS
        select RT_USING_PIN
        if BSP_USING_I2C1
            comment "Notice: PE3 --> 16; PE2 --> 15"
            config BSP_I2C1_SCL_PIN
                int "I2C1 scl pin number"
                range 1 27
                default 16
            config BSP_I2C1_SDA_PIN
                int "I2C1 sda pin number"
                range 1 27
                default 15
        endif

    menuconfig BSP_USING_PWM
        bool "Enable PWM"
        default n
        select RT_USING_PWM
        if BSP_USING_PWM
        menuconfig BSP_USING_T3_PWM
            bool "Enable Timer3 PWM"
            default n
            if BSP_USING_T3_PWM
                config BSP_USING_T3_PWM0
                    bool "Enable Timer3 PWM0 (PB0)(Confict with SD card)"
                    default n
            endif

        menuconfig BSP_USING_T4_PWM
            bool "Enable Timer4 PWM"
            default n
            if BSP_USING_T4_PWM
                config BSP_USING_T4_PWM1
                    bool "Enable Timer4 PWM1 (PA6)(Confit with uart0 rx)"
                    default n
            endif

        menuconfig BSP_USING_T5_PWM
            bool "Enable Timer5 PWM"
            default n
            if BSP_USING_T5_PWM
                config BSP_USING_T5_PWM0
                    bool "Enable Timer5 PWM2 (PE1)"
                    default n
            endif

        menuconfig BSP_USING_LPWM0
            bool "Enable LPWM0"
            default n
            if BSP_USING_LPWM0
                comment "G1, G2 and G3 are mutually exclusive"
                config BSP_USING_LPWM0_G1
                    bool "Enable LPWM0 G1 (PE4)"
                    default n
            endif

        menuconfig BSP_USING_LPWM1
            bool "Enable LPWM1"
            default n
            if BSP_USING_LPWM1
                comment "G1, G2 and G3 are mutually exclusive"
                config BSP_USING_LPWM1_G3
                    bool "Enable LPWM1 G3 (PA1)"
                    default n
            endif

        menuconfig BSP_USING_LPWM2
            bool "Enable LPWM2"
            default n
            if BSP_USING_LPWM2
                comment "G1, G2 and G3 are mutually exclusive"
                config BSP_USING_LPWM2_G2
                    bool "Enable LPWM2 G2 (PE0)"
                    default n
                config BSP_USING_LPWM2_G3
                    bool "Enable LPWM2 G3 (PA2)"
                    default n
            endif
        endif

    config BSP_USING_WDT
        bool "Enable Watchdog Timer"
        select RT_USING_WDT
        default n

    menuconfig BSP_USING_TIM
        bool "Enable timer"
        default n
        select RT_USING_HWTIMER
        if BSP_USING_TIM
            config BSP_USING_TIM1
                bool "Enable TIM1"
                default n

            config BSP_USING_TIM2
                bool "Enable TIM2"
                default n

            config BSP_USING_TIM3
                bool "Enable TIM3"
                default n

            config BSP_USING_TIM4
                bool "Enable TIM4"
                default n
                
            config BSP_USING_TIM5
                bool "Enable TIM5"
                default n
        endif

    config BSP_USING_ONCHIP_RTC
        bool "Enable RTC"
        select RT_USING_RTC
        select RT_USING_LIBC
        default n

    menuconfig BSP_USING_ADC
        bool "Enable ADC"
        default n
        select RT_USING_ADC
        if BSP_USING_ADC
            config BSP_USING_ADC0
                bool "Enable ADC0"
                default n
        endif

endmenu

menu "Board extended module Drivers"
endmenu

endmenu