Tulip hangs on vrc5477 in pre 3.0 revisions. no multiple read, nor bursting size of 4 or more. submitted by Tak Ota. Jun /opt/hardhat/devkit/lsp/nec-ddb5477/linux-2.4.2_hhl20/drivers/net/tulip/tulip_core.c Fri Jul 13 18:24:24 2001 --- /home/ota/linux-2.4.2_hhl20_evt/drivers/net/tulip/tulip_core.c Mon Oct 1 12:42:14 2001 *************** *** 84,89 **** --- 84,92 ---- static int csr0 = 0x01A00000 | 0x9000; #elif defined(__arm__) || defined(__sh__) static int csr0 = 0x01A00000 | 0x4800; + #elif defined(CONFIG_EVT) + /* Sony EVT design with Vrc5477 Rev 1.0 cannot sustain with burst length more than 2. */ + static int csr0 = 0x00000000 | 0x4200; #else #warning Processor architecture undefined! static int csr0 = 0x00A00000 | 0x4800; *************** *** 1269,1274 **** --- 1272,1287 ---- The addresses of the subsequent ports are derived from the first. Many PCI BIOSes also incorrectly report the IRQ line, so we correct that here as well. */ + #if defined(CONFIG_EVT) + if(PCI_SLOT(pdev->devfn) == 7) { + printk(" EVT MAC"); + for(i = 0; i < 6; i += 2) { + dev->dev_addr[i] = ee_data[i + 1]; + dev->dev_addr[i + 1] = ee_data[i]; + } + tp->flags &= ~HAS_MEDIA_TABLE; + } + #else /* CONFIG_EVT */ if (sum == 0 || sum == 6*0xff) { printk(" EEPROM not present,"); for (i = 0; i < 5; i++) *************** *** 1297,1302 **** --- 1310,1316 ---- } #endif } + #endif /* CONFIG_EVT */ for (i = 0; i < 6; i++) printk("%c%2.2X", i ? ':' : ' ', last_phys_addr[i] = dev->dev_addr[i]);