From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
To: netdev@vger.kernel.org, linux-gpio@vger.kernel.org,
linux-amlogic@lists.infradead.org, linus.walleij@linaro.org,
bgolaszewski@baylibre.com, peppe.cavallaro@st.com,
alexandre.torgue@st.com, joabreu@synopsys.com
Cc: devicetree@vger.kernel.org, narmstrong@baylibre.com,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
khilman@baylibre.com, linux-kernel@vger.kernel.org,
davem@davemloft.net, linux-arm-kernel@lists.infradead.org
Subject: [RFC next v1 2/5] gpio: of: parse stmmac PHY reset line specific active-low property
Date: Sun, 9 Jun 2019 20:06:18 +0200 [thread overview]
Message-ID: <20190609180621.7607-3-martin.blumenstingl@googlemail.com> (raw)
In-Reply-To: <20190609180621.7607-1-martin.blumenstingl@googlemail.com>
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: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
drivers/gpio/gpiolib-of.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index aec7bd86ae7e..2533f2471821 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -158,6 +158,12 @@ static void of_gpio_flags_quirks(struct device_node *np,
}
}
}
+
+ /* Legacy handling of stmmac's active-low PHY reset line */
+ if (IS_ENABLED(CONFIG_STMMAC_ETH) &&
+ !strcmp(propname, "snps,reset-gpio") &&
+ of_property_read_bool(np, "snps,reset-active-low"))
+ *flags |= OF_GPIO_ACTIVE_LOW;
}
/**
--
2.21.0
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
next prev parent reply other threads:[~2019-06-09 18:06 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-09 18:06 [RFC next v1 0/5] stmmac: honor the GPIO flags for the PHY reset GPIO Martin Blumenstingl
2019-06-09 18:06 ` [RFC next v1 1/5] net: stmmac: drop redundant check in stmmac_mdio_reset Martin Blumenstingl
2019-06-09 18:06 ` Martin Blumenstingl [this message]
2019-06-09 20:38 ` [RFC next v1 2/5] gpio: of: parse stmmac PHY reset line specific active-low property Andrew Lunn
2019-06-09 21:21 ` Martin Blumenstingl
2019-06-09 21:29 ` Linus Walleij
2019-06-09 18:06 ` [RFC next v1 3/5] net: stmmac: use GPIO descriptors in stmmac_mdio_reset Martin Blumenstingl
2019-06-09 20:52 ` Andrew Lunn
2019-06-09 21:50 ` Linus Walleij
2019-06-09 18:06 ` [RFC next v1 4/5] net: stmmac: use device_property_read_u32_array to read the reset delays Martin Blumenstingl
2019-06-09 18:06 ` [RFC next v1 5/5] arm64: dts: meson: g12a: x96-max: fix the Ethernet PHY reset line Martin Blumenstingl
2019-06-09 21:17 ` Linus Walleij
2019-06-09 21:36 ` Martin Blumenstingl
2019-06-09 22:06 ` Linus Walleij
2019-06-09 22:28 ` Martin Blumenstingl
2019-06-09 20:45 ` [RFC next v1 0/5] stmmac: honor the GPIO flags for the PHY reset GPIO Andrew Lunn
2019-06-09 21:52 ` Linus Walleij
2019-06-09 22:32 ` Martin Blumenstingl
2019-06-10 11:47 ` Maxime Ripard
2019-06-10 12:31 ` Martin Blumenstingl
2019-06-10 13:25 ` Andrew Lunn
2019-06-10 15:52 ` Martin Blumenstingl
2019-06-10 13:51 ` Maxime Ripard
2019-06-10 15:51 ` Martin Blumenstingl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190609180621.7607-3-martin.blumenstingl@googlemail.com \
--to=martin.blumenstingl@googlemail.com \
--cc=alexandre.torgue@st.com \
--cc=bgolaszewski@baylibre.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=joabreu@synopsys.com \
--cc=khilman@baylibre.com \
--cc=linus.walleij@linaro.org \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=narmstrong@baylibre.com \
--cc=netdev@vger.kernel.org \
--cc=peppe.cavallaro@st.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®