hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/boot/dts/uniphier-pro4.dtsi
....@@ -59,7 +59,7 @@
5959 ranges;
6060 interrupt-parent = <&intc>;
6161
62
- l2: l2-cache@500c0000 {
62
+ l2: cache-controller@500c0000 {
6363 compatible = "socionext,uniphier-system-cache";
6464 reg = <0x500c0000 0x2000>, <0x503c0100 0x4>,
6565 <0x506c0000 0x400>;
....@@ -69,6 +69,19 @@
6969 cache-sets = <256>;
7070 cache-line-size = <128>;
7171 cache-level = <2>;
72
+ };
73
+
74
+ spi0: spi@54006000 {
75
+ compatible = "socionext,uniphier-scssi";
76
+ status = "disabled";
77
+ reg = <0x54006000 0x100>;
78
+ #address-cells = <1>;
79
+ #size-cells = <0>;
80
+ interrupts = <0 39 4>;
81
+ pinctrl-names = "default";
82
+ pinctrl-0 = <&pinctrl_spi0>;
83
+ clocks = <&peri_clk 11>;
84
+ resets = <&peri_rst 11>;
7285 };
7386
7487 serial0: serial@54006800 {
....@@ -258,6 +271,70 @@
258271 };
259272 };
260273
274
+ dmac: dma-controller@5a000000 {
275
+ compatible = "socionext,uniphier-mio-dmac";
276
+ reg = <0x5a000000 0x1000>;
277
+ interrupts = <0 68 4>, <0 68 4>, <0 69 4>, <0 70 4>,
278
+ <0 71 4>, <0 72 4>, <0 73 4>, <0 74 4>;
279
+ clocks = <&mio_clk 7>;
280
+ resets = <&mio_rst 7>;
281
+ #dma-cells = <1>;
282
+ };
283
+
284
+ sd: mmc@5a400000 {
285
+ compatible = "socionext,uniphier-sd-v2.91";
286
+ status = "disabled";
287
+ reg = <0x5a400000 0x200>;
288
+ interrupts = <0 76 4>;
289
+ pinctrl-names = "default", "uhs";
290
+ pinctrl-0 = <&pinctrl_sd>;
291
+ pinctrl-1 = <&pinctrl_sd_uhs>;
292
+ clocks = <&mio_clk 0>;
293
+ reset-names = "host", "bridge";
294
+ resets = <&mio_rst 0>, <&mio_rst 3>;
295
+ dma-names = "rx-tx";
296
+ dmas = <&dmac 4>;
297
+ bus-width = <4>;
298
+ cap-sd-highspeed;
299
+ sd-uhs-sdr12;
300
+ sd-uhs-sdr25;
301
+ sd-uhs-sdr50;
302
+ };
303
+
304
+ emmc: mmc@5a500000 {
305
+ compatible = "socionext,uniphier-sd-v2.91";
306
+ status = "disabled";
307
+ reg = <0x5a500000 0x200>;
308
+ interrupts = <0 78 4>;
309
+ pinctrl-names = "default";
310
+ pinctrl-0 = <&pinctrl_emmc>;
311
+ clocks = <&mio_clk 1>;
312
+ reset-names = "host", "bridge", "hw";
313
+ resets = <&mio_rst 1>, <&mio_rst 4>, <&mio_rst 6>;
314
+ dma-names = "rx-tx";
315
+ dmas = <&dmac 5>;
316
+ bus-width = <8>;
317
+ cap-mmc-highspeed;
318
+ cap-mmc-hw-reset;
319
+ non-removable;
320
+ };
321
+
322
+ sd1: mmc@5a600000 {
323
+ compatible = "socionext,uniphier-sd-v2.91";
324
+ status = "disabled";
325
+ reg = <0x5a600000 0x200>;
326
+ interrupts = <0 85 4>;
327
+ pinctrl-names = "default";
328
+ pinctrl-0 = <&pinctrl_sd1>;
329
+ clocks = <&mio_clk 2>;
330
+ reset-names = "host", "bridge";
331
+ resets = <&mio_rst 2>, <&mio_rst 5>;
332
+ dma-names = "rx-tx";
333
+ dmas = <&dmac 6>;
334
+ bus-width = <4>;
335
+ cap-sd-highspeed;
336
+ };
337
+
261338 usb2: usb@5a800100 {
262339 compatible = "socionext,uniphier-ehci", "generic-ehci";
263340 status = "disabled";
....@@ -269,6 +346,8 @@
269346 <&mio_clk 12>;
270347 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
271348 <&mio_rst 12>;
349
+ phy-names = "usb";
350
+ phys = <&usb_phy0>;
272351 has-transaction-translator;
273352 };
274353
....@@ -283,6 +362,8 @@
283362 <&mio_clk 13>;
284363 resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
285364 <&mio_rst 13>;
365
+ phy-names = "usb";
366
+ phys = <&usb_phy1>;
286367 has-transaction-translator;
287368 };
288369
....@@ -293,6 +374,34 @@
293374
294375 pinctrl: pinctrl {
295376 compatible = "socionext,uniphier-pro4-pinctrl";
377
+ };
378
+
379
+ usb-phy {
380
+ compatible = "socionext,uniphier-pro4-usb2-phy";
381
+ #address-cells = <1>;
382
+ #size-cells = <0>;
383
+
384
+ usb_phy0: phy@0 {
385
+ reg = <0>;
386
+ #phy-cells = <0>;
387
+ };
388
+
389
+ usb_phy1: phy@1 {
390
+ reg = <1>;
391
+ #phy-cells = <0>;
392
+ };
393
+
394
+ usb_phy2: phy@2 {
395
+ reg = <2>;
396
+ #phy-cells = <0>;
397
+ vbus-supply = <&usb0_vbus>;
398
+ };
399
+
400
+ usb_phy3: phy@3 {
401
+ reg = <3>;
402
+ #phy-cells = <0>;
403
+ vbus-supply = <&usb1_vbus>;
404
+ };
296405 };
297406 };
298407
....@@ -319,7 +428,15 @@
319428 };
320429 };
321430
322
- aidet: aidet@5fc20000 {
431
+ xdmac: dma-controller@5fc10000 {
432
+ compatible = "socionext,uniphier-xdmac";
433
+ reg = <0x5fc10000 0x5300>;
434
+ interrupts = <0 188 4>;
435
+ dma-channels = <16>;
436
+ #dma-cells = <2>;
437
+ };
438
+
439
+ aidet: interrupt-controller@5fc20000 {
323440 compatible = "socionext,uniphier-pro4-aidet";
324441 reg = <0x5fc20000 0x200>;
325442 interrupt-controller;
....@@ -386,16 +503,115 @@
386503 };
387504 };
388505
389
- nand: nand@68000000 {
506
+ usb0: usb@65a00000 {
507
+ compatible = "socionext,uniphier-dwc3", "snps,dwc3";
508
+ status = "disabled";
509
+ reg = <0x65a00000 0xcd00>;
510
+ interrupt-names = "host", "peripheral";
511
+ interrupts = <0 134 4>, <0 135 4>;
512
+ pinctrl-names = "default";
513
+ pinctrl-0 = <&pinctrl_usb0>;
514
+ clock-names = "ref", "bus_early", "suspend";
515
+ clocks = <&sys_clk 12>, <&sys_clk 12>, <&sys_clk 12>;
516
+ resets = <&usb0_rst 4>;
517
+ phys = <&usb_phy2>, <&usb0_ssphy>;
518
+ dr_mode = "host";
519
+ };
520
+
521
+ usb-glue@65b00000 {
522
+ compatible = "socionext,uniphier-pro4-dwc3-glue",
523
+ "simple-mfd";
524
+ #address-cells = <1>;
525
+ #size-cells = <1>;
526
+ ranges = <0 0x65b00000 0x100>;
527
+
528
+ usb0_vbus: regulator@0 {
529
+ compatible = "socionext,uniphier-pro4-usb3-regulator";
530
+ reg = <0 0x10>;
531
+ clock-names = "gio", "link";
532
+ clocks = <&sys_clk 12>, <&sys_clk 14>;
533
+ reset-names = "gio", "link";
534
+ resets = <&sys_rst 12>, <&sys_rst 14>;
535
+ };
536
+
537
+ usb0_ssphy: ss-phy@10 {
538
+ compatible = "socionext,uniphier-pro4-usb3-ssphy";
539
+ reg = <0x10 0x10>;
540
+ #phy-cells = <0>;
541
+ clock-names = "gio", "link";
542
+ clocks = <&sys_clk 12>, <&sys_clk 14>;
543
+ reset-names = "gio", "link";
544
+ resets = <&sys_rst 12>, <&sys_rst 14>;
545
+ vbus-supply = <&usb0_vbus>;
546
+ };
547
+
548
+ usb0_rst: reset@40 {
549
+ compatible = "socionext,uniphier-pro4-usb3-reset";
550
+ reg = <0x40 0x4>;
551
+ #reset-cells = <1>;
552
+ clock-names = "gio", "link";
553
+ clocks = <&sys_clk 12>, <&sys_clk 14>;
554
+ reset-names = "gio", "link";
555
+ resets = <&sys_rst 12>, <&sys_rst 14>;
556
+ };
557
+ };
558
+
559
+ usb1: usb@65c00000 {
560
+ compatible = "socionext,uniphier-dwc3", "snps,dwc3";
561
+ status = "disabled";
562
+ reg = <0x65c00000 0xcd00>;
563
+ interrupt-names = "host", "peripheral";
564
+ interrupts = <0 137 4>, <0 138 4>;
565
+ pinctrl-names = "default";
566
+ pinctrl-0 = <&pinctrl_usb1>;
567
+ clock-names = "ref", "bus_early", "suspend";
568
+ clocks = <&sys_clk 12>, <&sys_clk 12>, <&sys_clk 12>;
569
+ resets = <&usb1_rst 4>;
570
+ phys = <&usb_phy3>;
571
+ dr_mode = "host";
572
+ };
573
+
574
+ usb-glue@65d00000 {
575
+ compatible = "socionext,uniphier-pro4-dwc3-glue",
576
+ "simple-mfd";
577
+ #address-cells = <1>;
578
+ #size-cells = <1>;
579
+ ranges = <0 0x65d00000 0x100>;
580
+
581
+ usb1_vbus: regulator@0 {
582
+ compatible = "socionext,uniphier-pro4-usb3-regulator";
583
+ reg = <0 0x10>;
584
+ clock-names = "gio", "link";
585
+ clocks = <&sys_clk 12>, <&sys_clk 15>;
586
+ reset-names = "gio", "link";
587
+ resets = <&sys_rst 12>, <&sys_rst 15>;
588
+ };
589
+
590
+ usb1_rst: reset@40 {
591
+ compatible = "socionext,uniphier-pro4-usb3-reset";
592
+ reg = <0x40 0x4>;
593
+ #reset-cells = <1>;
594
+ clock-names = "gio", "link";
595
+ clocks = <&sys_clk 12>, <&sys_clk 15>;
596
+ reset-names = "gio", "link";
597
+ resets = <&sys_rst 12>, <&sys_rst 15>;
598
+ };
599
+ };
600
+
601
+ nand: nand-controller@68000000 {
390602 compatible = "socionext,uniphier-denali-nand-v5a";
391603 status = "disabled";
392604 reg-names = "nand_data", "denali_reg";
393605 reg = <0x68000000 0x20>, <0x68100000 0x1000>;
606
+ #address-cells = <1>;
607
+ #size-cells = <0>;
394608 interrupts = <0 65 4>;
395609 pinctrl-names = "default";
396610 pinctrl-0 = <&pinctrl_nand>;
397
- clocks = <&sys_clk 2>;
398
- resets = <&sys_rst 2>;
611
+ clock-names = "nand", "nand_x", "ecc";
612
+ clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>;
613
+ reset-names = "nand", "reg";
614
+ resets = <&sys_rst 2>, <&sys_rst 2>;
399615 };
400616 };
401617 };