Skip to content

Commit 4ef64e7

Browse files
mmahadevan108kartben
authored andcommitted
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 <[email protected]>
1 parent bde0a78 commit 4ef64e7

File tree

5 files changed

+52
-0
lines changed

5 files changed

+52
-0
lines changed

boards/nxp/frdm_rw612/Kconfig.defconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,21 @@ if BOARD_FRDM_RW612
88
config NET_L2_ETHERNET
99
default y if DT_HAS_NXP_ENET_MAC_ENABLED && NETWORKING
1010

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

boards/nxp/frdm_rw612/doc/index.rst

Lines changed: 3 additions & 0 deletions
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

Lines changed: 12 additions & 0 deletions
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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,15 @@
4545
status = "okay";
4646
};
4747
};
48+
49+
nxp_lcd_pmod_connector: lcd-pmod-connector {
50+
compatible = "nxp,lcd-pmod";
51+
#gpio-cells = <2>;
52+
gpio-map-mask = <0xffffffff 0xfffffff0>;
53+
gpio-map-pass-thru = <0 0xf>;
54+
gpio-map = <10 0 &hsgpio1 12 0>, /* Pin 10, LCD and touch reset */
55+
<12 0 &hsgpio0 18 0>; /* Pin 11, LCD touch INT */
56+
};
4857
};
4958

5059
&flexcomm3 {
@@ -240,3 +249,13 @@ arduino_i2c: &flexcomm2 {
240249
pinctrl-0 = <&pinmux_flexcomm2_i2c>;
241250
pinctrl-names = "default";
242251
};
252+
253+
zephyr_mipi_dbi_spi: &lcdic {
254+
status = "okay";
255+
pinctrl-0 = <&pinmux_lcdic>;
256+
pinctrl-names = "default";
257+
};
258+
259+
nxp_pmod_touch_panel_i2c: &arduino_i2c {
260+
status = "okay";
261+
};

samples/drivers/display/sample.yaml

Lines changed: 1 addition & 0 deletions
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)