board: ti: am654: Use EEPROM-based board detection
authorAndreas Dannenberg <dannenberg@ti.com>
Tue, 4 Jun 2019 23:08:26 +0000 (18:08 -0500)
committerTom Rini <trini@konsulko.com>
Wed, 17 Jul 2019 15:13:18 +0000 (11:13 -0400)
commit03facc727180ed84dcc61aedfcbb222dc201e0af
treeadb9f15c77b03ceaf2fb1af8038dcbb144fd6ea9
parent183fa08ae529a3a228ed62fd099c7d1e9e76c8b0
board: ti: am654: Use EEPROM-based board detection

The TI AM654x EVM base board and the associated daughtercards have on-
board I2C-based EEPROMs containing board configuration data. Use the
board detection infrastructure introduced earlier to do the following:

1) Parse the AM654x EVM base board EEPROM and populate items like board
   name and MAC addresses into the TI common EEPROM data structure
   residing in SRAM scratch space
2) Check for presence of daughter card(s) by probing the associated
   presence signals via an I2C-based GPIO expander. Then, if such a
   card is found, parse the data such as additional Ethernet MAC
   addresses from its on-board EEPROM and populate into U-Boot
   accordingly
3) Dynamically create an U-Boot ENV variable called overlay_files
   containing a list of daugherboard-specific DTB overlays based on
   daughercards found.

This patch adds support for the AM654x base board ("AM6-COMPROCEVM")
as well as for the IDK ("AM6-IDKAPPEVM"), OLDI LCD ("OLDI-LCD1EVM")
PCIe/USB3.0 ("SER-PCIEUSBEVM"), 2 Lane PCIe/USB2.0 ("SER-PCIE2LEVM"),
and general purpuse ("AM6-GPAPPEVM") daughtercards.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
arch/arm/mach-k3/am6_init.c
arch/arm/mach-k3/include/mach/sys_proto.h
board/ti/am65x/Kconfig
board/ti/am65x/evm.c
include/configs/am65x_evm.h