From: Ahmet Inan Date: Fri, 1 Sep 2017 13:18:01 +0000 (+0200) Subject: overlays: Add EETI EXC3000 overlay X-Git-Tag: archive/raspbian/4.9.82-1+deb9u3+rpi1_jessie~5^2~41 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b2825eaa37ee9507083805ffaf0241fbd12f424c;p=linux-4.9.git overlays: Add EETI EXC3000 overlay Add support for I2C connected EETI EXC3000 multiple touch controller using GPIO 4 (pin 7 on GPIO header) for interrupt. Signed-off-by: Ahmet Inan --- diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile index 8090fee1d5a4..bc997af70665 100644 --- a/arch/arm/boot/dts/overlays/Makefile +++ b/arch/arm/boot/dts/overlays/Makefile @@ -26,6 +26,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ dwc2.dtbo \ enc28j60.dtbo \ enc28j60-spi2.dtbo \ + exc3000.dtbo \ fe-pi-audio.dtbo \ goodix.dtbo \ googlevoicehat-soundcard.dtbo \ diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README index 1cf89d6423ac..afc7eea8ced4 100644 --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -468,6 +468,18 @@ Params: int_pin GPIO used for INT (default 39) speed SPI bus speed (default 12000000) +Name: exc3000 +Info: Enables I2C connected EETI EXC3000 multiple touch controller using + GPIO 4 (pin 7 on GPIO header) for interrupt. +Load: dtoverlay=exc3000,= +Params: interrupt GPIO used for interrupt (default 4) + sizex Touchscreen size x (default 4096) + sizey Touchscreen size y (default 4096) + invx Touchscreen inverted x axis + invy Touchscreen inverted y axis + swapxy Touchscreen swapped x y axis + + Name: fe-pi-audio Info: Configures the Fe-Pi Audio Sound Card Load: dtoverlay=fe-pi-audio diff --git a/arch/arm/boot/dts/overlays/exc3000-overlay.dts b/arch/arm/boot/dts/overlays/exc3000-overlay.dts new file mode 100644 index 000000000000..c5694033d03f --- /dev/null +++ b/arch/arm/boot/dts/overlays/exc3000-overlay.dts @@ -0,0 +1,48 @@ +// Device tree overlay for I2C connected EETI EXC3000 multiple touch controller +/dts-v1/; +/plugin/; + +/ { + compatible = "brcm,bcm2708"; + + fragment@0 { + target = <&gpio>; + __overlay__ { + exc3000_pins: exc3000_pins { + brcm,pins = <4>; // interrupt + brcm,function = <0>; // in + brcm,pull = <2>; // pull-up + }; + }; + }; + + fragment@1 { + target = <&i2c1>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + exc3000: exc3000@2a { + compatible = "eeti,exc3000"; + reg = <0x2a>; + pinctrl-names = "default"; + pinctrl-0 = <&exc3000_pins>; + interrupt-parent = <&gpio>; + interrupts = <4 8>; // active low level-sensitive + touchscreen-size-x = <4096>; + touchscreen-size-y = <4096>; + }; + }; + }; + + __overrides__ { + interrupt = <&exc3000_pins>,"brcm,pins:0", + <&exc3000>,"interrupts:0"; + sizex = <&exc3000>,"touchscreen-size-x:0"; + sizey = <&exc3000>,"touchscreen-size-y:0"; + invx = <&exc3000>,"touchscreen-inverted-x?"; + invy = <&exc3000>,"touchscreen-inverted-y?"; + swapxy = <&exc3000>,"touchscreen-swapped-x-y?"; + }; +};