You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
209 lines
5.2 KiB
209 lines
5.2 KiB
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";
|
|
+ };
|
|
+};
|
|
|