Revision b1e87018 hw/eepro100.c

b/hw/eepro100.c
272 272
    EEPROM_SMBUS_ADDR = 0x90,
273 273
} EEPROMOffset;
274 274

  
275
/* Bit values for EEPROM ID word. */
276
typedef enum {
277
    EEPROM_ID_MDM = BIT(0),     /* Modem */
278
    EEPROM_ID_STB = BIT(1),     /* Standby Enable */
279
    EEPROM_ID_WMR = BIT(2),     /* ??? */
280
    EEPROM_ID_WOL = BIT(5),     /* Wake on LAN */
281
    EEPROM_ID_DPD = BIT(6),     /* Deep Power Down */
282
    EEPROM_ID_ALT = BIT(7),     /* */
283
    /* BITS(10, 8) device revision */
284
    EEPROM_ID_BD = BIT(11),     /* boot disable */
285
    EEPROM_ID_ID = BIT(13),     /* id bit */
286
    /* BITS(15, 14) signature */
287
    EEPROM_ID_VALID = BIT(14),  /* signature for valid eeprom */
288
} eeprom_id_bit;
289

  
275 290
/* Default values for MDI (PHY) registers */
276 291
static const uint16_t eepro100_mdi_default[] = {
277 292
    /* MDI Registers 0 - 6, 7 */
......
643 658
    uint16_t *eeprom_contents = eeprom93xx_data(s->eeprom);
644 659
    //~ eeprom93xx_reset(s->eeprom);
645 660
    memcpy(eeprom_contents, s->conf.macaddr.a, 6);
646
    eeprom_contents[EEPROM_ID] = 0x4000;
661
    eeprom_contents[EEPROM_ID] = EEPROM_ID_VALID;
647 662
    if (s->device == i82557B || s->device == i82557C)
648 663
        eeprom_contents[5] = 0x0100;
649 664
    eeprom_contents[EEPROM_PHY_ID] = 1;

Also available in: Unified diff