ADS7846 device tree overlay for Waveshare 4inch_HDMI_LCD_(H) not taken into account by CM3

Hello,

I’m trying to use the Waveshare 4inch_HDMI_LCD_(H) with a Radxa CM3, on a RPI-CM4-IO board.
This is the .dts file we created to compile the .dtbo :

dtc -O dtb -o ads7846-touchscreen.dtbo ads7846-touchscreen.dts

/dts-v1/;
/plugin/;

/ {
compatible = “radxa,radxa-cm3-io”, “rockchip,rk3566”;

    fragment@0 {
            target = <&spi3>;
            __overlay__ {
                    #address-cells = <1>;
                    #size-cells = <0>;

                    ads7846: ads7846@0 {
                            compatible = "ti,ads7846";
                            reg = <1>; /* cs */
                            pinctrl-names = "default";
                            pinctrl-0 = <&spi3m0_cs1 &spi3m0_pins>; /* penirq penirq_pull */

                            spi-max-frequency = <50000>; /* speed */
                            interrupts = <255 2>; /* penirq */
                            interrupt-parent = <&gpio3>;
                            pendown-gpio = <&gpio3 118 0>; /* penirq */

                            ti,x-min = [00 c8]; /* xmin */
                            ti,y-min = [00 c8]; /* ymin */
                            ti,x-max = [0f 3c]; /* xmax */
                            ti,y-max = [0f 3c]; /* ymax */
                            ti,pressure-min = [00 00]; /* pmin */
                            ti,pressure-max = [00 ff]; /* pmax */
                            ti,x-plate-ohms = [00 96]; /* xohms */
                    };
            };
    };

};
To make the changes,we added it to the config.txt and made an update_extlinux.sh and the dtbo files dissapears, so we tried to add it directly to the extlinux.conf.

We don’t see anything in the dmesg.

The device tree overlay doesn’t seem to be taken into account.
The rk3568-spi3-m0-cs0-spidev.dtbo is activated.

We are on Linux radxa-cm3-io 4.19.193-58.

We manage to make it taken into account, by changing a bit the dts and without an update_extlinux:

/dts-v1/;
/plugin/;

/ {
compatible =“rockchip,rk3568”, “radxa,radxa-cm3-io”, “rockchip,rk3566”;

    fragment@0 {
            target = <&spi3>;
            __overlay__ {
                    #address-cells = <1>;
                    #size-cells = <0>;

                    ads7846: ads7846@1 {
                            compatible = "ti,ads7846";
                            reg = <1>; /* cs */
                            pinctrl-names = "default";
                            pinctrl-2 = <&spi3m0_cs1 &spi3m0_pins>; /* penirq penirq_pull */

                            spi-max-frequency = <50000>; /* speed */
                            interrupts = <255 2>; /* penirq */
                            interrupt-parent = <&gpio3>;
                            pendown-gpio = <&gpio3 118 0>; /* penirq */

                            ti,x-min = [00 c8]; /* xmin */
                            ti,y-min = [00 c8]; /* ymin */
                            ti,x-max = [0f 3c]; /* xmax */
                            ti,y-max = [0f 3c]; /* ymax */
                            ti,pressure-min = [00 00]; /* pmin */
                            ti,pressure-max = [00 ff]; /* pmax */
                            ti,x-plate-ohms = [00 96]; /* xohms */
                    };
            };
    };

};

but we have this error in dmesg :

[ 7.905011] Call trace:
[ 7.905023] irq_domain_associate+0x54/0x174
[ 7.905027] irq_create_mapping+0x178/0x1cc
[ 7.905031] irq_create_fwspec_mapping+0x2e0/0x348
[ 7.905033] irq_create_of_mapping+0x60/0x98
[ 7.905039] of_irq_get+0x8c/0xe4
[ 7.905045] spi_drv_probe+0x50/0xb4
[ 7.905050] really_probe+0x2a8/0x3a4
[ 7.905053] driver_probe_device+0x124/0x134
[ 7.905056] device_driver_attach+0x48/0x70
[ 7.905059] __driver_attach+0x13c/0x140
[ 7.905062] bus_for_each_dev+0x8c/0xd4
[ 7.905065] driver_attach+0x30/0x3c
[ 7.905068] bus_add_driver+0x1b4/0x1f8
[ 7.905074] driver_register+0xb0/0xe8
[ 7.957745] __spi_register_driver+0x5c/0x68
[ 7.957757] ads7846_driver_init+0x28/0x1000 [ads7846]
[ 7.957762] do_one_initcall+0xb0/0x1b8
[ 7.957767] do_init_module+0x64/0x1f0
[ 7.957772] load_module+0x1988/0x1ef8
[ 7.957776] __se_sys_finit_module+0xd8/0xf4
[ 7.957779] __arm64_sys_finit_module+0x24/0x30
[ 7.957786] el0_svc_common.constprop.0+0xf0/0x170
[ 7.976391] el0_svc_handler+0x70/0x8c
[ 7.976394] el0_svc+0x8/0xc
[ 7.976398] —[ end trace c1565163351a721d ]—
[ 7.976747] ads7846: probe of spi3.1 failed with error -22

Is the interrupt wrong ?