menu "ESP-Driver:LCD Controller Configurations"
    config LCD_ENABLE_DEBUG_LOG
        bool "Enable debug log"
        default n
        help
            whether to enable the debug log message for LCD driver.
            Note that, this option only controls the LCD driver log, won't affect other drivers.

    if SOC_LCD_RGB_SUPPORTED
        config LCD_RGB_ISR_IRAM_SAFE
            bool "RGB LCD ISR IRAM-Safe"
            select GDMA_ISR_HANDLER_IN_IRAM # bounce buffer mode relies on GDMA EOF interrupt
            select ESP_PERIPH_CTRL_FUNC_IN_IRAM
            default n
            help
                Ensure the LCD interrupt is IRAM-Safe by allowing the interrupt handler to be
                executable when the cache is disabled (e.g. SPI Flash write).
                If you want the LCD driver to keep flushing the screen even when cache ops disabled,
                you can enable this option. Note, this will also increase the IRAM usage.

        config LCD_RGB_RESTART_IN_VSYNC
            bool "Always restart RGB LCD transmission in VSYNC"
            default n
            help
                Reset the GDMA channel every VBlank to stop permanent desyncs from happening.
                Only need to enable it when in your application, the DMA can't deliver data
                as fast as the LCD consumes it.
    endif # SOC_LCD_RGB_SUPPORTED

    if SOC_MIPI_DSI_SUPPORTED
        config LCD_DSI_ISR_IRAM_SAFE
            bool "DSI LCD ISR IRAM-Safe"
            default n
            select DW_GDMA_ISR_IRAM_SAFE # relies on DW_GDMA Full trans done interrupt
            help
                Ensure the LCD interrupt is IRAM-Safe by allowing the interrupt handler to be
                executable when the cache is disabled (e.g. SPI Flash write).
                If you want the LCD driver to keep flushing the screen even when cache ops disabled,
                you can enable this option. Note, this will also increase the IRAM usage.
    endif # SOC_MIPI_DSI_SUPPORTED
endmenu
