Hello, I work with an i.MX6 based hardware that has an i210 pcie device with barebox 2016.11.0 (but there didn't happen anything relevant since them if I'm not mistaken). When enabling all necessary things to make the e1000 bind, the driver seems to hang. The problem is the following code in e1000_get_hw_eeprom_semaphore(): /* Get the FW semaphore. */ timeout = hw->eeprom.word_size + 1; while (timeout) { swsm = e1000_read_reg(hw, E1000_SWSM); swsm |= E1000_SWSM_SWESMBI; e1000_write_reg(hw, E1000_SWSM, swsm); /* if we managed to set the bit we got the semaphore. */ swsm = e1000_read_reg(hw, E1000_SWSM); if (swsm & E1000_SWSM_SWESMBI) break; udelay(50); timeout--; } together with the fact that hw->eeprom.word_size is either 0x200000 or 0x400000. (I saw both values already in three runs) This value is setup in e1000_init_eeprom_params() in the hw->mac_type == e1000_igb case. When waiting log enough the code finally terminates with a failure. In my case there is an 8Mb-Flash equipped on NVM_* that isn't programmed yet. (M25PE80, Page size: 256 bytes, Subsector erase: 4KB, Sector erase: 64KB, Bulk erase: 8Mb) Is someone able to shed some light on where the problem is? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox