From: Corentin Labbe <clabbe.montjoie@gmail.com>
To: robh+dt@kernel.org, mark.rutland@arm.com,
maxime.ripard@free-electrons.com, wens@csie.org,
linux@armlinux.org.uk, catalin.marinas@arm.com,
will.deacon@arm.com, peppe.cavallaro@st.com,
alexandre.torgue@st.com, andrew@lunn.ch, f.fainelli@gmail.com
Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Corentin Labbe <clabbe.montjoie@gmail.com>
Subject: [PATCH v9 00/10] net: stmmac: dwmac-sun8i: Handle integrated PHY
Date: Tue, 24 Oct 2017 19:57:04 +0200 [thread overview]
Message-ID: <20171024175714.15840-1-clabbe.montjoie@gmail.com> (raw)
Hello
The current way to find if the PHY is internal is to compare DT phy-mode
and emac_variant/internal_phy.
But it will negate a possible future SoC where an external PHY use the
same phy mode than the integrated one.
This patchs series adds a new way to handle this problem via a mdio-mux.
The first try was to create a new MDIO mux "mdio-mux-syscon".
mdio-mux-syscon working the same way than mdio-mux-mmioreg with the exception
that the register is used via syscon/regmap.
But this solution does not work for two reason:
- changing the MDIO selection need the reset of MAC which cannot be done by the
mdio-mux-syscon driver
- There were driver loading order problem:
- mdio-mux-syscon needing that stmmac register the parent MDIO
- stmmac needing that child MDIO was registered just after registering parent MDIO
So we cannot use any external MDIO-mux.
The final solution was to represent the mdio-mux in MAC node and let the MAC handle all things.
Since DT bits was reverted in 4.13, this patch series include the revert of the revert.
I have let patch splited for easy review. (for seeing what's new)
But the final serie could have some patch squashed if someone want.
Like squashing patch and 1 and 2 (documentation)
The first 7 patch should go via the sunxi tree, the last three via the net tree.
Regards
Changes since v8:
- added reference to mdio-mux.txt in documentation
- removed compatible mdio-mux
- added mdio-parent-bus
Changes since v7:
- moved mdio-mux ouf of mdio as asked by Andrew Lunn
- reordered patchs order
Changes since v6:
- renamed external mdio to "external_mdio"
- added compatible to mdio-mux and internal-mdio
- removed usage of phy-is-integrated
- renamed do_not_scan to compatible_muxes (patch 10)
- patch 8 9 of v6 are squashed
Changes since v5:
- reordered patch 1 and 2
- mdio-mux node is now a mdio's child
- added patch 11 for removing unnecessary scan of mdio-mux
Changes since v4:
- Update documentation for new bindings
- Added 4 patchs for bring back reverted stuff of 4.13
- dwmac-sun8i now handle mdio-mux
- MDIO use now compatible = "snps,dwmac-mdio";
Changes since v3:
- Added a patch for handling fixed-link
- Updated documentation
Changes since v2:
- Add a MDIO mux for creating distinction between integrated and external MDIO.
- phy-is-integrated is not set in dtsi.
Changes since v1:
- Dropped phy-is-integrated documentation patch since another same patch was already merged
- Moved phy-is-integrated from SoC dtsi to final board DT.
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Corentin Labbe (10):
dt-bindings: net: Restore sun8i dwmac binding
dt-bindings: net: dwmac-sun8i: update documentation about integrated
PHY
arm: dts: sunxi: h3/h5: Restore EMAC changes
arm: dts: sunxi: h3/h5: represent the mdio switch used by
sun8i-h3-emac
arm: dts: sunxi: Restore EMAC changes (boards)
arm64: dts: allwinner: Restore EMAC changes
arm64: dts: allwinner: add snps,dwmac-mdio compatible to emac/mdio
net: stmmac: snps,dwmac-mdio MDIOs are automatically registered
net: stmmac: dwmac-sun8i: Handle integrated/external MDIOs
net: stmmac: sun8i: Restore the compatibles
.../devicetree/bindings/net/dwmac-sun8i.txt | 205 ++++++++++++
arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 9 +
arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 19 ++
arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 19 ++
arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts | 7 +
arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 +
arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 8 +
arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 5 +
arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts | 8 +
arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 22 ++
arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts | 16 +
arch/arm/boot/dts/sunxi-h3-h5.dtsi | 48 +++
.../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 16 +
.../boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 15 +
.../arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 17 +
.../dts/allwinner/sun50i-a64-sopine-baseboard.dts | 16 +
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 21 ++
.../boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts | 17 +
.../boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 17 +
.../dts/allwinner/sun50i-h5-orangepi-prime.dts | 17 +
drivers/net/ethernet/stmicro/stmmac/Kconfig | 1 +
drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 361 +++++++++++++--------
.../net/ethernet/stmicro/stmmac/stmmac_platform.c | 4 -
23 files changed, 742 insertions(+), 134 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/dwmac-sun8i.txt
--
2.13.6
next reply other threads:[~2017-10-24 18:00 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-24 17:57 Corentin Labbe [this message]
2017-10-24 17:57 ` [PATCH v9 01/10] dt-bindings: net: Restore sun8i dwmac binding Corentin Labbe
2017-10-24 17:57 ` [PATCH v9 02/10] dt-bindings: net: dwmac-sun8i: update documentation about integrated PHY Corentin Labbe
2017-10-26 9:53 ` Andrew Lunn
2017-10-27 14:37 ` Rob Herring
2017-10-30 18:35 ` Corentin Labbe
2017-10-24 17:57 ` [PATCH v9 03/10] arm: dts: sunxi: h3/h5: Restore EMAC changes Corentin Labbe
2017-10-24 17:57 ` [PATCH v9 04/10] arm: dts: sunxi: h3/h5: represent the mdio switch used by sun8i-h3-emac Corentin Labbe
2017-10-26 9:54 ` Andrew Lunn
2017-10-26 9:56 ` Don Baton
2017-10-27 15:12 ` Maxime Ripard
2017-10-24 17:57 ` [PATCH v9 05/10] arm: dts: sunxi: Restore EMAC changes (boards) Corentin Labbe
2017-10-24 17:57 ` [PATCH v9 06/10] arm64: dts: allwinner: Restore EMAC changes Corentin Labbe
2017-10-27 15:11 ` Maxime Ripard
2017-10-30 18:51 ` Corentin Labbe
2017-10-24 17:57 ` [PATCH v9 07/10] arm64: dts: allwinner: add snps,dwmac-mdio compatible to emac/mdio Corentin Labbe
2017-10-24 17:57 ` [PATCH v9 08/10] net: stmmac: snps,dwmac-mdio MDIOs are automatically registered Corentin Labbe
2017-10-24 17:57 ` [PATCH v9 09/10] net: stmmac: dwmac-sun8i: Handle integrated/external MDIOs Corentin Labbe
2017-10-26 9:57 ` Andrew Lunn
2017-10-24 17:57 ` [PATCH v9 10/10] net: stmmac: sun8i: Restore the compatibles Corentin Labbe
2017-10-27 3:01 ` [PATCH v9 00/10] net: stmmac: dwmac-sun8i: Handle integrated PHY David Miller
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=20171024175714.15840-1-clabbe.montjoie@gmail.com \
--to=clabbe.montjoie@gmail.com \
--cc=alexandre.torgue@st.com \
--cc=andrew@lunn.ch \
--cc=catalin.marinas@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=mark.rutland@arm.com \
--cc=maxime.ripard@free-electrons.com \
--cc=netdev@vger.kernel.org \
--cc=peppe.cavallaro@st.com \
--cc=robh+dt@kernel.org \
--cc=wens@csie.org \
--cc=will.deacon@arm.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
Powered by JetHome