Subject: RFC: blueprint for proxy PHY module

From: Tomas Hlavacek <[email-masked]>
Date: Thu, 25 Feb 2016 14:26:00 +0100

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