Skip to content

Commit

Permalink
Add hy28b 2017 model device tree overlay (#2721)
Browse files Browse the repository at this point in the history
The 2017 version of the hy28b display requires a different
initialisation sequence.

Signed-off-by: Hans-Wilhelm Warlo <[email protected]>
  • Loading branch information
warlo authored and popcornmix committed Mar 12, 2019
1 parent 4927229 commit 13835a4
Show file tree
Hide file tree
Showing 3 changed files with 172 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,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 \
Expand Down
19 changes: 19 additions & 0 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -770,6 +770,25 @@ Params: speed Display SPI bus speed
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
Expand Down
152 changes: 152 additions & 0 deletions arch/arm/boot/dts/overlays/hy28b-2017-overlay.dts
Original file line number Diff line number Diff line change
@@ -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";
};
};

0 comments on commit 13835a4

Please sign in to comment.