[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