Zephyr ILI9341 Display Driver Compilation Errors - Missing Devicetree Properties

I'm trying to use an ILI9341 display with nRF52840 in Zephyr (v4.1.99). The build fails with multiple errors about missing Devicetree properties when compiling display_ili9xxx.c:

error: 'DT_N_S_soc_S_spi_40003000_S_ili9341_0_P_gamset_LEN' undeclared
error: 'DT_N_S_soc_S_spi_40003000_S_ili9341_0_P_ifctl' undeclared
error: 'DT_N_S_soc_S_spi_40003000_S_ili9341_0_P_etmod' undeclared
[20+ similar property errors...]

This is my overlay file:

&spi1 {
    status = "okay";
    cs-gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;

    ili9341: ili9341@0 {
        compatible = "ilitek,ili9341";
        reg = <0>;
        spi-max-frequency = <8000000>;
        
        // Add these required properties:
        spi-cpol;
        spi-cpha;
        
        dc-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
        reset-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
        backlight-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;

        // Add display inversion mode (try true or false)
        display-inversion;
        // or display-inversion = <1>; 
        // or display-inversion = <0>; if the first doesn't work

        width = <240>;
        height = <320>;
        rotation = <0>;
        
        // These might help if you still have issues:
        pixel-format = "rgb565";
        // cmd-data-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; // Alternative to dc-gpios
    };
};

I tried fixing the issue by modifying the prj.conf file, but it's still not working. Here's my current prj.conf:

CONFIG_SPI=y
CONFIG_GPIO=y
CONFIG_DISPLAY=y
CONFIG_DISPLAY_INIT_PRIORITY=90
CONFIG_ILI9341=y

This is part from zephyr.dts which include spi1:

spi1: spi@40004000 {
			compatible = "nordic,nrf-spi";
			#address-cells = < 0x1 >;
			#size-cells = < 0x0 >;
			reg = < 0x40004000 0x1000 >;
			interrupts = < 0x4 0x1 >;
			max-frequency = < 0x7a1200 >;
			easydma-maxcnt-bits = < 0x10 >;
			status = "okay";
			pinctrl-0 = < &spi1_default >;
			pinctrl-1 = < &spi1_sleep >;
			pinctrl-names = "default", "sleep";
			cs-gpios = < &gpio0 0xf 0x1 >;
			ili9341: ili9341@0 {
				compatible = "ilitek,ili9341";
				reg = < 0x0 >;
				spi-max-frequency = < 0x7a1200 >;
				spi-cpol;
				spi-cpha;
				dc-gpios = < &gpio0 0xe 0x1 >;
				reset-gpios = < &gpio0 0xd 0x1 >;
				backlight-gpios = < &gpio0 0x10 0x0 >;
				display-inversion;
				width = < 0xf0 >;
				height = < 0x140 >;
				rotation = < 0x0 >;
				pixel-format = "rgb565";
			};
		};

Parents Reply Children
No Data
Related