menu "General Drivers Configuration"
    config BSP_SUPPORT_FPU
        bool "Using Float"
        default y

    config BSP_USING_GIC
        bool
        default y

    choice BSP_GICV_SEL
        prompt "GIC Version"
        default BSP_USING_GICV2

        config BSP_USING_GICV2
            bool "GICv2"

        config BSP_USING_GICV3
            bool "GICv3"
    endchoice

    menuconfig BSP_USING_UART
        bool "Using UART"
        select RT_USING_SERIAL
        default y

        if BSP_USING_UART
            config BSP_USING_UART0
                bool "Enable UART 0"
                default y

                if BSP_USING_UART0
                    config BSP_UART0_RX_PINNAME
                        string "uart0 rx pin name"
                        default "UART0_RX"
                    config BSP_UART0_TX_PINNAME
                        string "uart0 tx pin name"
                        default "UART0_TX"
                endif

            config BSP_USING_UART1
                bool "Enable UART 1"
                default n

                if BSP_USING_UART1
                    config BSP_UART1_RX_PINNAME
                        string "uart1 rx pin name"
                        default ""
                    config BSP_UART1_TX_PINNAME
                        string "uart1 tx pin name"
                        default ""
                endif

            config BSP_USING_UART2
                bool "Enable UART 2"
                default n

                if BSP_USING_UART2
                    config BSP_UART2_RX_PINNAME
                        string "uart2 rx pin name"
                        default ""
                    config BSP_UART2_TX_PINNAME
                        string "uart2 tx pin name"
                        default ""
                endif

            config BSP_USING_UART3
                bool "Enable UART 3"
                default n

                if BSP_USING_UART3
                    config BSP_UART3_RX_PINNAME
                        string "uart3 rx pin name"
                        default ""
                    config BSP_UART3_TX_PINNAME
                        string "uart3 tx pin name"
                        default ""
                endif

            config BSP_USING_UART4
                bool "Enable UART 4"
                default n

                if BSP_USING_UART4
                    config BSP_UART4_RX_PINNAME
                        string "uart4 rx pin name"
                        default ""
                    config BSP_UART4_TX_PINNAME
                        string "uart4 tx pin name"
                        default ""
                endif

            config BSP_UART_IRQ_BASE
                int
                default 60
        endif
        
    config BSP_USING_ADC
        bool "Using ADC"
        select RT_USING_ADC
        default n

    config BSP_USING_SPI
        bool "Using SPI"
        select RT_USING_SPI
        default n

    menuconfig BSP_USING_PWM
        bool "Using PWM"
        select RT_USING_PWM
        default n

        if BSP_USING_PWM
            config BSP_USING_PWM0
            bool "Enable PWM 0"
            default n

            config BSP_USING_PWM1
            bool "Enable PWM 1"
            default n

            config BSP_USING_PWM2
            bool "Enable PWM 2"
            default n

            config BSP_USING_PWM3
            bool "Enable PWM 3"
            default n
            
        endif

endmenu
