From f9f77f6d2b34fbdddbfdb00b7cfb039f038483cf Mon Sep 17 00:00:00 2001 From: Jeff LaBundy Date: Tue, 29 Jan 2019 19:35:45 -0600 Subject: [PATCH 1/2] configs: Enable Azoteq IQS550/572/525 This patch enables the Azoteq IQS550/572/525 trackpad/touchscreen controller as a module. Signed-off-by: Jeff LaBundy --- arch/arm/configs/bcm2709_defconfig | 1 + arch/arm/configs/bcm2711_defconfig | 1 + arch/arm/configs/bcmrpi_defconfig | 1 + arch/arm64/configs/bcm2711_defconfig | 1 + arch/arm64/configs/bcmrpi3_defconfig | 1 + 5 files changed, 5 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig index e844c6d6001144..902e7572e863e4 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig @@ -626,6 +626,7 @@ CONFIG_TOUCHSCREEN_EDT_FT5X06=m CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m +CONFIG_TOUCHSCREEN_IQS5XX=m CONFIG_INPUT_MISC=y CONFIG_INPUT_AD714X=m CONFIG_INPUT_ATI_REMOTE2=m diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig index edcc13e4906e60..29dae5a427e804 100644 --- a/arch/arm/configs/bcm2711_defconfig +++ b/arch/arm/configs/bcm2711_defconfig @@ -639,6 +639,7 @@ CONFIG_TOUCHSCREEN_EDT_FT5X06=m CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m +CONFIG_TOUCHSCREEN_IQS5XX=m CONFIG_INPUT_MISC=y CONFIG_INPUT_AD714X=m CONFIG_INPUT_ATI_REMOTE2=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig index 95a11f27dfad3f..e5363f9e719448 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -620,6 +620,7 @@ CONFIG_TOUCHSCREEN_EDT_FT5X06=m CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m +CONFIG_TOUCHSCREEN_IQS5XX=m CONFIG_INPUT_MISC=y CONFIG_INPUT_AD714X=m CONFIG_INPUT_ATI_REMOTE2=m diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig index 62c8654fb68b37..7420ccb807f241 100644 --- a/arch/arm64/configs/bcm2711_defconfig +++ b/arch/arm64/configs/bcm2711_defconfig @@ -638,6 +638,7 @@ CONFIG_TOUCHSCREEN_EDT_FT5X06=m CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m +CONFIG_TOUCHSCREEN_IQS5XX=m CONFIG_INPUT_MISC=y CONFIG_INPUT_AD714X=m CONFIG_INPUT_ATI_REMOTE2=m diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig index c4dff0b424614e..c7d9a50ec7130a 100644 --- a/arch/arm64/configs/bcmrpi3_defconfig +++ b/arch/arm64/configs/bcmrpi3_defconfig @@ -613,6 +613,7 @@ CONFIG_TOUCHSCREEN_EKTF2127=m CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m +CONFIG_TOUCHSCREEN_IQS5XX=m CONFIG_INPUT_MISC=y CONFIG_INPUT_AD714X=m CONFIG_INPUT_ATI_REMOTE2=m From c12127d163d1fb1183e958c829e3a0edc28ed060 Mon Sep 17 00:00:00 2001 From: Jeff LaBundy Date: Mon, 28 Jan 2019 23:11:47 -0600 Subject: [PATCH 2/2] overlays: Add overlay for Azoteq IQS550 This patch adds a device tree overlay for the Azoteq IQS550 trackpad/touchscreen controller. Signed-off-by: Jeff LaBundy --- arch/arm/boot/dts/overlays/Makefile | 1 + arch/arm/boot/dts/overlays/README | 13 ++++++ arch/arm/boot/dts/overlays/iqs550-overlay.dts | 46 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 arch/arm/boot/dts/overlays/iqs550-overlay.dts diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile index b925054d95e4e3..5a108f66c31f27 100644 --- a/arch/arm/boot/dts/overlays/Makefile +++ b/arch/arm/boot/dts/overlays/Makefile @@ -106,6 +106,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ iqaudio-dac.dtbo \ iqaudio-dacplus.dtbo \ iqaudio-digi-wm8804-audio.dtbo \ + iqs550.dtbo \ irs1125.dtbo \ jedec-spi-nor.dtbo \ justboom-both.dtbo \ diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README index 6b9a5ef7400a22..d48d47c23cf31d 100644 --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -1991,6 +1991,19 @@ Params: card_name Override the default, "IQAudIODigi", card name. dai stream name. +Name: iqs550 +Info: Enables I2C connected Azoteq IQS550 trackpad/touchscreen controller + using GPIO 4 (pin 7 on GPIO header) for interrupt. +Load: dtoverlay=iqs550,= +Params: interrupt GPIO used for interrupt (default 4) + reset GPIO used for reset (optional) + sizex Touchscreen size x (default 800) + sizey Touchscreen size y (default 480) + invx Touchscreen inverted x axis + invy Touchscreen inverted y axis + swapxy Touchscreen swapped x y axis + + Name: irs1125 Info: Infineon irs1125 TOF camera module. Uses Unicam 1, which is the standard camera connector on most Pi diff --git a/arch/arm/boot/dts/overlays/iqs550-overlay.dts b/arch/arm/boot/dts/overlays/iqs550-overlay.dts new file mode 100644 index 00000000000000..bb5a4d921962ba --- /dev/null +++ b/arch/arm/boot/dts/overlays/iqs550-overlay.dts @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +// Definitions for Azoteq IQS550 trackpad/touchscreen controller +/dts-v1/; +/plugin/; +#include +#include + +/ { + compatible = "brcm,bcm2835"; + + fragment@0 { + target = <&i2c1>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + iqs550: iqs550@74 { + compatible = "azoteq,iqs550"; + reg = <0x74>; + interrupt-parent = <&gpio>; + interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; + touchscreen-size-x = <800>; + touchscreen-size-y = <480>; + }; + }; + }; + + fragment@1 { + target = <&iqs550>; + iqs550_reset: __dormant__ { + reset-gpios = <&gpio 255 (GPIO_ACTIVE_LOW | + GPIO_PUSH_PULL)>; + }; + }; + + __overrides__ { + interrupt = <&iqs550>,"interrupts:0"; + reset = <0>,"+1", <&iqs550_reset>,"reset-gpios:4"; + sizex = <&iqs550>,"touchscreen-size-x:0"; + sizey = <&iqs550>,"touchscreen-size-y:0"; + invx = <&iqs550>,"touchscreen-inverted-x?"; + invy = <&iqs550>,"touchscreen-inverted-y?"; + swapxy = <&iqs550>,"touchscreen-swapped-x-y?"; + }; +};