4f8b350be0
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
92 lines
2.7 KiB
Diff
92 lines
2.7 KiB
Diff
From c0dfc87e355a7c6e434122e1a4fcc69729970610 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Hsu <hsu@distec.de>
|
|
Date: Mon, 8 Apr 2019 17:06:44 +0200
|
|
Subject: [PATCH 420/806] BCM2708: Add core Device Tree support, ilitek251x
|
|
|
|
Signed-off-by: Samuel Hsu <hsu@distec.de>
|
|
---
|
|
arch/arm/boot/dts/overlays/Makefile | 1 +
|
|
arch/arm/boot/dts/overlays/README | 11 +++++
|
|
.../boot/dts/overlays/ilitek251x-overlay.dts | 45 +++++++++++++++++++
|
|
3 files changed, 57 insertions(+)
|
|
create mode 100644 arch/arm/boot/dts/overlays/ilitek251x-overlay.dts
|
|
|
|
--- a/arch/arm/boot/dts/overlays/Makefile
|
|
+++ b/arch/arm/boot/dts/overlays/Makefile
|
|
@@ -67,6 +67,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
|
i2c0-bcm2708.dtbo \
|
|
i2c1-bcm2708.dtbo \
|
|
i2s-gpio28-31.dtbo \
|
|
+ ilitek251x.dtbo \
|
|
iqaudio-dac.dtbo \
|
|
iqaudio-dacplus.dtbo \
|
|
iqaudio-digi-wm8804-audio.dtbo \
|
|
--- a/arch/arm/boot/dts/overlays/README
|
|
+++ b/arch/arm/boot/dts/overlays/README
|
|
@@ -1146,6 +1146,17 @@ Load: dtoverlay=i2s-gpio28-31
|
|
Params: <None>
|
|
|
|
|
|
+Name: ilitek251x
|
|
+Info: Enables I2C connected Ilitek 251x multiple touch controller using
|
|
+ GPIO 4 (pin 7 on GPIO header) for interrupt.
|
|
+Load: dtoverlay=ilitek251x,<param>=<val>
|
|
+Params: interrupt GPIO used for interrupt (default 4)
|
|
+ sizex Touchscreen size x, horizontal resolution of
|
|
+ touchscreen (in pixels)
|
|
+ sizey Touchscreen size y, vertical resolution of
|
|
+ touchscreen (in pixels)
|
|
+
|
|
+
|
|
Name: iqaudio-dac
|
|
Info: Configures the IQaudio DAC audio card
|
|
Load: dtoverlay=iqaudio-dac,<param>
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/ilitek251x-overlay.dts
|
|
@@ -0,0 +1,45 @@
|
|
+// Device tree overlay for I2C connected Ilitek multiple touch controller
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+ / {
|
|
+ compatible = "brcm,bcm2708";
|
|
+
|
|
+ fragment@0 {
|
|
+ target = <&gpio>;
|
|
+ __overlay__ {
|
|
+ ili251x_pins: ili251x_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";
|
|
+
|
|
+ ili251x: ili251x@41 {
|
|
+ compatible = "ilitek,ili251x";
|
|
+ reg = <0x41>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&ili251x_pins>;
|
|
+ interrupt-parent = <&gpio>;
|
|
+ interrupts = <4 8>; // high-to-low edge triggered
|
|
+ touchscreen-size-x = <16384>;
|
|
+ touchscreen-size-y = <9600>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ __overrides__ {
|
|
+ interrupt = <&ili251x_pins>,"brcm,pins:0",
|
|
+ <&ili251x>,"interrupts:0";
|
|
+ sizex = <&ili251x>,"touchscreen-size-x:0";
|
|
+ sizey = <&ili251x>,"touchscreen-size-y:0";
|
|
+ };
|
|
+};
|