Skip to content

Commit 0da5142

Browse files
WinteriWangcfriedt
authored andcommitted
boards: nxp: add shield of 7inch DSI LCD(C) for FRDM_IMX93
The panel is 7inchi DSI LCD on i2c bus. Also added display into feature list. Signed-off-by: Winteri Wang <[email protected]> Signed-off-by: Ruoshan Shi <[email protected]>
1 parent 25b2de3 commit 0da5142

File tree

7 files changed

+181
-0
lines changed

7 files changed

+181
-0
lines changed

boards/nxp/frdm_imx93/frdm_imx93_mimx9352_a55.dts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,3 +192,5 @@
192192
&tpm2 {
193193
status = "okay";
194194
};
195+
196+
display_i2c: &lpi2c1 {};
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#
2+
# Copyright 2025 NXP
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
#
6+
7+
if SHIELD_WAVESHARE_7INCH_DSI_LCD_C
8+
9+
if DISPLAY
10+
11+
if LVGL
12+
13+
config LV_Z_VDB_SIZE
14+
default 100
15+
16+
config LV_Z_DOUBLE_VDB
17+
default y
18+
19+
config LV_Z_BITS_PER_PIXEL
20+
default 32
21+
22+
config LV_Z_FULL_REFRESH
23+
default y
24+
25+
choice LV_COLOR_DEPTH
26+
default LV_COLOR_DEPTH_32
27+
endchoice
28+
29+
endif # LVGL
30+
31+
endif # DISPLAY
32+
33+
endif # SHIELD_7INCH_DSI_LCD_C
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#
2+
# Copyright 2025 NXP
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
#
6+
7+
config SHIELD_WAVESHARE_7INCH_DSI_LCD_C
8+
def_bool $(shields_list_contains,waveshare_7inch_dsi_lcd_c)
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/*
2+
* Copyright 2025 NXP
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <dt-bindings/mipi_dsi/mipi_dsi.h>
8+
9+
/ {
10+
chosen {
11+
zephyr,display = &lcdif;
12+
};
13+
14+
dram: memory@d0000000 {
15+
reg = <0xd0000000 DT_SIZE_M(64)>;
16+
};
17+
};
18+
19+
&media_blk_ctrl {
20+
status = "okay";
21+
};
22+
23+
&lcdif {
24+
width = <1024>;
25+
height = <600>;
26+
pixel-format = "argb-8888";
27+
media-axi-clk-rate = <400000000>;
28+
media-apb-clk-rate = <133333334>;
29+
status = "okay";
30+
31+
display-timings {
32+
compatible = "zephyr,panel-timing";
33+
hsync-len = <100>;
34+
hfront-porch = <100>;
35+
hback-porch = <100>;
36+
vsync-len = <10>;
37+
vfront-porch = <10>;
38+
vback-porch = <10>;
39+
de-active = <0>;
40+
pixelclk-active = <0>;
41+
hsync-active = <1>;
42+
vsync-active = <1>;
43+
clock-frequency = <50000000>;
44+
};
45+
};
46+
47+
&mipi_dsi {
48+
dpi-color-coding = "24-bit";
49+
dpi-video-mode = "non-burst-sync-pulse";
50+
dphy-ref-frequency = <24000000>;
51+
data-rate-clock = <600000000>;
52+
status = "okay";
53+
};
54+
55+
&display_i2c {
56+
status = "okay";
57+
};
58+
59+
&dsi_panel {
60+
mipi-dsi = <&mipi_dsi>;
61+
};
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
.. _waveshare_dsi_lcd:
2+
3+
WAVESHARE DSI LCD Panel
4+
########################
5+
6+
Overview
7+
********
8+
9+
The WAVESHARE DSI LCD Panel Shield is a universal driver shield.
10+
The shield can be used to drive various DSI LCD panel.
11+
12+
More information about the shield can be found
13+
-at the `WAVESHARE DSI LCD Panel website`_.
14+
15+
Current supported displays
16+
==========================
17+
18+
+--------------+------------------------------+
19+
| Display | Shield Designation |
20+
| | |
21+
+==============+==============================+
22+
| 7inch DSI | waveshare_7inch_dsi_lcd_c |
23+
| LCD(C) | |
24+
+--------------+------------------------------+
25+
26+
27+
Requirements
28+
************
29+
30+
This shield can only be used with a board that provides a configuration
31+
for MIPI DSI and defines node aliases for I2C interfaces
32+
(see :ref:`shields` for more details).
33+
34+
Programming
35+
***********
36+
37+
Correct shield designation (see the table above) for your display must
38+
be entered when you invoke ``west build``.
39+
For example:
40+
41+
.. zephyr-app-commands::
42+
:zephyr-app: samples/subsys/display/lvgl
43+
:board: frdm_imx93/mimx9352/a55
44+
:shield: waveshare_7inch_dsi_lcd_c
45+
:goals: build
46+
47+
References
48+
**********
49+
50+
.. target-notes::
51+
52+
.. _WAVESHARE DSI LCD Panel website:
53+
https://www.waveshare.com/product/displays/lcd-oled/7inch-dsi-lcd-c.htm
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
shield:
2+
name: waveshare_7inch_dsi_lcd_c
3+
full_name: Waveshare 7inch DSI LCD (C)
4+
vendor: waveshare
5+
supported_features:
6+
- display
7+
- input
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/*
2+
* Copyright 2025 NXP
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <dt-bindings/mipi_dsi/mipi_dsi.h>
8+
9+
&display_i2c {
10+
dsi_panel: waveshare_panel@45 {
11+
compatible = "waveshare,7inch-dsi-lcd-c";
12+
reg = <0x45>;
13+
data-lanes = <2>;
14+
pixel-format = <MIPI_DSI_PIXFMT_RGB888>;
15+
status = "okay";
16+
};
17+
};

0 commit comments

Comments
 (0)