diff --git a/README b/README index f37765e..01bdd34 100644 --- a/README +++ b/README @@ -3422,66 +3422,6 @@ environment in RAM: we could work on NVRAM directly, but we want to keep settings there always unmodified except somebody uses "saveenv" to save the current settings. - -- CONFIG_ENV_IS_IN_EEPROM: - - Use this if you have an EEPROM or similar serial access - device and a driver for it. - - - CONFIG_ENV_OFFSET: - - CONFIG_ENV_SIZE: - - These two #defines specify the offset and size of the - environment area within the total memory of your EEPROM. - - - CONFIG_SYS_I2C_EEPROM_ADDR: - If defined, specified the chip address of the EEPROM device. - The default address is zero. - - - CONFIG_SYS_I2C_EEPROM_BUS: - If defined, specified the i2c bus of the EEPROM device. - - - CONFIG_SYS_EEPROM_PAGE_WRITE_BITS: - If defined, the number of bits used to address bytes in a - single page in the EEPROM device. A 64 byte page, for example - would require six bits. - - - CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS: - If defined, the number of milliseconds to delay between - page writes. The default is zero milliseconds. - - - CONFIG_SYS_I2C_EEPROM_ADDR_LEN: - The length in bytes of the EEPROM memory array address. Note - that this is NOT the chip address length! - - - CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW: - EEPROM chips that implement "address overflow" are ones - like Catalyst 24WC04/08/16 which has 9/10/11 bits of - address and the extra bits end up in the "chip address" bit - slots. This makes a 24WC08 (1Kbyte) chip look like four 256 - byte chips. - - Note that we consider the length of the address field to - still be one byte because the extra address bits are hidden - in the chip address. - - - CONFIG_SYS_EEPROM_SIZE: - The size in bytes of the EEPROM device. - - - CONFIG_ENV_EEPROM_IS_ON_I2C - define this, if you have I2C and SPI activated, and your - EEPROM, which holds the environment, is on the I2C bus. - - - CONFIG_I2C_ENV_EEPROM_BUS - if you have an Environment on an EEPROM reached over - I2C muxes, you can define here, how to reach this - EEPROM. For example: - - #define CONFIG_I2C_ENV_EEPROM_BUS 1 - - EEPROM which holds the environment, is reached over - a pca9547 i2c mux with address 0x70, channel 3. - - CONFIG_ENV_IS_IN_DATAFLASH: Define this if you have a DataFlash memory device which you diff --git a/common/Kconfig b/common/Kconfig index 2f86e7c..4d8ef66 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -176,6 +176,67 @@ endmenu menu "Environment" +config ENV_IS_IN_EEPROM + bool "Environment in EEPROM" + depends on !CHAIN_OF_TRUST + help + Use this if you have an EEPROM or similar serial access + device and a driver for it. + + - CONFIG_ENV_OFFSET: + - CONFIG_ENV_SIZE: + + These two #defines specify the offset and size of the + environment area within the total memory of your EEPROM. + + - CONFIG_SYS_I2C_EEPROM_ADDR: + If defined, specified the chip address of the EEPROM device. + The default address is zero. + + - CONFIG_SYS_I2C_EEPROM_BUS: + If defined, specified the i2c bus of the EEPROM device. + + - CONFIG_SYS_EEPROM_PAGE_WRITE_BITS: + If defined, the number of bits used to address bytes in a + single page in the EEPROM device. A 64 byte page, for example + would require six bits. + + - CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS: + If defined, the number of milliseconds to delay between + page writes. The default is zero milliseconds. + + - CONFIG_SYS_I2C_EEPROM_ADDR_LEN: + The length in bytes of the EEPROM memory array address. Note + that this is NOT the chip address length! + + - CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW: + EEPROM chips that implement "address overflow" are ones + like Catalyst 24WC04/08/16 which has 9/10/11 bits of + address and the extra bits end up in the "chip address" bit + slots. This makes a 24WC08 (1Kbyte) chip look like four 256 + byte chips. + + Note that we consider the length of the address field to + still be one byte because the extra address bits are hidden + in the chip address. + + - CONFIG_SYS_EEPROM_SIZE: + The size in bytes of the EEPROM device. + + - CONFIG_ENV_EEPROM_IS_ON_I2C + define this, if you have I2C and SPI activated, and your + EEPROM, which holds the environment, is on the I2C bus. + + - CONFIG_I2C_ENV_EEPROM_BUS + if you have an Environment on an EEPROM reached over + I2C muxes, you can define here, how to reach this + EEPROM. For example: + + #define CONFIG_I2C_ENV_EEPROM_BUS 1 + + EEPROM which holds the environment, is reached over + a pca9547 i2c mux with address 0x70, channel 3. + config ENV_IS_IN_FLASH bool "Environment in flash memory" depends on !CHAIN_OF_TRUST diff --git a/configs/imx31_phycore_defconfig b/configs/imx31_phycore_defconfig index 224bedb..a710e06 100644 --- a/configs/imx31_phycore_defconfig +++ b/configs/imx31_phycore_defconfig @@ -1,5 +1,6 @@ CONFIG_ARM=y CONFIG_TARGET_IMX31_PHYCORE=y +CONFIG_ENV_IS_IN_EEPROM=y CONFIG_BOOTDELAY=3 CONFIG_SYS_PROMPT="uboot> " CONFIG_CMD_EEPROM=y diff --git a/configs/imx31_phycore_eet_defconfig b/configs/imx31_phycore_eet_defconfig index c881b8f..4bc558b 100644 --- a/configs/imx31_phycore_eet_defconfig +++ b/configs/imx31_phycore_eet_defconfig @@ -1,6 +1,7 @@ CONFIG_ARM=y CONFIG_TARGET_IMX31_PHYCORE_EET=y CONFIG_VIDEO=y +CONFIG_ENV_IS_IN_EEPROM=y CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set CONFIG_SYS_CONSOLE_IS_IN_ENV=y diff --git a/configs/km_kirkwood_128m16_defconfig b/configs/km_kirkwood_128m16_defconfig index 174b349..e3b52b0 100644 --- a/configs/km_kirkwood_128m16_defconfig +++ b/configs/km_kirkwood_128m16_defconfig @@ -3,6 +3,7 @@ CONFIG_KIRKWOOD=y CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_IDENT_STRING="\nKeymile Kirkwood 128M16" CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_128M16" +CONFIG_ENV_IS_IN_EEPROM=y CONFIG_VERSION_VARIABLE=y # CONFIG_DISPLAY_BOARDINFO is not set CONFIG_HUSH_PARSER=y diff --git a/configs/km_kirkwood_defconfig b/configs/km_kirkwood_defconfig index fccd1e6..c7d7422 100644 --- a/configs/km_kirkwood_defconfig +++ b/configs/km_kirkwood_defconfig @@ -3,6 +3,7 @@ CONFIG_KIRKWOOD=y CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_IDENT_STRING="\nKeymile Kirkwood" CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD" +CONFIG_ENV_IS_IN_EEPROM=y CONFIG_VERSION_VARIABLE=y # CONFIG_DISPLAY_BOARDINFO is not set CONFIG_HUSH_PARSER=y diff --git a/configs/km_kirkwood_pci_defconfig b/configs/km_kirkwood_pci_defconfig index 18455b4..080d649 100644 --- a/configs/km_kirkwood_pci_defconfig +++ b/configs/km_kirkwood_pci_defconfig @@ -3,6 +3,7 @@ CONFIG_KIRKWOOD=y CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_IDENT_STRING="\nKeymile Kirkwood PCI" CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_PCI" +CONFIG_ENV_IS_IN_EEPROM=y CONFIG_VERSION_VARIABLE=y # CONFIG_DISPLAY_BOARDINFO is not set CONFIG_HUSH_PARSER=y diff --git a/configs/mgcoge3un_defconfig b/configs/mgcoge3un_defconfig index 370a01f..669f9dd 100644 --- a/configs/mgcoge3un_defconfig +++ b/configs/mgcoge3un_defconfig @@ -3,6 +3,7 @@ CONFIG_KIRKWOOD=y CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_IDENT_STRING="\nKeymile COGE3UN" CONFIG_SYS_EXTRA_OPTIONS="KM_MGCOGE3UN" +CONFIG_ENV_IS_IN_EEPROM=y CONFIG_VERSION_VARIABLE=y # CONFIG_DISPLAY_BOARDINFO is not set CONFIG_HUSH_PARSER=y diff --git a/configs/portl2_defconfig b/configs/portl2_defconfig index d4172df..e98ac23 100644 --- a/configs/portl2_defconfig +++ b/configs/portl2_defconfig @@ -3,6 +3,7 @@ CONFIG_KIRKWOOD=y CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_IDENT_STRING="\nKeymile Port-L2" CONFIG_SYS_EXTRA_OPTIONS="KM_PORTL2" +CONFIG_ENV_IS_IN_EEPROM=y CONFIG_VERSION_VARIABLE=y # CONFIG_DISPLAY_BOARDINFO is not set CONFIG_HUSH_PARSER=y diff --git a/include/config_fsl_chain_trust.h b/include/config_fsl_chain_trust.h index 6b6ae7c..195419b 100644 --- a/include/config_fsl_chain_trust.h +++ b/include/config_fsl_chain_trust.h @@ -13,7 +13,6 @@ */ #ifdef CONFIG_SECURE_BOOT -#undef CONFIG_ENV_IS_IN_EEPROM #undef CONFIG_ENV_IS_IN_SPI_FLASH #endif diff --git a/include/configs/imx31_phycore.h b/include/configs/imx31_phycore.h index aa56989..0a8501bd 100644 --- a/include/configs/imx31_phycore.h +++ b/include/configs/imx31_phycore.h @@ -135,7 +135,6 @@ /* Monitor at beginning of flash */ #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE -#define CONFIG_ENV_IS_IN_EEPROM #define CONFIG_ENV_OFFSET 0x00 /* env. starts here */ #define CONFIG_ENV_SIZE 4096 #define CONFIG_SYS_I2C_EEPROM_ADDR 0x52 diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h index 02e8a97..7ca0771 100644 --- a/include/configs/km/km_arm.h +++ b/include/configs/km/km_arm.h @@ -212,7 +212,6 @@ int get_scl(void); CONFIG_ENV_SECT_SIZE) #define CONFIG_ENV_TOTAL_SIZE 0x20000 /* no bracets! */ #else -#define CONFIG_ENV_IS_IN_EEPROM /* use EEPROM for environment vars */ #define CONFIG_SYS_DEF_EEPROM_ADDR 0x50 #define CONFIG_ENV_EEPROM_IS_ON_I2C #define CONFIG_SYS_EEPROM_WREN diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index e4d434b..91e5f89 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -634,7 +634,6 @@ CONFIG_ENV_FLASHBOOT CONFIG_ENV_IS_EMBEDDED CONFIG_ENV_IS_IN_ CONFIG_ENV_IS_IN_DATAFLASH -CONFIG_ENV_IS_IN_EEPROM CONFIG_ENV_IS_IN_FAT CONFIG_ENV_IS_IN_ONENAND CONFIG_ENV_IS_IN_REMOTE