[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200619191554.24942-1-geert+renesas@glider.be>
Date: Fri, 19 Jun 2020 21:15:49 +0200
From: Geert Uytterhoeven <geert+renesas@...der.be>
To: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>,
"David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Rob Herring <robh+dt@...nel.org>
Cc: Andrew Lunn <andrew@...n.ch>,
Oleksij Rempel <linux@...pel-privat.de>,
Philippe Schenker <philippe.schenker@...adex.com>,
Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>,
Kazuya Mizuguchi <kazuya.mizuguchi.ks@...esas.com>,
Wolfram Sang <wsa+renesas@...g-engineering.com>,
netdev@...r.kernel.org, devicetree@...r.kernel.org,
linux-renesas-soc@...r.kernel.org,
Geert Uytterhoeven <geert+renesas@...der.be>
Subject: [PATCH/RFC 0/5] ravb: Add support for explicit internal clock delay configuration
Hi all,
Some Renesas EtherAVB variants support internal clock delay
configuration, which can add larger delays than the delays that are
typically supported by the PHY (using an "rgmii-*id" PHY mode, and/or
"[rt]xc-skew-ps" properties).
Historically, the EtherAVB driver configured these delays based on the
"rgmii-*id" PHY mode. This caused issues with PHY drivers that
implement PHY internal delays properly[1]. Hence a backwards-compatible
workaround was added by masking the PHY mode[2].
This RFC patch series implements the next step of the plan outlined in
[3], and adds proper support for explicit configuration of the MAC
internal clock delays using new "renesas,[rt]xc-delay-ps" properties.
If none of these properties is present, the driver falls back to the old
handling.
The series consists of 4 parts:
1. DT binding update documenting the new properties,
2. A preparatory improvement,
3. Driver update implementing support for the new properties,
4. DT updates, one for R-Car Gen3 and RZ/G2 SoC families each.
Note that patches 4 and 5 depend on patch 3, and must not be applied
before that dependency has hit upstream.
Impacted, tested:
- Salvator-X(S) with R-Car H3 ES1.0 and ES2.0, M3-W, and M3-N.
Not impacted, tested:
- Ebisu with R-Car E3.
Impacted, not tested:
- Salvator-X(S) with other SoC variants,
- ULCB with R-Car H3/M3-W/M3-N variants,
- V3MSK and Eagle with R-Car V3M,
- Draak with R-Car V3H,
- HiHope RZ/G2[MN] with RZ/G2M or RZ/G2N.
Thanks for your comments!
References:
[1] Commit bcf3440c6dd78bfe ("net: phy: micrel: add phy-mode support
for the KSZ9031 PHY")
[2] Commit 9b23203c32ee02cd ("ravb: Mask PHY mode to avoid inserting
delays twice").
https://lore.kernel.org/r/20200529122540.31368-1-geert+renesas@glider.be/
[3] https://lore.kernel.org/r/CAMuHMdU+MR-2tr3-pH55G0GqPG9HwH3XUd=8HZxprFDMGQeWUw@mail.gmail.com/
Geert Uytterhoeven (5):
dt-bindings: net: renesas,ravb: Document internal clock delay
properties
ravb: Split delay handling in parsing and applying
ravb: Add support for explicit internal clock delay configuration
arm64: dts: renesas: rcar-gen3: Convert EtherAVB to explicit delay
handling
arm64: dts: renesas: rzg2: Convert EtherAVB to explicit delay handling
.../devicetree/bindings/net/renesas,ravb.txt | 29 ++++++-----
.../boot/dts/renesas/hihope-rzg2-ex.dtsi | 2 +-
arch/arm64/boot/dts/renesas/r8a774a1.dtsi | 2 +
arch/arm64/boot/dts/renesas/r8a774b1.dtsi | 2 +
arch/arm64/boot/dts/renesas/r8a774c0.dtsi | 1 +
arch/arm64/boot/dts/renesas/r8a77951.dtsi | 2 +
arch/arm64/boot/dts/renesas/r8a77960.dtsi | 2 +
arch/arm64/boot/dts/renesas/r8a77961.dtsi | 2 +
arch/arm64/boot/dts/renesas/r8a77965.dtsi | 2 +
.../arm64/boot/dts/renesas/r8a77970-eagle.dts | 3 +-
.../arm64/boot/dts/renesas/r8a77970-v3msk.dts | 3 +-
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 2 +
arch/arm64/boot/dts/renesas/r8a77980.dtsi | 2 +
arch/arm64/boot/dts/renesas/r8a77990.dtsi | 1 +
arch/arm64/boot/dts/renesas/r8a77995.dtsi | 1 +
.../boot/dts/renesas/salvator-common.dtsi | 2 +-
arch/arm64/boot/dts/renesas/ulcb.dtsi | 2 +-
drivers/net/ethernet/renesas/ravb.h | 5 +-
drivers/net/ethernet/renesas/ravb_main.c | 52 ++++++++++++++-----
19 files changed, 86 insertions(+), 31 deletions(-)
--
2.17.1
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Powered by blists - more mailing lists