mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			219 lines
		
	
	
	
		
			5.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			219 lines
		
	
	
	
		
			5.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 363347dcdf2d661d6b688b39f7e4d2d5abd7dc9c 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 177/432] 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
 | |
| 
 | |
| diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
 | |
| index bcfde487ea1a..3cdea5b072bf 100644
 | |
| --- a/arch/arm/boot/dts/overlays/Makefile
 | |
| +++ b/arch/arm/boot/dts/overlays/Makefile
 | |
| @@ -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 \
 | |
| diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
 | |
| index fda97eb4c1dc..32f100f568dc 100644
 | |
| --- a/arch/arm/boot/dts/overlays/README
 | |
| +++ b/arch/arm/boot/dts/overlays/README
 | |
| @@ -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
 | |
| diff --git a/arch/arm/boot/dts/overlays/hy28b-2017-overlay.dts b/arch/arm/boot/dts/overlays/hy28b-2017-overlay.dts
 | |
| new file mode 100644
 | |
| index 000000000000..b4664aad7253
 | |
| --- /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";
 | |
| +	};
 | |
| +};
 | |
| -- 
 | |
| 2.19.1
 | |
| 
 |