brcm2708: update to latest patches from the RPi foundation
[openwrt/staging/lynxis.git] / target / linux / brcm2708 / patches-4.14 / 950-0341-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch
1 From ca576b3fd93dff35bdf39f5fd44edf938e545ac9 Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.org>
3 Date: Thu, 5 Jul 2018 16:43:56 +0100
4 Subject: [PATCH 341/454] BCM283x DT: Add CSI nodes to the device tree.
5
6 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
7 ---
8 arch/arm/boot/dts/bcm2708-rpi.dtsi | 8 ++++++
9 arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 1 +
10 arch/arm/boot/dts/bcm2835-rpi-a.dts | 1 +
11 arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 1 +
12 arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 1 +
13 arch/arm/boot/dts/bcm2835-rpi-b.dts | 1 +
14 arch/arm/boot/dts/bcm2835-rpi-zero.dts | 1 +
15 arch/arm/boot/dts/bcm2835-rpi.dtsi | 8 ++++++
16 arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 1 +
17 arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 1 +
18 arch/arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi | 7 +++++
19 arch/arm/boot/dts/bcm283x.dtsi | 28 +++++++++++++++++++
20 .../dts/broadcom/bcm283x-rpi-csi1-2lane.dtsi | 1 +
21 13 files changed, 60 insertions(+)
22 create mode 100644 arch/arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi
23 create mode 120000 arch/arm64/boot/dts/broadcom/bcm283x-rpi-csi1-2lane.dtsi
24
25 --- a/arch/arm/boot/dts/bcm2708-rpi.dtsi
26 +++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi
27 @@ -160,3 +160,11 @@ sdhost_pins: &sdhost_gpio48 {
28 &vec {
29 status = "disabled";
30 };
31 +
32 +&csi0 {
33 + power-domains = <&power RPI_POWER_DOMAIN_UNICAM0>;
34 +};
35 +
36 +&csi1 {
37 + power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>;
38 +};
39 --- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
40 +++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
41 @@ -3,6 +3,7 @@
42 #include "bcm2835.dtsi"
43 #include "bcm2835-rpi.dtsi"
44 #include "bcm283x-rpi-usb-host.dtsi"
45 +#include "bcm283x-rpi-csi1-2lane.dtsi"
46
47 / {
48 compatible = "raspberrypi,model-a-plus", "brcm,bcm2835";
49 --- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
50 +++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
51 @@ -3,6 +3,7 @@
52 #include "bcm2835.dtsi"
53 #include "bcm2835-rpi.dtsi"
54 #include "bcm283x-rpi-usb-host.dtsi"
55 +#include "bcm283x-rpi-csi1-2lane.dtsi"
56
57 / {
58 compatible = "raspberrypi,model-a", "brcm,bcm2835";
59 --- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
60 +++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
61 @@ -4,6 +4,7 @@
62 #include "bcm2835-rpi.dtsi"
63 #include "bcm283x-rpi-smsc9514.dtsi"
64 #include "bcm283x-rpi-usb-host.dtsi"
65 +#include "bcm283x-rpi-csi1-2lane.dtsi"
66
67 / {
68 compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
69 --- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
70 +++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
71 @@ -4,6 +4,7 @@
72 #include "bcm2835-rpi.dtsi"
73 #include "bcm283x-rpi-smsc9512.dtsi"
74 #include "bcm283x-rpi-usb-host.dtsi"
75 +#include "bcm283x-rpi-csi1-2lane.dtsi"
76
77 / {
78 compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";
79 --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
80 +++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
81 @@ -4,6 +4,7 @@
82 #include "bcm2835-rpi.dtsi"
83 #include "bcm283x-rpi-smsc9512.dtsi"
84 #include "bcm283x-rpi-usb-host.dtsi"
85 +#include "bcm283x-rpi-csi1-2lane.dtsi"
86
87 / {
88 compatible = "raspberrypi,model-b", "brcm,bcm2835";
89 --- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts
90 +++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
91 @@ -13,6 +13,7 @@
92 #include "bcm2835.dtsi"
93 #include "bcm2835-rpi.dtsi"
94 #include "bcm283x-rpi-usb-otg.dtsi"
95 +#include "bcm283x-rpi-csi1-2lane.dtsi"
96
97 / {
98 compatible = "raspberrypi,model-zero", "brcm,bcm2835";
99 --- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
100 +++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
101 @@ -106,3 +106,11 @@
102 &dsi1 {
103 power-domains = <&power RPI_POWER_DOMAIN_DSI1>;
104 };
105 +
106 +&csi0 {
107 + power-domains = <&power RPI_POWER_DOMAIN_UNICAM0>;
108 +};
109 +
110 +&csi1 {
111 + power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>;
112 +};
113 --- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
114 +++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
115 @@ -4,6 +4,7 @@
116 #include "bcm2835-rpi.dtsi"
117 #include "bcm283x-rpi-smsc9514.dtsi"
118 #include "bcm283x-rpi-usb-host.dtsi"
119 +#include "bcm283x-rpi-csi1-2lane.dtsi"
120
121 / {
122 compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
123 --- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
124 +++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
125 @@ -4,6 +4,7 @@
126 #include "bcm2835-rpi.dtsi"
127 #include "bcm283x-rpi-smsc9514.dtsi"
128 #include "bcm283x-rpi-usb-host.dtsi"
129 +#include "bcm283x-rpi-csi1-2lane.dtsi"
130
131 / {
132 compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
133 --- /dev/null
134 +++ b/arch/arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi
135 @@ -0,0 +1,7 @@
136 +&csi1 {
137 + port {
138 + endpoint {
139 + data-lanes = <1 2>;
140 + };
141 + };
142 +};
143 --- a/arch/arm/boot/dts/bcm283x.dtsi
144 +++ b/arch/arm/boot/dts/bcm283x.dtsi
145 @@ -544,6 +544,34 @@
146 status = "disabled";
147 };
148
149 + csi0: csi0@7e800000 {
150 + compatible = "brcm,bcm2835-unicam";
151 + reg = <0x7e800000 0x800>,
152 + <0x7e802000 0x4>;
153 + interrupts = <2 6>;
154 + clocks = <&clocks BCM2835_CLOCK_CAM0>;
155 + clock-names = "lp";
156 + #address-cells = <1>;
157 + #size-cells = <0>;
158 + #clock-cells = <1>;
159 +
160 + status = "disabled";
161 + };
162 +
163 + csi1: csi1@7e801000 {
164 + compatible = "brcm,bcm2835-unicam";
165 + reg = <0x7e801000 0x800>,
166 + <0x7e802004 0x4>;
167 + interrupts = <2 7>;
168 + clocks = <&clocks BCM2835_CLOCK_CAM1>;
169 + clock-names = "lp";
170 + #address-cells = <1>;
171 + #size-cells = <0>;
172 + #clock-cells = <1>;
173 +
174 + status = "disabled";
175 + };
176 +
177 i2c1: i2c@7e804000 {
178 compatible = "brcm,bcm2835-i2c";
179 reg = <0x7e804000 0x1000>;
180 --- /dev/null
181 +++ b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-csi1-2lane.dtsi
182 @@ -0,0 +1,7 @@
183 +&csi1 {
184 + port {
185 + endpoint {
186 + data-lanes = <1 2>;
187 + };
188 + };
189 +};