OpenWrt – Rev 1

Subversion Repositories:
Rev:
From e141a75b9cc36a09eb8bda90b530d97a9bb1f21e Mon Sep 17 00:00:00 2001
From: Ahmet Inan <inan@aicodix.de>
Date: Fri, 1 Sep 2017 15:18:01 +0200
Subject: [PATCH 164/454] 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 <inan@aicodix.de>
---
 arch/arm/boot/dts/overlays/Makefile           |  1 +
 arch/arm/boot/dts/overlays/README             | 12 +++++
 .../arm/boot/dts/overlays/exc3000-overlay.dts | 48 +++++++++++++++++++
 3 files changed, 61 insertions(+)
 create mode 100644 arch/arm/boot/dts/overlays/exc3000-overlay.dts

--- 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 \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -468,6 +468,18 @@ Params: int_pin                 GPIO use
         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,<param>=<val>
+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
--- /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?";
+       };
+};

Generated by GNU Enscript 1.6.5.90.