[U-Boot] [PATCH] Kconfig: Add EEPROM options to Kconfig when I2C_EEPROM is set

Adam Ford aford173 at gmail.com
Sun Aug 13 14:00:28 UTC 2017


Add the following options to drivers/misc/Kconfig:
	SYS_I2C_EEPROM_ADDR
	SYS_I2C_EEPROM_BUS
	SYS_EEPROM_SIZE
	SYS_EEPROM_PAGE_WRITE_BITS
	SYS_EEPROM_PAGE_WRITE_DELAY_MS
	SYS_I2C_EEPROM_ADDR_LEN
	SYS_I2C_EEPROM_ADDR_OVERFLOW

This does not migrate any boards, but provides a foundations for
those who want/need these options

Signed-off-by: Adam Ford <aford173 at gmail.com>
---
 common/Kconfig       | 30 ------------------------------
 drivers/misc/Kconfig | 45 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 30 deletions(-)

diff --git a/common/Kconfig b/common/Kconfig
index 0983891..aa50b03 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -204,40 +204,10 @@ config ENV_IS_IN_EEPROM
 	  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.
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index d1ddbbe..3d282d5 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -196,4 +196,49 @@ config I2C_EEPROM
 	depends on MISC
 	help
 	  Enable a generic driver for EEPROMs attached via I2C.
+
+if I2C_EEPROM
+
+config SYS_I2C_EEPROM_ADDR
+	hex "Chip address of the EEPROM device"
+	default 0
+
+config SYS_I2C_EEPROM_BUS
+	int "I2C bus of the EEPROM device."
+	default 0
+
+config SYS_EEPROM_SIZE
+	int "Size in bytes of the EEPROM device"
+	default 256
+
+config SYS_EEPROM_PAGE_WRITE_BITS
+	int "Number of bits used to address bytes in a single page"
+	default 0
+	help
+	  The EEPROM page size is 2^SYS_EEPROM_PAGE_WRITE_BITS.
+	  A 64 byte page, for example would require six bits.
+
+config SYS_EEPROM_PAGE_WRITE_DELAY_MS
+	int "Number of milliseconds to delay between page writes"
+	default 0
+
+config SYS_I2C_EEPROM_ADDR_LEN
+	int "Length in bytes of the EEPROM memory array address"
+	default 1
+	help
+	  Note: This is NOT the chip address length!
+
+config SYS_I2C_EEPROM_ADDR_OVERFLOW
+	hex "EEPROM Address Overflow"
+	default 0
+	help
+	  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.
+
+endif
+
+
 endmenu
-- 
2.7.4



More information about the U-Boot mailing list