| # Copyright 2019,2023 NXP |
| # Copyright (c) 2022, Basalte bv |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| |
| menuconfig DISPLAY_MCUX_ELCDIF |
| bool "MCUX eLCDIF driver" |
| default y |
| depends on DT_HAS_NXP_IMX_ELCDIF_ENABLED |
| help |
| Enable support for mcux eLCDIF driver. |
| |
| if DISPLAY_MCUX_ELCDIF |
| |
| config MCUX_ELCDIF_FB_NUM |
| int "Framebuffers to allocate in driver" |
| default 2 |
| range 0 2 |
| help |
| Number of framebuffers to allocate in ELCDIF driver. Driver allocated |
| framebuffers are required to support partial display updates. |
| The driver has been validated to support 0 through 2 framebuffers. |
| Note that hardware will likely perform best if zero driver |
| framebuffers are allocated by the driver, and the application |
| implements double framebuffering by always calling display_write with |
| a buffer equal in size to the connected panel. |
| |
| NOTE: when no framebuffers are allocated, the ELCDIF will be |
| set to display an empty buffer during initialization. This means |
| the display will show what is effectively a dump of |
| system RAM until a new framebuffer is written. If the security |
| implications of this concern you, leave at least one driver |
| framebuffer enabled. |
| |
| config MCUX_ELCDIF_PXP |
| bool "Use PXP for display rotation" |
| depends on MCUX_PXP |
| depends on (MCUX_ELCDIF_FB_NUM > 0) |
| help |
| Use the PXP for display rotation. This requires the LCDIF node |
| have a "nxp,pxp" devicetree property pointing to the PXP device node. |
| The ELCDIF will only utilize the PXP to rotate frames if |
| display_write is called with a framebuffer equal in size to the |
| display. |
| |
| if MCUX_ELCDIF_PXP |
| |
| choice MCUX_ELCDIF_PXP_ROTATE_DIRECTION |
| default MCUX_ELCDIF_PXP_ROTATE_0 |
| prompt "Rotation angle of PXP" |
| help |
| Set rotation angle of PXP. The ELCDIF cannot detect the correct |
| rotation angle based on the call to display_write, so the user |
| should configure it here. |
| |
| config MCUX_ELCDIF_PXP_ROTATE_0 |
| bool "Rotate display by 0 degrees" |
| help |
| Rotate display by 0 degrees. Primarily useful for testing, |
| production applications should simply disable the PXP. |
| |
| config MCUX_ELCDIF_PXP_ROTATE_90 |
| bool "Rotate display by 90 degrees" |
| help |
| Rotate display clockwise by 90 degrees |
| |
| config MCUX_ELCDIF_PXP_ROTATE_180 |
| bool "Rotate display by 180 degrees" |
| help |
| Rotate display clockwise by 180 degrees |
| |
| config MCUX_ELCDIF_PXP_ROTATE_270 |
| bool "Rotate display by 270 degrees" |
| help |
| Rotate display clockwise by 270 degrees |
| |
| endchoice |
| |
| endif # MCUX_ELCDIF_PXP |
| |
| endif # DISPLAY_MCUX_ELCDIF |