]> www.infradead.org Git - users/willy/linux.git/commitdiff
PCI: apple: Fix PERST# polarity
authorMarc Zyngier <maz@kernel.org>
Tue, 23 Nov 2021 18:06:36 +0000 (18:06 +0000)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 7 Dec 2021 20:27:29 +0000 (14:27 -0600)
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: 1e33888fbe44 ("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>
drivers/pci/controller/pcie-apple.c

index c384777b037498b9278d2d4e025db22fba973030..b090924b41feefac638f5a127cdfa9bcf801f2a7 100644 (file)
@@ -540,7 +540,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
        rmw_set(PORT_APPCLK_EN, port->base + PORT_APPCLK);
 
        /* Assert PERST# before setting up the clock */
-       gpiod_set_value(reset, 0);
+       gpiod_set_value(reset, 1);
 
        ret = apple_pcie_setup_refclk(pcie, port);
        if (ret < 0)
@@ -551,7 +551,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
 
        /* Deassert 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) */
        msleep(100);