• Martin Schiller's avatar
    MIPS: pci: lantiq: restore reset gpio polarity · 277a0363
    Martin Schiller authored
    Commit 90c2d2eb ("MIPS: pci: lantiq: switch to using gpiod API") not
    only switched to the gpiod API, but also inverted / changed the polarity
    of the GPIO.
    
    According to the PCI specification, the RST# pin is an active-low
    signal. However, most of the device trees that have been widely used for
    a long time (mainly in the openWrt project) define this GPIO as
    active-high and the old driver code inverted the signal internally.
    
    Apparently there are actually boards where the reset gpio must be
    operated inverted. For this reason, we cannot use the GPIOD_OUT_LOW/HIGH
    flag for initialization. Instead, we must explicitly set the gpio to
    value 1 in order to take into account any "GPIO_ACTIVE_LOW" flag that
    may have been set.
    
    In order to remain compatible with all these existing device trees, we
    should therefore keep the logic as it was before the commit.
    
    Fixes: 90c2d2eb ("MIPS: pci: lantiq: switch to using gpiod API")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarMartin Schiller <ms@dev.tdt.de>
    Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
    277a0363
pci-lantiq.c 6.84 KB