Re: [PATCH v5] arm64: dts: marvell: add Globalscale MOCHAbin

From: Robert Marko
Date: Fri Oct 08 2021 - 11:52:56 EST


On Fri, Oct 8, 2021 at 3:43 PM Pali Rohár <pali@xxxxxxxxxx> wrote:
>
> On Friday 08 October 2021 15:28:38 Robert Marko wrote:
> > > > + cp0_pcie_reset_pins: cp0-pcie-reset-pins {
> > > > + marvell,pins = "mpp9";
> > > > + marvell,function = "gpio";
> > >
> > > Now I spotted this. Why is PERST# pin configured into gpio mode? Is
> > > there some issue that this pin in pcie mode is not working properly,
> > > that PCIe controller cannot handle it correctly? Or something else?
> >
> > Its because I have seen way too many broken controllers when it comes
> > to PERST and
> > other Armada 7k/8k devices are using it in GPIO mode as well.
> > Just look at the number of conversions back to GPIO for other
> > platforms as there is always some bug.
>
> I know that A3720 has broken PERST# control in PCIe block... or at least
> I was not able to figure out how A3720 PCIe block can control PERST#. So
> configuring it in gpio mode and let PERST# to be controlled manually via
> gpio by the software is the workaround.
>
> I just wanted to know if A7k/A8k/CN913x is also broken in the same way
> as A3720.
>
> Or it it just a configuration workaround for missing driver or missing
> proper software setup.
>
> HW bugs like this should be properly documented and not hidden behind
> some configuration in DTS file. And reported to HW vendors.

I have to agree, so I did some digging.
I don't think that the Armada 8k PCI driver actually supports HW level PERST#.
I then looked at the functional specs and the only thing that looks
related to PERST#
is PCIe Software Reset Register which has a SoftWarePERst bit.

Can you maybe look at it?

Removed the reset-gpios and set the PERST pinmux to PCIe, and the
QCA9377 card will
show up, but I have no idea whether PERST# actually ever gets toggled.

Regards,
Robert
--
Robert Marko
Staff Embedded Linux Engineer
Sartura Ltd.
Lendavska ulica 16a
10000 Zagreb, Croatia
Email: robert.marko@xxxxxxxxxx
Web: www.sartura.hr