Greetings,

I am working on software support for a Gateworks GW16083 (
http://www.gateworks.com/product/item/ventana-gw16083-mezzanine shows
details including a block diagram) which has an i210 connected to a GbE
switch via SerDes and MDIO. The GbE switch has register sets that respond
to multiple phy_id's on the MDIO bus which are used to configure the
switch, as well as configure two PHY's that are hanging off 2 ports of the
switch. At a minimum I must configure the two PHY's to enable their tx/rx
delays which are not hardware strap-able options.

I've been looking through the mainline linux igb driver trying to determine
the best way to support this with an eye on something that can make it into
mainline. I need to determine what link-mode etc I should program into the
iNVM and how to best gain access to the mdio bus to talk to the switch.

I notice that the igb_get_invariants_82575(...) function is looking at the
link_mode field of the CTRL_EXT register and using the following modes:
 1. 1000BASE_KX - for SerDes to a phy-less device
 2. SGMII - for SerDes connection to an external PHY
 3. SERDES - for SerDes connection to an SFP module (which uses the i210
i2c master to query the SFP for further mode config)

While my situation clearly is (1) above (the SerDes link to the GbE switch
is always present and always at 1000mbps fd) I still would like to register
an mii_bus to Linux in order to access the GbE switch and the PHY's behind
it.

Would a decent approach be to program the i210 with link_mode 1000BASE_KX
'and' set the 'external phy' (bit31) bit of MDICNFG and add some code to
register an mii_bus in this specific case? Currently if link_mode is
1000BASE_KX then sgmii is not enabled and nothing looks at this bit in
MDICNFG. By registering an mii_bus I can have a stand-alone phy-driver that
will be independent of the igb driver.

I need some advise here of what (a) makes sense and (b) would be acceptable
for mainline inclusion before I commit to programming the i210 iNVM as once
these boards start shipping, I can't change it.

Thanks for any advise,

Tim
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to