From 9c89311d7047bbc2412bf1cac50be3590abe4282 Mon Sep 17 00:00:00 2001 From: "charles.park" Date: Mon, 31 Dec 2018 11:33:22 +0900 Subject: [PATCH] ODROID-N2: ODROID 3.5" Touchscreen driver added Change-Id: I16f3db468278221dc1ba3ce76961e9bac2b4e548 --- .../arm64/boot/dts/amlogic/s922d_odroidn2.dts | 62 ++++++++++++++++--- 1 file changed, 54 insertions(+), 8 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/s922d_odroidn2.dts b/arch/arm64/boot/dts/amlogic/s922d_odroidn2.dts index 2e454f27620d..6ed5c7106f85 100644 --- a/arch/arm64/boot/dts/amlogic/s922d_odroidn2.dts +++ b/arch/arm64/boot/dts/amlogic/s922d_odroidn2.dts @@ -487,30 +487,76 @@ clock-frequency = <400000>; }; +&i2c3 { + /* default i2c clock-frequency is 100Khz */ + status = "okay"; + + /* Hardkernel I2C 3.5" Touchscreen */ + /* drivers/input/sx8650.c */ + sx865x: sx865x@49 { + status = "disabled"; + compatible = "semtech,sx8650"; + reg = <0x49>; + #clock-cells = <0>; + + /* H/W Pin control setup */ + /* ODROID-N2 */ + gpio-pendown = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>; + gpio-reset = <&gpio GPIOA_12 GPIO_ACTIVE_LOW>; + + /* platform data setup */ + invert-x = <0>; + invert-y = <1>; + swap-xy = <1>; + }; +}; + &spicc0 { status = "okay"; /* - 40 Pin Header : MOSI(GPIOX.8->19 Pin), MISO(GPIOX.9->21 Pin), - SPI0_CLK(GPIOX.11->23 Pin) - SPI_CE0(GPIOX.2->22 Pin), SPI_CE1(GPIOX.10->24 Pin) + 40 Pin Header : MOSI(GPIOX.8->19 Pin), MISO(GPIOX.9->21 Pin), + SPI0_CLK(GPIOX.11->23 Pin) + SPI_CE0(GPIOX.2->22 Pin), SPI_CE1(GPIOX.10->24 Pin) */ pinctrl-names = "default"; pinctrl-0 = <&spicc0_pins_x>; num_chipselect = <2>; - cs-gpios = <&gpio GPIOX_2 GPIO_ACTIVE_LOW>, <&gpio GPIOX_10 GPIO_ACTIVE_LOW>; + + cs-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>, + <&gpio GPIOA_4 GPIO_ACTIVE_LOW>; spidev@0 { + status = "okay"; + compatible = "linux,spidev"; /* spi default max clock 100Mhz */ spi-max-frequency = <100000000>; reg = <0>; }; - spidev@1 { - compatible = "linux,spidev"; - /* spi default max clock 100Mhz */ - spi-max-frequency = <100000000>; + + /* SPI 3.2" Touch Screen Define */ + ads7846@1 { + status = "disabled"; + + spi-max-frequency = <1000000>; + + compatible = "ti,ads7846"; + reg = <1>; + + /* ODROID-N2 Touch interrupt gpio */ + pendown-gpio = <&gpio GPIOX_3 GPIO_ACTIVE_HIGH>; + + ti,swap-xy = <1>; + ti,x-min = /bits/ 16 <0>; + ti,x-max = /bits/ 16 <8000>; + ti,y-min = /bits/ 16 <0>; + ti,y-max = /bits/ 16 <4800>; + ti,x-plate-ohms = /bits/ 16 <40>; + ti,pressure-max = /bits/ 16 <255>; + + linux,wakeup; }; };