Re: [PATCH v4 11/12] arm64: dts: qcom: sm8550: Add PCIe PHYs and controllers nodes

From: Johan Hovold
Date: Mon Jan 23 2023 - 09:24:37 EST


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@1c0e000 {
> > > > + 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