xref: /freebsd/sys/contrib/device-tree/Bindings/input/touchscreen/chipone_icn8318.txt (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1* ChipOne icn8318 I2C touchscreen controller
2
3Required properties:
4 - compatible		  : "chipone,icn8318"
5 - reg			  : I2C slave address of the chip (0x40)
6 - interrupts		  : interrupt specification for the icn8318 interrupt
7 - wake-gpios		  : GPIO specification for the WAKE input
8 - touchscreen-size-x	  : horizontal resolution of touchscreen (in pixels)
9 - touchscreen-size-y	  : vertical resolution of touchscreen (in pixels)
10
11Optional properties:
12 - pinctrl-names	  : should be "default"
13 - pinctrl-0:		  : a phandle pointing to the pin settings for the
14			    control gpios
15 - touchscreen-fuzz-x	  : horizontal noise value of the absolute input
16			    device (in pixels)
17 - touchscreen-fuzz-y	  : vertical noise value of the absolute input
18			    device (in pixels)
19 - touchscreen-inverted-x : X axis is inverted (boolean)
20 - touchscreen-inverted-y : Y axis is inverted (boolean)
21 - touchscreen-swapped-x-y	  : X and Y axis are swapped (boolean)
22			    Swapping is done after inverting the axis
23
24Example:
25
26i2c@00000000 {
27	/* ... */
28
29	chipone_icn8318@40 {
30		compatible = "chipone,icn8318";
31		reg = <0x40>;
32		interrupt-parent = <&pio>;
33		interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* EINT9 (PG9) */
34		pinctrl-names = "default";
35		pinctrl-0 = <&ts_wake_pin_p66>;
36		wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
37		touchscreen-size-x = <800>;
38		touchscreen-size-y = <480>;
39		touchscreen-inverted-x;
40		touchscreen-swapped-x-y;
41	};
42
43	/* ... */
44};
45