From patchwork Mon Jun 22 20:27:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Opaniuk X-Patchwork-Id: 242767 List-Id: U-Boot discussion From: igor.opaniuk at gmail.com (Igor Opaniuk) Date: Mon, 22 Jun 2020 23:27:53 +0300 Subject: [PATCH v1 0/7] Toradex: EEPROM storage support for Config Block Message-ID: <1592857680-637-1-git-send-email-igor.opaniuk@gmail.com> 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