Message ID | 20201016130726.1378666-11-jckuo@nvidia.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Tegra XHCI controller ELPG support | expand |
On Fri, Oct 16, 2020 at 09:07:20PM +0800, JC Kuo wrote: > This commit describes the "nvidia,pmc" property for Tegra210 tegra-xusb > PHY driver. It is a phandle and specifier referring to the Tegra210 > pmc@7000e400 node. > > Signed-off-by: JC Kuo <jckuo@nvidia.com> > --- > v4: > new change to document "nvidia,pmc" prop > > .../devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt > index 38c5fa21f435..ea559baeb546 100644 > --- a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt > +++ b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt > @@ -54,6 +54,7 @@ For Tegra210: > - avdd-pll-uerefe-supply: PLLE reference PLL power supply. Must supply 1.05 V. > - dvdd-pex-pll-supply: PCIe/USB3 PLL power supply. Must supply 1.05 V. > - hvdd-pex-pll-e-supply: High-voltage PLLE power supply. Must supply 1.8 V. > +- nvidia,pmc: phandle and specifier referring to the Tegra210 pmc@7000e400 node. 'Tegra210 pmc@7000e400' is kind of specific. Going to update this for every address and chip? If there's only one PMC, you can just find the compatible PMC node. Then you don't need a DT update. Rob
On 10/20/20 5:40 AM, Rob Herring wrote: > On Fri, Oct 16, 2020 at 09:07:20PM +0800, JC Kuo wrote: >> This commit describes the "nvidia,pmc" property for Tegra210 tegra-xusb >> PHY driver. It is a phandle and specifier referring to the Tegra210 >> pmc@7000e400 node. >> >> Signed-off-by: JC Kuo <jckuo@nvidia.com> >> --- >> v4: >> new change to document "nvidia,pmc" prop >> >> .../devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt >> index 38c5fa21f435..ea559baeb546 100644 >> --- a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt >> +++ b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt >> @@ -54,6 +54,7 @@ For Tegra210: >> - avdd-pll-uerefe-supply: PLLE reference PLL power supply. Must supply 1.05 V. >> - dvdd-pex-pll-supply: PCIe/USB3 PLL power supply. Must supply 1.05 V. >> - hvdd-pex-pll-e-supply: High-voltage PLLE power supply. Must supply 1.8 V. >> +- nvidia,pmc: phandle and specifier referring to the Tegra210 pmc@7000e400 node. > > 'Tegra210 pmc@7000e400' is kind of specific. Going to update this for > every address and chip? > > If there's only one PMC, you can just find the compatible PMC node. Then > you don't need a DT update. > > Rob > Hi Rob, Thanks for your review and suggestion. Yes, there is only one PMC node. You mean I can retrieve the PMC node with the following code and if do do DT update is not required, right? np = of_find_compatible_node(NULL, NULL, "nvidia,tegra210-pmc"); JC
On Mon, Oct 19, 2020 at 04:40:46PM -0500, Rob Herring wrote: > On Fri, Oct 16, 2020 at 09:07:20PM +0800, JC Kuo wrote: > > This commit describes the "nvidia,pmc" property for Tegra210 tegra-xusb > > PHY driver. It is a phandle and specifier referring to the Tegra210 > > pmc@7000e400 node. > > > > Signed-off-by: JC Kuo <jckuo@nvidia.com> > > --- > > v4: > > new change to document "nvidia,pmc" prop > > > > .../devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt > > index 38c5fa21f435..ea559baeb546 100644 > > --- a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt > > +++ b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt > > @@ -54,6 +54,7 @@ For Tegra210: > > - avdd-pll-uerefe-supply: PLLE reference PLL power supply. Must supply 1.05 V. > > - dvdd-pex-pll-supply: PCIe/USB3 PLL power supply. Must supply 1.05 V. > > - hvdd-pex-pll-e-supply: High-voltage PLLE power supply. Must supply 1.8 V. > > +- nvidia,pmc: phandle and specifier referring to the Tegra210 pmc@7000e400 node. > > 'Tegra210 pmc@7000e400' is kind of specific. Going to update this for > every address and chip? > > If there's only one PMC, you can just find the compatible PMC node. Then > you don't need a DT update. I did advise against doing the lookup by compatible string because I think it has a couple of downsides. On one hand it's going to create an additional maintenance burden on the XUSB pad controller driver because the PMC is usually not compatible between SoC versions, so for every new SoC generation we'll have to add the PMC compatible string to the XUSB pad controller driver. On the other hand, this is new functionality and we can easily gate that on the existence of this phandle, so it doesn't impact DT backwards compatibility. That also has the advantage of explicitly listing the dependency between the PMC and the XUSB pad controller in DT, so if we ever do get around to come up with an even better mechanism to resolve these dependencies than deferred probe, we do have the data already available. Thierry
On 11/14/20 12:20 AM, Thierry Reding wrote: > On Mon, Oct 19, 2020 at 04:40:46PM -0500, Rob Herring wrote: >> On Fri, Oct 16, 2020 at 09:07:20PM +0800, JC Kuo wrote: >>> This commit describes the "nvidia,pmc" property for Tegra210 tegra-xusb >>> PHY driver. It is a phandle and specifier referring to the Tegra210 >>> pmc@7000e400 node. >>> >>> Signed-off-by: JC Kuo <jckuo@nvidia.com> >>> --- >>> v4: >>> new change to document "nvidia,pmc" prop >>> >>> .../devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt >>> index 38c5fa21f435..ea559baeb546 100644 >>> --- a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt >>> +++ b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt >>> @@ -54,6 +54,7 @@ For Tegra210: >>> - avdd-pll-uerefe-supply: PLLE reference PLL power supply. Must supply 1.05 V. >>> - dvdd-pex-pll-supply: PCIe/USB3 PLL power supply. Must supply 1.05 V. >>> - hvdd-pex-pll-e-supply: High-voltage PLLE power supply. Must supply 1.8 V. >>> +- nvidia,pmc: phandle and specifier referring to the Tegra210 pmc@7000e400 node. >> >> 'Tegra210 pmc@7000e400' is kind of specific. Going to update this for >> every address and chip? >> >> If there's only one PMC, you can just find the compatible PMC node. Then >> you don't need a DT update. > > I did advise against doing the lookup by compatible string because I > think it has a couple of downsides. On one hand it's going to create an > additional maintenance burden on the XUSB pad controller driver because > the PMC is usually not compatible between SoC versions, so for every new > SoC generation we'll have to add the PMC compatible string to the XUSB > pad controller driver. > > On the other hand, this is new functionality and we can easily gate that > on the existence of this phandle, so it doesn't impact DT backwards > compatibility. That also has the advantage of explicitly listing the > dependency between the PMC and the XUSB pad controller in DT, so if we > ever do get around to come up with an even better mechanism to resolve > these dependencies than deferred probe, we do have the data already > available. > > Thierry > Hi Thierry, Thanks for the ideas. I will stay with the adding "nvidia,pmc" phandle property implementation. As for the DT document change, I will modify it with below. nvidia,pmc: phandle and specifier referring to the Tegra210 PMC node. Thanks, JC
diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt index 38c5fa21f435..ea559baeb546 100644 --- a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt +++ b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt @@ -54,6 +54,7 @@ For Tegra210: - avdd-pll-uerefe-supply: PLLE reference PLL power supply. Must supply 1.05 V. - dvdd-pex-pll-supply: PCIe/USB3 PLL power supply. Must supply 1.05 V. - hvdd-pex-pll-e-supply: High-voltage PLLE power supply. Must supply 1.8 V. +- nvidia,pmc: phandle and specifier referring to the Tegra210 pmc@7000e400 node. For Tegra186: - avdd-pll-erefeut-supply: UPHY brick and reference clock as well as UTMI PHY
This commit describes the "nvidia,pmc" property for Tegra210 tegra-xusb PHY driver. It is a phandle and specifier referring to the Tegra210 pmc@7000e400 node. Signed-off-by: JC Kuo <jckuo@nvidia.com> --- v4: new change to document "nvidia,pmc" prop .../devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt | 1 + 1 file changed, 1 insertion(+)