u-boot-brain/board/toradex/common/Kconfig
Igor Opaniuk 0c6b5588ef toradex: tdx-cfg-block: add support for EEPROM
This 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

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-07-27 14:00:36 +02:00

88 lines
2.1 KiB
Plaintext

# SPDX-License-Identifier: GPL-2.0+
# Copyright (c) 2016 Toradex, Inc.
menuconfig TDX_CFG_BLOCK
bool "Enable Toradex config block support"
select OF_BOARD_SETUP
help
The Toradex config block stored production data on the on-module
flash device (NAND, NOR or eMMC). The area is normally preserved by
software and contains the serial number (out of which the MAC
address is generated) and the exact module type.
# Helper config to determine the correct default location of the cfg block
config TDX_HAVE_MMC
bool
config TDX_HAVE_NAND
bool
config TDX_HAVE_NOR
bool
config TDX_HAVE_EEPROM
bool
config TDX_HAVE_EEPROM_EXTRA
bool
if TDX_CFG_BLOCK
config TDX_CFG_BLOCK_IS_IN_MMC
bool
depends on TDX_HAVE_MMC
default y
config TDX_CFG_BLOCK_IS_IN_NAND
bool
depends on TDX_HAVE_NAND
default y
config TDX_CFG_BLOCK_IS_IN_NOR
bool
depends on TDX_HAVE_NOR
default y
config TDX_CFG_BLOCK_IS_IN_EEPROM
bool
depends on TDX_HAVE_EEPROM
default y
config TDX_CFG_BLOCK_DEV
int "Toradex config block eMMC device ID"
depends on TDX_CFG_BLOCK_IS_IN_MMC
config TDX_CFG_BLOCK_PART
int "Toradex config block eMMC partition ID"
depends on TDX_CFG_BLOCK_IS_IN_MMC
config TDX_CFG_BLOCK_OFFSET
int "Toradex config block offset"
help
Specify the byte offset of the Toradex config block within the flash
device the config block is stored on.
config TDX_CFG_BLOCK_OFFSET2
int "Toradex config block offset, second instance"
default 0
help
Specify the byte offset of the 2nd instance of the Toradex config block
within the flash device the config block is stored on.
Set to 0 on modules which have no 2nd instance.
config TDX_CFG_BLOCK_2ND_ETHADDR
bool "Set the second Ethernet address"
help
For each serial number two Ethernet addresses are available for dual
Ethernet carrier boards. This options enables the code to set the
second Ethernet address as environment variable (eth1addr).
config TDX_CFG_BLOCK_EXTRA
bool "Support for additional EEPROMs (carrier board, display adapter)"
depends on TDX_HAVE_EEPROM_EXTRA
help
Enables fetching auxilary config blocks from carrier board/display
adapter EEPROMs.
endif