PCI: amlogic: Fix reset assertion via gpio descriptor
authorRemi Pommarel <repk@triplefau.lt>
Sun, 1 Sep 2019 13:39:15 +0000 (15:39 +0200)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tue, 15 Oct 2019 13:57:32 +0000 (14:57 +0100)
Normally asserting reset signal on gpio would be achieved with:
gpiod_set_value_cansleep(reset_gpio, 1);

Meson PCI driver set reset value to '0' instead of '1' as it takes into
account the PERST# signal polarity. The polarity should be taken care
in the device tree instead.

This fixes the reset assertion meaning and moves out the polarity
configuration in DT (please note that there is no DT currently using
this driver).

Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
drivers/pci/controller/dwc/pci-meson.c

index e35e9ea..541f37a 100644 (file)
@@ -287,9 +287,9 @@ static inline void meson_cfg_writel(struct meson_pcie *mp, u32 val, u32 reg)
 
 static void meson_pcie_assert_reset(struct meson_pcie *mp)
 {
-       gpiod_set_value_cansleep(mp->reset_gpio, 0);
-       udelay(500);
        gpiod_set_value_cansleep(mp->reset_gpio, 1);
+       udelay(500);
+       gpiod_set_value_cansleep(mp->reset_gpio, 0);
 }
 
 static void meson_pcie_init_dw(struct meson_pcie *mp)