boards: shields: rk043fn02h_ct: add shield for rk043fn02h_ct

Add a shield for the RK043FN02H-CT panel, a Rocktech display panel with
an FT5336 touch controller. This panel uses a 40+6 FPC interface for
parallel displays, which is supported by many NXP iMX RT EVKs.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This commit is contained in:
Daniel DeGrasse 2024-04-30 19:55:09 +00:00 committed by Alberto Escolar
commit a98faf2567
4 changed files with 207 additions and 0 deletions

View file

@ -0,0 +1,47 @@
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
if SHIELD_RK043FN02H_CT
if LVGL
config INPUT
default y
config INPUT_FT5336_INTERRUPT
default y
# LVGL should allocate buffers equal to size of display
config LV_Z_VDB_SIZE
default 100
# Enable double buffering
config LV_Z_DOUBLE_VDB
default y
# Force full refresh. This prevents memory copy associated with partial
# display refreshes, which is not necessary for the eLCDIF driver
config LV_Z_FULL_REFRESH
default y
config LV_Z_BITS_PER_PIXEL
default 16
config LV_DPI_DEF
default 128
# Use offloaded render thread
config LV_Z_FLUSH_THREAD
default y
choice LV_COLOR_DEPTH
default LV_COLOR_DEPTH_16
endchoice
# Force display buffers to be aligned to cache line size (32 bytes)
config LV_Z_VDB_ALIGN
default 32
endif # LVGL
endif # SHIELD_RK043FN02H_CT

View file

@ -0,0 +1,5 @@
# Copyright 2024 NXP
# SPDX-License-Identifier: Apache-2.0
config SHIELD_RK043FN02H_CT
def_bool $(shields_list_contains,rk043fn02h_ct)

View file

@ -0,0 +1,105 @@
.. _rk043fn02h_ct:
RK043FN02H-CT Parallel Display
##############################
Overview
********
RK043FN02H-CT is a 4.3 inch TFT 480*272 pixels with LED backlight and
capacitive touch panel from Rocktech. This LCD panel can work with several i.MX
RT EVKs and LPC MCUs for evaluation of applications with display.
More information about the shield can be found at the `RK043FN02H-CT product
page`_.
This display uses a 40 pin parallel FPC interface plus 6 pin I2C interface,
available on many NXP EVKs. Note that this parallel FPC interface is not
compatible with the MIPI FPC interface present on other NXP EVKs.
Pins Assignment of the Rocktech RK043FN02H-CT Parallel Display
==============================================================
+-----------------------+------------------------+
| Parallel FPC Pin | Function |
+=======================+========================+
| 1 | LED backlight cathode |
+-----------------------+------------------------+
| 2 | LED backlight anode |
+-----------------------+------------------------+
| 3 | GND |
+-----------------------+------------------------+
| 4 | VDD (3v3) |
+-----------------------+------------------------+
| 5-7 | GND |
+-----------------------+------------------------+
| 8-12 | LCD D11-D15 |
+-----------------------+------------------------+
| 13-14 | GND |
+-----------------------+------------------------+
| 15-20 | LCD D5-D10 |
+-----------------------+------------------------+
| 21-23 | GND |
+-----------------------+------------------------+
| 24-28 | LCD D0-D4 |
+-----------------------+------------------------+
| 29 | GND |
+-----------------------+------------------------+
| 30 | LCD CLK |
+-----------------------+------------------------+
| 31 | LCD DISP |
+-----------------------+------------------------+
| 32 | LCD HSYNC |
+-----------------------+------------------------+
| 33 | LCD VSYNC |
+-----------------------+------------------------+
| 34 | LCD DE |
+-----------------------+------------------------+
| 35 | NC |
+-----------------------+------------------------+
| 36 | GND |
+-----------------------+------------------------+
| 37-40 | NC |
+-----------------------+------------------------+
+-----------------------+------------------------+
| I2C Connector Pin | Function |
+=======================+========================+
| 1 | VDD (3v3) |
+-----------------------+------------------------+
| 2 | LCD Touch Reset |
+-----------------------+------------------------+
| 3 | LCD Touch Interrupt |
+-----------------------+------------------------+
| 4 | LCD I2C SCL |
+-----------------------+------------------------+
| 5 | LCD I2C SDA |
+-----------------------+------------------------+
| 6 | GND |
+-----------------------+------------------------+
Requirements
************
This shield can only be used with a board which provides a configuration
for the 40+6 pin parallel/I2C FPC interface
Programming
***********
Set ``-DSHIELD=rk043fn02h_ct`` when you invoke ``west build``. For
example:
.. zephyr-app-commands::
:zephyr-app: samples/drivers/display
:board: mimxrt1060_evk
:shield: rk043fn02h_ct
:goals: build
References
**********
.. target-notes::
.. _RK043FN02H-CT product page:
https://www.nxp.com/design/design-center/development-boards-and-designs/i-mx-evaluation-and-development-boards/4-3-lcd-panel:RK043FN02H-CT

View file

@ -0,0 +1,50 @@
/*
* Copyright 2024, NXP
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/dt-bindings/display/panel.h>
/{
chosen {
zephyr,display = &zephyr_lcdif;
};
lvgl_pointer {
compatible = "zephyr,lvgl-pointer-input";
input = <&ft5336_rk043fn02h_ct>;
};
};
&nxp_touch_i2c {
status = "okay";
ft5336_rk043fn02h_ct: ft5336@38 {
compatible = "focaltech,ft5336";
reg = <0x38>;
int-gpios = <&nxp_i2c_touch_fpc 2 GPIO_ACTIVE_LOW>;
};
};
&zephyr_lcdif {
status = "okay";
width = <480>;
height = <272>;
display-timings {
compatible = "zephyr,panel-timing";
hsync-len = <41>;
hfront-porch = <4>;
hback-porch = <8>;
vsync-len = <10>;
vfront-porch = <4>;
vback-porch = <2>;
de-active= <1>;
pixelclk-active = <1>;
hsync-active = <0>;
vsync-active = <0>;
clock-frequency = <9210240>;
};
pixel-format = <PANEL_PIXEL_FORMAT_BGR_565>;
data-bus-width = "16-bit";
backlight-gpios = <&nxp_parallel_lcd_connector 0 GPIO_ACTIVE_HIGH>;
};