Hello!

We have a board with a MAC in SoC that has SGMII connected through a signal switch to either 10/100/1000 wired PHY or to a SFP cage. The signal switch is set to pass signal to the wired PHY by default. When the MOD-DEF0 pin from SFP cage is low (which acts as a transceiver-present signal) the wired PHY is being disconnected and the SGMII is passed to the SFP cage. We also have the signal connected to a GPIO input, so we can detect the SFP presence from software. And there is always-connected MDIO to the wired PHY.

Now I use two different DTBs for testing purposes, one has a configuration for the wired PHY and another one uses fixed-link for SFP. And I have to reboot in order to switch from one to another.

My idea is to create a "proxy PHY" module that would take state from one of two (or more) underlying PHYs and pass it to the NIC driver. The selection of the active PHY would come from userspace. (There will be a board-specific daemon that would react to the GPIO change and set the proper PHY accordingly.) Question is how to connect the userspace? I think that corresponding file in /sys would do the job, but I am not sure whether it is the proper way of doing that. (?)

What do you think about it?

Thanks,
Tomas

Reply via email to