If the flash is in secure mode it is not possible to modify its contents. So log that useful information at probe time. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> --- drivers/net/e1000/e1000.h | 1 + drivers/net/e1000/eeprom.c | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/e1000/e1000.h b/drivers/net/e1000/e1000.h index 50d49118f5e4..1558b3c7f5c7 100644 --- a/drivers/net/e1000/e1000.h +++ b/drivers/net/e1000/e1000.h @@ -2101,6 +2101,7 @@ struct e1000_eeprom_info { after IMS clear */ #define E1000_FLA 0x1201C +#define E1000_FLA_LOCKED (1 << 6) #define E1000_FLA_FL_SIZE_SHIFT 17 #define E1000_FLA_FL_SIZE_MASK (0b111 << E1000_FLA_FL_SIZE_SHIFT) /* EEprom Size */ diff --git a/drivers/net/e1000/eeprom.c b/drivers/net/e1000/eeprom.c index 6251c6cecc94..51e0f28c7d44 100644 --- a/drivers/net/e1000/eeprom.c +++ b/drivers/net/e1000/eeprom.c @@ -1584,10 +1584,14 @@ int e1000_register_eeprom(struct e1000_hw *hw) if (eecd & E1000_EECD_AUTO_RD) { if (eecd & E1000_EECD_EE_PRES) { - if (eecd & E1000_EECD_FLASH_IN_USE) - dev_info(hw->dev, "Hardware programmed from flash\n"); - else + if (eecd & E1000_EECD_FLASH_IN_USE) { + uint32_t fla = e1000_read_reg(hw, E1000_FLA); + dev_info(hw->dev, + "Hardware programmed from flash (%ssecure)\n", + fla & E1000_FLA_LOCKED ? "" : "un"); + } else { dev_info(hw->dev, "Hardware programmed from iNVM\n"); + } } else { dev_warn(hw->dev, "Shadow RAM invalid\n"); } -- 2.11.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox