Skip to content

Commit 582c931

Browse files
Danh Doankartben
authored andcommitted
boards: shields: add support shield rtk7eka6m3b00001bu
Add display shield rtk7eka6m3b00001bu support Signed-off-by: Danh Doan <danh.doan.ue@bp.renesas.com> Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
1 parent 62ef403 commit 582c931

File tree

6 files changed

+244
-2
lines changed

6 files changed

+244
-2
lines changed

boards/renesas/ek_ra8d1/Kconfig.defconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ endif # NETWORKING
1212

1313
if DISPLAY
1414

15-
if SHIELD_RTKMIPILCDB00000BE
15+
if SHIELD_RTKMIPILCDB00000BE || SHIELD_RTK7EKA6M3B00001BU
1616

1717
config MEMC
1818
default y
@@ -21,7 +21,7 @@ config RENESAS_RA_GLCDC_FRAME_BUFFER_SECTION
2121
default ".sdram"
2222
depends on RENESAS_RA_GLCDC
2323

24-
endif # SHIELD_RTKMIPILCDB00000BE
24+
endif # SHIELD_RTKMIPILCDB00000BE || SHIELD_RTK7EKA6M3B00001BU
2525

2626
endif # DISPLAY
2727

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Copyright (c) 2025 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if SHIELD_RTK7EKA6M3B00001BU
5+
6+
if LVGL
7+
8+
# Configure LVGL to use touchscreen with input API
9+
10+
config INPUT
11+
default y
12+
13+
# LVGL should allocate buffers equal to size of display
14+
config LV_Z_VDB_SIZE
15+
default 100
16+
17+
# Enable double buffering
18+
config LV_Z_DOUBLE_VDB
19+
default y
20+
21+
# Force full refresh. This prevents memory copy associated with partial
22+
# display refreshes, which is not necessary for the GLCDC driver
23+
config LV_Z_FULL_REFRESH
24+
default y
25+
26+
config LV_Z_BITS_PER_PIXEL
27+
default 32
28+
29+
# Use offloaded render thread
30+
config LV_Z_FLUSH_THREAD
31+
default y
32+
33+
choice LV_COLOR_DEPTH
34+
default LV_COLOR_DEPTH_32
35+
endchoice
36+
37+
endif # LVGL
38+
39+
endif # SHIELD_RTK7EKA6M3B00001BU
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2025 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SHIELD_RTK7EKA6M3B00001BU
5+
def_bool $(shields_list_contains,rtk7eka6m3b00001bu)
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
/*
2+
* Copyright (c) 2025 Renesas Electronics Corporation
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/ {
8+
renesas_parallel_graphics_connector: parallel-graphics-connector {
9+
compatible = "renesas,ra-parallel-graphics-header";
10+
#gpio-cells = <2>;
11+
gpio-map-mask = <0xffffffff 0xffffffc0>;
12+
gpio-map-pass-thru = <0 0x3f>;
13+
gpio-map = <1 0 &ioport4 4 0>, /* DISP_BLEN */
14+
<2 0 &ioport5 11 0>, /* IIC_SDA */
15+
<3 0 &ioport5 10 0>, /* DISP_INT */
16+
<4 0 &ioport5 12 0>, /* IIC_SCL */
17+
<6 0 &ioporta 1 0>; /* DISP_RST */
18+
};
19+
};
20+
21+
&port_irq3 {
22+
interrupts = <90 1>;
23+
status = "okay";
24+
};
25+
26+
&pinctrl {
27+
glcdc_default: glcdc_default {
28+
group1 {
29+
psels = <RA_PSEL(RA_PSEL_GLCDC, 8, 5)>, /* LCDC_TCON0 */
30+
<RA_PSEL(RA_PSEL_GLCDC, 8, 7)>, /* LCDC_TCON1 */
31+
<RA_PSEL(RA_PSEL_GLCDC, 5, 13)>, /* LCDC_TCON2 */
32+
<RA_PSEL(RA_PSEL_GLCDC, 5, 15)>, /* LCDC_TCON3 */
33+
<RA_PSEL(RA_PSEL_GLCDC, 9, 14)>, /* LCDC_DATA00 */
34+
<RA_PSEL(RA_PSEL_GLCDC, 9, 15)>, /* LCDC_DATA01 */
35+
<RA_PSEL(RA_PSEL_GLCDC, 9, 10)>, /* LCDC_DATA02 */
36+
<RA_PSEL(RA_PSEL_GLCDC, 9, 11)>, /* LCDC_DATA03 */
37+
<RA_PSEL(RA_PSEL_GLCDC, 9, 12)>, /* LCDC_DATA04 */
38+
<RA_PSEL(RA_PSEL_GLCDC, 9, 13)>, /* LCDC_DATA05 */
39+
<RA_PSEL(RA_PSEL_GLCDC, 9, 4)>, /* LCDC_DATA06 */
40+
<RA_PSEL(RA_PSEL_GLCDC, 9, 3)>, /* LCDC_DATA07 */
41+
<RA_PSEL(RA_PSEL_GLCDC, 9, 2)>, /* LCDC_DATA08 */
42+
<RA_PSEL(RA_PSEL_GLCDC, 2, 7)>, /* LCDC_DATA09 */
43+
<RA_PSEL(RA_PSEL_GLCDC, 7, 11)>, /* LCDC_DATA10 */
44+
<RA_PSEL(RA_PSEL_GLCDC, 7, 12)>, /* LCDC_DATA11 */
45+
<RA_PSEL(RA_PSEL_GLCDC, 7, 13)>, /* LCDC_DATA12 */
46+
<RA_PSEL(RA_PSEL_GLCDC, 7, 14)>, /* LCDC_DATA13 */
47+
<RA_PSEL(RA_PSEL_GLCDC, 7, 15)>, /* LCDC_DATA14 */
48+
<RA_PSEL(RA_PSEL_GLCDC, 11, 7)>, /* LCDC_DATA15 */
49+
<RA_PSEL(RA_PSEL_GLCDC, 11, 6)>, /* LCDC_DATA16 */
50+
<RA_PSEL(RA_PSEL_GLCDC, 11, 5)>, /* LCDC_DATA17 */
51+
<RA_PSEL(RA_PSEL_GLCDC, 11, 1)>, /* LCDC_DATA18 */
52+
<RA_PSEL(RA_PSEL_GLCDC, 11, 4)>, /* LCDC_DATA19 */
53+
<RA_PSEL(RA_PSEL_GLCDC, 11, 3)>, /* LCDC_DATA20 */
54+
<RA_PSEL(RA_PSEL_GLCDC, 11, 2)>, /* LCDC_DATA21 */
55+
<RA_PSEL(RA_PSEL_GLCDC, 11, 0)>, /* LCDC_DATA22 */
56+
<RA_PSEL(RA_PSEL_GLCDC, 7, 7)>, /* LCDC_DATA23 */
57+
<RA_PSEL(RA_PSEL_GLCDC, 8, 6)>, /* LCDC_CLK */
58+
<RA_PSEL(RA_PSEL_GLCDC, 5, 14)>; /* LCDC_EXTCLK */
59+
};
60+
};
61+
62+
iic1_default: iic1_default {
63+
group1 {
64+
/* SCL1 SDA1 */
65+
psels = <RA_PSEL(RA_PSEL_I2C, 5, 12)>,
66+
<RA_PSEL(RA_PSEL_I2C, 5, 11)>;
67+
drive-strength = "medium";
68+
};
69+
};
70+
};
71+
72+
&zephyr_lcdif {
73+
pinctrl-0 = <&glcdc_default>;
74+
pinctrl-names = "default";
75+
output-pin-hsync = "TCON_PIN_1";
76+
output-pin-vsync = "TCON_PIN_0";
77+
output-pin-de = "TCON_PIN_2";
78+
};
79+
80+
&iic1 {
81+
status = "okay";
82+
#address-cells = <1>;
83+
#size-cells = <0>;
84+
clock-frequency = <DT_FREQ_K(100)>;
85+
pinctrl-0 = <&iic1_default>;
86+
pinctrl-names = "default";
87+
};
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
.. _rtk7eka6m3b00001bu:
2+
3+
RTK7EKA6M3B00001BU Display
4+
##########################
5+
6+
Overview
7+
********
8+
9+
The Graphics Expansion Board includes a 4.3-inch 480x272 pixel TFT color LCD with a
10+
capacitive touch overlay.
11+
12+
This display uses a 40-pin connector header.
13+
14+
Pins Assignment of the Renesas RTK7EKA6M3B00001BU Display
15+
=========================================================
16+
17+
+-----------------+--------------------------+
18+
| Connector Pin | Function |
19+
+=================+==========================+
20+
| 1 | Display backlight enable |
21+
+-----------------+--------------------------+
22+
| 2 | Touch ctrl I2C SDA |
23+
+-----------------+--------------------------+
24+
| 3 | External interrupt |
25+
+-----------------+--------------------------+
26+
| 4 | Touch ctrl I2C SCL |
27+
+-----------------+--------------------------+
28+
| 6 | Display reset |
29+
+-----------------+--------------------------+
30+
31+
Hardware Requirements:
32+
**********************
33+
34+
Supported Renesas RA boards: EK-RA8D1
35+
36+
- 1 x RA Board
37+
- 1 x Micro USB cable
38+
39+
Hardware Configuration:
40+
***********************
41+
42+
The Graphics Expansion Port (J57) connects the EK-RA8D1 board to the Graphics Expansion Board
43+
supplied as part of the kit.
44+
45+
Set the configuration switches (SW1) as below to avoid potential failures.
46+
+-------------+-------------+--------------+------------+------------+------------+-------------+-----------+
47+
| SW1-1 PMOD1 | SW1-2 TRACE | SW1-3 CAMERA | SW1-4 ETHA | SW1-5 ETHB | SW1-6 GLCD | SW1-7 SDRAM | SW1-8 I3C |
48+
+-------------+-------------+--------------+------------+------------+------------+-------------+-----------+
49+
| OFF | OFF | OFF | OFF | OFF | ON | ON | OFF |
50+
+-------------+-------------+--------------+------------+------------+------------+-------------+-----------+
51+
52+
Programming
53+
***********
54+
55+
Set ``--shield=rtk7eka6m3b00001bu`` when you invoke ``west build``. For
56+
example:
57+
58+
.. zephyr-app-commands::
59+
:zephyr-app: tests/drivers/display/display_read_write
60+
:board: ek_ra8d1
61+
:shield: rtk7eka6m3b00001bu
62+
:goals: build
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
* Copyright (c) 2025 Renesas Electronics Corporation
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <zephyr/dt-bindings/display/panel.h>
8+
9+
/ {
10+
chosen {
11+
zephyr,display = &zephyr_lcdif;
12+
};
13+
14+
lvgl_pointer {
15+
compatible = "zephyr,lvgl-pointer-input";
16+
input = <&ft5336_rtk7eka6m3b00001bu>;
17+
};
18+
};
19+
20+
&iic1 {
21+
status = "okay";
22+
ft5336_rtk7eka6m3b00001bu: ft5336-rtk7eka6m3b00001bu@38 {
23+
compatible = "focaltech,ft5336";
24+
reg = <0x38>;
25+
int-gpios = <&renesas_parallel_graphics_connector 3 GPIO_ACTIVE_HIGH>;
26+
};
27+
};
28+
29+
&zephyr_lcdif {
30+
status = "okay";
31+
width = <480>;
32+
height = <272>;
33+
input-pixel-format = <PANEL_PIXEL_FORMAT_RGB_888>;
34+
output-pixel-format = <PANEL_PIXEL_FORMAT_RGB_888>;
35+
display-timings {
36+
compatible = "zephyr,panel-timing";
37+
hsync-len = <1>;
38+
hback-porch = <40>;
39+
vsync-len = <1>;
40+
vback-porch = <8>;
41+
hsync-active = <0>;
42+
vsync-active = <0>;
43+
de-active = <1>;
44+
pixelclk-active = <0>;
45+
hfront-porch = <4>;
46+
vfront-porch = <35>;
47+
};
48+
backlight-gpios = <&renesas_parallel_graphics_connector 1 GPIO_ACTIVE_HIGH>;
49+
};

0 commit comments

Comments
 (0)