OpenWrt – Rev 4

Subversion Repositories:
Rev:
From a3d3b80d8a028e7cec393c02c1a96c5e632e7b30 Mon Sep 17 00:00:00 2001
From: Hans-Wilhelm Warlo <5417271+hanswilw@users.noreply.github.com>
Date: Tue, 16 Oct 2018 18:20:48 +0200
Subject: [PATCH 431/454] Add hy28b 2017 model device tree overlay (#2721)

The 2017 version of the hy28b display requires a different
initialisation sequence.

Signed-off-by: Hans-Wilhelm Warlo <hw@warlo.no>
---
 arch/arm/boot/dts/overlays/Makefile           |   1 +
 arch/arm/boot/dts/overlays/README             |  19 +++
 .../boot/dts/overlays/hy28b-2017-overlay.dts  | 152 ++++++++++++++++++
 3 files changed, 172 insertions(+)
 create mode 100644 arch/arm/boot/dts/overlays/hy28b-2017-overlay.dts

--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -51,6 +51,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
        hifiberry-digi-pro.dtbo \
        hy28a.dtbo \
        hy28b.dtbo \
+       hy28b-2017.dtbo \
        i2c-bcm2708.dtbo \
        i2c-gpio.dtbo \
        i2c-mux.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -792,6 +792,25 @@ Params: speed                   Display
         ledgpio                 GPIO used to control backlight
 
 
+Name:   hy28b-2017
+Info:   HY28B 2017 version - 2.8" TFT LCD Display Module by HAOYU Electronics
+        Default values match Texy's display shield
+Load:   dtoverlay=hy28b-2017,<param>=<val>
+Params: speed                   Display SPI bus speed
+
+        rotate                  Display rotation {0,90,180,270}
+
+        fps                     Delay between frame updates
+
+        debug                   Debug output level {0-7}
+
+        xohms                   Touchpanel sensitivity (X-plate resistance)
+
+        resetgpio               GPIO used to reset controller
+
+        ledgpio                 GPIO used to control backlight
+
+
 Name:   i2c-bcm2708
 Info:   Fall back to the i2c_bcm2708 driver for the i2c_arm bus.
 Load:   dtoverlay=i2c-bcm2708
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/hy28b-2017-overlay.dts
@@ -0,0 +1,152 @@
+/*
+ * Device Tree overlay for HY28b display shield by Texy.
+ * Modified for 2017 version with ILI9325 D chip
+ */
+
+/dts-v1/;
+/plugin/;
+
+/ {
+       compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";
+
+       fragment@0 {
+               target = <&spi0>;
+               __overlay__ {
+                       status = "okay";
+               };
+       };
+
+       fragment@1 {
+               target = <&spidev0>;
+               __overlay__ {
+                       status = "disabled";
+               };
+       };
+
+       fragment@2 {
+               target = <&spidev1>;
+               __overlay__ {
+                       status = "disabled";
+               };
+       };
+
+       fragment@3 {
+               target = <&gpio>;
+               __overlay__ {
+                       hy28b_pins: hy28b_pins {
+                               brcm,pins = <17 25 18>;
+                               brcm,function = <0 1 1>; /* in out out */
+                       };
+               };
+       };
+
+       fragment@4 {
+               target = <&spi0>;
+               __overlay__ {
+                       /* needed to avoid dtc warning */
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       hy28b: hy28b@0{
+                               compatible = "ilitek,ili9325";
+                               reg = <0>;
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&hy28b_pins>;
+
+                               spi-max-frequency = <48000000>;
+                               spi-cpol;
+                               spi-cpha;
+                               rotate = <270>;
+                               bgr;
+                               fps = <50>;
+                               buswidth = <8>;
+                               startbyte = <0x70>;
+                               reset-gpios = <&gpio 25 0>;
+                               led-gpios = <&gpio 18 1>;
+
+                               init = <0x10000e5 0x78F0
+                                       0x1000001 0x0100
+                                       0x1000002 0x0700
+                                       0x1000003 0x1030
+                                       0x1000004 0x0000
+                                       0x1000008 0x0207
+                                       0x1000009 0x0000
+                                       0x100000a 0x0000
+                                       0x100000c 0x0000
+                                       0x100000d 0x0000
+                                       0x100000f 0x0000
+                                       0x1000010 0x0000
+                                       0x1000011 0x0007
+                                       0x1000012 0x0000
+                                       0x1000013 0x0000
+                                       0x1000007 0x0001
+                                       0x2000032
+                                       0x2000032
+                                       0x2000032
+                                       0x2000032
+                                       0x1000010 0x1090
+                                       0x1000011 0x0227
+                                       0x2000032
+                                       0x1000012 0x001f
+                                       0x2000032
+                                       0x1000013 0x1500
+                                       0x1000029 0x0027
+                                       0x100002b 0x000d
+                                       0x2000032
+                                       0x1000020 0x0000
+                                       0x1000021 0x0000
+                                       0x2000032
+                                       0x1000030 0x0000
+                                       0x1000031 0x0707
+                                       0x1000032 0x0307
+                                       0x1000035 0x0200
+                                       0x1000036 0x0008
+                                       0x1000037 0x0004
+                                       0x1000038 0x0000
+                                       0x1000039 0x0707
+                                       0x100003c 0x0002
+                                       0x100003d 0x1d04
+                                       0x1000050 0x0000
+                                       0x1000051 0x00ef
+                                       0x1000052 0x0000
+                                       0x1000053 0x013f
+                                       0x1000060 0xa700
+                                       0x1000061 0x0001
+                                       0x100006a 0x0000
+                                       0x1000080 0x0000
+                                       0x1000081 0x0000
+                                       0x1000082 0x0000
+                                       0x1000083 0x0000
+                                       0x1000084 0x0000
+                                       0x1000085 0x0000
+                                       0x1000090 0x0010
+                                       0x1000092 0x0600
+                                       0x1000007 0x0133>;
+                               debug = <0>;
+                       };
+
+                       hy28b_ts: hy28b-ts@1 {
+                               compatible = "ti,ads7846";
+                               reg = <1>;
+
+                               spi-max-frequency = <2000000>;
+                               interrupts = <17 2>; /* high-to-low edge triggered */
+                               interrupt-parent = <&gpio>;
+                               pendown-gpio = <&gpio 17 0>;
+                               ti,x-plate-ohms = /bits/ 16 <100>;
+                               ti,pressure-max = /bits/ 16 <255>;
+                       };
+               };
+       };
+       __overrides__ {
+               speed =         <&hy28b>,"spi-max-frequency:0";
+               rotate =        <&hy28b>,"rotate:0";
+               fps =           <&hy28b>,"fps:0";
+               debug =         <&hy28b>,"debug:0";
+               xohms =         <&hy28b_ts>,"ti,x-plate-ohms;0";
+               resetgpio =     <&hy28b>,"reset-gpios:4",
+                               <&hy28b_pins>, "brcm,pins:4";
+               ledgpio =       <&hy28b>,"led-gpios:4",
+                               <&hy28b_pins>, "brcm,pins:8";
+       };
+};

Generated by GNU Enscript 1.6.5.90.