~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt (Version linux-6.2.16)


  1 Device tree binding for NVIDIA Tegra XUSB pad       1 Device tree binding for NVIDIA Tegra XUSB pad controller
  2 ==============================================      2 ========================================================
  3                                                     3 
  4 NOTE: It turns out that this binding isn't an       4 NOTE: It turns out that this binding isn't an accurate description of the XUSB
  5 pad controller. While the description is good       5 pad controller. While the description is good enough for the functional subset
  6 required for PCIe and SATA, it lacks the flexi      6 required for PCIe and SATA, it lacks the flexibility to represent the features
  7 needed for USB. For the new binding, see ../ph      7 needed for USB. For the new binding, see ../phy/nvidia,tegra-xusb-padctl.txt.
  8 The binding described in this file is deprecat      8 The binding described in this file is deprecated and should not be used.
  9                                                     9 
 10 The Tegra XUSB pad controller manages a set of     10 The Tegra XUSB pad controller manages a set of lanes, each of which can be
 11 assigned to one out of a set of different pads     11 assigned to one out of a set of different pads. Some of these pads have an
 12 associated PHY that must be powered up before      12 associated PHY that must be powered up before the pad can be used.
 13                                                    13 
 14 This document defines the device-specific bind     14 This document defines the device-specific binding for the XUSB pad controller.
 15                                                    15 
 16 Refer to pinctrl-bindings.txt in this director     16 Refer to pinctrl-bindings.txt in this directory for generic information about
 17 pin controller device tree bindings and ../phy     17 pin controller device tree bindings and ../phy/phy-bindings.txt for details on
 18 how to describe and reference PHYs in device t     18 how to describe and reference PHYs in device trees.
 19                                                    19 
 20 Required properties:                               20 Required properties:
 21 --------------------                               21 --------------------
 22 - compatible: For Tegra124, must contain "nvid     22 - compatible: For Tegra124, must contain "nvidia,tegra124-xusb-padctl".
 23   Otherwise, must contain '"nvidia,<chip>-xusb     23   Otherwise, must contain '"nvidia,<chip>-xusb-padctl",
 24   "nvidia-tegra124-xusb-padctl"', where <chip>     24   "nvidia-tegra124-xusb-padctl"', where <chip> is tegra132 or tegra210.
 25 - reg: Physical base address and length of the     25 - reg: Physical base address and length of the controller's registers.
 26 - resets: Must contain an entry for each entry     26 - resets: Must contain an entry for each entry in reset-names.
 27   See ../reset/reset.txt for details.              27   See ../reset/reset.txt for details.
 28 - reset-names: Must include the following entr     28 - reset-names: Must include the following entries:
 29   - padctl                                         29   - padctl
 30 - #phy-cells: Should be 1. The specifier is th     30 - #phy-cells: Should be 1. The specifier is the index of the PHY to reference.
 31   See <dt-bindings/pinctrl/pinctrl-tegra-xusb.     31   See <dt-bindings/pinctrl/pinctrl-tegra-xusb.h> for the list of valid values.
 32                                                    32 
 33 Lane muxing:                                       33 Lane muxing:
 34 ------------                                       34 ------------
 35                                                    35 
 36 Child nodes contain the pinmux configurations      36 Child nodes contain the pinmux configurations following the conventions from
 37 the pinctrl-bindings.txt document. Typically a     37 the pinctrl-bindings.txt document. Typically a single, static configuration is
 38 given and applied at boot time.                    38 given and applied at boot time.
 39                                                    39 
 40 Each subnode describes groups of lanes along w     40 Each subnode describes groups of lanes along with parameters and pads that
 41 they should be assigned to. The name of these      41 they should be assigned to. The name of these subnodes is not important. All
 42 subnodes should be parsed solely based on thei     42 subnodes should be parsed solely based on their content.
 43                                                    43 
 44 Each subnode only applies the parameters that      44 Each subnode only applies the parameters that are explicitly listed. In other
 45 words, if a subnode that lists a function but      45 words, if a subnode that lists a function but no pin configuration parameters
 46 implies no information about any pin configura     46 implies no information about any pin configuration parameters. Similarly, a
 47 subnode that describes only an IDDQ parameter      47 subnode that describes only an IDDQ parameter implies no information about
 48 what function the pins are assigned to. For th     48 what function the pins are assigned to. For this reason even seemingly boolean
 49 values are actually tristates in this binding:     49 values are actually tristates in this binding: unspecified, off or on.
 50 Unspecified is represented as an absent proper     50 Unspecified is represented as an absent property, and off/on are represented
 51 as integer values 0 and 1.                         51 as integer values 0 and 1.
 52                                                    52 
 53 Required properties:                               53 Required properties:
 54 - nvidia,lanes: An array of strings. Each stri     54 - nvidia,lanes: An array of strings. Each string is the name of a lane.
 55                                                    55 
 56 Optional properties:                               56 Optional properties:
 57 - nvidia,function: A string that is the name o     57 - nvidia,function: A string that is the name of the function (pad) that the
 58   pin or group should be assigned to. Valid va     58   pin or group should be assigned to. Valid values for function names are
 59   listed below.                                    59   listed below.
 60 - nvidia,iddq: Enables IDDQ mode of the lane.      60 - nvidia,iddq: Enables IDDQ mode of the lane. (0: no, 1: yes)
 61                                                    61 
 62 Note that not all of these properties are vali     62 Note that not all of these properties are valid for all lanes. Lanes can be
 63 divided into three groups:                         63 divided into three groups:
 64                                                    64 
 65   - otg-0, otg-1, otg-2:                           65   - otg-0, otg-1, otg-2:
 66                                                    66 
 67     Valid functions for this group are: "snps"     67     Valid functions for this group are: "snps", "xusb", "uart", "rsvd".
 68                                                    68 
 69     The nvidia,iddq property does not apply to     69     The nvidia,iddq property does not apply to this group.
 70                                                    70 
 71   - ulpi-0, hsic-0, hsic-1:                        71   - ulpi-0, hsic-0, hsic-1:
 72                                                    72 
 73     Valid functions for this group are: "snps"     73     Valid functions for this group are: "snps", "xusb".
 74                                                    74 
 75     The nvidia,iddq property does not apply to     75     The nvidia,iddq property does not apply to this group.
 76                                                    76 
 77   - pcie-0, pcie-1, pcie-2, pcie-3, pcie-4, sa     77   - pcie-0, pcie-1, pcie-2, pcie-3, pcie-4, sata-0:
 78                                                    78 
 79     Valid functions for this group are: "pcie"     79     Valid functions for this group are: "pcie", "usb3", "sata", "rsvd".
 80                                                    80 
 81                                                    81 
 82 Example:                                           82 Example:
 83 ========                                           83 ========
 84                                                    84 
 85 SoC file extract:                                  85 SoC file extract:
 86 -----------------                                  86 -----------------
 87                                                    87 
 88         padctl@7009f000 {                          88         padctl@7009f000 {
 89                 compatible = "nvidia,tegra124-     89                 compatible = "nvidia,tegra124-xusb-padctl";
 90                 reg = <0x0 0x7009f000 0x0 0x10     90                 reg = <0x0 0x7009f000 0x0 0x1000>;
 91                 resets = <&tegra_car 142>;         91                 resets = <&tegra_car 142>;
 92                 reset-names = "padctl";            92                 reset-names = "padctl";
 93                                                    93 
 94                 #phy-cells = <1>;                  94                 #phy-cells = <1>;
 95         };                                         95         };
 96                                                    96 
 97 Board file extract:                                97 Board file extract:
 98 -------------------                                98 -------------------
 99                                                    99 
100         pcie-controller@1003000 {                 100         pcie-controller@1003000 {
101                 ...                               101                 ...
102                                                   102 
103                 phys = <&padctl 0>;               103                 phys = <&padctl 0>;
104                 phy-names = "pcie";               104                 phy-names = "pcie";
105                                                   105 
106                 ...                               106                 ...
107         };                                        107         };
108                                                   108 
109         ...                                       109         ...
110                                                   110 
111         padctl: padctl@7009f000 {                 111         padctl: padctl@7009f000 {
112                 pinctrl-0 = <&padctl_default>;    112                 pinctrl-0 = <&padctl_default>;
113                 pinctrl-names = "default";        113                 pinctrl-names = "default";
114                                                   114 
115                 padctl_default: pinmux {          115                 padctl_default: pinmux {
116                         usb3 {                    116                         usb3 {
117                                 nvidia,lanes =    117                                 nvidia,lanes = "pcie-0", "pcie-1";
118                                 nvidia,functio    118                                 nvidia,function = "usb3";
119                                 nvidia,iddq =     119                                 nvidia,iddq = <0>;
120                         };                        120                         };
121                                                   121 
122                         pcie {                    122                         pcie {
123                                 nvidia,lanes =    123                                 nvidia,lanes = "pcie-2", "pcie-3",
124                                                   124                                                "pcie-4";
125                                 nvidia,functio    125                                 nvidia,function = "pcie";
126                                 nvidia,iddq =     126                                 nvidia,iddq = <0>;
127                         };                        127                         };
128                                                   128 
129                         sata {                    129                         sata {
130                                 nvidia,lanes =    130                                 nvidia,lanes = "sata-0";
131                                 nvidia,functio    131                                 nvidia,function = "sata";
132                                 nvidia,iddq =     132                                 nvidia,iddq = <0>;
133                         };                        133                         };
134                 };                                134                 };
135         };                                        135         };
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php