Hi David, Jakub, On Thu, Sep 17, 2020 at 3:57 PM Geert Uytterhoeven <geert+renesas@xxxxxxxxx> wrote: > 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 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 "[rt]x-internal-delay-ps" properties. If none of > these properties is present, the driver falls back to the old handling. > > This can be considered the MAC counterpart of commit 9150069bf5fc0e86 > ("dt-bindings: net: Add tx and rx internal delays"), which applies to > the PHY. Note that unlike commit 92252eec913b2dd5 ("net: phy: Add a > helper to return the index for of the internal delay"), no helpers are > provided to parse the DT properties, as so far there is a single user > only, which supports only zero or a single fixed value. Of course such > helpers can be added later, when the need arises, or when deemed useful > otherwise. > > This series consists of 3 parts: > 1. DT binding updates documenting the new properties, for both the > generic ethernet-controller and the EtherAVB-specific bindings, > 2. Conversion to json-schema of the Renesas EtherAVB DT bindings. > Technically, the conversion is independent of all of the above. > I included it in this series, as it shows how all sanity checks on > "[rt]x-internal-delay-ps" values are implemented as DT binding > checks, > 3. EtherAVB driver update implementing support for the new properties. > > Given Rob has provided his acks for the DT binding updates, all of this > can be merged through net-next. > > Changes compared to v3[4]: > - Add Reviewed-by, > - Drop the DT updates, as they will be merged through renesas-devel and > arm-soc, and have a hard dependency on this series. > > Changes compared to v2[5]: > - Update recently added board DTS files, > - Add Reviewed-by. > > Changes compared to v1[6]: > - Added "[PATCH 1/7] dt-bindings: net: ethernet-controller: Add > internal delay properties", > - Replace "renesas,[rt]xc-delay-ps" by "[rt]x-internal-delay-ps", > - Incorporated EtherAVB DT binding conversion to json-schema, > - Add Reviewed-by. > > 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, > - Beacon EmbeddedWorks RZ/G2M Development Kit. > > To ease testing, I have pushed this series and the DT updates to the > topic/ravb-internal-clock-delays-v4 branch of my renesas-drivers > repository at > git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git. > > Thanks for applying! Is there anything still blocking this series? Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx 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