[PATCH v2] PCI: brcmstb: Restore initial fundamental reset

Lorenzo Pieralisi lorenzo.pieralisi at arm.com
Mon Jan 18 07:40:03 EST 2021


On Thu, Nov 12, 2020 at 01:38:13PM -0500, Jim Quinlan wrote:
> On Thu, Nov 12, 2020 at 12:27 PM Phil Elwell <phil at raspberrypi.com> wrote:
> >
> > Commit 04356ac30771 ("PCI: brcmstb: Add bcm7278 PERST# support")
> > replaced a single reset function with a pointer to one of two
> > implementations, but also removed the call asserting the reset
> > at the start of brcm_pcie_setup. Doing so breaks Raspberry Pis with
> > VL805 XHCI controllers lacking dedicated SPI EEPROMs, which have been
> > used for USB booting but then need to be reset so that the kernel
> > can reconfigure them. The lack of a reset causes the firmware's loading
> > of the EEPROM image to RAM to fail, breaking USB for the kernel.
> >
> > Fixes: commit 04356ac30771 ("PCI: brcmstb: Add bcm7278 PERST# support")
> >
> > Signed-off-by: Phil Elwell <phil at raspberrypi.com>
> > Acked-by: Nicolas Saenz Julienne <nsaenzjulienne at suse.de>
> > ---
> > Changes in v2:
> >   - Exclude BCM7278 from the initial reset
> >   - Ack from Nicolas
> > ---
> >  drivers/pci/controller/pcie-brcmstb.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
> > index bea86899bd5d..83aa85bfe8e3 100644
> > --- a/drivers/pci/controller/pcie-brcmstb.c
> > +++ b/drivers/pci/controller/pcie-brcmstb.c
> > @@ -869,6 +869,11 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie)
> >
> >         /* Reset the bridge */
> >         pcie->bridge_sw_init_set(pcie, 1);
> > +
> > +       /* Assert the fundemental reset, except on BCM7278 */
> > +       if (pcie->type != BCM7278)
> > +               pcie->perst_set(pcie, 1);
> I'm okay with this although I  would rather it not be needed.

Can I merge this patch as is then ?

Thanks,
Lorenzo

> Regards,
> Jim
> > +
> >         usleep_range(100, 200);
> >
> >         /* Take the bridge out of reset */
> > --
> > 2.25.1
> >





More information about the linux-rpi-kernel mailing list