My platform is a Q7 module which already implements an I210 on PCIe. I am designing a carrier board which includes 2 additional I210s on the Q7 PCIe bus. The Q7 module is currently being tested on a development board and is running Ubuntu Server 14.04.5 and reports Intel Gigabit Ethernet Network Driver - version 5.2.15-k. Its onboard I210 works fine in the development environment.
All I need is for the I210s to be recognized as a PCIe device by Linux and treated like any other unmanaged Ethernet adapter. I only need to perform very basic config such as setting the MAC address, IPv4 details, and setting link speed. Initiating Ethernet Compliance test patterns would also be desirable but not strictly required.
I would prefer to avoid implementing SPI flash configuration if possible. The manufacturer of the Q7 module has also discouraged us from connecting the SMBus to external devices, so I would like to avoid that as well. What level of functionality is available using only the PCIe link for configuration?
If I do need to use the SMBus, is it possible to change the SMBus Slave Address over PCIe? Or will I need to implement an SPI Flash to write that register?
Further checking, you may refer to below documentation for reference:
And in reference the FAQ http://www.intel.com/content/dam/www/public/us/en/documents/faqs/ethernet-controller-i210-i211-faq.p...
Section 2.31 What are the I210 SMBus slave addresses?
The SMBus slave address is configured in the NVM. The 7-bit address in the images supplied by Intel is 0x49. For additional details, refer to the NVM settings in Section 184.108.40.206, "SMBus Slave Addresses — Offset 0x03" in the Intel® Ethernet Controller I210 Datasheet.
To obtain further support, there are some information only available on Intel Business Portal (IBP) https://businessportal.intel.com/irj/portal which is protected under a Non-Disclosure Agreement (NDA). You may also contact your Intel Field Representative for access to NDA content.
As this is a design inquiry, you may also find useful information by accessing Resource & Design Center or Intel® Embedded Design Center below:
Hope the above information help.
Thank you for your detailed reply. I had been reading the I210 datasheet and FAQ prior to submitting this question, it's just difficult to sift through 900 pages in the time I have available.
When the I210 datasheet refers to "NVM", do they always mean "iNVM"? I took Section 2.31 to mean that an SPI Flash was necessary to change the default SMBus Address.
So following that, the answer to my original question about SMB Slave Address is "the SMB Slave Address can only be changed via SPI Flash, not the PCIe bus"?
Is that correct?
As this is a design inquiry, you may also find useful information by accessing Resource & Design Center or Intel® Embedded Design Center below for the support group to further assist you.