u-boot/board
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
..
8dtech/eco5pk
a3m071
a4m072
abilis/tb100
alphaproject/ap_sh4a_4a net: cosmetic: Name ethaddr variables consistently 2015-04-18 11:11:32 -06:00
altera arm: socfpga: Fix i2c mux on cyclone5-socdk board 2015-12-23 16:11:49 +01:00
amcc powerpc: yucca: drop redundant CONFIG_SYS_TEXT_BASE from config.mk 2016-01-20 10:19:36 -05:00
AndesTech/adp-ag101p NDS32: Generic Board Support and Unsupport 2015-08-28 11:46:35 -04:00
Arcturus/ucp1020 Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
aristainetos arm, imx6, aristainetos2: set gpr register after reset 2015-10-30 15:08:55 +01:00
armadeus/apf27 remove unnecessary version.h includes 2015-03-24 10:50:50 -04:00
armltd vexpress64: use 2nd DRAM bank only on juno 2015-11-21 21:50:28 -05:00
astro/mcf5373l Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
atmark-techno/armadillo-800eva Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
atmel board: atmel: clean up the PMC_PLLICPR init code 2016-02-18 21:34:41 +01:00
avionic-design ARM: tegra: move NVIDIA common files to arch/arm/mach-tegra 2015-05-13 09:46:19 -07:00
bachmann/ot1200 ot1200: Remove empty reset_cpu() 2015-11-12 17:26:33 +01:00
barco mx6: remove SYS_SOC from board Kconfig 2015-09-13 10:37:29 +02:00
Barix/ipam390
bct-brettl2 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf506f-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf518f-ezbrd Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf525-ucr2 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf526-ezbrd Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf527-ad7160-eval Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf527-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf527-sdp Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf533-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf533-stamp Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf537-minotaur Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf537-pnav Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf537-srv1 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf537-stamp Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf538f-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf548-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf561-acvilon Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf561-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bf609-ezkit Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
birdland/bav335x Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
blackstamp Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
blackvme Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
bluegiga/apx4devkit
bluewater/snapper9260 board: atmel: clean up peripheral clock code 2016-02-18 21:34:40 +01:00
boundary/nitrogen6x nitrogen6x: Fix the error handling in board_eth_init() 2015-09-13 11:05:15 +02:00
br4 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
broadcom usb: s3c-otg: Rename usb/s3c_udc.h to usb/dwc2_udc.h 2015-12-17 21:54:41 +01:00
buffalo/lsxl net: Fix a warning added by 76ec988 2015-05-28 08:18:25 -04:00
BuR board/BuR: drop ETH-support in SPL-Stage 2016-02-24 18:44:01 -05:00
BuS/eb_cpu5282 arm: Remove vl_ma2sc board 2015-09-11 17:12:57 -04:00
calao/usb_a9263 board: atmel: clean up peripheral clock code 2016-02-18 21:34:40 +01:00
canmb
CarMediaLab/flea3
cavium/thunderx armv8: cavium: Get DRAM size from ATF 2016-01-19 22:26:13 +00:00
cirrus/edb93xx
cloudengines/pogo_e02
cm-bf527 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm-bf533 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm-bf537e Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm-bf537u Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm-bf548 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm-bf561 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cm5200 cm5200: fix FAT function prototypes 2015-08-14 11:05:28 -04:00
cobra5272 m68k: move CONFIG_SYS_TEXT_BASE to defconfig files 2016-01-20 10:19:34 -05:00
compal/paz00 tegra: video: Convert tegra20 LCD driver to driver model 2016-02-16 09:17:52 -07:00
compulab arm: am437x: cm-t43: set MPU and CORE voltages on boot 2016-02-24 18:44:09 -05:00
congatec/cgtqmx6eval Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
coreboot x86: qemu: Create separate i440fx and q35 device trees 2015-06-04 03:03:18 -06:00
corscience/tricorder tricorder: rewrite tricordereeprom command 2015-11-21 21:50:20 -05:00
creative/xfi3 xfi3: correct function name 2015-11-12 17:38:08 +01:00
d-link/dns325
dave/common
davedenx/aria arm: Remove qong board 2015-09-11 14:59:16 -04:00
davinci Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
dbau1x00 mips: dbau1x00: move CONFIG_SYS_TEXT_BASE away from config.mk 2016-01-20 10:19:35 -05:00
denx arm: at91: Add support for DENX MA5D4 SoM and EVK 2016-02-18 21:34:41 +01:00
dnp5370 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
ebv/socrates arm: socfpga: Drop the board boilerplate 2015-12-20 03:36:51 +01:00
efi x86: Add EFI board code 2015-08-05 08:44:06 -06:00
egnite/ethernut5 board: atmel: clean up peripheral clock code 2016-02-18 21:34:40 +01:00
embest/mx6boards Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
emulation x86: qemu: Convert to use driver model eth 2015-11-13 06:46:24 -08:00
esd board: atmel: clean up peripheral clock code 2016-02-18 21:34:40 +01:00
espt remove unnecessary version.h includes 2015-03-24 10:50:50 -04:00
evb_rk3036/evb_rk3036 rockchip: Add basic support for evb-rk3036 board 2015-12-01 08:07:22 -07:00
firefly/firefly-rk3288 rockchip: Add basic support for firefly-rk3288 2015-09-02 21:28:24 -06:00
freescale Kconfig: Move CONFIG_FIT and related options to Kconfig 2016-03-14 19:18:07 -04:00
gaisler
gateworks/gw_ventana Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
gdsys Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
google x86: ivybridge: Move northbridge and PCH init into drivers 2016-01-24 12:08:17 +08:00
gumstix pepper: Implement Board Detection mechanism 2015-06-08 17:32:40 -04:00
h2200 h2200: Fix build error 2015-09-07 13:41:04 +02:00
highbank Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
hisilicon/hikey ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default. 2015-09-28 10:48:22 -04:00
htkw/mcx mcx: update maintainer and convert to generic board 2015-04-09 16:48:03 -04:00
ibf-dsp561 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
ids/ids8313
ifm net: cosmetic: Name ethaddr variables consistently 2015-04-18 11:11:32 -06:00
imgtec/malta Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
imx31_phycore
in-circuit/grasshopper
inka4x0 Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
intel x86: Add Intel Cougar Canyon 2 board 2016-02-21 13:42:52 +08:00
intercontrol/digsy_mtc Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
inversepath/usbarmory ARM: mx5: add support for USB armory board 2015-04-09 09:14:12 +02:00
iomega/iconnect
ip04 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
ipek01 powerpc: ipek01: convert to generic board 2015-08-14 16:27:10 -04:00
isee igep00x0: Cleanup ethernet support 2016-01-20 10:19:38 -05:00
jupiter
keymile Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
kmc/kzm9g
kosagi/novena arm: imx6: Enable DDR calibration on Novena 2016-02-02 20:59:05 +01:00
kylin/kylin_rk3036 rockchip: kylin: Check fastboot request 2016-01-21 20:05:26 -07:00
l+g/vinco vinco: add Maintainers file 2016-02-20 21:40:02 +01:00
LaCie Revert "arm: Remove d2net_v2 defconfig file" 2015-10-19 11:26:49 -04:00
lge/sniper sniper: Various minor cleanups, missing Kconfig configs and reorganisation 2016-02-29 14:49:37 -05:00
liebherr/lwmon5 PPC4xx: Create "liebherr" vendor directory 2015-11-30 12:50:29 +01:00
logicpd OMAP3SOM BOARD: Auto detect Logic PD Models 2016-02-24 18:44:00 -05:00
Marvell arm: mvebu: Consolidate board Kconfig options into one file 2016-01-14 14:08:59 +01:00
maxbcm arm: mvebu: Consolidate board Kconfig options into one file 2016-01-14 14:08:59 +01:00
microchip/pic32mzda board: Add Microchip PIC32MZ[DA]-Starter-Kit board. 2016-02-01 22:14:01 +01:00
micronas/vct mips: vct: move CONFIG_SYS_TEXT_BASE away from config.mk 2016-01-20 10:19:35 -05:00
mini-box/picosam9g45 board: atmel: clean up peripheral clock code 2016-02-18 21:34:40 +01:00
mosaixtech/icon
motionpro
mpc8308_p1m
mpl Fix GCC format-security errors and convert sprintfs. 2016-01-14 22:11:34 -05:00
mpr2
ms7720se
ms7722se remove unnecessary version.h includes 2015-03-24 10:50:50 -04:00
ms7750se remove unnecessary version.h includes 2015-03-24 10:50:50 -04:00
munices
nokia/rx51 omap-common: Common function to display die id, replacing omap3-specific version 2015-10-22 14:18:30 -04:00
nvidia ARM: tegra: rm Jetson TK1 PMIC GPIO programming 2016-01-28 10:32:31 -07:00
olimex/mx23_olinuxino
omicron/calimain
openrisc/openrisc-generic
overo ns16550: unify serial_omap 2015-11-21 21:50:17 -05:00
pandora omap-common: Common function to display die id, replacing omap3-specific version 2015-10-22 14:18:30 -04:00
pb1x00 mips: pb1x00: move CONFIG_SYS_TEXT_BASE away from config.mk 2016-01-20 10:19:36 -05:00
pdm360ng
phytec vf610: add support for Phytec PCM052 2015-10-02 10:42:59 +02:00
ppcag/bg0900
pr1 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
qemu-mips
quipos/cairo ns16550: unify serial_omap 2015-11-21 21:50:17 -05:00
radxa/rock2 rockchip: Add support for Raxda Rock 2 2016-01-21 20:42:37 -07:00
raidsonic/ib62x0
raspberrypi rpi: set board serial number in environment 2016-02-24 18:44:12 -05:00
renesas sh: sh7753evb: Fix build error 2016-01-25 10:40:00 -05:00
ronetix board: atmel: clean up peripheral clock code 2016-02-18 21:34:40 +01:00
samsung samsung: fix mkorigenspl for darwin 2016-02-24 18:43:59 -05:00
sandbox dm: video: sandbox: Convert sandbox to use driver model for video 2016-01-20 19:10:16 -07:00
sandisk/sansa_fuze_plus
sbc8349 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
sbc8548 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
sbc8641d Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
schulercontrol/sc_sps_1
Seagate
seco Merge branch 'master' of git://www.denx.de/git/u-boot-imx 2016-02-21 07:56:16 -05:00
shmin remove unnecessary version.h includes 2015-03-24 10:50:50 -04:00
siemens board: atmel: siemens: clean up PLLB code 2016-02-18 21:34:41 +01:00
silica/pengwyn pengwyn: nand and ethernet fixes 2015-11-12 18:13:19 -05:00
socrates Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
solidrun Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
spear net: designware: Zap CONFIG_DW_AUTONEG 2015-12-22 04:42:27 +01:00
sr1500 arm: socfpga: Drop the board boilerplate 2015-12-20 03:36:51 +01:00
st stm32: add support for stm32f7 & stm32f746 discovery board 2016-02-24 18:43:57 -05:00
sunxi sunxi: power: add support for sy8106a driver 2016-02-23 20:50:07 +01:00
Synology mvebu: ds414: Implement Synology specific command set 2016-01-14 14:08:59 +01:00
synopsys board: axs10x switch serial port and Ethernet to driver model 2015-11-18 00:39:22 +03:00
sysam/amcore m68k: move CONFIG_SYS_TEXT_BASE to defconfig files 2016-01-20 10:19:34 -05:00
syteco/zmx25
t3corp
tbs/tbs2910 board: tbs2910: Fix eMMC BOOTCFG value 2016-03-02 14:51:05 +01:00
tcl/sl50 board: Add Toby-Churchill SL50 board support. 2015-09-11 17:15:27 -04:00
tcm-bf518 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
tcm-bf537 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
technexion omap-common: Common function to display die id, replacing omap3-specific version 2015-10-22 14:18:30 -04:00
technologic/ts4800 ARM: ts4800: add ethernet support 2015-09-02 15:26:13 +02:00
teejet/mt_ventoux omap-common: Common function to display die id, replacing omap3-specific version 2015-10-22 14:18:30 -04:00
terasic arm: socfpga: Drop the board boilerplate 2015-12-20 03:36:51 +01:00
theadorable arm: mvebu: Add support for the Armada XP theadorable board 2016-01-27 07:45:43 +01:00
ti ARM: omap-common: Add standard access for board description EEPROM 2016-03-14 19:18:33 -04:00
timll ns16550: unify serial_omap 2015-11-21 21:50:17 -05:00
toradex tegra: video: Rename CONFIG_VIDEO_TEGRA to CONFIG_VIDEO_TEGRA20 2016-02-16 09:17:51 -07:00
tqc Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
udoo MAINTAINERS/mailmap: Update my email address 2016-01-11 11:22:43 -05:00
v38b
varisys Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
ve8313
vscom/baltos Kconfig: Move CONFIG_FIT and related options to Kconfig 2016-03-14 19:18:07 -04:00
wandboard Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
warp Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
woodburn
work-microwave/work_92105 lpc32xx: add support for board work_92105 2015-04-10 14:23:39 +02:00
xes Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
xilinx ARM: zynq: Read memory size setting from DT 2016-02-22 16:21:02 +01:00
zyxel/nsa310s arm: kirkwood: add ZyXEL NSA310S device 2015-11-29 22:16:14 +01:00