So, I am working on a Clearfog Pro here, having compiled a 4.14.17 kernel and built a Debian Buster image on the m2 ssd via debootstrap. The board boots, and all the network ports behave as expected, but for the SFP cage. After spending some time digging through menuconfig, and not finding the appropriate option, I hunted a little, and found that sfp.c, sfp-bus.c, and phylink.c are all in the kernel code, but no manner of configuration can access them. I have dug up a couple of patchsets which seem necessary, but the dts patches (2nd link, january 2nd-7th, 2017 patches, near the bottom of the page) at least seem not to be merged into the mainline tree. I have not examined the kernel code yet for inclusion of the phylink/i2c/sfp related code on a line for line basis, but I do see the aforementioned .c files and related headers present in the drivers/net/phy directory of the tree.
http://www.home.arm.linux.org.uk/~rmk/clearfog/v4.4-rc1-1/
https://patchwork.kernel.org/project/linux-arm-kernel/list/?submitter=165511&page=2
That is where I am at on it now, and am juggling several other responsibilities at the moment, so unfortunately fiber on the clearfog can't get my full attention just now. I will update when I have made some progress, unless anybody has better ideas.
Enjoy,
Scott