blob: 14279d2bda5e496e067f72fb0c18709404b4fdff [file] [log] [blame] [edit]
# Copyright (c) 2023 Fabian Blatz <fabianblatz@gmail.com>
# Copyright 2023 NXP
# SPDX-License-Identifier: Apache-2.0
config ZEPHYR_LVGL_MODULE
bool
config LVGL
bool "LVGL support"
help
This option enables the LVGL graphics library.
if LVGL
config LV_USE_MONKEY
bool
config LV_DPI_DEF
int
config LV_CONF_SKIP
bool
default n
config LV_USE_PRIVATE_API
bool
config LV_USE_LOG
bool
config LV_LOG_LEVEL_NONE
bool
config LV_LOG_LEVEL_ERROR
bool
config LV_LOG_LEVEL_WARN
bool
config LV_LOG_LEVEL_INFO
bool
config LV_LOG_LEVEL_USER
bool
config LV_LOG_LEVEL_TRACE
bool
config LV_Z_LOG_LEVEL
int
default 0 if LV_LOG_LEVEL_NONE || !LV_USE_LOG
default 1 if LV_LOG_LEVEL_ERROR
default 2 if LV_LOG_LEVEL_WARN
default 3 if LV_LOG_LEVEL_INFO
default 3 if LV_LOG_LEVEL_USER
default 4 if LV_LOG_LEVEL_TRACE
config LV_Z_USE_ROUNDER_CB
bool
default y if LV_Z_AREA_X_ALIGNMENT_WIDTH != 1 || LV_Z_AREA_Y_ALIGNMENT_WIDTH != 1
config APP_LINK_WITH_LVGL
bool "Link 'app' with LVGL"
default y
help
Add LVGL header files to the 'app' include path. It may be
disabled if the include paths for LVGL are causing aliasing
issues for 'app'.
config LV_Z_USE_FILESYSTEM
bool "LVGL file system support"
depends on FILE_SYSTEM
default y if FILE_SYSTEM
help
Enable LittlevGL file system
choice LV_COLOR_DEPTH
default LV_COLOR_DEPTH_16
prompt "Color depth (bits per pixel)"
config LV_COLOR_DEPTH_32
bool "32: ARGB8888"
config LV_COLOR_DEPTH_24
bool "24: RGB888"
config LV_COLOR_DEPTH_16
bool "16: RGB565"
config LV_COLOR_DEPTH_8
bool "8: RGB232"
config LV_COLOR_DEPTH_1
bool "1: monochrome"
endchoice
config LV_COLOR_16_SWAP
bool "Swap the 2 bytes of RGB565 color."
depends on LV_COLOR_DEPTH_16
config LV_Z_COLOR_MONO_HW_INVERSION
bool "Hardware pixel inversion (disables software pixel inversion)."
depends on LV_COLOR_DEPTH_1
config LV_Z_COLOR_24_BGR_TO_RGB
bool "Convert BGR888 to RGB888 color before flushing"
default y
depends on LV_COLOR_DEPTH_24
config LV_Z_FLUSH_THREAD
bool "Flush LVGL frames in a separate thread"
help
Flush LVGL frames in a separate thread, while the primary thread
renders the next LVGL frame. Can be disabled if the performance
gain this approach offers is not required
if LV_Z_FLUSH_THREAD
config LV_Z_FLUSH_THREAD_STACK_SIZE
int "Stack size for flushing thread"
default 1024
help
Stack size for LVGL flush thread, which will call display_write
config LV_Z_FLUSH_THREAD_PRIORITY
int "LVGL flush thread priority"
default -1
help
Priority of LVGL flush thread.
endif # LV_Z_FLUSH_THREAD
config LV_Z_AREA_X_ALIGNMENT_WIDTH
int "Frame X alignment size"
default 1
help
Number of pixels, X axis should be rounded to. Should be used to override
the current frame dimensions to meet display and/or LCD host
controller requirements. The value must be power of 2.
config LV_Z_AREA_Y_ALIGNMENT_WIDTH
int "Frame Y alignment size"
default 1
help
Number of pixels, Y axis should be rounded to. Should be used to override
the current frame dimensions to meet display and/or LCD host
controller requirements. The value must be power of 2.
config LV_Z_AUTO_INIT
bool "Initialize LVGL before application startup"
default y
help
Configure LVGL callbacks and display initialization before the application starts.
This can be useful to disable if you need to change a display's pixel format
prior to initialization. If using static allocation, ensure that LV_Z_BITS_PER_PIXEL
is set correctly.
config LV_Z_INIT_PRIORITY
int "Default init priority for LVGL"
default 90
depends on LV_Z_AUTO_INIT
help
Priority used for the automatic initialization of LVGL.
config LV_Z_LVGL_MUTEX
bool "Provide LVGL API mutex (un)locking functions"
help
LVGL API functions are not thread-safe, provide functions for locking and unlocking.
config LV_Z_RUN_LVGL_ON_WORKQUEUE
bool "Use a dedicated workqueue to run LVGL core"
imply LV_Z_AUTO_INIT
imply LV_Z_LVGL_MUTEX
help
Runs the LVGL in a separate workqueue automatically
without requiring user to add a timed loop for that. User can
disable this option if periodic calls of LV timer
is application responsibillity
if LV_Z_RUN_LVGL_ON_WORKQUEUE
config LV_Z_LVGL_WORKQUEUE_STACK_SIZE
int "Stack size of LVGL workqueue"
default 4096
help
Stack size of the LVGL dedicated workqueue
config LV_Z_LVGL_WORKQUEUE_PRIORITY
int "Priority of the LVGL workqueue"
default 0
help
Priority of the LVGL dedicated workequeue.
endif # LV_Z_RUN_LVGL_ON_WORKQUEUE
config LV_USE_DRAW_DMA2D
bool
config LV_DRAW_DMA2D_HAL_INCLUDE
string
help
Must be defined to include path of CMSIS header of target processor
e.g. "stm32f769xx.h" or "stm32f429xx.h"
config LV_Z_USE_OSAL
bool "Use OSAL enabling parallel rendering"
depends on DYNAMIC_THREAD
select LV_USE_PRIVATE_API
help
Use the Zephyr LVGL OSAL to enable parallel rendering
pipelines.
config LV_USE_PXP
bool
config LV_USE_GPU_NXP_PXP
bool
default y if LV_USE_PXP
config LV_Z_PXP_INTERRUPT_PRIORITY
int "PXP interrupt priority"
depends on LV_USE_PXP
default 3
help
Sets the interrupt priority for PXP
rsource "Kconfig.memory"
rsource "Kconfig.input"
rsource "Kconfig.shell"
endif