[PATCH v2 00/10] ARM: clearfog: add run-time board detect
Baruch Siach
baruch at tkos.co.il
Mon Jan 20 13:20:05 CET 2020
Newer revisions of SolidRun Clearfog Base/Pro carriers and Armada 388 SOM add
EEPROM storage for board detection. This patch series adds support for reading
EEPROM stored board information, and using it to set RAM training parameters,
serdes configuration, and kernel DT selection.
The information is stored in EEPROM in TLV format defined for the ONIE project.
https://opencomputeproject.github.io/onie/design-spec/hw_requirements.html
This series add the sys_eeprom command from ONIE carried U-Boot patch, with a
number for changes as described in the patch log. The TLV format is unchanged.
This series also adds support for the newly introduced single board, Aramda 385
based Clearfog GTR system. RAM configuration on that system requires both
Armada 38x DDR clocks to be enabled. The first patch in this series adds the
necessary code to allow per-board selection of DDR clock.
Changes in v2:
* Fix checkpatch issues in TLV EEPROM code
* Make TLV EEPROM API independent of static storage for compatibility with
pre-relocation code
* Rename sys_eeprom to less generic tlv_eeprom throughout the code
* Drop typedefs
* Move board level TLV parse code to the common/ sub-directory for easier
reuse in other SolidRun platforms
* Integrate fixes from Joel Johnson: add missing u-boot/crc.h include;
select SPL_DRIVERS_MISC_SUPPORT; fix build with CMD_TLV_EEPROM unset
* Add review tags from Stefan Roese
Baruch Siach (10):
ddr: marvell: a38x: allow board specific clock out setup
arm: mvebu: clearfog: enable both DDR clocks
cmd: add tlv_eeprom command
ARM: mvebu: clearfog: add EEPROM devices
ARM: mvebu: clearfog: add support for EEPROM TLV info
ARM: mvebu: clearfog: read basic TLV data
ARM: mvebu: clearfog: print TLV stored product name
ARM: mvebu: clearfog: run-time selection of DT file
ARM: mvebu: clearfog: add Clearfog GTR support
ARM: mvebu: clearfog: add Clearfog Base serdes configuration
arch/arm/dts/armada-388-clearfog-u-boot.dtsi | 12 +
arch/arm/dts/armada-388-clearfog.dts | 6 +
.../arm/dts/armada-38x-solidrun-microsom.dtsi | 8 +
arch/arm/mach-mvebu/Kconfig | 1 +
board/solidrun/clearfog/clearfog.c | 72 +-
board/solidrun/common/Makefile | 5 +
board/solidrun/common/tlv_data.c | 102 ++
board/solidrun/common/tlv_data.h | 18 +
cmd/Kconfig | 14 +
cmd/Makefile | 2 +
cmd/tlv_eeprom.c | 1105 +++++++++++++++++
configs/clearfog_defconfig | 4 +
drivers/ddr/marvell/a38x/ddr3_training.c | 10 +-
drivers/ddr/marvell/a38x/ddr_topology_def.h | 3 +
include/tlv_eeprom.h | 164 +++
15 files changed, 1522 insertions(+), 4 deletions(-)
create mode 100644 board/solidrun/common/Makefile
create mode 100644 board/solidrun/common/tlv_data.c
create mode 100644 board/solidrun/common/tlv_data.h
create mode 100644 cmd/tlv_eeprom.c
create mode 100644 include/tlv_eeprom.h
--
2.24.1
More information about the U-Boot
mailing list