menu "Hardware Drivers Config"

config SOC_ACM32F070RBT7
    bool
    select SOC_SERIES_ACM32F0
    select RT_USING_COMPONENTS_INIT
    select RT_USING_USER_MAIN
    default y

config SOC_SRAM_START_ADDR
    hex
    default 0x20000000

config SOC_SRAM_SIZE
    hex
    default 0x20

config SOC_FLASH_START_ADDR
    hex
    default 0x00000000

config SOC_FLASH_SIZE
    hex
    default 0x80

menu "Onboard Peripheral Drivers"

endmenu

menu "On-chip Peripheral Drivers"

    menu "Hardware GPIO"
        config BSP_USING_GPIO1
            bool "Enable GPIOAB"
            default y
            select RT_USING_PIN
        config BSP_USING_GPIO2
            bool "Enable GPIOCD"
            default y
            select RT_USING_PIN
    endmenu

    config BSP_USING_ADC
        bool "Enable ADC"
        select RT_USING_ADC
        default n

    menu "Hardware UART"
        config BSP_USING_UART1
            bool "Enable UART1 (PA9/PA10)"
            default y
            select RT_USING_SERIAL

        config BSP_USING_UART2
            bool "Enable UART2 (PA2/PA3)"
            default y
            select RT_USING_SERIAL

        if BSP_USING_UART2
            config BSP_UART2_RX_USING_DMA
                bool "Enable UART2 RX DMA"
                depends on BSP_USING_UART2
                select RT_SERIAL_USING_DMA
                default n

            config BSP_UART2_TX_USING_DMA
                bool "Enable UART2 TX DMA"
                depends on BSP_USING_UART2
                select RT_SERIAL_USING_DMA
                default n
        endif

        config BSP_USING_UART3
            bool "Enable UART3 (PC4/PC5)"
            default n
            select RT_USING_SERIAL

        if BSP_USING_UART3
            config BSP_UART3_RX_USING_DMA
                bool "Enable UART3 RX DMA"
                depends on BSP_USING_UART3
                select RT_SERIAL_USING_DMA
                default n

            config BSP_UART3_TX_USING_DMA
                bool "Enable UART3 TX DMA"
                depends on BSP_USING_UART3
                select RT_SERIAL_USING_DMA
                default n
        endif
    endmenu

    config BSP_USING_RTC
        bool "Enable RTC"
        select RT_USING_RTC
        default n

    menu "Hardware I2C"
        config BSP_USING_I2C1
            bool "Enable I2C1"
            default n
            select RT_USING_I2C
        config BSP_USING_I2C2
            bool "Enable I2C2"
            default n
            select RT_USING_I2C
    endmenu
    menuconfig BSP_USING_SOFT_I2C
        bool "Enable software I2C (swi2c)"
        default n
        select RT_USING_I2C
        select RT_USING_SOFT_I2C
        if BSP_USING_SOFT_I2C
        menuconfig BSP_USING_SOFT_I2C0
            bool "Enable software I2C0 Bus (swi2c0)"
            default n
            select RT_USING_SOFT_I2C0
            if BSP_USING_SOFT_I2C0
                config RT_SOFT_I2C0_SCL_PIN
                    int "swi2c0 SCL pin number"
                    default 54
                config RT_SOFT_I2C0_SDA_PIN
                    int "swi2c0 SDA pin number"
                    default 55
            endif
    endif


    menu "Hardware CAN"
        config BSP_USING_CAN1
            bool "Enable CAN1"
            default n
            select RT_USING_CAN
    endmenu

    menu "Hardware TIMER"
        config BSP_USING_TIM1
            bool "Enable Timer1"
            default n
            select RT_USING_CLOCK_TIME
        config BSP_USING_TIM3
            bool "Enable Timer3"
            default n
            select RT_USING_CLOCK_TIME
        config BSP_USING_TIM6
            bool "Enable Timer6"
            default n
            select RT_USING_CLOCK_TIME
        config BSP_USING_TIM14
            bool "Enable Timer14"
            default n
            select RT_USING_CLOCK_TIME
        config BSP_USING_TIM15
            bool "Enable Timer15"
            default n
            select RT_USING_CLOCK_TIME
        config BSP_USING_TIM16
            bool "Enable Timer16"
            default n
            select RT_USING_CLOCK_TIME
        config BSP_USING_TIM17
            bool "Enable Timer17"
            default n
            select RT_USING_CLOCK_TIME
    endmenu

    menu "Hardware WDT"
        config BSP_USING_WDT
            bool "Enable Watch Dog Timer"
            default n
            select RT_USING_WDT
        config BSP_USING_IWDT
            bool "Enable Independent Watch Dog Timer"
            default n
            select RT_USING_WDT
    endmenu

    config BSP_USING_LCD
        bool "Enable LCD"
        default n

    menu "Hardware SPI"
        config BSP_USING_SPI1
            bool "Enable SPI1"
            select RT_USING_SPI
            default n

        if BSP_USING_SPI1
            config BSP_SPI1_RX_USING_DMA
                bool "Enable SPI1 RX DMA"
                default n

            config BSP_SPI1_TX_USING_DMA
                bool "Enable SPI1 TX DMA"
                default n
        endif

        config BSP_USING_SPI2
            bool "Enable SPI2"
            select RT_USING_SPI
            default n

        if BSP_USING_SPI2
            config BSP_SPI2_RX_USING_DMA
                bool "Enable SPI2 RX DMA"
                default n

            config BSP_SPI2_TX_USING_DMA
                bool "Enable SPI2 TX DMA"
                default n
        endif
    endmenu

    menu "Hardware CRYPTO"
        config BSP_USING_CRC
            select RT_HWCRYPTO_USING_CRC
            bool "Enable CRC"
            default n
            select RT_USING_HWCRYPTO
        config BSP_USING_AES
            select RT_HWCRYPTO_USING_AES
            bool "Enable AES"
            default n
            select RT_USING_HWCRYPTO

        config BSP_USING_HRNG
            select RT_HWCRYPTO_USING_RNG
            bool "Enable HRNG"
            default n
            select RT_USING_HWCRYPTO
    endmenu

    config BSP_USING_CMP
        bool "Enable Analog Voltage Comparer"
        default n

    config BSP_USING_OPA
        bool "Enable Operational Amplifier"
        default n

    config BSP_USING_TKEY
        bool "Enable Touch Key"
        select RT_USING_TOUCH
        default n

    config BSP_USING_RPMU
        bool "Enable RTC PMU"
        select RT_USING_PM
        default n

endmenu

menu "Board extended module Drivers"

endmenu

    config RT_SOFT_I2C0_HAS_PIN_DEFAULT
        bool
        default y if RT_USING_SOFT_I2C0

    config RT_SOFT_I2C0_SCL_PIN_DEFAULT
        int
        default 54 if RT_USING_SOFT_I2C0

    config RT_SOFT_I2C0_SDA_PIN_DEFAULT
        int
        default 55 if RT_USING_SOFT_I2C0

endmenu
