Hello,
I’m trying to add a touchscreen with eGalax controller to the device tree and edited the config provided by Toradex (Fusion display). Here is the example from the Linux Kernel repo:
* EETI eGalax Multiple Touch Controller
Required properties:
- compatible: must be "eeti,egalax_ts"
- reg: i2c slave address
- interrupts: touch controller interrupt
- wakeup-gpios: the gpio pin to be used for waking up the controller
and also used as irq pin
Example:
touchscreen@4 {
compatible = "eeti,egalax_ts";
reg = <0x04>;
interrupt-parent = <&gpio1>;
interrupts = <9 2>;
wakeup-gpios = <&gpio1 9 0>;
};
Here is my config:
&i2c4 {
status = "okay";
clock-frequency = <400000>; /* i2c bus frequency 400 KHz */
/* the PCAPs use SODIMM 28/30, also used for PWM<B>, PWM<C>, aka pwm2, pwm3.
so if you enable one of the PCAP controllers disable the pwms */
/* Atmel maxtouch controller */
atmel_mxt_ts: atmel_mxt_ts@4a {
compatible = "atmel,maxtouch";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpiotouch>;
reg = <0x4a>;
interrupt-parent = <&gpio1>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 */
reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; /* SODIMM 30 */
status = "disabled";
};
touch: touchscreen@4 {
compatible = "eeti,egalax_ts";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpiotouch>;
reg = <0x04>;
interrupt-parent = <&gpio1>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
wakeup-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
/* SODIMM 28, Pen down interrupt */
/* gpios = <&gpio1 9 GPIO_ACTIVE_HIGH */
/* SODIMM 30, Reset interrupt */
/* &gpio1 10 GPIO_ACTIVE_LOW */
/* >; */
status = "okay";
};
/* M41T0M6 real time clock on carrier board */
rtc: m41t0m6@68 {
compatible = "st,m41t0";
reg = <0x68>;
};
};
PWM2 and 3 are disabled. Do I have to stick to the iMX7 naming convention or the one from eGalax? I’m not sure about the GPIO/Interrupt mapping. The eGalax is not showing up when scanning with i2cdetect -y -r 3.
Thanks in advance
Sebastian