463 return; |
463 return; |
464 } |
464 } |
465 |
465 |
466 // Evaluate EEPROM contents |
466 // Evaluate EEPROM contents |
467 |
467 |
468 slave->sii_alias = |
468 slave->sii.alias = |
469 EC_READ_U16(slave->eeprom_data + 2 * 0x0004); |
469 EC_READ_U16(slave->eeprom_data + 2 * 0x0004); |
470 slave->sii_vendor_id = |
470 slave->sii.vendor_id = |
471 EC_READ_U32(slave->eeprom_data + 2 * 0x0008); |
471 EC_READ_U32(slave->eeprom_data + 2 * 0x0008); |
472 slave->sii_product_code = |
472 slave->sii.product_code = |
473 EC_READ_U32(slave->eeprom_data + 2 * 0x000A); |
473 EC_READ_U32(slave->eeprom_data + 2 * 0x000A); |
474 slave->sii_revision_number = |
474 slave->sii.revision_number = |
475 EC_READ_U32(slave->eeprom_data + 2 * 0x000C); |
475 EC_READ_U32(slave->eeprom_data + 2 * 0x000C); |
476 slave->sii_serial_number = |
476 slave->sii.serial_number = |
477 EC_READ_U32(slave->eeprom_data + 2 * 0x000E); |
477 EC_READ_U32(slave->eeprom_data + 2 * 0x000E); |
478 slave->sii_rx_mailbox_offset = |
478 slave->sii.rx_mailbox_offset = |
479 EC_READ_U16(slave->eeprom_data + 2 * 0x0018); |
479 EC_READ_U16(slave->eeprom_data + 2 * 0x0018); |
480 slave->sii_rx_mailbox_size = |
480 slave->sii.rx_mailbox_size = |
481 EC_READ_U16(slave->eeprom_data + 2 * 0x0019); |
481 EC_READ_U16(slave->eeprom_data + 2 * 0x0019); |
482 slave->sii_tx_mailbox_offset = |
482 slave->sii.tx_mailbox_offset = |
483 EC_READ_U16(slave->eeprom_data + 2 * 0x001A); |
483 EC_READ_U16(slave->eeprom_data + 2 * 0x001A); |
484 slave->sii_tx_mailbox_size = |
484 slave->sii.tx_mailbox_size = |
485 EC_READ_U16(slave->eeprom_data + 2 * 0x001B); |
485 EC_READ_U16(slave->eeprom_data + 2 * 0x001B); |
486 slave->sii_mailbox_protocols = |
486 slave->sii.mailbox_protocols = |
487 EC_READ_U16(slave->eeprom_data + 2 * 0x001C); |
487 EC_READ_U16(slave->eeprom_data + 2 * 0x001C); |
488 |
488 |
489 if (eeprom_word_size == EC_FIRST_EEPROM_CATEGORY_OFFSET) { |
489 if (eeprom_word_size == EC_FIRST_EEPROM_CATEGORY_OFFSET) { |
490 // eeprom does not contain category data |
490 // eeprom does not contain category data |
491 fsm->state = ec_fsm_slave_scan_state_end; |
491 fsm->state = ec_fsm_slave_scan_state_end; |