This series introduces support for EEPROM as a storage for the main Toradex
config block and additional config blocks on extra EEPROM chips (on
carrier board or video adapters).
To enable EEPROM as a storage for the main config block:
TDX_HAVE_EEPROM=y.
For additional EEPROMs please enable this Kconfig symbol:
TDX_CFG_BLOCK_EXTRA=y.
Information about existing EEPROM chips is provided via Device Tree
using aliases.
You can also write configuration for the carrier board using
create_carrier subcommand for cfgblock. Example:
Verdin iMX8MM # cfgblock create_carrier
Supported carrier boards:
UNKNOWN CARRIER = [0]
Verdin Carrier Board = [1]
Choose your carrier board (provide ID): 1
Enter carrier board version (e.g. V1.1B): V1.0A
Enter carrier board serial number: 10622780
Also with barcode:
Verdin iMX8MM # cfgblock create carrier -y 0156100010622780
Igor Opaniuk (7):
toradex: tdx-cfg-block: add EEPROM read/store wrappers
toradex: tdx-cfg-block: add carrier boards and display adapters
toradex: tdx-cfg-block: add support for EEPROM
toradex: tdx-cfg-clock: add migration routine from PID8
toradex: tdx-cfg-block: add carrier board info printing
ARM: dts: imx8mm-verdin: eeprom nodes adjustments
verdin-imx8mm: add EEPROM support for carrier board
arch/arm/dts/imx8mm-verdin.dts | 22 +-
board/toradex/common/Kconfig | 18 ++
board/toradex/common/Makefile | 1 +
board/toradex/common/tdx-cfg-block.c | 402 +++++++++++++++++++++++++++++++----
board/toradex/common/tdx-cfg-block.h | 16 ++
board/toradex/common/tdx-common.c | 28 +++
board/toradex/common/tdx-eeprom.c | 90 ++++++++
board/toradex/common/tdx-eeprom.h | 14 ++
board/toradex/verdin-imx8mm/Kconfig | 6 +
configs/verdin-imx8mm_defconfig | 1 +
10 files changed, 551 insertions(+), 47 deletions(-)
create mode 100644 board/toradex/common/tdx-eeprom.c
create mode 100644 board/toradex/common/tdx-eeprom.h