menu "Hardware Drivers Config"

config SOC_IMXRT1052CVL5B
    bool 
    select SOC_MIMXRT1050_SERIES
    select RT_USING_COMPONENTS_INIT
    select RT_USING_USER_MAIN
    default y

menu "Onboard Peripheral Drivers"
        
    config BSP_USING_SDRAM
        bool "Enable SDRAM"
        default n

endmenu

menu "On-chip Peripheral Drivers"

    config BSP_USING_DMA
        bool "Enable DMA"
        default n
        
    config BSP_USING_GPIO
        bool "Enable GPIO"
        select RT_USING_PIN
        default y

    menuconfig BSP_USING_LPUART
        bool "Enable UART"
        select RT_USING_SERIAL
        default y
        
        if BSP_USING_LPUART
            config BSP_USING_LPUART1
                bool "Enable LPUART1"
                default y

                config BSP_LPUART1_RX_USING_DMA
                    bool "Enable LPUART1 RX DMA"
                    depends on BSP_USING_LPUART1
                    select BSP_USING_DMA
                    select RT_SERIAL_USING_DMA
                    default n

                    config BSP_LPUART1_RX_DMA_CHANNEL
                        depends on BSP_LPUART1_RX_USING_DMA
                        int "Set LPUART1 RX DMA channel (0-32)"
                        default 0

                config BSP_LPUART1_TX_USING_DMA
                    bool "Enable LPUART1 TX DMA"
                    depends on BSP_USING_LPUART1
                    select BSP_USING_DMA
                    select RT_SERIAL_USING_DMA
                    default n

                    config BSP_LPUART1_TX_DMA_CHANNEL
                        depends on BSP_LPUART1_TX_USING_DMA
                        int "Set LPUART1 TX DMA channel (0-32)"
                        default 1

            config BSP_USING_LPUART4
                bool "Enable LPUART4"
                default n

                config BSP_LPUART4_RX_USING_DMA
                    bool "Enable LPUART4 RX DMA"
                    depends on BSP_USING_LPUART4
                    select BSP_USING_DMA
                    select RT_SERIAL_USING_DMA
                    default n

                    config BSP_LPUART4_RX_DMA_CHANNEL
                        depends on BSP_LPUART4_RX_USING_DMA
                        int "Set LPUART4 RX DMA channel (0-32)"
                        default 2

                config BSP_LPUART4_TX_USING_DMA
                    bool "Enable LPUART4 TX DMA"
                    depends on BSP_USING_LPUART4
                    select BSP_USING_DMA
                    select RT_SERIAL_USING_DMA
                    default n

                    config BSP_LPUART4_TX_DMA_CHANNEL
                        depends on BSP_LPUART4_TX_USING_DMA
                        int "Set LPUART4 TX DMA channel (0-32)"
                        default 3
        endif

    menuconfig BSP_USING_SPI
        bool "Enable SPI"
        select RT_USING_SPI
        select RT_USING_PIN
        default n

        if BSP_USING_SPI
            config BSP_USING_SPI3
                bool "Enable SPI3"
                default n

            config BSP_SPI3_USING_DMA
                bool "Enable SPI3 DMA xfer"
                depends on BSP_USING_SPI3
                select BSP_USING_DMA
                default n

            config BSP_SPI3_RX_DMA_CHANNEL
                depends on BSP_SPI3_USING_DMA
                int "Set SPI3 RX DMA channel (0-32)"
                default 4

            config BSP_SPI3_TX_DMA_CHANNEL
                depends on BSP_SPI3_USING_DMA
                int "Set SPI3 TX DMA channel (0-32)"
                default 5
        endif

endmenu

endmenu