[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y86YnAxmTcQTmqwH@hovoldconsulting.com>
Date: Mon, 23 Jan 2023 15:24:28 +0100
From: Johan Hovold <johan@...nel.org>
To: Abel Vesa <abel.vesa@...aro.org>
Cc: Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Rob Herring <robh@...nel.org>,
Krzysztof WilczyĆski <kw@...ux.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
"vkoul@...nel.org" <vkoul@...nel.org>,
Kishon Vijay Abraham I <kishon@...nel.org>,
Manivannan Sadhasivam <mani@...nel.org>,
linux-arm-msm@...r.kernel.org, linux-pci@...r.kernel.org,
linux-phy@...ts.infradead.org, devicetree@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 11/12] arm64: dts: qcom: sm8550: Add PCIe PHYs and
controllers nodes
On Mon, Jan 23, 2023 at 03:16:09PM +0100, Johan Hovold wrote:
> On Mon, Jan 23, 2023 at 02:39:55PM +0200, Abel Vesa wrote:
> > On 23-01-23 09:51:20, Johan Hovold wrote:
> > > > + pcie1_phy: phy@...e000 {
> > > > + compatible = "qcom,sm8550-qmp-gen4x2-pcie-phy";
> > > > + reg = <0x0 0x01c0e000 0x0 0x2000>;
> > > > +
> > > > + clocks = <&gcc GCC_PCIE_1_PHY_AUX_CLK>,
> > > > + <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
> > > > + <&tcsr TCSR_PCIE_1_CLKREF_EN>,
> > > > + <&gcc GCC_PCIE_1_PHY_RCHNG_CLK>,
> > > > + <&gcc GCC_PCIE_1_PIPE_CLK>;
> > > > + clock-names = "aux", "cfg_ahb", "ref", "rchng",
> > > > + "pipe";
> > > > +
> > > > + resets = <&gcc GCC_PCIE_1_PHY_BCR>,
> > > > + <&gcc GCC_PCIE_1_NOCSR_COM_PHY_BCR>;
> > > > + reset-names = "phy", "nocsr";
> > >
> > > Do you know why only the second PHY uses two resets here? Did you intend
> > > to add it also for the first PHY?
> >
> > Please notice that this is a g4x2 phy. The documentation specifically
> > says that both the pciephy_reset and pciephy_nocsr_reset should be
> > asserted on power-up. Now, even the g3x2 has the nocsr reset (at least
> > in GCC) but its documentation doesn't seem to say anything about
> > nocsr needed to be asserted (ever).
>
> Ok. Thanks for confirming. I did not notice the difference in generation
> at first.
>
> > > Both of these resets exists also on sc8280xp, and I believe downstream
> > > used the NOCSR_COM variant, which does not reset all registers in the
> > > PHY so you could unknowingly be relying on firmware to setup things up
> > > for you.
> >
> > That is also the case for the g3x2 phy on sm8550.
One more thing: Shouldn't the second reset be named 'nocsr_com' or
similar?
Johan
Powered by blists - more mailing lists