Author: uwe Date: 2009-06-02 18:45:59 +0200 (Tue, 02 Jun 2009) New Revision: 566
Modified: trunk/flash.h trunk/flashchips.c trunk/nic3com.c Log: Add support for the 10b7:9058 3COM NIC (3C905B: Cyclone 10/100/BNC). Also, add Atmel AT29C512 support.
Both are tested on hardware by Maciej Pijanka.
Signed-off-by: Maciej Pijanka maciej.pijanka@gmail.com Acked-by: Uwe Hermann uwe@hermann-uwe.de
Modified: trunk/flash.h =================================================================== --- trunk/flash.h 2009-06-02 13:39:42 UTC (rev 565) +++ trunk/flash.h 2009-06-02 16:45:59 UTC (rev 566) @@ -287,6 +287,7 @@ #define AT_29C040A 0xA4 #define AT_29C010A 0xD5 #define AT_29C020 0xDA +#define AT_29C512 0x5D #define AT_45BR3214B /* No ID available */ #define AT_45CS1282 0x2920 #define AT_45D011 /* No ID available */
Modified: trunk/flashchips.c =================================================================== --- trunk/flashchips.c 2009-06-02 13:39:42 UTC (rev 565) +++ trunk/flashchips.c 2009-06-02 16:45:59 UTC (rev 566) @@ -400,6 +400,22 @@
{ .vendor = "Atmel", + .name = "AT29C512", + .bustype = CHIP_BUSTYPE_NONSPI, + .manufacture_id = ATMEL_ID, + .model_id = AT_29C512, + .total_size = 64, + .page_size = 128, + .tested = TEST_OK_PREW, + .probe = probe_jedec, + .erase = erase_chip_jedec, + .write = write_jedec, + .read = read_memmapped, + + }, + + { + .vendor = "Atmel", .name = "AT29C010A", .bustype = CHIP_BUSTYPE_NONSPI, .manufacture_id = ATMEL_ID,
Modified: trunk/nic3com.c =================================================================== --- trunk/nic3com.c 2009-06-02 13:39:42 UTC (rev 565) +++ trunk/nic3com.c 2009-06-02 16:45:59 UTC (rev 566) @@ -46,6 +46,7 @@ {0x10b7, 0x9006, PCI_NT, "3COM", "3C90xB: PCI 10BASE-T/10BASE2 (TPC)" }, {0x10b7, 0x900a, PCI_NT, "3COM", "3C90xB: PCI 10BASE-FL" }, {0x10b7, 0x905a, PCI_NT, "3COM", "3C90xB: PCI 10BASE-FX" }, + {0x10b7, 0x9058, PCI_NT, "3COM", "3C905B: Cyclone 10/100/BNC" },
/* 3C905C */ {0x10b7, 0x9200, PCI_OK, "3COM", "3C905C: EtherLink 10/100 PCI (TX)" }, @@ -65,7 +66,7 @@
/* 3COM 3C90xB cards need a special fixup. */ if (id == 0x9055 || id == 0x9001 || id == 0x9004 || id == 0x9005 - || id == 0x9006 || id == 0x900a || id == 0x905a) { + || id == 0x9006 || id == 0x900a || id == 0x905a || id == 0x9058) { /* Select register window 3 and save the receiver status. */ OUTW(SELECT_REG_WINDOW + 3, io_base_addr + INT_STATUS); internal_conf = INL(io_base_addr + INTERNAL_CONFIG); @@ -90,7 +91,7 @@ { /* 3COM 3C90xB cards need a special fixup. */ if (id == 0x9055 || id == 0x9001 || id == 0x9004 || id == 0x9005 - || id == 0x9006 || id == 0x900a || id == 0x905a) { + || id == 0x9006 || id == 0x900a || id == 0x905a || id == 0x9058) { /* Select register window 3 and restore the receiver status. */ OUTW(SELECT_REG_WINDOW + 3, io_base_addr + INT_STATUS); OUTL(internal_conf, io_base_addr + INTERNAL_CONFIG);