brcm2708: add kernel 4.14 support
[openwrt/staging/lynxis.git] / target / linux / brcm2708 / patches-4.14 / 950-0164-overlays-Add-EETI-EXC3000-overlay.patch
1 From e141a75b9cc36a09eb8bda90b530d97a9bb1f21e Mon Sep 17 00:00:00 2001
2 From: Ahmet Inan <inan@aicodix.de>
3 Date: Fri, 1 Sep 2017 15:18:01 +0200
4 Subject: [PATCH 164/454] overlays: Add EETI EXC3000 overlay
5
6 Add support for I2C connected EETI EXC3000 multiple touch controller
7 using GPIO 4 (pin 7 on GPIO header) for interrupt.
8
9 Signed-off-by: Ahmet Inan <inan@aicodix.de>
10 ---
11 arch/arm/boot/dts/overlays/Makefile | 1 +
12 arch/arm/boot/dts/overlays/README | 12 +++++
13 .../arm/boot/dts/overlays/exc3000-overlay.dts | 48 +++++++++++++++++++
14 3 files changed, 61 insertions(+)
15 create mode 100644 arch/arm/boot/dts/overlays/exc3000-overlay.dts
16
17 --- a/arch/arm/boot/dts/overlays/Makefile
18 +++ b/arch/arm/boot/dts/overlays/Makefile
19 @@ -26,6 +26,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
20 dwc2.dtbo \
21 enc28j60.dtbo \
22 enc28j60-spi2.dtbo \
23 + exc3000.dtbo \
24 fe-pi-audio.dtbo \
25 goodix.dtbo \
26 googlevoicehat-soundcard.dtbo \
27 --- a/arch/arm/boot/dts/overlays/README
28 +++ b/arch/arm/boot/dts/overlays/README
29 @@ -468,6 +468,18 @@ Params: int_pin GPIO use
30 speed SPI bus speed (default 12000000)
31
32
33 +Name: exc3000
34 +Info: Enables I2C connected EETI EXC3000 multiple touch controller using
35 + GPIO 4 (pin 7 on GPIO header) for interrupt.
36 +Load: dtoverlay=exc3000,<param>=<val>
37 +Params: interrupt GPIO used for interrupt (default 4)
38 + sizex Touchscreen size x (default 4096)
39 + sizey Touchscreen size y (default 4096)
40 + invx Touchscreen inverted x axis
41 + invy Touchscreen inverted y axis
42 + swapxy Touchscreen swapped x y axis
43 +
44 +
45 Name: fe-pi-audio
46 Info: Configures the Fe-Pi Audio Sound Card
47 Load: dtoverlay=fe-pi-audio
48 --- /dev/null
49 +++ b/arch/arm/boot/dts/overlays/exc3000-overlay.dts
50 @@ -0,0 +1,48 @@
51 +// Device tree overlay for I2C connected EETI EXC3000 multiple touch controller
52 +/dts-v1/;
53 +/plugin/;
54 +
55 +/ {
56 + compatible = "brcm,bcm2708";
57 +
58 + fragment@0 {
59 + target = <&gpio>;
60 + __overlay__ {
61 + exc3000_pins: exc3000_pins {
62 + brcm,pins = <4>; // interrupt
63 + brcm,function = <0>; // in
64 + brcm,pull = <2>; // pull-up
65 + };
66 + };
67 + };
68 +
69 + fragment@1 {
70 + target = <&i2c1>;
71 + __overlay__ {
72 + #address-cells = <1>;
73 + #size-cells = <0>;
74 + status = "okay";
75 +
76 + exc3000: exc3000@2a {
77 + compatible = "eeti,exc3000";
78 + reg = <0x2a>;
79 + pinctrl-names = "default";
80 + pinctrl-0 = <&exc3000_pins>;
81 + interrupt-parent = <&gpio>;
82 + interrupts = <4 8>; // active low level-sensitive
83 + touchscreen-size-x = <4096>;
84 + touchscreen-size-y = <4096>;
85 + };
86 + };
87 + };
88 +
89 + __overrides__ {
90 + interrupt = <&exc3000_pins>,"brcm,pins:0",
91 + <&exc3000>,"interrupts:0";
92 + sizex = <&exc3000>,"touchscreen-size-x:0";
93 + sizey = <&exc3000>,"touchscreen-size-y:0";
94 + invx = <&exc3000>,"touchscreen-inverted-x?";
95 + invy = <&exc3000>,"touchscreen-inverted-y?";
96 + swapxy = <&exc3000>,"touchscreen-swapped-x-y?";
97 + };
98 +};