Commit 87620512 authored by Marc Zyngier's avatar Marc Zyngier Committed by Bjorn Helgaas

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: default avatarPali Rohár <pali@kernel.org>
Fixes: 1e33888f ("PCI: apple: Add initial hardware bring-up")
Link: https://lore.kernel.org/r/20211123180636.80558-4-maz@kernel.orgSigned-off-by: default avatarMarc Zyngier <maz@kernel.org>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Reviewed-by: default avatarLuca Ceresoli <luca@lucaceresoli.net>
parent 5b970dfc
...@@ -540,7 +540,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie, ...@@ -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, ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment