Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

Azoteq IQS550/572/525 Trackpad/Touchscreen Controller

Required properties:

- compatible			: Must be equal to one of the following:
				  "azoteq,iqs550"
				  "azoteq,iqs572"
				  "azoteq,iqs525"

- reg				: I2C slave address for the device.

- interrupts			: GPIO to which the device's active-high RDY
				  output is connected (see [0]).

- reset-gpios			: GPIO to which the device's active-low NRST
				  input is connected (see [1]).

Optional properties:

- touchscreen-min-x		: See [2].

- touchscreen-min-y		: See [2].

- touchscreen-size-x		: See [2]. If this property is omitted, the
				  maximum x-coordinate is specified by the
				  device's "X Resolution" register.

- touchscreen-size-y		: See [2]. If this property is omitted, the
				  maximum y-coordinate is specified by the
				  device's "Y Resolution" register.

- touchscreen-max-pressure	: See [2]. Pressure is expressed as the sum of
				  the deltas across all channels impacted by a
				  touch event. A channel's delta is calculated
				  as its count value minus a reference, where
				  the count value is inversely proportional to
				  the channel's capacitance.

- touchscreen-fuzz-x		: See [2].

- touchscreen-fuzz-y		: See [2].

- touchscreen-fuzz-pressure	: See [2].

- touchscreen-inverted-x	: See [2]. Inversion is applied relative to that
				  which may already be specified by the device's
				  FLIP_X and FLIP_Y register fields.

- touchscreen-inverted-y	: See [2]. Inversion is applied relative to that
				  which may already be specified by the device's
				  FLIP_X and FLIP_Y register fields.

- touchscreen-swapped-x-y	: See [2]. Swapping is applied relative to that
				  which may already be specified by the device's
				  SWITCH_XY_AXIS register field.

[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
[1]: Documentation/devicetree/bindings/gpio/gpio.txt
[2]: Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt

Example:

	&i2c1 {
		/* ... */

		touchscreen@74 {
			compatible = "azoteq,iqs550";
			reg = <0x74>;
			interrupt-parent = <&gpio>;
			interrupts = <17 4>;
			reset-gpios = <&gpio 27 1>;

			touchscreen-size-x = <640>;
			touchscreen-size-y = <480>;

			touchscreen-max-pressure = <16000>;
		};

		/* ... */
	};