u-boot/board
Andreas Dannenberg 643eb6ea07 board: ti: j721e: Use EEPROM-based board detection
The TI J721E EVM system on module (SOM), the common processor board, and
the associated daughtercards have on-board I2C-based EEPROMs containing
board config data. Use the board detection infrastructure to do the
following:

1) Parse the J721E SOM EEPROM and populate items like board name, board
   HW and SW revision as well as board serial number into the TI common
   EEPROM data structure residing in SRAM scratch space
2) Check for presence of daughter card(s) by probing associated I2C
   addresses used for on-board EEPROMs containing daughter card-specific
   data. If such a card is found, parse the EEPROM data such as for
   additional Ethernet MAC addresses and populate those into U-Boot
   accordingly
3) Dynamically apply daughter card DTB overlays to the U-Boot (proper)
   DTB during SPL execution
4) Dynamically create an U-Boot ENV variable called name_overlays
   during U-Boot execution containing a list of daugherboard-specific
   DTB overlays based on daughercards found to be used during Kernel
   boot.

This patch adds support for the J721E system on module boards containing
the actual SoC ("J721EX-PM2-SOM", accessed via CONFIG_EEPROM_CHIP_ADDRESS),
the common processor board ("J7X-BASE-CPB"), the Quad-Port Ethernet
Expansion Board ("J7X-VSC8514-ETH"), the infotainment board
("J7X-INFOTAN-EXP") as well as for the gateway/Ethernet switch/industrial
expansion board ("J7X-GESI-EXP").

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2020-01-20 10:10:28 +05:30
..
abilis/tb100 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
advantech common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
alliedtelesis common: Drop global inclusion of status_led.h 2019-12-02 18:23:06 -05:00
altera ARM: socfpga: Add default FPGA bitstream fitImage for Arria10 SoCDK 2019-05-10 22:48:10 +02:00
amarula/vyasa-rk3288 common: Move serial functions out of common.h 2019-12-02 18:23:11 -05:00
amazon/kc1 env: Move env_set() to env.h 2019-08-11 16:43:41 -04:00
amlogic boards: amlogic: add Khadas VIM3L support 2020-01-07 14:50:28 +01:00
AndesTech riscv: ax25-ae350: Use generic memory size setup 2019-12-10 08:23:10 +08:00
Arcturus/ucp1020 common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
aries/mcvevk arm: socfpga: Re-add support for Aries MCV SoM and MCVEV[KP] board 2019-05-14 19:52:39 +02:00
aristainetos imx6: aristainetos: add support for rev C board 2020-01-07 10:26:56 +01:00
armadeus common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
armltd common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
aspeed/evb_ast2500 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
astro/mcf5373l common: Move serial functions out of common.h 2019-12-02 18:23:11 -05:00
atmark-techno/armadillo-800eva common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
atmel board: atmel: sama5d27_wlsom1_ek: Set ethaddr from spi-nor flash 2019-12-17 09:49:05 +02:00
avionic-design SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bachmann/ot1200 env: Move env_set() to env.h 2019-08-11 16:43:41 -04:00
barco Convert to use fsl_esdhc_imx for i.MX platforms 2019-06-23 14:18:34 +08:00
beckhoff/mx53cx9020 imx: cx9020: migrate cx9020 to CONFIG_DM_USB 2020-01-07 10:26:56 +01:00
birdland/bav335x mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NAND 2019-12-03 23:04:10 -05:00
bitmain/antminer_s9 arm: zynq: Add support for Bitmain Antminer S9 control board 2018-05-31 13:50:39 +02:00
bluegiga/apx4devkit env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
bluewater common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
bosch mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NAND 2019-12-03 23:04:10 -05:00
boundary/nitrogen6x nitrogen6x: prepare for CONFIG_MX6QDL 2019-12-27 14:28:28 +01:00
broadcom common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
bticino/mamoj common: Move serial functions out of common.h 2019-12-02 18:23:11 -05:00
buffalo/lsxl env: Rename environment.h to env_internal.h 2019-08-11 19:27:31 -04:00
BuR mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NAND 2019-12-03 23:04:10 -05:00
BuS/eb_cpu5282 env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
cadence/xtfpga common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
calao/usb_a9263 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
CarMediaLab/flea3 env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
cavium/thunderx common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
ccv/xpress common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
cei/cei-tk1-som SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
chipspark/popmetal_rk3288 common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
cirrus/edb93xx common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00
cloudengines/pogo_e02 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cobra5272 common: Move enable/disable_interrupts out of common.h 2019-12-02 18:25:01 -05:00
compal/paz00 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
compulab board: cm_fx6: Enable DM support for video, fix build error 2020-01-07 10:26:56 +01:00
comtrend SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
congatec common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
coreboot common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
corscience/tricorder common: Move old EEPROM functions into a new header 2019-12-02 18:25:25 -05:00
creative/xfi3 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cssi common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
CZ.NIC common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
d-link/dns325 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
davinci/da8xxevm board: davinci: Update OMAPL138_LCDK maintainer 2019-12-26 09:06:54 -05:00
devboards/dbm-soc1 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfi common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
dhelectronics/dh_imx6 common: Move old EEPROM functions into a new header 2019-12-02 18:25:25 -05:00
ea/mx7ulp_com mx7ulp: Add support for Embedded Artists COM board 2020-01-07 10:26:56 +01:00
ebv/socrates arm: socfpga: socrates: make rtc work 2019-04-25 00:00:49 +02:00
eets/pdu001 common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
efi common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
egnite/ethernut5 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
el/el6x common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
elgin/elgin_rv1108 rockchip: rv1108: Migrate to use common board file 2019-07-29 10:27:48 +08:00
embest/mx6boards common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
emulation efi: qemu: arm64: Add efi_rng_protocol implementation for the platform 2020-01-07 18:08:22 +01:00
engicam board: engicam: Fix the ethernet clock initialization 2020-01-07 10:26:57 +01:00
esd common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
firefly rockchip: rk3308: Add support for ROC-RK3308-CC board 2019-11-17 17:22:53 +08:00
freescale imx: imxrt1050-evk: Add support for the NXP i.MXRT1050-EVK 2020-01-14 22:54:00 +01:00
gardena common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
gateworks/gw_ventana dm: gpio: Allow control of GPIO uclass in SPL 2019-12-15 08:52:29 +08:00
gdsys common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
ge board: ge: mx53ppd: use imx wdt 2020-01-07 10:26:56 +01:00
geekbuying/geekbox rockchip: rk3368: Migrate to use common board file 2019-07-29 10:27:48 +08:00
google x86: Add chromebook_coral 2019-12-15 11:44:30 +08:00
grinn common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
gumstix common: Move serial functions out of common.h 2019-12-02 18:23:11 -05:00
highbank common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
hisilicon env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
huawei/hg556a SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ids/ids8313 mpc83xx: Get rid of CONFIG_SYS_LBC_* 2019-05-21 07:52:33 +02:00
imgtec mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NAND 2019-12-03 23:04:10 -05:00
intel board: intel: agilex: Add socdk board support for Intel Agilex SoC 2020-01-07 14:38:33 +01:00
inversepath/usbarmory common: Move command functions out of common.h 2019-12-02 18:25:02 -05:00
iomega/iconnect SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
is1 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
isee common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
k+p common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
keymile arm/km: remove board KMCOGE3UN 2020-01-10 10:25:13 -05:00
kmc/kzm9g SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
kobol/helios4 board: mvebu: drop unused ETH_PHY macro definitions 2019-01-21 11:39:50 +01:00
kosagi/novena board: Remove unnecessary inclusion of micrel.h from boards 2019-12-03 10:17:25 +02:00
l+g/vinco SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
LaCie env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
laird common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
lego/ev3 ARM: legoev3: convert to driver model 2019-07-13 11:11:28 -04:00
lg/sniper env: Move env_set() to env.h 2019-08-11 16:43:41 -04:00
liebherr imx: Add support for i.MX28 based XEA board 2020-01-07 10:26:56 +01:00
logicpd ARM: imx6q_logic: Cleanup boot sequence check 2019-12-27 14:30:52 +01:00
Marvell common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
maxbcm arm: mvebu: AXP: Enhance PCIe port capability configuration 2019-04-12 07:04:18 +02:00
mediatek Add support for MT7622 reference board 2020-01-16 09:39:45 -05:00
menlo/m53menlo common: Move board_get_usable_ram_top() out of common.h 2019-12-02 18:25:04 -05:00
microchip riscv: Add Microchip MPFS Icicle board support 2019-06-05 13:19:24 +08:00
mikrotik/crs305-1g-4s arm: mvebu: Avoid generating kwbimage.cfg in the source tree 2019-10-29 16:17:36 -04:00
mini-box/picosam9g45 Move strtomhz() to vsprintf.h 2019-12-02 18:23:09 -05:00
mpc8308_p1m common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
mqmaker/miqi_rk3288 rockchip: board: rk3288: remove board_boot_order() 2019-07-20 23:59:44 +08:00
mscc common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
netgear bmips: correct name characters 2019-10-25 17:20:43 +02:00
nokia/rx51 env: Move env_set() to env.h 2019-08-11 16:43:41 -04:00
novtech/meerkat96 Add i.MX7D based Meerkat96 board support 2019-10-13 22:49:11 +02:00
nvidia env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
olimex/mx23_olinuxino SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
opalkelly/zynq arm: zynq: Remove low level UART setting 2020-01-14 09:05:53 +01:00
overo common: Move serial functions out of common.h 2019-12-02 18:23:11 -05:00
pandora omap3: pandora: Enable DM_SERIAL 2018-09-10 21:19:31 -04:00
phytec imx: sync with kernel device tree for Phycore SoM 2020-01-07 10:26:56 +01:00
phytium/durian arm: add initial support for the Phytium Durian Board 2019-11-07 18:01:13 -05:00
pine64/rockpro64_rk3399 rockchip: rk3399: split rockpro64 out of evb_rk3399 2019-11-17 17:22:53 +08:00
ppcag/bg0900 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
qca mips: add initial support for qca956x referenced board 2019-04-12 17:32:50 +02:00
qemu-mips SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
qualcomm common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
quipos/cairo SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
radxa SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
raidsonic/ib62x0 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
raspberrypi/rpi rpi: Enable DRAM bank initialization on arm64 2019-12-11 10:14:12 +01:00
renesas net: Always build the string_to_enetaddr() helper 2019-12-09 09:47:41 -06:00
rockchip rockchip: config: add support for firefly-px30 board 2019-12-06 00:06:23 +08:00
ronetix Move strtomhz() to vsprintf.h 2019-12-02 18:23:09 -05:00
sagem/f@st1704 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
samsung common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
sandbox common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
sandisk/sansa_fuze_plus SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sbc8349 common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
sbc8548 common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
sbc8641d common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
schulercontrol/sc_sps_1 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Seagate SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
seco board: Remove unnecessary inclusion of micrel.h from boards 2019-12-03 10:17:25 +02:00
seeed/linkit-smart-7688 mips: mt76xx: linkit-smart-7688: Use ioremap_nocache to get address 2018-11-18 16:02:23 +01:00
sfr/nb4_ser SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
siemens imx: add imx8x based deneb board 2020-01-14 22:15:21 +01:00
sifive/fu540 configs: fu540: enable gpio driver 2019-10-18 09:04:08 +08:00
silica/pengwyn common: Move serial functions out of common.h 2019-12-02 18:23:11 -05:00
sks-kinkel/sksimx6 Convert to use fsl_esdhc_imx for i.MX platforms 2019-06-23 14:18:34 +08:00
socrates mpc85xx, socrates: add DM PCI support 2019-11-06 16:30:19 +05:30
softing ARM: imx: vining2000: Align SOC and ARM LDO voltages 2019-12-06 13:57:42 +01:00
solidrun arm: mvebu: clearfog: update eMMC documentation 2020-01-16 10:59:14 +01:00
spear common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
sr1500 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
st stm32mp1: remove copro_state environment variable 2020-01-07 11:13:25 -05:00
sunxi sun8i: h3: Support H3 variant of Orange Pi Zero Plus 2 2019-12-18 20:14:16 +05:30
Synology env: Move env_set() to env.h 2019-08-11 16:43:41 -04:00
synopsys common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
sysam SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
syteco/zmx25 common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
tbs/tbs2910 board: tbs2910: Convert eth to driver model 2019-10-13 22:49:11 +02:00
tcl/sl50 common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
technexion pico-imx7d: Convert to DM_ETH 2020-01-14 22:24:08 +01:00
technologic env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
terasic SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
theadorable common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
theobroma-systems crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
ti board: ti: j721e: Use EEPROM-based board detection 2020-01-20 10:10:28 +05:30
timll env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
topic/zynq arm: zynq: Remove low level UART setting 2020-01-14 09:05:53 +01:00
toradex New for 2020.04 2020-01-07 08:45:43 -05:00
tplink/wdr4300 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tqc board: Remove unnecessary inclusion of micrel.h from boards 2019-12-03 10:17:25 +02:00
ucRobotics/bubblegum_96 board: Add uCRobotics Bubblegum-96 board support 2018-07-09 15:25:23 -04:00
udoo common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
vamrs/rock960_rk3399 rockchip: rk3399: Migrate to use common board file 2019-07-29 10:27:48 +08:00
variscite/dart_6ul Convert to use fsl_esdhc_imx for i.MX platforms 2019-06-23 14:18:34 +08:00
varisys common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
ve8313 common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
vscom/baltos mtd: rename CONFIG_NAND -> CONFIG_MTD_RAW_NAND 2019-12-03 23:04:10 -05:00
wandboard wandboard: Do not print error message when PMIC is absent 2020-01-14 22:17:51 +01:00
warp common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
warp7 common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
woodburn Convert to use fsl_esdhc_imx for i.MX platforms 2019-06-23 14:18:34 +08:00
work-microwave/work_92105 common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
xes common: Move pci_init_board() out of common.h 2019-12-02 18:25:25 -05:00
xilinx ARM: zynq: Add jtag distro boot support 2020-01-14 09:05:54 +01:00
zyxel/nsa310s SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00