| # 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 |