diff options
author | Thierry Reding <treding@nvidia.com> | 2015-11-04 11:35:01 -0500 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2016-04-29 10:44:47 -0400 |
commit | d6f83c1b1dcac39729f48fe1c2d426b9c135df41 (patch) | |
tree | 0c8a62f0a8439fa396449f565d0ceedc46d76585 | |
parent | b1accd107b7a5db06d2c5a303cb5d419f788392d (diff) |
dt-bindings: phy: tegra-xusb-padctl: Add Tegra210 support
Extend the binding to cover the set of feature found in Tegra210.
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r-- | Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt | 341 |
1 files changed, 341 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt index 6a5bb4311cfe..0bf1ae243552 100644 --- a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt +++ b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt | |||
@@ -35,6 +35,7 @@ Required properties: | |||
35 | - compatible: Must be: | 35 | - compatible: Must be: |
36 | - Tegra124: "nvidia,tegra124-xusb-padctl" | 36 | - Tegra124: "nvidia,tegra124-xusb-padctl" |
37 | - Tegra132: "nvidia,tegra132-xusb-padctl", "nvidia,tegra124-xusb-padctl" | 37 | - Tegra132: "nvidia,tegra132-xusb-padctl", "nvidia,tegra124-xusb-padctl" |
38 | - Tegra210: "nvidia,tegra210-xusb-padctl" | ||
38 | - reg: Physical base address and length of the controller's registers. | 39 | - reg: Physical base address and length of the controller's registers. |
39 | - resets: Must contain an entry for each entry in reset-names. | 40 | - resets: Must contain an entry for each entry in reset-names. |
40 | - reset-names: Must include the following entries: | 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 | For Tegra124 and Tegra132, the following pads exist: usb2, ulpi, hsic, pcie | 56 | For Tegra124 and Tegra132, the following pads exist: usb2, ulpi, hsic, pcie |
56 | and sata. No extra resources are required for operation of these pads. | 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 | PHY nodes: | 98 | PHY nodes: |
60 | ========== | 99 | ========== |
@@ -84,6 +123,16 @@ For Tegra124 and Tegra132, the list of valid PHY nodes is given below: | |||
84 | - sata: sata-0 | 123 | - sata: sata-0 |
85 | - functions: "usb3-ss", "sata" | 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 | Port nodes: | 137 | Port nodes: |
89 | =========== | 138 | =========== |
@@ -144,6 +193,7 @@ Required properties: | |||
144 | to map this super-speed USB port to. The range of valid port numbers varies | 193 | to map this super-speed USB port to. The range of valid port numbers varies |
145 | with the SoC generation: | 194 | with the SoC generation: |
146 | - 0-2: for Tegra124 and Tegra132 | 195 | - 0-2: for Tegra124 and Tegra132 |
196 | - 0-3: for Tegra210 | ||
147 | 197 | ||
148 | Optional properties: | 198 | Optional properties: |
149 | - nvidia,internal: A boolean property whose presence determines that a port | 199 | - nvidia,internal: A boolean property whose presence determines that a port |
@@ -157,6 +207,11 @@ ports: | |||
157 | - 2x HSIC: hsic-0, hsic-1 | 207 | - 2x HSIC: hsic-0, hsic-1 |
158 | - 2x super-speed USB: usb3-0, usb3-1 | 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 | Examples: | 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 | }; | ||