Verdin DSI to LVDS adapter Atium Designer PCB project

Dear @collin.tx ,

Your instructions did work as intended, we’ve managed to enable the chipone_icn8318 module on the system. We also added an entry to the device tree as you’ve suggested earlier with the i2c part looking like this

/* Verdin I2C_1 */
&main_i2c1 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";
 
	lvds_ti_sn65dsi84: bridge@2c {
		compatible = "ti,sn65dsi84";
		reg = <0x2c>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_dsi1_bkl_en>;
		/* Verdin Verdin DSI_1_INT# (SN65DSI84 IRQ, SODIMM 17, unused) */
		/* Verdin DSI_1_BKL_EN (SODIMM 21) */
		enable-gpios = <&main_gpio0 30 GPIO_ACTIVE_HIGH>;
 
		ports {
			#address-cells = <1>;
			#size-cells = <0>;
 
			port@0 {
				reg = <0>;
 
				dsi84_in: endpoint {
					data-lanes = <1 2 3 4>;
					remote-endpoint = <&mipi_dsi_bridge1_out>;
				};
			};
 
			port@2 {
				reg = <2>;
 
				lvds_out_panel: endpoint {
					remote-endpoint = <&panel_in_lvds>;
				};
			};
		};
	};
 
	chipone_icn8318: touchscreen@48 {
		compatible = "chipone,icn8318";
		reg = <0x48>;
		/*
		 * Verdin DSI_1_INT#
		 * (TOUCH_INT#, SODIMM 17, also routed to SN65DSI84 IRQ albeit currently unused)
		 */
		interrupt-parent = <&main_gpio1>;
		interrupts = <49 IRQ_TYPE_EDGE_FALLING>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_dsi1_int>, <&pinctrl_i2s_2_bclk_gpio>;
		/* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */
		reset-gpios = <&main_gpio0 35 GPIO_ACTIVE_LOW>;
		wake-gpios = <&main_gpio0 36 GPIO_ACTIVE_HIGH>;
		touchscreen-size-x = <1024>;
		touchscreen-size-y = <600>;
	};
};

Unfortunately, the touch still doesn’t work. We’ve also tried a similar case with a different panel that uses the ILI2132 driver and it worked correctly when we followed a different thread from here Riverdi ILI2132A Touch Screen Driver on Colibri-IMX8QXP & Iris 2.0 - Technical Support - Toradex Community.

The dmesg returned a line
input: icn8318 as /devices/platform/bus@f0000/20010000.i2c/i2c-1/1-0048/input/input1

And when I used evtest on /dev/input/event1 it gave me details on the chipone driver

Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "icn8318"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max     1023
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max      599
    Event code 47 (ABS_MT_SLOT)
      Value      0
      Min        0
      Max        4
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max     1023
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max      599
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max    65535
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)

The i2cdetect -y -r 1 register 48 changed to UU after applying the correct devicetree

Maybe there is something I’ve missed in the i2c section of the devicetree?