hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
....@@ -40,9 +40,9 @@
4040 cpus {
4141 #address-cells = <1>;
4242 #size-cells = <0>;
43
- cpu@0 {
43
+ cpu0: cpu@0 {
4444 device_type = "cpu";
45
- compatible = "arm,cortex-a53", "arm,armv8";
45
+ compatible = "arm,cortex-a53";
4646 reg = <0>;
4747 clocks = <&nb_periph_clk 16>;
4848 enable-method = "psci";
....@@ -79,6 +79,19 @@
7979 compatible = "simple-bus";
8080 /* 32M internal register @ 0xd000_0000 */
8181 ranges = <0x0 0x0 0xd0000000 0x2000000>;
82
+
83
+ wdt: watchdog@8300 {
84
+ compatible = "marvell,armada-3700-wdt";
85
+ reg = <0x8300 0x40>;
86
+ marvell,system-controller = <&cpu_misc>;
87
+ clocks = <&xtalclk>;
88
+ };
89
+
90
+ cpu_misc: system-controller@d000 {
91
+ compatible = "marvell,armada-3700-cpu-misc",
92
+ "syscon";
93
+ reg = <0xd000 0x1000>;
94
+ };
8295
8396 spi0: spi@10600 {
8497 compatible = "marvell,armada-3700-spi";
....@@ -203,6 +216,11 @@
203216 function = "spi";
204217 };
205218
219
+ spi_cs1_pins: spi-cs1-pins {
220
+ groups = "spi_cs1";
221
+ function = "spi";
222
+ };
223
+
206224 i2c1_pins: i2c1-pins {
207225 groups = "i2c1";
208226 function = "i2c";
....@@ -222,12 +240,46 @@
222240 groups = "uart2";
223241 function = "uart";
224242 };
243
+
244
+ mmc_pins: mmc-pins {
245
+ groups = "emmc_nb";
246
+ function = "emmc";
247
+ };
225248 };
226249
227250 nb_pm: syscon@14000 {
228251 compatible = "marvell,armada-3700-nb-pm",
229252 "syscon";
230253 reg = <0x14000 0x60>;
254
+ };
255
+
256
+ comphy: phy@18300 {
257
+ compatible = "marvell,comphy-a3700";
258
+ reg = <0x18300 0x300>,
259
+ <0x1F000 0x400>,
260
+ <0x5C000 0x400>,
261
+ <0xe0178 0x8>;
262
+ reg-names = "comphy",
263
+ "lane1_pcie_gbe",
264
+ "lane0_usb3_gbe",
265
+ "lane2_sata_usb3";
266
+ #address-cells = <1>;
267
+ #size-cells = <0>;
268
+
269
+ comphy0: phy@0 {
270
+ reg = <0>;
271
+ #phy-cells = <1>;
272
+ };
273
+
274
+ comphy1: phy@1 {
275
+ reg = <1>;
276
+ #phy-cells = <1>;
277
+ };
278
+
279
+ comphy2: phy@2 {
280
+ reg = <2>;
281
+ #phy-cells = <1>;
282
+ };
231283 };
232284
233285 pinctrl_sb: pinctrl@18800 {
....@@ -254,8 +306,18 @@
254306 function = "mii";
255307 };
256308
309
+ smi_pins: smi-pins {
310
+ groups = "smi";
311
+ function = "smi";
312
+ };
313
+
314
+ sdio_pins: sdio-pins {
315
+ groups = "sdio_sb";
316
+ function = "sdio";
317
+ };
318
+
257319 pcie_reset_pins: pcie-reset-pins {
258
- groups = "pcie1";
320
+ groups = "pcie1"; /* this actually controls "pcie1_reset" */
259321 function = "gpio";
260322 };
261323
....@@ -292,16 +354,48 @@
292354 compatible = "marvell,armada3700-xhci",
293355 "generic-xhci";
294356 reg = <0x58000 0x4000>;
357
+ marvell,usb-misc-reg = <&usb32_syscon>;
295358 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
296359 clocks = <&sb_periph_clk 12>;
360
+ phys = <&comphy0 0>, <&usb2_utmi_otg_phy>;
361
+ phy-names = "usb3-phy", "usb2-utmi-otg-phy";
297362 status = "disabled";
363
+ };
364
+
365
+ usb2_utmi_otg_phy: phy@5d000 {
366
+ compatible = "marvell,a3700-utmi-otg-phy";
367
+ reg = <0x5d000 0x800>;
368
+ marvell,usb-misc-reg = <&usb32_syscon>;
369
+ #phy-cells = <0>;
370
+ };
371
+
372
+ usb32_syscon: system-controller@5d800 {
373
+ compatible = "marvell,armada-3700-usb2-host-device-misc",
374
+ "syscon";
375
+ reg = <0x5d800 0x800>;
298376 };
299377
300378 usb2: usb@5e000 {
301379 compatible = "marvell,armada-3700-ehci";
302
- reg = <0x5e000 0x2000>;
380
+ reg = <0x5e000 0x1000>;
381
+ marvell,usb-misc-reg = <&usb2_syscon>;
303382 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
383
+ phys = <&usb2_utmi_host_phy>;
384
+ phy-names = "usb2-utmi-host-phy";
304385 status = "disabled";
386
+ };
387
+
388
+ usb2_utmi_host_phy: phy@5f000 {
389
+ compatible = "marvell,a3700-utmi-host-phy";
390
+ reg = <0x5f000 0x800>;
391
+ marvell,usb-misc-reg = <&usb2_syscon>;
392
+ #phy-cells = <0>;
393
+ };
394
+
395
+ usb2_syscon: system-controller@5f800 {
396
+ compatible = "marvell,armada-3700-usb2-host-misc",
397
+ "syscon";
398
+ reg = <0x5f800 0x800>;
305399 };
306400
307401 xor@60900 {
....@@ -331,6 +425,13 @@
331425 clocks = <&nb_periph_clk 15>;
332426 };
333427
428
+ rwtm: mailbox@b0000 {
429
+ compatible = "marvell,armada-3700-rwtm-mailbox";
430
+ reg = <0xb0000 0x100>;
431
+ interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
432
+ #mbox-cells = <1>;
433
+ };
434
+
334435 sdhci1: sdhci@d0000 {
335436 compatible = "marvell,armada-3700-sdhci",
336437 "marvell,sdhci-xenon";
....@@ -355,8 +456,9 @@
355456
356457 sata: sata@e0000 {
357458 compatible = "marvell,armada-3700-ahci";
358
- reg = <0xe0000 0x2000>;
459
+ reg = <0xe0000 0x178>;
359460 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
461
+ clocks = <&nb_periph_clk 1>;
360462 status = "disabled";
361463 };
362464
....@@ -393,16 +495,26 @@
393495 * (totaling 127 MiB) for MEM.
394496 */
395497 ranges = <0x82000000 0 0xe8000000 0 0xe8000000 0 0x07f00000 /* Port 0 MEM */
396
- 0x81000000 0 0xefff0000 0 0xefff0000 0 0x00010000>; /* Port 0 IO */
498
+ 0x81000000 0 0x00000000 0 0xefff0000 0 0x00010000>; /* Port 0 IO */
397499 interrupt-map-mask = <0 0 0 7>;
398500 interrupt-map = <0 0 0 1 &pcie_intc 0>,
399501 <0 0 0 2 &pcie_intc 1>,
400502 <0 0 0 3 &pcie_intc 2>,
401503 <0 0 0 4 &pcie_intc 3>;
504
+ max-link-speed = <2>;
505
+ phys = <&comphy1 0>;
402506 pcie_intc: interrupt-controller {
403507 interrupt-controller;
404508 #interrupt-cells = <1>;
405509 };
406510 };
407511 };
512
+
513
+ firmware {
514
+ armada-3700-rwtm {
515
+ compatible = "marvell,armada-3700-rwtm-firmware";
516
+ mboxes = <&rwtm 0>;
517
+ status = "okay";
518
+ };
519
+ };
408520 };