From ea22619e44dea9118442c45b33cf243ed2d85021 Mon Sep 17 00:00:00 2001 From: yc hou Date: Thu, 3 Aug 2017 17:42:13 +0800 Subject: [PATCH] Add WaveShare 3.2 touch screen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For screen calibration, it also need to modify 40-libinput.conf in /usr/share/X11/xorg.conf.d/ Change-Id: I03274dc76764aa635d862b8c7e8a61f5f4a372b3 Reviewed-on: https://tp-biosrd-v02/gerrit/80156 Reviewed-by: Scorpio Chang(張志賢) Tested-by: Scorpio Chang(張志賢) --- arch/arm/boot/dts/overlays/Makefile | 1 + .../overlays/waveshare32b-tinker-overlay.dts | 70 +++++++++++++++++++ arch/arm/configs/miniarm-rk3288_defconfig | 26 ------- 3 files changed, 71 insertions(+), 26 deletions(-) create mode 100644 arch/arm/boot/dts/overlays/waveshare32b-tinker-overlay.dts diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile index 3d60f1b4b073..54e76aadbb3d 100755 --- a/arch/arm/boot/dts/overlays/Makefile +++ b/arch/arm/boot/dts/overlays/Makefile @@ -3,6 +3,7 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \ hifiberry-dac-amp.dtbo \ waveshare35a-tinker.dtbo \ + waveshare32b-tinker.dtbo \ targets += dtbs dtbs_install targets += $(dtbo-y) diff --git a/arch/arm/boot/dts/overlays/waveshare32b-tinker-overlay.dts b/arch/arm/boot/dts/overlays/waveshare32b-tinker-overlay.dts new file mode 100644 index 000000000000..ea6ff9c4acae --- /dev/null +++ b/arch/arm/boot/dts/overlays/waveshare32b-tinker-overlay.dts @@ -0,0 +1,70 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "rockchip,rk3288-miniarm", "rockchip,rk3288"; + + fragment@0 { + target = <&spi2>; + + __overlay__ { + status = "okay"; + + spidev@0 { + status = "disabled"; + }; + + spidev@1 { + status = "disabled"; + }; + }; + }; + + fragment@1 { + target = <&gpio5>; + + __overlay__ { + waveshare32b_pins: waveshare32b_pins { + rockchip,pins = <5 12 0 &pcfg_pull_none>, + <5 14 0 &pcfg_pull_none>, + <5 15 0 &pcfg_pull_none>; + }; + }; + }; + + fragment@2 { + target = <&spi2>; + + __overlay__ { + #address-cells = <0x1>; + #size-cells = <0x0>; + + waveshare32b@0 { + compatible = "ilitek,ili9340"; + reg = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&waveshare32b_pins>; + spi-max-frequency = <16000000>; + txbuflen = <32768>; + rotate = <270>; + bgr = <0>; + fps = <25>; + buswidth = <8>; + reset-gpios = <&gpio5 14 0>; + dc-gpios = <&gpio5 15 0>; + debug = <0>; + }; + + waveshare32b-ts@1 { + compatible = "ti,ads7846"; + reg = <1>; + spi-max-frequency = <2000000>; + interrupts = <12 2>; + interrupt-parent = <&gpio5>; + pendown-gpio = <&gpio5 12 0>; + ti,x-plate-ohms = /bits/ 16 <60>;/*[00 3c];*/ + ti,pressure-max = /bits/ 16 <255>;/*[00 ff];*/ + }; + }; + }; +}; diff --git a/arch/arm/configs/miniarm-rk3288_defconfig b/arch/arm/configs/miniarm-rk3288_defconfig index 33fc0bd4d682..603d0d9468ed 100755 --- a/arch/arm/configs/miniarm-rk3288_defconfig +++ b/arch/arm/configs/miniarm-rk3288_defconfig @@ -611,34 +611,8 @@ CONFIG_DMADEVICES=y CONFIG_PL330_DMA=y CONFIG_STAGING=y CONFIG_FB_TFT=y -CONFIG_FB_TFT_AGM1264K_FL=y -CONFIG_FB_TFT_BD663474=y -CONFIG_FB_TFT_HX8340BN=y -CONFIG_FB_TFT_HX8347D=y -CONFIG_FB_TFT_HX8353D=y -CONFIG_FB_TFT_HX8357D=y -CONFIG_FB_TFT_ILI9163=y -CONFIG_FB_TFT_ILI9320=y -CONFIG_FB_TFT_ILI9325=y CONFIG_FB_TFT_ILI9340=y -CONFIG_FB_TFT_ILI9341=y -CONFIG_FB_TFT_ILI9481=y CONFIG_FB_TFT_ILI9486=y -CONFIG_FB_TFT_PCD8544=y -CONFIG_FB_TFT_RA8875=y -CONFIG_FB_TFT_S6D02A1=y -CONFIG_FB_TFT_S6D1121=y -CONFIG_FB_TFT_SSD1289=y -CONFIG_FB_TFT_SSD1306=y -CONFIG_FB_TFT_SSD1331=y -CONFIG_FB_TFT_SSD1351=y -CONFIG_FB_TFT_ST7735R=y -CONFIG_FB_TFT_ST7789V=y -CONFIG_FB_TFT_TINYLCD=y -CONFIG_FB_TFT_TLS8204=y -CONFIG_FB_TFT_UC1701=y -CONFIG_FB_TFT_UPD161704=y -CONFIG_FB_TFT_WATTEROTT=y CONFIG_FB_FLEX=y CONFIG_FB_TFT_FBTFT_DEVICE=y CONFIG_SENSORS_ISL29018=y