diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2017-12-01 12:10:17 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-12-06 15:56:09 +0100 |
commit | ef79d1498fd95b1a88ed1260d4eedfc25796cb8b (patch) | |
tree | 106c51ec51ae0908cd0d13758ef42ee90229487c /drivers | |
parent | a8b64b8745ce415ae0abb4f2bcb1cc66d4894a3c (diff) | |
download | barebox-ef79d1498fd95b1a88ed1260d4eedfc25796cb8b.tar.gz barebox-ef79d1498fd95b1a88ed1260d4eedfc25796cb8b.tar.xz |
net/e1000: indicate at boot time if flash is in secure mode
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@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/e1000/e1000.h | 1 | ||||
-rw-r--r-- | 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 50d49118f5..1558b3c7f5 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 e4c5b9c27a..23fb05ec72 100644 --- a/drivers/net/e1000/eeprom.c +++ b/drivers/net/e1000/eeprom.c @@ -1568,10 +1568,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"); } |