aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/overlays/piscreen-overlay.dts
blob: ae1af76d3923f430be0e9f9baf305d978c2f3632 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/*
 * Device Tree overlay for PiScreen 3.5" display shield by Ozzmaker
 *
 */

/dts-v1/;
/plugin/;

/ {
	compatible = "brcm,bcm2835";

	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__ {
			piscreen_pins: piscreen_pins {
				brcm,pins = <17 25 24 22>;
				brcm,function = <0 1 1 1>; /* in out out out */
			};
		};
	};

	fragment@4 {
		target = <&spi0>;
		__overlay__ {
			/* needed to avoid dtc warning */
			#address-cells = <1>;
			#size-cells = <0>;

			piscreen: piscreen@0{
				compatible = "ilitek,ili9486";
				reg = <0>;
				pinctrl-names = "default";
				pinctrl-0 = <&piscreen_pins>;

				spi-max-frequency = <24000000>;
				rotate = <270>;
				bgr;
				fps = <30>;
				buswidth = <8>;
				regwidth = <16>;
				reset-gpios = <&gpio 25 0>;
				dc-gpios = <&gpio 24 0>;
				led-gpios = <&gpio 22 1>;
				debug = <0>;

				init = <0x10000b0 0x00
				        0x1000011
					0x20000ff
					0x100003a 0x55
					0x1000036 0x28
					0x10000c2 0x44
					0x10000c5 0x00 0x00 0x00 0x00
					0x10000e0 0x0f 0x1f 0x1c 0x0c 0x0f 0x08 0x48 0x98 0x37 0x0a 0x13 0x04 0x11 0x0d 0x00
					0x10000e1 0x0f 0x32 0x2e 0x0b 0x0d 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
					0x10000e2 0x0f 0x32 0x2e 0x0b 0x0d 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
					0x1000011
					0x1000029>;
			};

			piscreen_ts: piscreen-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,swap-xy;
				ti,x-plate-ohms = /bits/ 16 <100>;
				ti,pressure-max = /bits/ 16 <255>;
			};
		};
	};
	__overrides__ {
		speed =		<&piscreen>,"spi-max-frequency:0";
		rotate =	<&piscreen>,"rotate:0";
		fps =		<&piscreen>,"fps:0";
		debug =		<&piscreen>,"debug:0";
		xohms =		<&piscreen_ts>,"ti,x-plate-ohms;0";
	};
};