menu "Hardware Drivers Config"

config SOC_HPM6E00
    bool
    select SOC_HPM6E00_SERIES
    select RT_USING_COMPONENTS_INIT
    select RT_USING_USER_MAIN
    default y

config BSP_USING_ENET_PHY_RTL8211
    bool
    default n

config BSP_USING_TSW_PHY_RTL8211
    bool
    default n

if BSP_USING_ETH
    config LWIP_SUPPORT_CUSTOM_PBUF
    int
    default 1
endif

menu "On-chip Peripheral Drivers"
    config BSP_USING_GPIO
        bool "Enable GPIO"
        select RT_USING_PIN if BSP_USING_GPIO
        default n
        if BSP_USING_GPIO
            config BSP_GPIO_IRQ_PRIORITY
            int "GPIO Interrupt Priority"
            range 1 7
            default 1
        endif

    menuconfig BSP_USING_UART
        bool "Enable UART"
        default y
        select RT_USING_SERIAL
        if BSP_USING_UART
            menuconfig BSP_USING_UART0
                bool "Enable UART0 (Debugger)"
                default y
                if BSP_USING_UART0
                    config BSP_UART0_RX_USING_DMA
                        bool "Enable UART0 RX DMA"
                        depends on BSP_USING_UART0 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART0_TX_USING_DMA
                        bool "Enable UART0 TX DMA"
                        depends on BSP_USING_UART0 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART0_RX_BUFSIZE
                        int "Set UART0 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 128
                    config BSP_UART0_TX_BUFSIZE
                        int "Set UART0 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART0_IRQ_PRIORITY
                        int "UART0 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART1
                bool "Enable UART1"
                default y
                if BSP_USING_UART1
                    config BSP_UART1_RX_USING_DMA
                        bool "Enable UART1 RX DMA"
                        depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART1_TX_USING_DMA
                        bool "Enable UART1 TX DMA"
                        depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART1_RX_BUFSIZE
                        int "Set UART1 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART1_TX_BUFSIZE
                        int "Set UART1 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART1_IRQ_PRIORITY
                        int "UART1 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART2
                bool "Enable UART2"
                default n
                if BSP_USING_UART2
                    config BSP_UART2_RX_USING_DMA
                        bool "Enable UART2 RX DMA"
                        depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART2_TX_USING_DMA
                        bool "Enable UART2 TX DMA"
                        depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART2_RX_BUFSIZE
                        int "Set UART2 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART2_TX_BUFSIZE
                        int "Set UART2 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART2_IRQ_PRIORITY
                        int "UART2 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART3
                bool "Enable UART3"
                default n
                if BSP_USING_UART3
                    config BSP_UART3_RX_USING_DMA
                        bool "Enable UART3 RX DMA"
                        depends on BSP_USING_UART3 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART3_TX_USING_DMA
                        bool "Enable UART3 TX DMA"
                        depends on BSP_USING_UART3 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART3_RX_BUFSIZE
                        int "Set UART3 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART3_TX_BUFSIZE
                        int "Set UART3 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART3_IRQ_PRIORITY
                        int "UART3 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART4
                bool "Enable UART4"
                default n
                if BSP_USING_UART4
                    config BSP_UART4_RX_USING_DMA
                        bool "Enable UART4 RX DMA"
                        depends on BSP_USING_UART4 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART4_TX_USING_DMA
                        bool "Enable UART4 TX DMA"
                        depends on BSP_USING_UART4 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART4_RX_BUFSIZE
                        int "Set UART4 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART4_TX_BUFSIZE
                        int "Set UART4 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART4_IRQ_PRIORITY
                        int "UART4 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART5
                bool "Enable UART5"
                default n
                if BSP_USING_UART5
                    config BSP_UART5_RX_USING_DMA
                        bool "Enable UART5 RX DMA"
                        depends on BSP_USING_UART5 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART5_TX_USING_DMA
                        bool "Enable UART5 TX DMA"
                        depends on BSP_USING_UART5 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART5_RX_BUFSIZE
                        int "Set UART5 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART5_TX_BUFSIZE
                        int "Set UART5 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART5_IRQ_PRIORITY
                        int "UART5 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART6
                bool "Enable UART6"
                default n
                if BSP_USING_UART6
                    config BSP_UART6_RX_USING_DMA
                        bool "Enable UART6 RX DMA"
                        depends on BSP_USING_UART6 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART6_TX_USING_DMA
                        bool "Enable UART6 TX DMA"
                        depends on BSP_USING_UART6 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART6_RX_BUFSIZE
                        int "Set UART6 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART6_TX_BUFSIZE
                        int "Set UART6 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART6_IRQ_PRIORITY
                        int "UART6 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART7
                bool "Enable UART7"
                default n
                if BSP_USING_UART7
                    config BSP_UART7_RX_USING_DMA
                        bool "Enable UART7 RX DMA"
                        depends on BSP_USING_UART7 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART7_TX_USING_DMA
                        bool "Enable UART7 TX DMA"
                        depends on BSP_USING_UART7 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART7_RX_BUFSIZE
                        int "Set UART7 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART7_TX_BUFSIZE
                        int "Set UART7 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART7_IRQ_PRIORITY
                        int "UART7 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART8
                bool "Enable UART8"
                default n
                if BSP_USING_UART8
                    config BSP_UART8_RX_USING_DMA
                        bool "Enable UART8 RX DMA"
                        depends on BSP_USING_UART8 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART8_TX_USING_DMA
                        bool "Enable UART8 TX DMA"
                        depends on BSP_USING_UART8 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART8_RX_BUFSIZE
                        int "Set UART8 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART8_TX_BUFSIZE
                        int "Set UART8 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART8_IRQ_PRIORITY
                        int "UART8 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART9
                bool "Enable UART9"
                default n
                if BSP_USING_UART9
                    config BSP_UART9_RX_USING_DMA
                        bool "Enable UART9 RX DMA"
                        depends on BSP_USING_UART9 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART9_TX_USING_DMA
                        bool "Enable UART9 TX DMA"
                        depends on BSP_USING_UART9 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART9_RX_BUFSIZE
                        int "Set UART9 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART9_TX_BUFSIZE
                        int "Set UART9 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART9_IRQ_PRIORITY
                        int "UART9 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART10
                bool "Enable UART10"
                default n
                if BSP_USING_UART10
                    config BSP_UART10_RX_USING_DMA
                        bool "Enable UART10 RX DMA"
                        depends on BSP_USING_UART10 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART10_TX_USING_DMA
                        bool "Enable UART10 TX DMA"
                        depends on BSP_USING_UART10 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART10_RX_BUFSIZE
                        int "Set UART10 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART10_TX_BUFSIZE
                        int "Set UART10 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART10_IRQ_PRIORITY
                        int "UART10 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART11
                bool "Enable UART11"
                default n
                if BSP_USING_UART11
                    config BSP_UART11_RX_USING_DMA
                        bool "Enable UART11 RX DMA"
                        depends on BSP_USING_UART11 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART11_TX_USING_DMA
                        bool "Enable UART11 TX DMA"
                        depends on BSP_USING_UART11 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART11_RX_BUFSIZE
                        int "Set UART11 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART11_TX_BUFSIZE
                        int "Set UART11 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART11_IRQ_PRIORITY
                        int "UART11 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART12
                bool "Enable UART12"
                default n
                if BSP_USING_UART12
                    config BSP_UART12_RX_USING_DMA
                        bool "Enable UART12 RX DMA"
                        depends on BSP_USING_UART12 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART12_TX_USING_DMA
                        bool "Enable UART12 TX DMA"
                        depends on BSP_USING_UART12 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART12_RX_BUFSIZE
                        int "Set UART12 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART12_TX_BUFSIZE
                        int "Set UART12 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART12_IRQ_PRIORITY
                        int "UART12 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART13
                bool "Enable UART13"
                default n
                if BSP_USING_UART13
                    config BSP_UART13_RX_USING_DMA
                        bool "Enable UART13 RX DMA"
                        depends on BSP_USING_UART13 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART13_TX_USING_DMA
                        bool "Enable UART13 TX DMA"
                        depends on BSP_USING_UART13 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART13_RX_BUFSIZE
                        int "Set UART13 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART13_TX_BUFSIZE
                        int "Set UART13 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART13_IRQ_PRIORITY
                        int "UART13 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART14
                bool "Enable UART14"
                default n
                if BSP_USING_UART14
                    config BSP_UART14_RX_USING_DMA
                        bool "Enable UART14 RX DMA"
                        depends on BSP_USING_UART14 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART14_TX_USING_DMA
                        bool "Enable UART14 TX DMA"
                        depends on BSP_USING_UART14 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART14_RX_BUFSIZE
                        int "Set UART14 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART14_TX_BUFSIZE
                        int "Set UART14 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART14_IRQ_PRIORITY
                        int "UART14 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            menuconfig BSP_USING_UART15
                bool "Enable UART15"
                default n
                if BSP_USING_UART15
                    config BSP_UART15_RX_USING_DMA
                        bool "Enable UART15 RX DMA"
                        depends on BSP_USING_UART15 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART15_TX_USING_DMA
                        bool "Enable UART15 TX DMA"
                        depends on BSP_USING_UART15 && RT_SERIAL_USING_DMA
                        default n
                    config BSP_UART15_RX_BUFSIZE
                        int "Set UART15 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 1024
                    config BSP_UART15_TX_BUFSIZE
                        int "Set UART15 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                    config BSP_UART15_IRQ_PRIORITY
                        int "UART15 Interrupt Priority"
                        range 1 7
                        default 1
                endif
        endif


    menuconfig BSP_USING_SPI
        bool "Enable SPI"
        default n
        select RT_USING_SPI if BSP_USING_SPI
        if BSP_USING_SPI
            config BSP_USING_SPI0
                bool "Enable SPI0"
                default n
                if BSP_USING_SPI0
                    config BSP_SPI0_USING_DMA
                        bool "Enable SPI0 DMA"
                        default n
                    config BSP_SPI0_IRQ_PRIORITY
                        int "SPI0 Interrupt Priority"
                        range 1 7
                        default 1
                    choice BSP_SPI0_CS_SEL
                        prompt "Select SPI0 CS TYPE"
                        default BSP_SPI0_USING_SOFT_CS
                        config BSP_SPI0_USING_SOFT_CS
                            bool "Enable SPI0 software cs"
                        config BSP_SPI0_USING_HARD_CS
                            bool "Enable SPI0 hardware cs"
                    endchoice
                    choice BSP_SPI0_IO_MODE_SEL
                        prompt "Select SPI0 IO mode"
                        default BSP_SPI0_USING_SINGLE_IO
                        config BSP_SPI0_USING_SINGLE_IO
                            bool "Enable SPI0 single IO mode"
                        config BSP_SPI0_USING_DUAL_IO
                            bool "Enable SPI0 dual IO mode"
                        config BSP_SPI0_USING_QUAD_IO
                            bool "Enable SPI0 quad IO mode"
                    endchoice
                endif
            config BSP_USING_SPI1
                bool "Enable SPI1"
                default n
                if BSP_USING_SPI1
                    config BSP_SPI1_USING_DMA
                        bool "Enable SPI1 DMA"
                        default n
                    config BSP_SPI1_IRQ_PRIORITY
                        int "SPI1 Interrupt Priority"
                        range 1 7
                        default 1
                    choice BSP_SPI1_CS_SEL
                        prompt "Select SPI1 CS TYPE"
                        default BSP_SPI1_USING_SOFT_CS
                        config BSP_SPI1_USING_SOFT_CS
                            bool "Enable SPI1 software cs"
                        config BSP_SPI1_USING_HARD_CS
                            bool "Enable SPI1 hardware cs"
                    endchoice
                    choice BSP_SPI1_IO_MODE_SEL
                        prompt "Select SPI1 IO mode"
                        default BSP_SPI1_USING_SINGLE_IO
                        config BSP_SPI1_USING_SINGLE_IO
                            bool "Enable SPI1 single IO mode"
                        config BSP_SPI1_USING_DUAL_IO
                            bool "Enable SPI1 dual IO mode"
                        config BSP_SPI1_USING_QUAD_IO
                            bool "Enable SPI1 quad IO mode"
                    endchoice
                endif
            config BSP_USING_SPI2
                bool "Enable SPI2"
                default n
                if BSP_USING_SPI2
                    config BSP_SPI2_USING_DMA
                        bool "Enable SPI2 DMA"
                        default n
                    config BSP_SPI2_IRQ_PRIORITY
                        int "SPI2 Interrupt Priority"
                        range 1 7
                        default 1
                    choice BSP_SPI2_CS_SEL
                        prompt "Select SPI2 CS TYPE"
                        default BSP_SPI2_USING_SOFT_CS
                        config BSP_SPI2_USING_SOFT_CS
                            bool "Enable SPI2 software cs"
                        config BSP_SPI2_USING_HARD_CS
                            bool "Enable SPI2 hardware cs"
                    endchoice
                    choice BSP_SPI2_IO_MODE_SEL
                        prompt "Select SPI2 IO mode"
                        default BSP_SPI2_USING_SINGLE_IO
                        config BSP_SPI2_USING_SINGLE_IO
                            bool "Enable SPI2 single IO mode"
                        config BSP_SPI2_USING_DUAL_IO
                            bool "Enable SPI2 dual IO mode"
                        config BSP_SPI2_USING_QUAD_IO
                            bool "Enable SPI2 quad IO mode"
                    endchoice
                endif
            config BSP_USING_SPI3
                bool "Enable SPI3"
                default n
                if BSP_USING_SPI3
                    config BSP_SPI3_USING_DMA
                        bool "Enable SPI3 DMA"
                        default n
                    config BSP_SPI3_IRQ_PRIORITY
                        int "SPI3 Interrupt Priority"
                        range 1 7
                        default 1
                    choice BSP_SPI3_CS_SEL
                        prompt "Select SPI3 CS TYPE"
                        default BSP_SPI3_USING_SOFT_CS
                        config BSP_SPI3_USING_SOFT_CS
                            bool "Enable SPI3 software cs"
                        config BSP_SPI3_USING_HARD_CS
                            bool "Enable SPI3 hardware cs"
                    endchoice
                    choice BSP_SPI3_IO_MODE_SEL
                        prompt "Select SPI3 IO mode"
                        default BSP_SPI3_USING_SINGLE_IO
                        config BSP_SPI3_USING_SINGLE_IO
                            bool "Enable SPI3 single IO mode"
                        config BSP_SPI3_USING_DUAL_IO
                            bool "Enable SPI3 dual IO mode"
                        config BSP_SPI3_USING_QUAD_IO
                            bool "Enable SPI3 quad IO mode"
                    endchoice
                endif
            config BSP_USING_SPI4
                bool "Enable SPI4"
                default n
                if BSP_USING_SPI4
                    config BSP_SPI4_USING_DMA
                        bool "Enable SPI4 DMA"
                        default n
                    config BSP_SPI4_IRQ_PRIORITY
                        int "SPI4 Interrupt Priority"
                        range 1 7
                        default 1
                    choice BSP_SPI4_CS_SEL
                        prompt "Select SPI4 CS TYPE"
                        default BSP_SPI4_USING_SOFT_CS
                        config BSP_SPI4_USING_SOFT_CS
                            bool "Enable SPI4 software cs"
                        config BSP_SPI4_USING_HARD_CS
                            bool "Enable SPI4 hardware cs"
                    endchoice
                    choice BSP_SPI4_IO_MODE_SEL
                        prompt "Select SPI4 IO mode"
                        default BSP_SPI4_USING_SINGLE_IO
                        config BSP_SPI4_USING_SINGLE_IO
                            bool "Enable SPI4 single IO mode"
                        config BSP_SPI4_USING_DUAL_IO
                            bool "Enable SPI4 dual IO mode"
                        config BSP_SPI4_USING_QUAD_IO
                            bool "Enable SPI4 quad IO mode"
                    endchoice
                endif
            config BSP_USING_SPI5
                bool "Enable SPI5"
                default n
                if BSP_USING_SPI5
                    config BSP_SPI5_USING_DMA
                        bool "Enable SPI5 DMA"
                        default n
                    config BSP_SPI5_IRQ_PRIORITY
                        int "SPI5 Interrupt Priority"
                        range 1 7
                        default 1
                    choice BSP_SPI5_CS_SEL
                        prompt "Select SPI5 CS TYPE"
                        default BSP_SPI5_USING_SOFT_CS
                        config BSP_SPI5_USING_SOFT_CS
                            bool "Enable SPI5 software cs"
                        config BSP_SPI5_USING_HARD_CS
                            bool "Enable SPI5 hardware cs"
                    endchoice
                    choice BSP_SPI5_IO_MODE_SEL
                        prompt "Select SPI5 IO mode"
                        default BSP_SPI5_USING_SINGLE_IO
                        config BSP_SPI5_USING_SINGLE_IO
                            bool "Enable SPI5 single IO mode"
                        config BSP_SPI5_USING_DUAL_IO
                            bool "Enable SPI5 dual IO mode"
                        config BSP_SPI5_USING_QUAD_IO
                            bool "Enable SPI5 quad IO mode"
                    endchoice
                endif
            config BSP_USING_SPI6
                bool "Enable SPI6"
                default n
                if BSP_USING_SPI6
                    config BSP_SPI6_USING_DMA
                        bool "Enable SPI6 DMA"
                        default n
                    config BSP_SPI6_IRQ_PRIORITY
                        int "SPI6 Interrupt Priority"
                        range 1 7
                        default 1
                    choice BSP_SPI6_CS_SEL
                        prompt "Select SPI6 CS TYPE"
                        default BSP_SPI6_USING_SOFT_CS
                        config BSP_SPI6_USING_SOFT_CS
                            bool "Enable SPI6 software cs"
                        config BSP_SPI6_USING_HARD_CS
                            bool "Enable SPI6 hardware cs"
                    endchoice
                    choice BSP_SPI6_IO_MODE_SEL
                        prompt "Select SPI6 IO mode"
                        default BSP_SPI6_USING_SINGLE_IO
                        config BSP_SPI6_USING_SINGLE_IO
                            bool "Enable SPI6 single IO mode"
                        config BSP_SPI6_USING_DUAL_IO
                            bool "Enable SPI6 dual IO mode"
                        config BSP_SPI6_USING_QUAD_IO
                            bool "Enable SPI6 quad IO mode"
                    endchoice
                endif
            config BSP_USING_SPI7
                bool "Enable SPI7"
                default y
                if BSP_USING_SPI7
                    config BSP_SPI7_USING_DMA
                        bool "Enable SPI7 DMA"
                        default n
                    config BSP_SPI7_IRQ_PRIORITY
                        int "SPI7 Interrupt Priority"
                        range 1 7
                        default 1
                choice BSP_SPI7_CS_SEL
                    prompt "Select SPI7 CS TYPE"
                    default BSP_SPI7_USING_SOFT_CS
                    config BSP_SPI7_USING_SOFT_CS
                        bool "Enable SPI7 software cs"
                    config BSP_SPI7_USING_HARD_CS
                        bool "Enable SPI7 hardware cs"
                endchoice
                    choice BSP_SPI7_IO_MODE_SEL
                        prompt "Select SPI7 IO mode"
                        default BSP_SPI7_USING_SINGLE_IO
                        config BSP_SPI7_USING_SINGLE_IO
                            bool "Enable SPI7 single IO mode"
                        config BSP_SPI7_USING_DUAL_IO
                            bool "Enable SPI7 dual IO mode"
                        config BSP_SPI7_USING_QUAD_IO
                            bool "Enable SPI7 quad IO mode"
                    endchoice
                endif
        endif

    menuconfig BSP_USING_RTC
       bool "Enable RTC"
       default n
       select RT_USING_RTC if BSP_USING_RTC

	menuconfig BSP_USING_TSW
	   bool "Enable TSW"
	   default n

	   select RT_USING_TSW
	   select BSP_USING_TSW_PHY_RTL8211 if BSP_USING_TSW

    menuconfig BSP_USING_ETH
       bool "Enable Ethernet"
       default n

       select RT_USING_ETH if BSP_USING_ETH
       select RT_USING_PHY if BSP_USING_ETH

       if BSP_USING_ETH
           choice BSP_ETH0_SEL
               prompt "ETH"
               default BSP_USING_ETH0

               config BSP_USING_ETH0
               bool "Enable ETH0"
               select BSP_USING_ENET_PHY_RTL8211
           endchoice
       endif

    menuconfig BSP_USING_GPTMR
        bool "Enable GPTMR"
        default n
        select RT_USING_CLOCK_TIME if BSP_USING_GPTMR
        if BSP_USING_GPTMR
            config BSP_USING_GPTMR0
                bool "Enable GPTMR0"
                depends on !HPM_USING_VECTOR_PREEMPTED_MODE
                default n
                if BSP_USING_GPTMR0
                    config BSP_GPTMR0_IRQ_PRIORITY
                    int "GPTMR0 Interrupt Priority"
                    range 1 7
                    default 1
                endif
            config BSP_USING_GPTMR1
                bool "Enable GPTMR1"
                default n
                if BSP_USING_GPTMR1
                    config BSP_GPTMR1_IRQ_PRIORITY
                    int "GPTMR1 Interrupt Priority"
                    range 1 7
                    default 1
                endif
            config BSP_USING_GPTMR2
                bool "Enable GPTMR2"
                default n
                if BSP_USING_GPTMR2
                    config BSP_GPTMR2_IRQ_PRIORITY
                    int "GPTMR2 Interrupt Priority"
                    range 1 7
                    default 1
                endif
            config BSP_USING_GPTMR3
                bool "Enable GPTMR3"
                default n
                if BSP_USING_GPTMR3
                    config BSP_GPTMR3_IRQ_PRIORITY
                    int "GPTMR3 Interrupt Priority"
                    range 1 7
                    default 1
                endif
            config BSP_USING_GPTMR4
                bool "Enable GPTMR4"
                default n
                if BSP_USING_GPTMR4
                    config BSP_GPTMR4_IRQ_PRIORITY
                    int "GPTMR4 Interrupt Priority"
                    range 1 7
                    default 1
                endif
            config BSP_USING_GPTMR5
                bool "Enable GPTMR5"
                default n
                if BSP_USING_GPTMR5
                    config BSP_GPTMR5_IRQ_PRIORITY
                    int "GPTMR5 Interrupt Priority"
                    range 1 7
                    default 1
                endif
            config BSP_USING_GPTMR6
                bool "Enable GPTMR6"
                default n
                if BSP_USING_GPTMR6
                    config BSP_GPTMR6_IRQ_PRIORITY
                    int "GPTMR6 Interrupt Priority"
                    range 1 7
                    default 1
                endif
            config BSP_USING_GPTMR7
                bool "Enable GPTMR7"
                default n
                if BSP_USING_GPTMR7
                    config BSP_GPTMR7_IRQ_PRIORITY
                    int "GPTMR7 Interrupt Priority"
                    range 1 7
                    default 1
                endif
        endif

    menuconfig BSP_USING_I2C
        bool "Enable I2C"
        default n
        select RT_USING_I2C if BSP_USING_I2C
        if BSP_USING_I2C
            config BSP_USING_I2C0
                bool "Enable I2C0"
                default y
                if BSP_USING_I2C0
                    config BSP_I2C0_USING_DMA
                        bool "Enable I2C0 DMA"
                        default n
                    config BSP_I2C0_IRQ_PRIORITY
                        int "I2C0 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_I2C1
                bool "Enable I2C1"
                default n
                if BSP_USING_I2C1
                    config BSP_I2C1_USING_DMA
                        bool "Enable I2C1 DMA"
                        default n
                    config BSP_I2C1_IRQ_PRIORITY
                        int "I2C1 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_I2C2
                bool "Enable I2C2"
                default n
                if BSP_USING_I2C2
                    config BSP_I2C2_USING_DMA
                        bool "Enable I2C2 DMA"
                        default n
                    config BSP_I2C2_IRQ_PRIORITY
                        int "I2C2 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_I2C3
                bool "Enable I2C3"
                default n
                if BSP_USING_I2C3
                    config BSP_I2C3_USING_DMA
                        bool "Enable I2C3 DMA"
                        default n
                    config BSP_I2C3_IRQ_PRIORITY
                        int "I2C3 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_I2C4
                bool "Enable I2C4"
                default n
                if BSP_USING_I2C4
                    config BSP_I2C4_USING_DMA
                        bool "Enable I2C4 DMA"
                        default n
                    config BSP_I2C4_IRQ_PRIORITY
                        int "I2C4 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_I2C5
                bool "Enable I2C5"
                default n
                if BSP_USING_I2C5
                    config BSP_I2C5_USING_DMA
                        bool "Enable I2C5 DMA"
                        default n
                    config BSP_I2C5_IRQ_PRIORITY
                        int "I2C5 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_I2C6
                bool "Enable I2C6"
                default n
                if BSP_USING_I2C6
                    config BSP_I2C6_USING_DMA
                        bool "Enable I2C6 DMA"
                        default n
                    config BSP_I2C6_IRQ_PRIORITY
                        int "I2C6 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_I2C7
                bool "Enable I2C7"
                default n
                if BSP_USING_I2C7
                    config BSP_I2C7_USING_DMA
                        bool "Enable I2C7 DMA"
                        default n
                    config BSP_I2C7_IRQ_PRIORITY
                        int "I2C7 Interrupt Priority"
                        range 1 7
                        default 1
                endif
        endif


    menuconfig BSP_USING_XPI_FLASH
        bool "Enable XPI FLASH"
        default n
        select RT_USING_FAL if BSP_USING_XPI_FLASH

    menuconfig BSP_USING_DAO
        bool "Enable Audio DAO play"
        default n
        select RT_USING_AUDIO if BSP_USING_DAO

    menuconfig BSP_USING_PDM
        bool "Enable Audio PDM record"
        default n
        select RT_USING_AUDIO if BSP_USING_PDM

    menuconfig BSP_USING_I2S
        bool "Enable Audio I2S device"
        default n
        select RT_USING_AUDIO if BSP_USING_I2S
        if BSP_USING_I2S
            config BSP_USING_I2S3
                bool "Enable I2S3"
                default y
            config BSP_USING_AUDIO_CODEC_WM8960
                bool "Enable audio codec on board"
                default y
        endif

    menuconfig BSP_USING_USB
       bool "Enable USB"
       default n
       if BSP_USING_USB
            config BSP_USING_USB_DEVICE
                bool "Enable USB Device"
                select RT_USING_CACHE
                default n
            config BSP_USING_USB_HOST
                bool "Enable USB Host"
                select RT_USING_CACHE
                default n
       endif


    menuconfig BSP_USING_EWDG
        bool "Enable EWDG"
        default n
        select RT_USING_WDT if BSP_USING_EWDG
        if BSP_USING_EWDG
            config BSP_USING_EWDG0
                bool "Enable EWDG0"
                default n
            config BSP_USING_EWDG1
                bool "Enable EWDG1"
                default n
        endif

    menuconfig BSP_USING_PWMV2
        bool "Enable PWM"
        default n
        select RT_USING_PWM if BSP_USING_PWMV2

    menuconfig BSP_USING_MCAN
        bool "Enable MCAN"
        default n
        select RT_USING_CAN if BSP_USING_MCAN
        if BSP_USING_MCAN
            config BSP_USING_MCAN0
                bool "Enable MCAN0"
                default n
                if BSP_USING_MCAN0
                    config BSP_MCAN0_IRQ_PRIORITY
                        int "MCAN0 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_MCAN1
                bool "Enable MCAN1"
                default n
                if BSP_USING_MCAN1
                    config BSP_MCAN1_IRQ_PRIORITY
                        int "MCAN1 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_MCAN2
                bool "Enable MCAN2"
                default n
                if BSP_USING_MCAN2
                    config BSP_MCAN2_IRQ_PRIORITY
                        int "MCAN2 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_MCAN3
                bool "Enable MCAN3"
                default n
                if BSP_USING_MCAN3
                    config BSP_MCAN3_IRQ_PRIORITY
                        int "MCAN3 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_MCAN4
                bool "Enable MCAN4"
                default n
                if BSP_USING_MCAN4
                    config BSP_MCAN4_IRQ_PRIORITY
                        int "MCAN4 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_MCAN5
                bool "Enable MCAN5"
                default n
                if BSP_USING_MCAN5
                    config BSP_MCAN5_IRQ_PRIORITY
                        int "MCAN5 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_MCAN6
                bool "Enable MCAN6"
                default n
                if BSP_USING_MCAN6
                    config BSP_MCAN6_IRQ_PRIORITY
                        int "MCAN6 Interrupt Priority"
                        range 1 7
                        default 1
                endif
            config BSP_USING_MCAN7
                bool "Enable MCAN7"
                default n
                if BSP_USING_MCAN7
                    config BSP_MCAN7_IRQ_PRIORITY
                        int "MCAN7 Interrupt Priority"
                        range 1 7
                        default 1
                endif
        endif

    menuconfig BSP_USING_ADC
        bool "Enable ADC"
        default n
        select RT_USING_ADC if BSP_USING_ADC
        if BSP_USING_ADC
            menuconfig BSP_USING_ADC16
                bool "Enable ADC16"
                default n
                if BSP_USING_ADC16
                    config BSP_USING_ADC0
                        bool "Enable ADC0"
                        default n
                    config BSP_USING_ADC1
                        bool "Enable ADC1"
                        default n
                    config BSP_USING_ADC2
                        bool "Enable ADC2"
                        default n
                    config BSP_USING_ADC3
                        bool "Enable ADC3"
                        default n
                endif
         endif

endmenu

endmenu

