• Martin Blumenstingl's avatar
    gpio: of: parse stmmac PHY reset line specific active-low property · edc1ef3f
    Martin Blumenstingl authored
    The stmmac driver currently ignores the GPIO flags which are passed via
    devicetree because it operates with legacy GPIO numbers instead of GPIO
    descriptors. stmmac assumes that the GPIO is "active HIGH" by default.
    This can be overwritten by setting "snps,reset-active-low" to make the
    reset line "active LOW".
    
    Recent Amlogic SoCs (G12A which includes S905X2 and S905D2 as well as
    G12B which includes S922X) use GPIOZ_14 or GPIOZ_15 for the PHY reset
    line. These GPIOs are special because they are marked as "3.3V input
    tolerant open drain" pins which means they can only drive the pin output
    LOW (to reset the PHY) or to switch to input mode (to take the PHY out
    of reset).
    The GPIO subsystem already supports this with the GPIO_OPEN_DRAIN and
    GPIO_OPEN_SOURCE flags in the devicetree bindings.
    
    Add the stmmac PHY reset line specific active low parsing to gpiolib-of
    so stmmac can be ported to GPIO descriptors while being backwards
    compatible with device trees which use the "old" way of specifying the
    polarity.
    Signed-off-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
    Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    edc1ef3f
gpiolib-of.c 18.8 KB