bcm27xx: update patches from RPi foundation
[openwrt/openwrt.git] / target / linux / bcm27xx / patches-5.4 / 950-0627-Add-upstream-and-upstream-pi4-to-overlay_map.patch
1 From 0a65f76d99bce7685e57ae506eedc499c551ac83 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.com>
3 Date: Mon, 6 Apr 2020 09:47:42 +0100
4 Subject: [PATCH] Add upstream and upstream-pi4 to overlay_map
5
6 Because the upstream overlay applies vc4-kms-v3d, of which Pi 4 has its
7 own version, there also needs to be a Pi 4 version - vc4-kms-v3d-pi4.
8
9 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
10 ---
11 arch/arm/boot/dts/overlays/Makefile | 1 +
12 arch/arm/boot/dts/overlays/README | 7 +
13 arch/arm/boot/dts/overlays/overlay_map.dts | 9 +
14 .../dts/overlays/upstream-pi4-overlay.dts | 161 ++++++++++++++++++
15 4 files changed, 178 insertions(+)
16 create mode 100644 arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts
17
18 --- a/arch/arm/boot/dts/overlays/Makefile
19 +++ b/arch/arm/boot/dts/overlays/Makefile
20 @@ -183,6 +183,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
21 uart5.dtbo \
22 udrc.dtbo \
23 upstream.dtbo \
24 + upstream-pi4.dtbo \
25 vc4-fkms-v3d.dtbo \
26 vc4-kms-kippah-7inch.dtbo \
27 vc4-kms-v3d.dtbo \
28 --- a/arch/arm/boot/dts/overlays/README
29 +++ b/arch/arm/boot/dts/overlays/README
30 @@ -2653,6 +2653,13 @@ Info: This overlay has been deprecated
31 Load: <Deprecated>
32
33
34 +Name: upstream-pi4
35 +Info: Allow usage of downstream .dtb with upstream kernel on Pi 4. Comprises
36 + the vc4-kms-v3d-pi4 and dwc2 overlays.
37 +Load: dtoverlay=upstream-pi4
38 +Params: <None>
39 +
40 +
41 Name: vc4-fkms-v3d
42 Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx
43 display stack.
44 --- a/arch/arm/boot/dts/overlays/overlay_map.dts
45 +++ b/arch/arm/boot/dts/overlays/overlay_map.dts
46 @@ -105,10 +105,19 @@
47 bcm2711;
48 };
49
50 + upstream {
51 + bcm2835;
52 + bcm2711 = "upstream-pi4";
53 + };
54 +
55 upstream-aux-interrupt {
56 deprecated = "no longer necessary";
57 };
58
59 + upstream-pi4 {
60 + bcm2711;
61 + };
62 +
63 vc4-kms-v3d {
64 bcm2835;
65 bcm2711 = "vc4-kms-v3d-pi4";
66 --- /dev/null
67 +++ b/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts
68 @@ -0,0 +1,161 @@
69 +// redo: ovmerge -c vc4-kms-v3d-pi4-overlay.dts,cma-96 dwc2-overlay.dts,dr_mode=otg
70 +
71 +/dts-v1/;
72 +/plugin/;
73 +
74 +#include <dt-bindings/clock/bcm2835.h>
75 +
76 +/ {
77 + compatible = "brcm,bcm2835";
78 + fragment@0 {
79 + target-path = "/chosen";
80 + __dormant__ {
81 + bootargs = "cma=256M";
82 + };
83 + };
84 + fragment@1 {
85 + target-path = "/chosen";
86 + __dormant__ {
87 + bootargs = "cma=192M";
88 + };
89 + };
90 + fragment@2 {
91 + target-path = "/chosen";
92 + __dormant__ {
93 + bootargs = "cma=128M";
94 + };
95 + };
96 + fragment@3 {
97 + target-path = "/chosen";
98 + __overlay__ {
99 + bootargs = "cma=96M";
100 + };
101 + };
102 + fragment@4 {
103 + target-path = "/chosen";
104 + __dormant__ {
105 + bootargs = "cma=64M";
106 + };
107 + };
108 + fragment@5 {
109 + target = <&ddc0>;
110 + __overlay__ {
111 + status = "okay";
112 + };
113 + };
114 + fragment@6 {
115 + target = <&ddc1>;
116 + __overlay__ {
117 + status = "okay";
118 + };
119 + };
120 + fragment@7 {
121 + target = <&hdmi0>;
122 + __overlay__ {
123 + status = "okay";
124 + };
125 + };
126 + fragment@8 {
127 + target = <&hdmi1>;
128 + __overlay__ {
129 + status = "okay";
130 + };
131 + };
132 + fragment@9 {
133 + target = <&hvs>;
134 + __overlay__ {
135 + status = "okay";
136 + };
137 + };
138 + fragment@10 {
139 + target = <&pixelvalve0>;
140 + __overlay__ {
141 + status = "okay";
142 + };
143 + };
144 + fragment@11 {
145 + target = <&pixelvalve1>;
146 + __overlay__ {
147 + status = "okay";
148 + };
149 + };
150 + fragment@12 {
151 + target = <&pixelvalve2>;
152 + __overlay__ {
153 + status = "okay";
154 + };
155 + };
156 + fragment@13 {
157 + target = <&pixelvalve3>;
158 + __overlay__ {
159 + status = "okay";
160 + };
161 + };
162 + fragment@14 {
163 + target = <&pixelvalve4>;
164 + __overlay__ {
165 + status = "okay";
166 + };
167 + };
168 + fragment@15 {
169 + target = <&v3d>;
170 + __overlay__ {
171 + status = "okay";
172 + };
173 + };
174 + fragment@16 {
175 + target = <&vc4>;
176 + __overlay__ {
177 + status = "okay";
178 + };
179 + };
180 + fragment@17 {
181 + target = <&txp>;
182 + __overlay__ {
183 + status = "okay";
184 + };
185 + };
186 + fragment@18 {
187 + target = <&fb>;
188 + __overlay__ {
189 + status = "disabled";
190 + };
191 + };
192 + fragment@19 {
193 + target = <&firmwarekms>;
194 + __overlay__ {
195 + status = "disabled";
196 + };
197 + };
198 + fragment@20 {
199 + target = <&vec>;
200 + __overlay__ {
201 + status = "disabled";
202 + };
203 + };
204 + fragment@21 {
205 + target = <&hdmi0>;
206 + __dormant__ {
207 + dmas;
208 + };
209 + };
210 + fragment@22 {
211 + target = <&hdmi1>;
212 + __dormant__ {
213 + dmas;
214 + };
215 + };
216 + fragment@23 {
217 + target = <&usb>;
218 + #address-cells = <1>;
219 + #size-cells = <1>;
220 + __overlay__ {
221 + compatible = "brcm,bcm2835-usb";
222 + dr_mode = "otg";
223 + g-np-tx-fifo-size = <32>;
224 + g-rx-fifo-size = <558>;
225 + g-tx-fifo-size = <512 512 512 512 512 256 256>;
226 + status = "okay";
227 + };
228 + };
229 +};