forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-31 f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2
kernel/arch/arm/boot/dts/stm32mp157c-ev1.dts
....@@ -7,6 +7,7 @@
77
88 #include "stm32mp157c-ed1.dts"
99 #include <dt-bindings/gpio/gpio.h>
10
+#include <dt-bindings/input/input.h>
1011
1112 / {
1213 model = "STMicroelectronics STM32MP157C eval daughter on eval mother";
....@@ -18,7 +19,52 @@
1819
1920 aliases {
2021 serial0 = &uart4;
22
+ serial1 = &usart3;
2123 ethernet0 = &ethernet0;
24
+ };
25
+
26
+ clocks {
27
+ clk_ext_camera: clk-ext-camera {
28
+ #clock-cells = <0>;
29
+ compatible = "fixed-clock";
30
+ clock-frequency = <24000000>;
31
+ };
32
+ };
33
+
34
+ joystick {
35
+ compatible = "gpio-keys";
36
+ pinctrl-0 = <&joystick_pins>;
37
+ pinctrl-names = "default";
38
+ button-0 {
39
+ label = "JoySel";
40
+ linux,code = <KEY_ENTER>;
41
+ interrupt-parent = <&stmfx_pinctrl>;
42
+ interrupts = <0 IRQ_TYPE_EDGE_RISING>;
43
+ };
44
+ button-1 {
45
+ label = "JoyDown";
46
+ linux,code = <KEY_DOWN>;
47
+ interrupt-parent = <&stmfx_pinctrl>;
48
+ interrupts = <1 IRQ_TYPE_EDGE_RISING>;
49
+ };
50
+ button-2 {
51
+ label = "JoyLeft";
52
+ linux,code = <KEY_LEFT>;
53
+ interrupt-parent = <&stmfx_pinctrl>;
54
+ interrupts = <2 IRQ_TYPE_EDGE_RISING>;
55
+ };
56
+ button-3 {
57
+ label = "JoyRight";
58
+ linux,code = <KEY_RIGHT>;
59
+ interrupt-parent = <&stmfx_pinctrl>;
60
+ interrupts = <3 IRQ_TYPE_EDGE_RISING>;
61
+ };
62
+ button-4 {
63
+ label = "JoyUp";
64
+ linux,code = <KEY_UP>;
65
+ interrupt-parent = <&stmfx_pinctrl>;
66
+ interrupts = <4 IRQ_TYPE_EDGE_RISING>;
67
+ };
2268 };
2369
2470 panel_backlight: panel-backlight {
....@@ -35,15 +81,28 @@
3581 status = "okay";
3682 };
3783
84
+&dcmi {
85
+ status = "okay";
86
+ pinctrl-names = "default", "sleep";
87
+ pinctrl-0 = <&dcmi_pins_a>;
88
+ pinctrl-1 = <&dcmi_sleep_pins_a>;
89
+
90
+ port {
91
+ dcmi_0: endpoint {
92
+ remote-endpoint = <&ov5640_0>;
93
+ bus-width = <8>;
94
+ hsync-active = <0>;
95
+ vsync-active = <0>;
96
+ pclk-sample = <1>;
97
+ };
98
+ };
99
+};
100
+
38101 &dsi {
39
- #address-cells = <1>;
40
- #size-cells = <0>;
102
+ phy-dsi-supply = <&reg18>;
41103 status = "okay";
42104
43105 ports {
44
- #address-cells = <1>;
45
- #size-cells = <0>;
46
-
47106 port@0 {
48107 reg = <0>;
49108 dsi_in: endpoint {
....@@ -64,6 +123,7 @@
64123 reg = <0>;
65124 reset-gpios = <&gpiof 15 GPIO_ACTIVE_LOW>;
66125 backlight = <&panel_backlight>;
126
+ power-supply = <&v3v3>;
67127 status = "okay";
68128
69129 port {
....@@ -77,9 +137,9 @@
77137 &ethernet0 {
78138 status = "okay";
79139 pinctrl-0 = <&ethernet0_rgmii_pins_a>;
80
- pinctrl-1 = <&ethernet0_rgmii_pins_sleep_a>;
140
+ pinctrl-1 = <&ethernet0_rgmii_sleep_pins_a>;
81141 pinctrl-names = "default", "sleep";
82
- phy-mode = "rgmii";
142
+ phy-mode = "rgmii-id";
83143 max-speed = <1000>;
84144 phy-handle = <&phy0>;
85145
....@@ -93,17 +153,82 @@
93153 };
94154 };
95155
156
+&fmc {
157
+ pinctrl-names = "default", "sleep";
158
+ pinctrl-0 = <&fmc_pins_a>;
159
+ pinctrl-1 = <&fmc_sleep_pins_a>;
160
+ status = "okay";
161
+
162
+ nand-controller@4,0 {
163
+ status = "okay";
164
+
165
+ nand@0 {
166
+ reg = <0>;
167
+ nand-on-flash-bbt;
168
+ #address-cells = <1>;
169
+ #size-cells = <1>;
170
+ };
171
+ };
172
+};
173
+
96174 &i2c2 {
97
- pinctrl-names = "default";
175
+ pinctrl-names = "default", "sleep";
98176 pinctrl-0 = <&i2c2_pins_a>;
177
+ pinctrl-1 = <&i2c2_sleep_pins_a>;
99178 i2c-scl-rising-time-ns = <185>;
100179 i2c-scl-falling-time-ns = <20>;
101180 status = "okay";
181
+
182
+ ov5640: camera@3c {
183
+ compatible = "ovti,ov5640";
184
+ reg = <0x3c>;
185
+ clocks = <&clk_ext_camera>;
186
+ clock-names = "xclk";
187
+ DOVDD-supply = <&v2v8>;
188
+ powerdown-gpios = <&stmfx_pinctrl 18 (GPIO_ACTIVE_HIGH | GPIO_PUSH_PULL)>;
189
+ reset-gpios = <&stmfx_pinctrl 19 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;
190
+ rotation = <180>;
191
+ status = "okay";
192
+
193
+ port {
194
+ ov5640_0: endpoint {
195
+ remote-endpoint = <&dcmi_0>;
196
+ bus-width = <8>;
197
+ data-shift = <2>; /* lines 9:2 are used */
198
+ hsync-active = <0>;
199
+ vsync-active = <0>;
200
+ pclk-sample = <1>;
201
+ };
202
+ };
203
+ };
204
+
205
+ stmfx: stmfx@42 {
206
+ compatible = "st,stmfx-0300";
207
+ reg = <0x42>;
208
+ interrupts = <8 IRQ_TYPE_EDGE_RISING>;
209
+ interrupt-parent = <&gpioi>;
210
+ vdd-supply = <&v3v3>;
211
+
212
+ stmfx_pinctrl: pinctrl {
213
+ compatible = "st,stmfx-0300-pinctrl";
214
+ gpio-controller;
215
+ #gpio-cells = <2>;
216
+ interrupt-controller;
217
+ #interrupt-cells = <2>;
218
+ gpio-ranges = <&stmfx_pinctrl 0 0 24>;
219
+
220
+ joystick_pins: joystick-pins {
221
+ pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4";
222
+ bias-pull-down;
223
+ };
224
+ };
225
+ };
102226 };
103227
104228 &i2c5 {
105
- pinctrl-names = "default";
229
+ pinctrl-names = "default", "sleep";
106230 pinctrl-0 = <&i2c5_pins_a>;
231
+ pinctrl-1 = <&i2c5_sleep_pins_a>;
107232 i2c-scl-rising-time-ns = <185>;
108233 i2c-scl-falling-time-ns = <20>;
109234 status = "okay";
....@@ -113,9 +238,6 @@
113238 status = "okay";
114239
115240 port {
116
- #address-cells = <1>;
117
- #size-cells = <0>;
118
-
119241 ltdc_ep0_out: endpoint@0 {
120242 reg = <0>;
121243 remote-endpoint = <&dsi_in>;
....@@ -124,20 +246,23 @@
124246 };
125247
126248 &m_can1 {
127
- pinctrl-names = "default";
249
+ pinctrl-names = "default", "sleep";
128250 pinctrl-0 = <&m_can1_pins_a>;
251
+ pinctrl-1 = <&m_can1_sleep_pins_a>;
129252 status = "okay";
130253 };
131254
132255 &qspi {
133
- pinctrl-names = "default";
256
+ pinctrl-names = "default", "sleep";
134257 pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a &qspi_bk2_pins_a>;
258
+ pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a &qspi_bk2_sleep_pins_a>;
135259 reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
136260 #address-cells = <1>;
137261 #size-cells = <0>;
138262 status = "okay";
139263
140264 flash0: mx66l51235l@0 {
265
+ compatible = "jedec,spi-nor";
141266 reg = <0>;
142267 spi-rx-bus-width = <4>;
143268 spi-max-frequency = <108000000>;
....@@ -146,12 +271,25 @@
146271 };
147272
148273 flash1: mx66l51235l@1 {
274
+ compatible = "jedec,spi-nor";
149275 reg = <1>;
150276 spi-rx-bus-width = <4>;
151277 spi-max-frequency = <108000000>;
152278 #address-cells = <1>;
153279 #size-cells = <1>;
154280 };
281
+};
282
+
283
+&sdmmc3 {
284
+ pinctrl-names = "default", "opendrain", "sleep";
285
+ pinctrl-0 = <&sdmmc3_b4_pins_a>;
286
+ pinctrl-1 = <&sdmmc3_b4_od_pins_a>;
287
+ pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;
288
+ broken-cd;
289
+ st,neg-edge;
290
+ bus-width = <4>;
291
+ vmmc-supply = <&v3v3>;
292
+ status = "disabled";
155293 };
156294
157295 &spi1 {
....@@ -161,10 +299,14 @@
161299 };
162300
163301 &timers2 {
302
+ /* spare dmas for other usage (un-delete to enable pwm capture) */
303
+ /delete-property/dmas;
304
+ /delete-property/dma-names;
164305 status = "disabled";
165306 pwm {
166307 pinctrl-0 = <&pwm2_pins_a>;
167
- pinctrl-names = "default";
308
+ pinctrl-1 = <&pwm2_sleep_pins_a>;
309
+ pinctrl-names = "default", "sleep";
168310 status = "okay";
169311 };
170312 timer@1 {
....@@ -173,10 +315,13 @@
173315 };
174316
175317 &timers8 {
318
+ /delete-property/dmas;
319
+ /delete-property/dma-names;
176320 status = "disabled";
177321 pwm {
178322 pinctrl-0 = <&pwm8_pins_a>;
179
- pinctrl-names = "default";
323
+ pinctrl-1 = <&pwm8_sleep_pins_a>;
324
+ pinctrl-names = "default", "sleep";
180325 status = "okay";
181326 };
182327 timer@7 {
....@@ -185,10 +330,13 @@
185330 };
186331
187332 &timers12 {
333
+ /delete-property/dmas;
334
+ /delete-property/dma-names;
188335 status = "disabled";
189336 pwm {
190337 pinctrl-0 = <&pwm12_pins_a>;
191
- pinctrl-names = "default";
338
+ pinctrl-1 = <&pwm12_sleep_pins_a>;
339
+ pinctrl-names = "default", "sleep";
192340 status = "okay";
193341 };
194342 timer@11 {
....@@ -196,14 +344,28 @@
196344 };
197345 };
198346
347
+&usart3 {
348
+ pinctrl-names = "default", "sleep", "idle";
349
+ pinctrl-0 = <&usart3_pins_b>;
350
+ pinctrl-1 = <&usart3_sleep_pins_b>;
351
+ pinctrl-2 = <&usart3_idle_pins_b>;
352
+ /*
353
+ * HW flow control USART3_RTS is optional, and isn't default wired to
354
+ * the connector. SB23 needs to be soldered in order to use it, and R77
355
+ * (ETH_CLK) should be removed.
356
+ */
357
+ uart-has-rtscts;
358
+ status = "disabled";
359
+};
360
+
199361 &usbh_ehci {
200362 phys = <&usbphyc_port0>;
201
- phy-names = "usb";
202363 status = "okay";
203364 };
204365
205366 &usbotg_hs {
206
- dr_mode = "peripheral";
367
+ pinctrl-0 = <&usbotg_hs_pins_a>;
368
+ pinctrl-names = "default";
207369 phys = <&usbphyc_port1 0>;
208370 phy-names = "usb2-phy";
209371 status = "okay";