Dear,
I recently upgraded my project from NCS 2.4.0 to NCS 2.9.0 and encountered an issue with the ST7789V display driver.
Previously, I used SPI0 to interface with the ST7789V display, and the configuration in my device tree worked fine. However, after upgrading to NCS 2.9.0, I noticed that the driver type for ST7789V has changed to MIPI-DBI, and my previous device tree configuration is no longer applicable.
I have reviewed the nRF Connect SDK documentation, but I could not find any clear guidance on how to correctly configure MIPI-DBI for ST7789V in the new version. Below is my previous device tree configuration that worked in NCS 2.4.0:
&spi0 {
st7789v@0 {
compatible = "sitronix,st7789v";
reg = <0x0>;
cmd-data-gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
label = "ST7789V";
status = "okay";
spi-max-frequency = <2000000>;
width = <240>;
height = <280>;
x-offset = <0>;
y-offset = <20>;
vcom = <0x32>;
gctrl = <0x35>;
vrhs = <0x15>;
mdac = <0x00>;
gamma = <0x01>;
colmod = <0x55>;
lcm = <0x2c>;
porch-param = [0c 0c 00 33 33];
cmd2en-param = [5a 69 02 01];
pwctrl1-param = [a4 a1];
pvgam-param = [d0 08 0e 09 09 05 31 33 48 17 14 15 31 34];
nvgam-param = [d0 08 0e 09 09 15 31 33 48 17 14 15 31 34];
ram-param = [00 f8];
rgb-param = [cd 08 14];
vdvs = <0x20>;
reset-gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
supply-gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
};
status = "okay";
cs-gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
};
&spi0_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 3)>, <NRF_PSEL(SPIM_MOSI, 0, 4)>;
};
};
/ {
chosen {
zephyr,display = &{/soc/spi@40003000/st7789v@0/};
};
};
Could you please advise on:
- How to correctly configure the device tree for ST7789V using MIPI-DBI in NCS 2.9.0?
- Are there any specific changes in the SPI or display subsystem that I need to consider?
- Is there an example or reference documentation available for migrating from the old driver to the new one?
I appreciate your support and look forward to your guidance.
Best regards,
emmovo