netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* FEC unbind/bind feature
@ 2021-03-25  8:04 Joakim Zhang
  2021-03-25 12:45 ` Andrew Lunn
  0 siblings, 1 reply; 9+ messages in thread
From: Joakim Zhang @ 2021-03-25  8:04 UTC (permalink / raw)
  To: Andrew Lunn, Florian Fainelli, hkallweit1@gmail.com
  Cc: netdev@vger.kernel.org


Hi Andrew, Florian, Heiner

You are all Ethernet MDIO bus and PHY experts, I have some questions may need your help, thanks a lot in advance.

For many board designs, if it has dual MAC instances, they always share one MDIO bus to save PINs. Such as, i.MX6UL EVK board:

&fec1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet1>;
	phy-mode = "rmii";
	phy-handle = <&ethphy0>;
	phy-supply = <&reg_peri_3v3>;
	status = "okay";
};

&fec2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet2>;
	phy-mode = "rmii";
	phy-handle = <&ethphy1>;
	phy-supply = <&reg_peri_3v3>;
	status = "okay";

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;

		ethphy0: ethernet-phy@2 {
			compatible = "ethernet-phy-id0022.1560";
			reg = <2>;
			micrel,led-mode = <1>;
			clocks = <&clks IMX6UL_CLK_ENET_REF>;
			clock-names = "rmii-ref";

		};

		ethphy1: ethernet-phy@1 {
			compatible = "ethernet-phy-id0022.1560";
			reg = <1>;
			micrel,led-mode = <1>;
			clocks = <&clks IMX6UL_CLK_ENET2_REF>;
			clock-names = "rmii-ref";
		};
	};
};

For FEC driver now, there is a patch from Fabio to prevent unbind/bind feature since dual FEC controllers share one MDIO bus. (https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/net/ethernet/freescale/fec_main.c?h=next-20210324&id=272bb0e9e8cdc76e04baeefa0cd43019daa0841b)
If we unbind fec2 and then fec1 can't work since MDIO bus is controlled by FEC1, FEC2 can't use it independently.

My question is that if we want to implement unbind/bind feature, what need we do? It seems to abstract an independent MDIO bus for dual FEC instances. I look at the MDIO dt bindings, it seems support such case as it has "reg" property. (Documentation/devicetree/bindings/net/mdio.yaml)

Is there any implements existing in the Linux kernel for a reference? From your opinions, do you think it is necessary to improve it?

Best Regards,
Joakim Zhang


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

end of thread, other threads:[~2021-03-29  9:15 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-25  8:04 FEC unbind/bind feature Joakim Zhang
2021-03-25 12:45 ` Andrew Lunn
2021-03-26  8:02   ` Joakim Zhang
2021-03-26  8:36     ` Joakim Zhang
2021-03-26 12:34       ` Andrew Lunn
2021-03-26 13:18         ` Joakim Zhang
2021-03-26 13:36           ` Andrew Lunn
2021-03-29  9:12         ` Joakim Zhang
2021-03-26 12:27     ` Andrew Lunn

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).