menu "Nuvoton Packages Config"
    config NU_PKG_USING_UTILS
        bool
        default y

    config NU_PKG_USING_DEMO
        bool "Enable demos"
        default y

    config NU_PKG_USING_LVGL
        bool "Enable LVGL demos"
        default n

    config NU_PKG_USING_BMX055
        bool "BMX055 9-axis sensor."
        select RT_USING_I2C
        select RT_USING_SENSOR
        default n

    config NU_PKG_USING_MAX31875
        bool "MAX31875 Temperature sensor."
        select RT_USING_I2C
        select RT_USING_SENSOR
        default n

    config NU_PKG_USING_NCT7717U
        bool "NCT7717U Temperature sensor."
        select RT_USING_I2C
        select RT_USING_SENSOR
        default n

    config NU_PKG_USING_NAU88L25
        bool "NAU88L25 Audio Codec."
        select BSP_USING_I2C
        default n

    config NU_PKG_USING_NAU8822
        bool "NAU8822 Audio Codec."
        select BSP_USING_I2C
        default n

    config NU_PKG_USING_DA9062
        bool "DA9062 PMIC."
        select BSP_USING_I2C
        default n

    config NU_PKG_USING_ILI9341
        bool "ILI9341 LCD Panel"
        select BSP_USING_GPIO
        default n

        if NU_PKG_USING_ILI9341

            choice
                prompt "Select ili9341 interface"

                config NU_PKG_USING_ILI9341_SPI
                    select BSP_USING_SPI
                    bool "ILI9341_SPI"
                help
                    Choose this option if you the ili9341 device is with SPI interface.

                config NU_PKG_USING_ILI9341_EBI
                    select BSP_USING_EBI
                    bool "ILI9341_EBI"
                help
                    Choose this option if you the ili9341 device is with EBI interface.
            endchoice

            if NU_PKG_USING_ILI9341_SPI
                config NU_PKG_USING_ILI9341_SPI_CLK_FREQ
                    int "Set SPI Clock frequency"
                    default 48000000
            endif

            config NU_PKG_ILI9341_WITH_OFFSCREEN_FRAMEBUFFER
                bool "Create an offscreen framebuffer."
                default n

            if NU_PKG_ILI9341_WITH_OFFSCREEN_FRAMEBUFFER
                config NU_PKG_ILI9341_LINE_BUFFER_NUMBER
                    int "Allocate Line buffer number."
                    range 1 240
                    default 240
            endif

            config NU_PKG_ILI9341_HORIZONTAL
                bool
                default y


            config BSP_LCD_BPP
                int
                default 16     if NU_PKG_USING_ILI9341

            config BSP_LCD_WIDTH
                int
                default 320    if NU_PKG_ILI9341_HORIZONTAL

            config BSP_LCD_HEIGHT
                int
                default 240    if NU_PKG_ILI9341_HORIZONTAL

        endif


    config NU_PKG_USING_SSD1963
        bool "SSD1963 LCD Panel"
        select BSP_USING_GPIO
        default n

        if NU_PKG_USING_SSD1963

            choice
                prompt "Select SSD1963 interface"

                config NU_PKG_USING_SSD1963_EBI
                    select BSP_USING_EBI
                    bool "SSD1963_EBI"
                help
                    Choose this option if you the SSD1963 device is with EBI interface.
            endchoice

            config NU_PKG_SSD1963_WITH_OFFSCREEN_FRAMEBUFFER
                bool "Create an offscreen framebuffer."
                default n

            if NU_PKG_SSD1963_WITH_OFFSCREEN_FRAMEBUFFER
                config NU_PKG_SSD1963_LINE_BUFFER_NUMBER
                    int "Allocate Line buffer number."
                    range 16 272
                    default  272
            endif

            config BSP_LCD_BPP
                int
                default 16     if NU_PKG_USING_SSD1963

            config BSP_LCD_WIDTH
                int
                default 480    if NU_PKG_USING_SSD1963

            config BSP_LCD_HEIGHT
                int
                default 272    if NU_PKG_USING_SSD1963

        endif

    config NU_PKG_USING_FSA506
        bool "FSA506 LCD Panel"
        select BSP_USING_GPIO
        default n

        if NU_PKG_USING_FSA506

            choice
                prompt "Select FSA506 interface"

                config NU_PKG_USING_FSA506_EBI
                    select BSP_USING_EBI
                    bool "FSA506_EBI"
                help
                    Choose this option if you the FSA506 device is with EBI interface.
            endchoice

            config NU_PKG_FSA506_WITH_OFFSCREEN_FRAMEBUFFER
                bool "Create an offscreen framebuffer."
                default n

            if NU_PKG_FSA506_WITH_OFFSCREEN_FRAMEBUFFER
                config NU_PKG_FSA506_LINE_BUFFER_NUMBER
                    int "Allocate Line buffer number."
                    range 16 272
                    default  272
            endif

            config BSP_LCD_BPP
                int
                default 16     if NU_PKG_USING_FSA506

            config BSP_LCD_WIDTH
                int
                default 480    if NU_PKG_USING_FSA506

            config BSP_LCD_HEIGHT
                int
                default 272    if NU_PKG_USING_FSA506

        endif

    config NU_PKG_USING_TPC
        bool "Support Touch Panel Controller over I2C"
        select RT_USING_TOUCH
        select RT_TOUCH_PIN_IRQ
        select RT_USING_I2C

    if NU_PKG_USING_TPC
        choice
            prompt "Select TPC drivers"
            config NU_PKG_USING_TPC_ILI
                bool "ILI Series TPC"

            config NU_PKG_USING_TPC_GT911
                bool "GT911 TPC"

            config NU_PKG_USING_TPC_FT5446
                bool "FT5446 TPC"

            config NU_PKG_USING_TPC_ST1663I
                bool "ST1663I TPC"

        endchoice

        config NU_PKG_TPC_REVERSE_XY
            bool "Reverse X-Y coordinate"
            default n

    endif

    config NU_PKG_USING_ADC_TOUCH
        bool "ADC touch function"
        default n
    

    if NU_PKG_USING_ADC_TOUCH
        config NU_PKG_USING_ADC_TOUCH_SW
            bool "Using SW ADC touch"
            select RT_USING_ADC
            default n     
    endif

    config NU_PKG_USING_SPINAND
        bool "SPI NAND flash."
        select BSP_USING_QSPI
        select RT_USING_MTD_NAND
        default n

endmenu