linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 00/12] net: macb: EyeQ5 support (alongside generic PHY driver in syscon)
@ 2025-10-21 16:32 Théo Lebrun
  2025-10-21 16:32 ` [PATCH net-next 01/12] dt-bindings: net: cdns,macb: add Mobileye EyeQ5 ethernet interface Théo Lebrun
                   ` (12 more replies)
  0 siblings, 13 replies; 15+ messages in thread
From: Théo Lebrun @ 2025-10-21 16:32 UTC (permalink / raw)
  To: Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Nicolas Ferre, Claudiu Beznea, Vladimir Kondratiev,
	Grégory Clement, Russell King, Vinod Koul,
	Kishon Vijay Abraham I, Michael Turquette, Stephen Boyd,
	Thomas Bogendoerfer, Philipp Zabel
  Cc: netdev, devicetree, linux-kernel, linux-mips, linux-phy,
	linux-clk, Tawfik Bayouk, Thomas Petazzoni, Benoît Monin,
	Maxime Chevallier, Théo Lebrun, Andrew Lunn, Jerome Brunet

This series' goal is adding support to the MACB driver for EyeQ5 GEM.
The specifics for this compatible are:

 - HW cannot add dummy bytes at the start of IP packets for alignment
   purposes. The behavior can be detected using DCFG6 so it isn't
   attached to compatible data.

 - The hardware LSO/TSO is known to be buggy: add a compatible
   capability flag to force disable it.

 - At init, we have to wiggle two syscon registers that configure the
   PHY integration.

   In past attempts [0] we did it in macb_config->init() using a syscon
   regmap. That was far from ideal so now a generic PHY driver
   abstracts that away. We reuse the bp->sgmii_phy field used by some
   compatibles.

   We have to add a phy_set_mode() call as the PHY power on sequence
   depends on whether we do RGMII or SGMII.

I want drivers/phy/phy-eyeq5-eth.c to appear in this series for
review-ability, but that leads to this series having many patches
unrelated to net & MACB:

 - [02/12] dt-bindings: soc: mobileye: OLB is an Ethernet PHY provider on EyeQ5
   [07/12] phy: Add driver for EyeQ5 Ethernet PHY wrapper
   [09/12] clk: eyeq: add EyeQ5 children auxiliary device for generic PHYs

   Add the generic PHY driver that lives in the OLB register region.
   In Linux, we model that with auxiliary devices (spawned by clk-eyeq).

   [08/12] clk: eyeq: use the auxiliary device creation helper
   [10/12] reset: eyeq: drop device_set_of_node_from_dev() done by parent

   Auxiliary devices don't inherit a dev->of_node by default. Previously
   we addressed that with a call to device_set_of_node_from_dev() from
   each clk-eyeq children device probe. Jerome Brunet improved the
   situation with creation helpers that do the call in the parent. We
   take that patch to ensure we get a dev->of_node assigned to our PHY
   device. [1]

Merging all this won't be easy, sorry. Is this split across trees OK?
The net-next part is pretty evident, it is the rest that appears
complex to merge to me. I can resend the series exploded if useful
(or at least split net-next versus the rest).

=> net-next
[PATCH net-next 01/12] dt-bindings: net: cdns,macb: add Mobileye EyeQ5 ethernet interface
[PATCH net-next 03/12] net: macb: match skb_reserve(skb, NET_IP_ALIGN) with HW alignment
[PATCH net-next 04/12] net: macb: add no LSO capability (MACB_CAPS_NO_LSO)
[PATCH net-next 05/12] net: macb: rename bp->sgmii_phy field to bp->phy
[PATCH net-next 06/12] net: macb: Add "mobileye,eyeq5-gem" compatible
=> linux-phy
[PATCH net-next 02/12] dt-bindings: soc: mobileye: OLB is an Ethernet PHY provider on EyeQ5
[PATCH net-next 07/12] phy: Add driver for EyeQ5 Ethernet PHY wrapper
=> linux-clk
[PATCH net-next 08/12] clk: eyeq: use the auxiliary device creation helper
[PATCH net-next 09/12] clk: eyeq: add EyeQ5 children auxiliary device for generic PHYs
=> linux-reset
[PATCH net-next 10/12] reset: eyeq: drop device_set_of_node_from_dev() done by parent
=> linux-mips
[PATCH net-next 11/12] MIPS: mobileye: eyeq5: add two Cadence GEM Ethernet controllers
[PATCH net-next 12/12] MIPS: mobileye: eyeq5-epm: add two Cadence GEM Ethernet PHYs

About potential conflicts, Benoît Monin has a series [5] touching
dt-bindings, clk-eyeq, reset-eyeq and the Mobileye MAINTAINERS section.
Maybe [02/12] dt-bindings of OLB shouldn't go to the linux-phy tree (?).

Thanks,
Have a nice day,
Théo

[0]: https://lore.kernel.org/lkml/20250627-macb-v2-15-ff8207d0bb77@bootlin.com/
[1]: https://lore.kernel.org/lkml/20250611-clk-aux-v1-0-fb6575ed86a7@baylibre.com/
[2]: https://lore.kernel.org/lkml/20250903-clk-eyeq7-v1-19-3f5024b5d6e2@bootlin.com/

Past versions of the MACB EyeQ5 patches:
 - March 2025: [PATCH net-next 00/13] Support the Cadence MACB/GEM
   instances on Mobileye EyeQ5 SoCs
   https://lore.kernel.org/lkml/20250321-macb-v1-0-537b7e37971d@bootlin.com/
 - June 2025: [PATCH net-next v2 00/18] Support the Cadence MACB/GEM
   instances on Mobileye EyeQ5 SoCs
   https://lore.kernel.org/lkml/20250627-macb-v2-0-ff8207d0bb77@bootlin.com/
 - August 2025: [PATCH net v3 00/16] net: macb: various fixes & cleanup
   https://lore.kernel.org/lkml/20250808-macb-fixes-v3-0-08f1fcb5179f@bootlin.com/

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
Jerome Brunet (1):
      clk: eyeq: use the auxiliary device creation helper

Théo Lebrun (11):
      dt-bindings: net: cdns,macb: add Mobileye EyeQ5 ethernet interface
      dt-bindings: soc: mobileye: OLB is an Ethernet PHY provider on EyeQ5
      net: macb: match skb_reserve(skb, NET_IP_ALIGN) with HW alignment
      net: macb: add no LSO capability (MACB_CAPS_NO_LSO)
      net: macb: rename bp->sgmii_phy field to bp->phy
      net: macb: Add "mobileye,eyeq5-gem" compatible
      phy: Add driver for EyeQ5 Ethernet PHY wrapper
      clk: eyeq: add EyeQ5 children auxiliary device for generic PHYs
      reset: eyeq: drop device_set_of_node_from_dev() done by parent
      MIPS: mobileye: eyeq5: add two Cadence GEM Ethernet controllers
      MIPS: mobileye: eyeq5-epm: add two Cadence GEM Ethernet PHYs

 .../devicetree/bindings/net/cdns,macb.yaml         |  10 +
 .../bindings/soc/mobileye/mobileye,eyeq5-olb.yaml  |   7 +-
 MAINTAINERS                                        |   1 +
 arch/mips/boot/dts/mobileye/eyeq5-epm5.dts         |  26 +++
 arch/mips/boot/dts/mobileye/eyeq5.dtsi             |  47 ++++
 drivers/clk/clk-eyeq.c                             |  60 ++---
 drivers/net/ethernet/cadence/macb.h                |   6 +-
 drivers/net/ethernet/cadence/macb_main.c           |  92 ++++++--
 drivers/phy/Kconfig                                |  13 ++
 drivers/phy/Makefile                               |   1 +
 drivers/phy/phy-eyeq5-eth.c                        | 254 +++++++++++++++++++++
 drivers/reset/reset-eyeq.c                         |  24 +-
 12 files changed, 454 insertions(+), 87 deletions(-)
---
base-commit: 3ff9bcecce83f12169ab3e42671bd76554ca521a
change-id: 20251020-macb-eyeq5-fe2c0d1edc75

Best regards,
-- 
Théo Lebrun <theo.lebrun@bootlin.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-10-22  7:41 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-21 16:32 [PATCH net-next 00/12] net: macb: EyeQ5 support (alongside generic PHY driver in syscon) Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 01/12] dt-bindings: net: cdns,macb: add Mobileye EyeQ5 ethernet interface Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 02/12] dt-bindings: soc: mobileye: OLB is an Ethernet PHY provider on EyeQ5 Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 03/12] net: macb: match skb_reserve(skb, NET_IP_ALIGN) with HW alignment Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 04/12] net: macb: add no LSO capability (MACB_CAPS_NO_LSO) Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 05/12] net: macb: rename bp->sgmii_phy field to bp->phy Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 06/12] net: macb: Add "mobileye,eyeq5-gem" compatible Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 07/12] phy: Add driver for EyeQ5 Ethernet PHY wrapper Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 08/12] clk: eyeq: use the auxiliary device creation helper Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 09/12] clk: eyeq: add EyeQ5 children auxiliary device for generic PHYs Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 10/12] reset: eyeq: drop device_set_of_node_from_dev() done by parent Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 11/12] MIPS: mobileye: eyeq5: add two Cadence GEM Ethernet controllers Théo Lebrun
2025-10-21 16:32 ` [PATCH net-next 12/12] MIPS: mobileye: eyeq5-epm: add two Cadence GEM Ethernet PHYs Théo Lebrun
2025-10-22  0:14 ` [PATCH net-next 00/12] net: macb: EyeQ5 support (alongside generic PHY driver in syscon) Jakub Kicinski
2025-10-22  7:41   ` Théo Lebrun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).