kernel: bump 4.14 to 4.14.93
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.14 / 950-0143-overlays-Add-media-center-HAT-overlay-2313.patch
1 From 15aa7a1d49c20f7f41b5c69cea2f46e1e976e660 Mon Sep 17 00:00:00 2001
2 From: Aaron Shaw <shawaj@gmail.com>
3 Date: Sun, 24 Dec 2017 21:57:05 +0000
4 Subject: [PATCH 143/454] overlays: Add media center HAT overlay (#2313)
5
6 ---
7 arch/arm/boot/dts/overlays/Makefile | 1 +
8 arch/arm/boot/dts/overlays/README | 24 ++++
9 .../dts/overlays/media-center-overlay.dts | 132 ++++++++++++++++++
10 3 files changed, 157 insertions(+)
11 create mode 100644 arch/arm/boot/dts/overlays/media-center-overlay.dts
12
13 --- a/arch/arm/boot/dts/overlays/Makefile
14 +++ b/arch/arm/boot/dts/overlays/Makefile
15 @@ -61,6 +61,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
16 mcp2515-can0.dtbo \
17 mcp2515-can1.dtbo \
18 mcp3008.dtbo \
19 + media-center.dtbo \
20 midi-uart0.dtbo \
21 midi-uart1.dtbo \
22 mmc.dtbo \
23 --- a/arch/arm/boot/dts/overlays/README
24 +++ b/arch/arm/boot/dts/overlays/README
25 @@ -994,6 +994,30 @@ Params: spi<n>-<m>-present boolean,
26 spi<n>-<m>-speed integer, set the spi bus speed for this device
27
28
29 +Name: media-center
30 +Info: Media Center HAT - 2.83" Touch Display + extras by Pi Supply
31 +Load: dtoverlay=media-center,<param>=<val>
32 +Params: speed Display SPI bus speed
33 + rotate Display rotation {0,90,180,270}
34 + fps Delay between frame updates
35 + xohms Touchpanel sensitivity (X-plate resistance)
36 + swapxy Swap x and y axis
37 + gpio_out_pin GPIO for output (default "17")
38 + gpio_in_pin GPIO for input (default "18")
39 + gpio_in_pull Pull up/down/off on the input pin
40 + (default "down")
41 + sense Override the IR receive auto-detection logic:
42 + "0" = force active-high
43 + "1" = force active-low
44 + "-1" = use auto-detection
45 + (default "-1")
46 + softcarrier Turn the software carrier "on" or "off"
47 + (default "on")
48 + invert "on" = invert the output pin (default "off")
49 + debug "on" = enable additional debug messages
50 + (default "off")
51 +
52 +
53 Name: midi-uart0
54 Info: Configures UART0 (ttyAMA0) so that a requested 38.4kbaud actually gets
55 31.25kbaud, the frequency required for MIDI
56 --- /dev/null
57 +++ b/arch/arm/boot/dts/overlays/media-center-overlay.dts
58 @@ -0,0 +1,132 @@
59 +/*
60 + * Device Tree overlay for Media Center HAT by Pi Supply
61 + *
62 + */
63 +
64 +/dts-v1/;
65 +/plugin/;
66 +
67 +/ {
68 + compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";
69 +
70 + fragment@0 {
71 + target = <&spi0>;
72 + __overlay__ {
73 + status = "okay";
74 +
75 + spidev@0{
76 + status = "disabled";
77 + };
78 +
79 + spidev@1{
80 + status = "disabled";
81 + };
82 + };
83 + };
84 +
85 + fragment@1 {
86 + target = <&gpio>;
87 + __overlay__ {
88 + rpi_display_pins: rpi_display_pins {
89 + brcm,pins = <12 23 24 25>;
90 + brcm,function = <1 1 1 0>; /* out out out in */
91 + brcm,pull = <0 0 0 2>; /* - - - up */
92 + };
93 + };
94 + };
95 +
96 + fragment@2 {
97 + target = <&spi0>;
98 + __overlay__ {
99 + /* needed to avoid dtc warning */
100 + #address-cells = <1>;
101 + #size-cells = <0>;
102 +
103 + rpidisplay: rpi-display@0{
104 + compatible = "ilitek,ili9341";
105 + reg = <0>;
106 + pinctrl-names = "default";
107 + pinctrl-0 = <&rpi_display_pins>;
108 +
109 + spi-max-frequency = <32000000>;
110 + rotate = <90>;
111 + bgr;
112 + fps = <30>;
113 + buswidth = <8>;
114 + reset-gpios = <&gpio 23 0>;
115 + dc-gpios = <&gpio 24 0>;
116 + led-gpios = <&gpio 12 1>;
117 + debug = <0>;
118 + };
119 +
120 + rpidisplay_ts: rpi-display-ts@1 {
121 + compatible = "ti,ads7846";
122 + reg = <1>;
123 +
124 + spi-max-frequency = <2000000>;
125 + interrupts = <25 2>; /* high-to-low edge triggered */
126 + interrupt-parent = <&gpio>;
127 + pendown-gpio = <&gpio 25 0>;
128 + ti,x-plate-ohms = /bits/ 16 <60>;
129 + ti,pressure-max = /bits/ 16 <255>;
130 + };
131 + };
132 + };
133 +
134 + fragment@3 {
135 + target-path = "/";
136 + __overlay__ {
137 + lirc_rpi: lirc_rpi {
138 + compatible = "rpi,lirc-rpi";
139 + pinctrl-names = "default";
140 + pinctrl-0 = <&lirc_pins>;
141 + status = "okay";
142 +
143 + // Override autodetection of IR receiver circuit
144 + // (0 = active high, 1 = active low, -1 = no override )
145 + rpi,sense = <0xffffffff>;
146 +
147 + // Software carrier
148 + // (0 = off, 1 = on)
149 + rpi,softcarrier = <1>;
150 +
151 + // Invert output
152 + // (0 = off, 1 = on)
153 + rpi,invert = <0>;
154 +
155 + // Enable debugging messages
156 + // (0 = off, 1 = on)
157 + rpi,debug = <0>;
158 + };
159 + };
160 + };
161 +
162 + fragment@4 {
163 + target = <&gpio>;
164 + __overlay__ {
165 + lirc_pins: lirc_pins {
166 + brcm,pins = <6 5>;
167 + brcm,function = <1 0>; // out in
168 + brcm,pull = <0 1>; // off down
169 + };
170 + };
171 + };
172 +
173 + __overrides__ {
174 + speed = <&rpidisplay>,"spi-max-frequency:0";
175 + rotate = <&rpidisplay>,"rotate:0";
176 + fps = <&rpidisplay>,"fps:0";
177 + debug = <&rpidisplay>,"debug:0",
178 + <&lirc_rpi>,"rpi,debug:0";
179 + xohms = <&rpidisplay_ts>,"ti,x-plate-ohms;0";
180 + swapxy = <&rpidisplay_ts>,"ti,swap-xy?";
181 +
182 + gpio_out_pin = <&lirc_pins>,"brcm,pins:0";
183 + gpio_in_pin = <&lirc_pins>,"brcm,pins:4";
184 + gpio_in_pull = <&lirc_pins>,"brcm,pull:4";
185 +
186 + sense = <&lirc_rpi>,"rpi,sense:0";
187 + softcarrier = <&lirc_rpi>,"rpi,softcarrier:0";
188 + invert = <&lirc_rpi>,"rpi,invert:0";
189 + };
190 +};