PCI: apple: Fix PERST# polarity

Now that PERST# is properly defined as active-low in the device tree, fix
the driver to correctly drive the line independently of the implied
polarity.

Suggested-by: Pali Rohár <pali@kernel.org>
Fixes: 1e33888fbe ("PCI: apple: Add initial hardware bring-up")
Link: https://lore.kernel.org/r/20211123180636.80558-4-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
This commit is contained in:
Marc Zyngier 2021-11-23 18:06:36 +00:00 committed by Bjorn Helgaas
parent 5b970dfcfe
commit 8762051268

View file

@ -540,7 +540,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
rmw_set(PORT_APPCLK_EN, port->base + PORT_APPCLK); rmw_set(PORT_APPCLK_EN, port->base + PORT_APPCLK);
/* Assert PERST# before setting up the clock */ /* Assert PERST# before setting up the clock */
gpiod_set_value(reset, 0); gpiod_set_value(reset, 1);
ret = apple_pcie_setup_refclk(pcie, port); ret = apple_pcie_setup_refclk(pcie, port);
if (ret < 0) if (ret < 0)
@ -551,7 +551,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
/* Deassert PERST# */ /* Deassert PERST# */
rmw_set(PORT_PERST_OFF, port->base + PORT_PERST); rmw_set(PORT_PERST_OFF, port->base + PORT_PERST);
gpiod_set_value(reset, 1); gpiod_set_value(reset, 0);
/* Wait for 100ms after PERST# deassertion (PCIe r5.0, 6.6.1) */ /* Wait for 100ms after PERST# deassertion (PCIe r5.0, 6.6.1) */
msleep(100); msleep(100);