u-boot-brain/arch/arm
Lokesh Vutla 0bea813d00 ARM: omap-common: Add standard access for board description EEPROM
Several TI EVMs have EEPROM that can contain board description information
such as revision, DDR definition, serial number, etc. In just about all
cases, these EEPROM are on the I2C bus and provides us the opportunity
to centralize the generic operations involved.

The on-board EEPROM on the BeagleBone Black, BeagleBone, AM335x EVM,
AM43x GP EVM, AM57xx-evm, BeagleBoard-X15 share the same format.
However, DRA-7* EVMs, OMAP4SDP use a modified format.

We hence introduce logic which is generic between these platforms
without enforcing any specific format. This allows the boards to use the
relevant format for operations that they might choose.

This module will compile for all TI SoC based boards when
CONFIG_TI_I2C_BOARD_DETECT is enabled to have optimal build times for
platforms that require this support.

It is important to note that this logic is fundamental to the board
configuration process such as DDR configuration which is needed in
SPL, hence cannot be part of the standard u-boot driver model (which
is available later in the process). Hence, to aid efficiency, the
eeprom contents are copied over to SRAM scratchpad memory area at the
first invocation to retrieve data.

To prevent churn with cases such as DRA7, where eeprom format maybe
incompatible, we introduce a generic common format in eeprom which
is made available over accessor functions for usage.

Special handling for BBG1 EEPROM had to be introduced thanks to the
weird eeprom rev contents used.

The follow on patches introduce the use of this library for AM335x,
AM437x, and AM57xx.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2016-03-14 19:18:33 -04:00
..
cpu ARM: OMAP4/5: Centralize early clock initialization 2016-03-14 19:18:32 -04:00
dts ARM: uniphier: add eMMC boot support 2016-02-29 03:50:16 +09:00
imx-common imx: imx-common: introduce boot auxiliary core 2016-02-21 11:46:26 +01:00
include ARM: omap-common: Add standard access for board description EEPROM 2016-03-14 19:18:33 -04:00
lib arm: make sure board_init_r() is being called using the right mode (ARM / THUMB) 2016-02-15 12:04:45 -05:00
mach-at91 ARM: Add Support for the VInCo platform 2016-02-19 15:12:13 +01:00
mach-bcm283x rpi: set board serial number in environment 2016-02-24 18:44:12 -05:00
mach-davinci arm: Remove da830evm board 2015-09-28 10:48:23 -04:00
mach-exynos Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-integrator integrator: switch to DM serial port 2015-08-12 20:47:49 -04:00
mach-keystone ARM: k2g: add SD card and eMMC support 2015-10-22 14:22:25 -04:00
mach-kirkwood arm: mvebu/kirkwood: Use common timer functions 2016-01-14 14:08:59 +01:00
mach-mvebu arm: mvebu: Add support for the Armada XP theadorable board 2016-01-27 07:45:43 +01:00
mach-orion5x Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
mach-rockchip rockchip: rk3288: correct sdram setting 2016-03-10 08:32:01 -07:00
mach-s5pc1xx arm: s5pc1xx: move SoC to mach-s5pc1xx 2015-11-30 17:17:01 +09:00
mach-socfpga arm: socfpga: Fix ethernet reset handling 2016-02-24 19:13:03 +01:00
mach-stm32 stm32: add support for stm32f7 & stm32f746 discovery board 2016-02-24 18:43:57 -05:00
mach-tegra video: tegra: Correct a Kconfig warning with VIDCONSOLE_AS_LCD 2016-02-17 13:36:16 -07:00
mach-uniphier ARM: uniphier: allow debug_ll_init() to do nothing for unknown SoCs 2016-03-09 01:11:15 +09:00
mach-versatile arm: Remove versatileab board 2015-09-11 15:01:25 -04:00
mach-zynq ARM: zynq: Remove unused SPI base addresses 2016-02-22 16:20:59 +01:00
thumb1/include/asm/proc-armv arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
config.mk arm: config: enforce -fno-pic for gcc 2016-01-31 16:32:56 +01:00
Kconfig ARM: uniphier: prepare directory structure for ARMv8 SoC support 2016-03-01 00:33:24 +09:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile arm: the ARM920T is THUMB capable, so select the appropriate ISA 2016-02-15 12:04:45 -05:00