Skip to content

Commit 59aa9a2

Browse files
committed
boards: frdm_rw612: Add Display support
Add support to work with the LCD-PAR-S035 display that is connected over the PMOD interface. Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
1 parent d85af06 commit 59aa9a2

File tree

5 files changed

+52
-0
lines changed

5 files changed

+52
-0
lines changed

boards/nxp/frdm_rw612/Kconfig.defconfig

+17
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,20 @@ config NET_L2_ETHERNET
99
default y if DT_HAS_NXP_ENET_MAC_ENABLED && NETWORKING
1010

1111
endif # BOARD_FRDM_RW612
12+
13+
if LVGL
14+
15+
# Enable DMA for LCDIC
16+
config MIPI_DBI_NXP_LCDIC_DMA
17+
default y if MIPI_DBI
18+
19+
# Increase descriptor count. LVGL will allocate a 30KB buffer,
20+
# and the SPI driver sets up RX and TX side. Since LPC DMA has
21+
# 1KB limit per descriptor, we need 60
22+
config DMA_MCUX_LPC_NUMBER_OF_DESCRIPTORS
23+
default 60
24+
25+
config LV_Z_FLUSH_THREAD
26+
default y
27+
28+
endif # LVGL

boards/nxp/frdm_rw612/doc/index.rst

+3
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ Supported Features
6969
+-----------+------------+-----------------------------------+
7070
| Wi-Fi | on-chip | Wi-Fi |
7171
+-----------+------------+-----------------------------------+
72+
| LCDIC | on-chip | mipi-dbi. Tested with |
73+
| | | :ref:`lcd_par_s035` |
74+
+-----------+------------+-----------------------------------+
7275

7376
The default configuration can be found in the defconfig file:
7477

boards/nxp/frdm_rw612/frdm_rw612-pinctrl.dtsi

+12
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,16 @@
6060
slew-rate = "normal";
6161
};
6262
};
63+
64+
pinmux_lcdic: pinmux_lcdic {
65+
group0 {
66+
pinmux = <IO_MUX_LCD_SPI_IO44
67+
IO_MUX_LCD_SPI_IO45
68+
IO_MUX_LCD_SPI_IO46
69+
IO_MUX_LCD_SPI_IO47
70+
IO_MUX_LCD_SPI_IO48
71+
IO_MUX_LCD_SPI_IO49>;
72+
slew-rate = "ultra";
73+
};
74+
};
6375
};

boards/nxp/frdm_rw612/frdm_rw612_common.dtsi

+19
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@
3333
gpios = <&hsgpio0 12 0>;
3434
};
3535
};
36+
37+
nxp_lcd_pmod_connector: lcd-pmod-connector {
38+
compatible = "nxp,lcd-pmod";
39+
#gpio-cells = <2>;
40+
gpio-map-mask = <0xffffffff 0xfffffff0>;
41+
gpio-map-pass-thru = <0 0xf>;
42+
gpio-map = <10 0 &hsgpio1 12 0>, /* Pin 10, LCD and touch reset */
43+
<12 0 &hsgpio0 18 0>; /* Pin 11, LCD touch INT */
44+
};
3645
};
3746

3847
&flexcomm3 {
@@ -228,3 +237,13 @@ arduino_i2c: &flexcomm2 {
228237
pinctrl-0 = <&pinmux_flexcomm2_i2c>;
229238
pinctrl-names = "default";
230239
};
240+
241+
zephyr_mipi_dbi_spi: &lcdic {
242+
status = "okay";
243+
pinctrl-0 = <&pinmux_lcdic>;
244+
pinctrl-names = "default";
245+
};
246+
247+
nxp_pmod_touch_panel_i2c: &arduino_i2c {
248+
status = "okay";
249+
};

samples/drivers/display/sample.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,5 @@ tests:
107107
- platform:frdm_mcxn947/mcxn947/cpu0:SHIELD=lcd_par_s035_8080
108108
- platform:frdm_mcxn236/mcxn236:SHIELD=lcd_par_s035_8080
109109
- platform:frdm_mcxa156/mcxa156:SHIELD=lcd_par_s035_8080
110+
- platform:frdm_rw612:SHIELD=lcd_par_s035_spi
110111
- platform:ek_ra8d1:SHIELD=rtkmipilcdb00000be

0 commit comments

Comments
 (0)