From: martin.blumenstingl@googlemail.com (Martin Blumenstingl)
To: linus-amlogic@lists.infradead.org
Subject: [PATCH 0/3] ARM64: meson: Meson8b and GXBB DWMAC glue driver
Date: Mon, 15 Aug 2016 18:40:57 +0200 [thread overview]
Message-ID: <20160815164100.27766-1-martin.blumenstingl@googlemail.com> (raw)
In-Reply-To: <20160625165013.15917-1-martin.blumenstingl@googlemail.com>
This adds a DWMAC glue driver for the PRG_ETHERNET registers found in
Meson8b and GXBB SoCs. Based on the "old" meson6b-dwmac glue driver
the register layout is completely different.
Thus I introduced a separate driver.
Changes compared to the RFC version:
- switch from syscon / regmap to assigning the corresponding register
region directly to the driver (like meson6-dwmac does it)
- dropped "fix_mac_speed" callback since the reference driver does not
implement it (I could not test if it is required due to lack of
hardware)
- switch to common clock framework now that we know what bits 5:4
(mux clock), 6:5 (250MHz divider) and 10 (configurable 5 or 10
divider) are used for
- Removed dts property "amlogic,mp2-clock" because it is now part of
the clocks which are registered by the glue driver
- Removed dts properties "amlogic,enable-tx-phy-ref-clk" and
"amlogic,tx-delay" because it seems we can guess them based on the
phy-mode (the original Amlogic dts files only supply two different
values: one value for the internal RMII PHY and another one for the
external RGMII Gbit PHY).
If required we can extend the code in the future to make these
configurable.
- This means that the only Meson8b / GXBB specific part of the binding
is the clkin0 (FCLK_DIV2) clock, as it's needed for the mux clock.
Everything else is auto-detected based on the phy-mode (which is
already mandatory in stmmac).
I have successfully tested this on a Vega S95 Meta clone which comes
with a "broken" bootloader (which programs the ethernet registers to
"Fast Ethernet / RGMII" mode, while the board has a Realtek Gbit PHY).
Before this series stmmac was detected, I got a network interface but
no traffic was flowing.
Due to lack of hardware I could not test this on a device which uses
the internal RMII (Fast Ethernet) PHY.
Martin Blumenstingl (3):
net: dt-bindings: Document the new Meson8b and GXBB DWMAC bindings
net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC
ARM64: dts: meson-gxbb: use the new GXBB DWMAC glue driver
.../devicetree/bindings/net/meson-dwmac.txt | 43 ++-
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 7 +-
drivers/net/ethernet/stmicro/stmmac/Makefile | 2 +-
.../net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 327 +++++++++++++++++++++
4 files changed, 367 insertions(+), 12 deletions(-)
create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
--
2.9.3
next prev parent reply other threads:[~2016-08-15 16:40 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-25 16:50 [RFC] meson: add support for configuring the ethernet clocks Martin Blumenstingl
2016-06-25 16:50 ` [PATCH RFC 1/3] net: dt-bindings: add the amlogic, meson8b-dwmac binding Martin Blumenstingl
2016-06-25 16:50 ` [PATCH RFC 2/3] net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC Martin Blumenstingl
2016-06-25 16:50 ` [PATCH RFC 3/3] ARM64: dts: meson-gxbb: use the new meson8b DWMAC glue Martin Blumenstingl
2016-06-27 9:24 ` Carlo Caione
2016-06-27 10:44 ` Martin Blumenstingl
2016-06-27 11:33 ` Martin Blumenstingl
2016-07-13 21:01 ` Michael Turquette
2016-07-13 21:22 ` Kevin Hilman
2016-08-15 16:40 ` Martin Blumenstingl [this message]
2016-08-15 16:40 ` [PATCH 1/3] net: dt-bindings: Document the new Meson8b and GXBB DWMAC bindings Martin Blumenstingl
2016-08-16 14:25 ` Rob Herring
2016-08-15 16:40 ` [PATCH 2/3] net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC Martin Blumenstingl
2016-08-19 21:40 ` Kevin Hilman
2016-08-15 16:41 ` [PATCH 3/3] ARM64: dts: meson-gxbb: use the new GXBB DWMAC glue driver Martin Blumenstingl
2016-08-20 9:35 ` [PATCH v2 0/4] meson: Meson8b and " Martin Blumenstingl
2016-08-20 9:35 ` [PATCH v2 1/4] net: dt-bindings: Document the new Meson8b and GXBB DWMAC bindings Martin Blumenstingl
2016-08-22 11:55 ` Arnd Bergmann
2016-08-22 12:04 ` Martin Blumenstingl
2016-08-22 15:25 ` Arnd Bergmann
2016-08-28 16:15 ` Martin Blumenstingl
2016-08-29 13:31 ` Arnd Bergmann
2016-08-20 9:35 ` [PATCH v2 2/4] clk: gxbb: expose MPLL2 clock for use by DT Martin Blumenstingl
2016-08-20 9:35 ` [PATCH v2 3/4] net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC Martin Blumenstingl
2016-08-20 21:29 ` Joachim Eastwood
2016-08-21 12:00 ` Martin Blumenstingl
2016-08-20 9:35 ` [PATCH v2 4/4] ARM64: dts: meson-gxbb: use the new GXBB DWMAC glue driver Martin Blumenstingl
2016-08-28 16:16 ` [PATCH v3 0/5] meson: Meson8b and " Martin Blumenstingl
2016-08-28 16:16 ` [PATCH v3 1/5] net: dt-bindings: Document the new Meson8b and GXBB DWMAC bindings Martin Blumenstingl
2016-08-28 16:16 ` [PATCH v3 2/5] clk: gxbb: expose MPLL2 clock for use by DT Martin Blumenstingl
2016-08-28 16:16 ` [PATCH v3 3/5] stmmac: introduce get_stmmac_bsp_priv() helper Martin Blumenstingl
2016-08-28 16:16 ` [PATCH v3 4/5] net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC Martin Blumenstingl
2016-08-30 19:19 ` Stephen Boyd
2016-09-04 18:20 ` Martin Blumenstingl
2016-09-05 9:27 ` Arnd Bergmann
2016-08-28 16:16 ` [PATCH v3 5/5] ARM64: dts: meson-gxbb: use the new GXBB DWMAC glue driver Martin Blumenstingl
2016-08-29 3:40 ` [PATCH v3 0/5] meson: Meson8b and " David Miller
2016-08-30 18:49 ` Martin Blumenstingl
2016-08-31 4:57 ` David Miller
2016-09-02 4:23 ` Kevin Hilman
2016-09-02 5:37 ` David Miller
2016-09-02 8:50 ` Arnd Bergmann
2016-09-04 18:23 ` [PATCH v4 " Martin Blumenstingl
2016-09-04 18:23 ` [PATCH v4 1/5] net: dt-bindings: Document the new Meson8b and GXBB DWMAC bindings Martin Blumenstingl
2016-09-04 18:23 ` [PATCH v4 2/5] clk: gxbb: expose MPLL2 clock for use by DT Martin Blumenstingl
2016-09-04 18:23 ` [PATCH v4 3/5] stmmac: introduce get_stmmac_bsp_priv() helper Martin Blumenstingl
2016-09-04 18:23 ` [PATCH v4 4/5] net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC Martin Blumenstingl
2016-09-05 1:37 ` kbuild test robot
2016-09-05 10:53 ` Arnd Bergmann
2016-09-05 19:07 ` Martin Blumenstingl
2016-09-06 9:37 ` Arnd Bergmann
2016-09-05 1:43 ` kbuild test robot
2016-09-04 18:23 ` [PATCH v4 5/5] ARM64: dts: meson-gxbb: use the new GXBB DWMAC glue driver Martin Blumenstingl
2016-09-06 21:38 ` [PATCH v5 0/6] meson: Meson8b and " Martin Blumenstingl
2016-09-06 21:38 ` [PATCH v5 1/6] net: dt-bindings: Document the new Meson8b and GXBB DWMAC bindings Martin Blumenstingl
2016-09-06 21:38 ` [PATCH v5 2/6] clk: gxbb: expose MPLL2 clock for use by DT Martin Blumenstingl
2016-09-07 21:27 ` Stephen Boyd
2016-09-06 21:38 ` [PATCH v5 3/6] stmmac: introduce get_stmmac_bsp_priv() helper Martin Blumenstingl
2016-09-06 21:38 ` [PATCH v5 4/6] net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC Martin Blumenstingl
2016-09-06 21:38 ` [PATCH v5 5/6] ARM64: dts: meson-gxbb: use the new GXBB DWMAC glue driver Martin Blumenstingl
2016-09-06 21:38 ` [PATCH v5 6/6] net: stmmac: update the module description of the dwmac-meson driver 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=20160815164100.27766-1-martin.blumenstingl@googlemail.com \
--to=martin.blumenstingl@googlemail.com \
--cc=linus-amlogic@lists.infradead.org \
/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®