[flashrom] [PATCH] Add support for 82574L to nicintel_spi.c
Bill Paul
wpaul at windriver.com
Mon Mar 17 18:17:19 CET 2014
Of all the gin joints in all the towns in all the world, Idwer Vollering had
to walk into mine at 02:09:35 on Friday 14 March 2014 and say:
> 2014-03-13 22:59 GMT+01:00 Bill Paul <wpaul at windriver.com>:
> > I recently found a need to re-flash the option ROM on an Intel 82574L
> > gigabit
> > ethernet card. These are a bit more common these days than the 82571 and
> > 82572
> > and relatively cheap. It turns out this works with flashrom, but it
> > doesn't detect the PCI ID for the device out of the box. Below is a
> > patch add it to nicintel_spi.c. Note that there are probably other
> > devices in the PRO/1000 family that would work too.
> >
> > Here's an example run with the latest code from svn:
> >
> > [...]
> > flashrom v0.9.7-unknown on FreeBSD 10.0-RELEASE (amd64)
> > flashrom is free software, get the source code at http://www.flashrom.org
> >
> > Calibrating delay loop... OK.
> > Found Winbond flash chip "W25X40" (512 kB, SPI) on nicintel_spi.
> > Reading old flash chip contents... done.
> > Erasing and writing flash chip... Erase/write done.
> > Verifying flash... VERIFIED.
> > [...]
> >
> > FreeBSD detects the device as follows:
> >
> > em1 at pci0:2:0:0: class=0x020000 card=0xa01f8086 chip=0x10d38086 rev=0x00
> > hdr=0x00
> >
> > vendor = 'Intel Corporation'
> > device = '82574L Gigabit Network Connection'
> > class = network
> > subclass = ethernet
> >
> > I also added links to the Intel PCIe ethernet controllers programming
> > manual
> > and the 82574 datasheet.
> >
> > Incidentally, thanks to everyone involved for their work in this project.
> > It
> > helped me out of a bit of a jam.
> >
> > -Bill
> >
> > Signed-off-by: Bill Paul <wpaul at windriver.com>
>
> This patch is Acked-by: Idwer Vollering <vidwer at gmail.com>
> when you adjust the PDF URL in a follow-up patch, see below.
Updated patch is below.
-Bill
Signed-off-by: Bill Paul <wpaul at windriver.com>
Index: nicintel_spi.c
===================================================================
--- nicintel_spi.c (revision 1766)
+++ nicintel_spi.c (working copy)
@@ -17,14 +17,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
- * Datasheet:
+ * Datasheets:
* PCI/PCI-X Family of Gigabit Ethernet Controllers Software Developer's
Manual
* 82540EP/EM, 82541xx, 82544GC/EI, 82545GM/EM, 82546GB/EB, and 82547xx
- * http://download.intel.com/design/network/manuals/8254x_GBe_SDM.pdf
+ * http://www.intel.com/content/www/us/en/ethernet-controllers/pci-pci-x-
family-gbe-controllers-software-dev-manual.html
+ *
+ * PCIe GbE Controllers Open Source Software Developer's Manual
+ * http://www.intel.com/content/www/us/en/ethernet-controllers/pcie-gbe-
controllers-open-source-manual.html
+ *
+ * Intel 82574 Gigabit Ethernet Controller Family Datasheet
+ * http://www.intel.com/content/www/us/en/ethernet-controllers/82574l-gbe-
controller-datasheet.html
*/
#include <stdlib.h>
#include <unistd.h>
#include "flash.h"
@@ -70,10 +76,11 @@
const struct dev_entry nics_intel_spi[] = {
{PCI_VENDOR_ID_INTEL, 0x105e, OK, "Intel", "82571EB Gigabit Ethernet
Controller"},
{PCI_VENDOR_ID_INTEL, 0x1076, OK, "Intel", "82541GI Gigabit Ethernet
Controller"},
{PCI_VENDOR_ID_INTEL, 0x107c, OK, "Intel", "82541PI Gigabit Ethernet
Controller"},
{PCI_VENDOR_ID_INTEL, 0x10b9, OK, "Intel", "82572EI Gigabit Ethernet
Controller"},
+ {PCI_VENDOR_ID_INTEL, 0x10d3, OK, "Intel", "82574L Gigabit Ethernet
Controller"},
{0},
};
static void nicintel_request_spibus(void)
--
=============================================================================
-Bill Paul (510) 749-2329 | Senior Member of Technical Staff,
wpaul at windriver.com | Master of Unix-Fu - Wind River Systems
=============================================================================
"I put a dollar in a change machine. Nothing changed." - George Carlin
=============================================================================
More information about the flashrom
mailing list