menu "Hardware Drivers Config"

config SOC_AIR105
    bool
    select ARCH_ARM_CORTEX_M4
    select RT_USING_COMPONENTS_INIT
    select RT_USING_USER_MAIN
    select BSP_USING_WDT
    default y

menu "Onboard Peripheral Drivers"

    config BSP_USING_SHELL_TO_USART
        bool "Enable SHELL TO USART (uart0)"
        select BSP_USING_UART
        select BSP_USING_UART0
        default y

    config BSP_USING_SPI_FLASH
        bool "Enable SPI FLASH (W25Q64 spi1)"
        select BSP_USING_SPI
        select RT_USING_SFUD
        select RT_SFUD_USING_SFDP
        default n

    config BSP_USING_ETH
        bool "Enable Ethernet Driver"
        select PKG_USING_WIZNET
        select BSP_USING_SPI
        default n
        if BSP_USING_ETH
            config EXTERNAL_PHY_ADDRESS
                hex
                default 0x00
            config WIZ_SPI_BUS
                string "WIZ SPI bus name"
                default "spi2"
            config WIZ_SPI_CS
                int "WIZ SPI bus cs pin"
                default 19
        endif

endmenu

menu "On-chip Peripheral Drivers"
    config BSP_USING_GPIO
        bool "Enable GPIO"
        select RT_USING_PIN
        default y

    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 n
                if BSP_USING_UART0
                    config BSP_UART0_RX_BUFSIZE
                        int "Set UART0 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 256

                    config BSP_UART0_TX_BUFSIZE
                        int "Set UART0 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                endif

            menuconfig BSP_USING_UART1
                bool "Enable UART1"
                default n
                if BSP_USING_UART1
                    config BSP_UART1_RX_BUFSIZE
                        int "Set UART1 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 256

                    config BSP_UART1_TX_BUFSIZE
                        int "Set UART1 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 0
                endif

            menuconfig BSP_USING_UART2
                bool "Enable UART2"
                default n
                if BSP_USING_UART2
                    config BSP_UART2_RX_BUFSIZE
                        int "Set UART2 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 256

                    config BSP_UART2_TX_BUFSIZE
                        int "Set UART2 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 256
                endif

            menuconfig BSP_USING_UART3
                bool "Enable UART3"
                default n
                if BSP_USING_UART3
                    config BSP_UART3_RX_BUFSIZE
                        int "Set UART3 RX buffer size"
                        range 64 65535
                        depends on RT_USING_SERIAL_V2
                        default 256

                    config BSP_UART3_TX_BUFSIZE
                        int "Set UART3 TX buffer size"
                        range 0 65535
                        depends on RT_USING_SERIAL_V2
                        default 256
                endif
        endif

    config BSP_USING_I2C
        bool "Enable HW I2C"
        select RT_USING_I2C
        default n
        if BSP_USING_I2C
            config I2C_BUS_NAME
                string "HW I2C bus name"
                default "i2c"
        endif

    menuconfig BSP_USING_SPI
        bool "Enable SPI BUS"
        default n
        select RT_USING_SPI
        if BSP_USING_SPI
            config BSP_USING_HSPI0
                bool "Enable HSPI0 BUS"
                default n

            config BSP_USING_SPI0
                bool "Enable SPI0 BUS"
                default n

            config BSP_USING_SPI1
                bool "Enable SPI1 BUS"
                default n

            config BSP_USING_SPI2
                bool "Enable SPI2 BUS"
                default n

            config BSP_USING_SPI0S
                bool "Enable SPI0S BUS"
                default n
        endif

    config BSP_USING_ONCHIP_RTC
        bool "Enable HW onchip rtc"
        select RT_USING_ONCHIP_RTC
        default n

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

endmenu

endmenu
