@@ -35,6 +35,7 @@ Required properties:
35
35
- compatible: Must be:
36
36
- Tegra124: "nvidia,tegra124-xusb-padctl"
37
37
- Tegra132: "nvidia,tegra132-xusb-padctl", "nvidia,tegra124-xusb-padctl"
38
+ - Tegra210: "nvidia,tegra210-xusb-padctl"
38
39
- reg: Physical base address and length of the controller's registers.
39
40
- resets: Must contain an entry for each entry in reset-names.
40
41
- reset-names: Must include the following entries:
@@ -55,6 +56,44 @@ the pad and any of its lanes, this property must be set to "okay".
55
56
For Tegra124 and Tegra132, the following pads exist: usb2, ulpi, hsic, pcie
56
57
and sata. No extra resources are required for operation of these pads.
57
58
59
+ For Tegra210, the following pads exist: usb2, hsic, pcie and sata. Below is
60
+ a description of the properties of each pad.
61
+
62
+ UTMI pad:
63
+ ---------
64
+
65
+ Required properties:
66
+ - clocks: Must contain an entry for each entry in clock-names.
67
+ - clock-names: Must contain the following entries:
68
+ - "trk": phandle and specifier referring to the USB2 tracking clock
69
+
70
+ HSIC pad:
71
+ ---------
72
+
73
+ Required properties:
74
+ - clocks: Must contain an entry for each entry in clock-names.
75
+ - clock-names: Must contain the following entries:
76
+ - "trk": phandle and specifier referring to the HSIC tracking clock
77
+
78
+ PCIe pad:
79
+ ---------
80
+
81
+ Required properties:
82
+ - clocks: Must contain an entry for each entry in clock-names.
83
+ - clock-names: Must contain the following entries:
84
+ - "pll": phandle and specifier referring to the PLLE
85
+ - resets: Must contain an entry for each entry in reset-names.
86
+ - reset-names: Must contain the following entries:
87
+ - "phy": reset for the PCIe UPHY block
88
+
89
+ SATA pad:
90
+ ---------
91
+
92
+ Required properties:
93
+ - resets: Must contain an entry for each entry in reset-names.
94
+ - reset-names: Must contain the following entries:
95
+ - "phy": reset for the SATA UPHY block
96
+
58
97
59
98
PHY nodes:
60
99
==========
@@ -84,6 +123,16 @@ For Tegra124 and Tegra132, the list of valid PHY nodes is given below:
84
123
- sata: sata-0
85
124
- functions: "usb3-ss", "sata"
86
125
126
+ For Tegra210, the list of valid PHY nodes is given below:
127
+ - utmi: utmi-0, utmi-1, utmi-2, utmi-3
128
+ - functions: "snps", "xusb", "uart"
129
+ - hsic: hsic-0, hsic-1
130
+ - functions: "snps", "xusb"
131
+ - pcie: pcie-0, pcie-1, pcie-2, pcie-3, pcie-4, pcie-5, pcie-6
132
+ - functions: "pcie-x1", "usb3-ss", "pcie-x4"
133
+ - sata: sata-0
134
+ - functions: "usb3-ss", "sata"
135
+
87
136
88
137
Port nodes:
89
138
===========
@@ -144,6 +193,7 @@ Required properties:
144
193
to map this super-speed USB port to. The range of valid port numbers varies
145
194
with the SoC generation:
146
195
- 0-2: for Tegra124 and Tegra132
196
+ - 0-3: for Tegra210
147
197
148
198
Optional properties:
149
199
- nvidia,internal: A boolean property whose presence determines that a port
@@ -157,6 +207,11 @@ ports:
157
207
- 2x HSIC: hsic-0, hsic-1
158
208
- 2x super-speed USB: usb3-0, usb3-1
159
209
210
+ For Tegra210, the XUSB pad controller exposes the following ports:
211
+ - 4x USB2: usb2-0, usb2-1, usb2-2, usb2-3
212
+ - 2x HSIC: hsic-0, hsic-1
213
+ - 4x super-speed USB: usb3-0, usb3-1, usb3-2, usb3-3
214
+
160
215
161
216
Examples:
162
217
=========
@@ -390,3 +445,289 @@ Board file:
390
445
};
391
446
};
392
447
};
448
+
449
+ Tegra210:
450
+ ---------
451
+
452
+ SoC include:
453
+
454
+ padctl@7009f000 {
455
+ compatible = "nvidia,tegra210-xusb-padctl";
456
+ reg = <0x0 0x7009f000 0x0 0x1000>;
457
+ resets = <&tegra_car 142>;
458
+ reset-names = "padctl";
459
+
460
+ status = "disabled";
461
+
462
+ pads {
463
+ usb2 {
464
+ clocks = <&tegra_car TEGRA210_CLK_USB2_TRK>;
465
+ clock-names = "trk";
466
+ status = "disabled";
467
+
468
+ lanes {
469
+ usb2-0 {
470
+ status = "disabled";
471
+ #phy-cells = <0>;
472
+ };
473
+
474
+ usb2-1 {
475
+ status = "disabled";
476
+ #phy-cells = <0>;
477
+ };
478
+
479
+ usb2-2 {
480
+ status = "disabled";
481
+ #phy-cells = <0>;
482
+ };
483
+
484
+ usb2-3 {
485
+ status = "disabled";
486
+ #phy-cells = <0>;
487
+ };
488
+ };
489
+ };
490
+
491
+ hsic {
492
+ clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>;
493
+ clock-names = "trk";
494
+ status = "disabled";
495
+
496
+ lanes {
497
+ hsic-0 {
498
+ status = "disabled";
499
+ #phy-cells = <0>;
500
+ };
501
+
502
+ hsic-1 {
503
+ status = "disabled";
504
+ #phy-cells = <0>;
505
+ };
506
+ };
507
+ };
508
+
509
+ pcie {
510
+ clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
511
+ clock-names = "pll";
512
+ resets = <&tegra_car 205>;
513
+ reset-names = "phy";
514
+ status = "disabled";
515
+
516
+ lanes {
517
+ pcie-0 {
518
+ status = "disabled";
519
+ #phy-cells = <0>;
520
+ };
521
+
522
+ pcie-1 {
523
+ status = "disabled";
524
+ #phy-cells = <0>;
525
+ };
526
+
527
+ pcie-2 {
528
+ status = "disabled";
529
+ #phy-cells = <0>;
530
+ };
531
+
532
+ pcie-3 {
533
+ status = "disabled";
534
+ #phy-cells = <0>;
535
+ };
536
+
537
+ pcie-4 {
538
+ status = "disabled";
539
+ #phy-cells = <0>;
540
+ };
541
+
542
+ pcie-5 {
543
+ status = "disabled";
544
+ #phy-cells = <0>;
545
+ };
546
+
547
+ pcie-6 {
548
+ status = "disabled";
549
+ #phy-cells = <0>;
550
+ };
551
+ };
552
+ };
553
+
554
+ sata {
555
+ clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
556
+ clock-names = "pll";
557
+ resets = <&tegra_car 204>;
558
+ reset-names = "phy";
559
+ status = "disabled";
560
+
561
+ lanes {
562
+ sata-0 {
563
+ status = "disabled";
564
+ #phy-cells = <0>;
565
+ };
566
+ };
567
+ };
568
+ };
569
+
570
+ ports {
571
+ usb2-0 {
572
+ status = "disabled";
573
+ };
574
+
575
+ usb2-1 {
576
+ status = "disabled";
577
+ };
578
+
579
+ usb2-2 {
580
+ status = "disabled";
581
+ };
582
+
583
+ usb2-3 {
584
+ status = "disabled";
585
+ };
586
+
587
+ hsic-0 {
588
+ status = "disabled";
589
+ };
590
+
591
+ hsic-1 {
592
+ status = "disabled";
593
+ };
594
+
595
+ usb3-0 {
596
+ status = "disabled";
597
+ };
598
+
599
+ usb3-1 {
600
+ status = "disabled";
601
+ };
602
+
603
+ usb3-2 {
604
+ status = "disabled";
605
+ };
606
+
607
+ usb3-3 {
608
+ status = "disabled";
609
+ };
610
+ };
611
+ };
612
+
613
+ Board file:
614
+
615
+ padctl@7009f000 {
616
+ status = "okay";
617
+
618
+ pads {
619
+ usb2 {
620
+ status = "okay";
621
+
622
+ lanes {
623
+ usb2-0 {
624
+ nvidia,function = "xusb";
625
+ status = "okay";
626
+ };
627
+
628
+ usb2-1 {
629
+ nvidia,function = "xusb";
630
+ status = "okay";
631
+ };
632
+
633
+ usb2-2 {
634
+ nvidia,function = "xusb";
635
+ status = "okay";
636
+ };
637
+
638
+ usb2-3 {
639
+ nvidia,function = "xusb";
640
+ status = "okay";
641
+ };
642
+ };
643
+ };
644
+
645
+ pcie {
646
+ status = "okay";
647
+
648
+ lanes {
649
+ pcie-0 {
650
+ nvidia,function = "pcie-x1";
651
+ status = "okay";
652
+ };
653
+
654
+ pcie-1 {
655
+ nvidia,function = "pcie-x4";
656
+ status = "okay";
657
+ };
658
+
659
+ pcie-2 {
660
+ nvidia,function = "pcie-x4";
661
+ status = "okay";
662
+ };
663
+
664
+ pcie-3 {
665
+ nvidia,function = "pcie-x4";
666
+ status = "okay";
667
+ };
668
+
669
+ pcie-4 {
670
+ nvidia,function = "pcie-x4";
671
+ status = "okay";
672
+ };
673
+
674
+ pcie-5 {
675
+ nvidia,function = "usb3-ss";
676
+ status = "okay";
677
+ };
678
+
679
+ pcie-6 {
680
+ nvidia,function = "usb3-ss";
681
+ status = "okay";
682
+ };
683
+ };
684
+ };
685
+
686
+ sata {
687
+ status = "okay";
688
+
689
+ lanes {
690
+ sata-0 {
691
+ nvidia,function = "sata";
692
+ status = "okay";
693
+ };
694
+ };
695
+ };
696
+ };
697
+
698
+ ports {
699
+ usb2-0 {
700
+ status = "okay";
701
+ mode = "otg";
702
+ };
703
+
704
+ usb2-1 {
705
+ status = "okay";
706
+ vbus-supply = <&vdd_5v0_rtl>;
707
+ mode = "host";
708
+ };
709
+
710
+ usb2-2 {
711
+ status = "okay";
712
+ vbus-supply = <&vdd_usb_vbus>;
713
+ mode = "host";
714
+ };
715
+
716
+ usb2-3 {
717
+ status = "okay";
718
+ mode = "host";
719
+ };
720
+
721
+ usb3-0 {
722
+ status = "okay";
723
+ nvidia,lanes = "pcie-6";
724
+ nvidia,port = <1>;
725
+ };
726
+
727
+ usb3-1 {
728
+ status = "okay";
729
+ nvidia,lanes = "pcie-5";
730
+ nvidia,port = <2>;
731
+ };
732
+ };
733
+ };
0 commit comments