tree 06c4fa275e30a753e2ed552d12b198962680639f
parent 873256241c6bdd5d1048b97fe2f4d6154ff1eb9f
author Joel Stanley <joel@jms.id.au> 1689828298 +0930
committer Patrick Williams <patrick@stwcx.xyz> 1690219354 +0000

u-boot-aspeed: Rebase on SDK v00.04.15

The new SDK came out with some updates to the flash driver, and OPTEE
booting. It also includes some changes submitted from the openbmc
branch.

Changes since v00.04.13 SDK version:

Chia-Wei Wang (4):
      common: fit: Update board_fit_image_post_process() to pass fit and node_offset
      ast2600: Add SMP bootflow to support OP-TEE
      configs: evb-ast2600-spl: Add support for OPTEE booting
      arm32: Fix relocation of env_addr if POSITION_INDEPENDENT=y

Chin-Ting Kuo (10):
      spi-nor: Disable hold/reset pin on MT25QL02G
      spi: aspeed: Add pure command mode support
      spi: aspeed: Copy address info from data buf
      spi: aspeed: Copy address info from data buf
      spi: aspeed: Add flash write-protect by host ctrl APIs
      spi: Add usage example for write protect APIs
      spi: aspeed: Fix bug for lower SPI clock frequency
      spi: aspeed: Use fixed SPI clock frequency at the beginning
      mtd: spi-nor: Add gd55b01gf and gd55b02gf ID info
      spi-nor: Remove dual mode for GDxxBxxGE flash part

Cédric Le Goater (1):
      ARM: dts: aspeed: Add a palmetto board (AST2400)

Dylan Hung (7):
      aspeed: ast2600: Keep PLL power on
      cmd: nettest: disable ABR WDT
      pinctrl: ast2600: Remove the accesses to SCU474
      net: phy: Add Broadcom BCM54210E driver
      configs: ast2600: Remove AST2600A1 ECC defconfig
      Arch: arm: dts: Add dts for AST2600 EVB with DRAM ECC enabled
      configs: ast2600: Revise AST2600 EVB ECC configs

Eddie James (1):
      board: ast2600-ibm: Add AST2600 BMC based POWER10+ servers

Graeme Gregory (1):
      ARM: dts: aspeed: add Qualcomm DC-SCM V1

Jae Hyun Yoo (2):
      ARM: dts: ast2600-qcom-dc-scm-v1: enable HACE
      board: Add initial version of Qualcomm DC-SCM V1 board

Jammy Huang (5):
      cmd: aspeed: dptest: Add log messages
      cmd: aspeed: dptest: Add ctrl for ssc shift
      cmd: aspeed: dptest: Make D10.2 public
      misc: dp: Fix BMC mode can't control if patch for no driver works
      cmd: aspeed: dptest: Modify SSC policy

Joel Stanley (9):
      ARM: dts: Rename Rainier to P10 BMC
      ARM: dts: ast2600: Fix indentation
      ARM: dts: ast2600: Consolidate A1 device tree
      ARM: dts: ast2600: Consolidate A0 device tree
      ARM: dts: ast2600: Consolidate NCSI device tree
      ARM: dts: aspeed: Add a Romulus board (AST2500)
      ram/aspeed: Use device tree to configure ECC
      ram/aspeed: Remove ECC config option
      ARM: dts: aspeed: p10bmc: Enable ECC

Kevin Chen (1):
      Revert CONFIG_SYS_TEXT_BASE to support Raw and FIT images.

Neal Liu (1):
      otp: print actual value for programming data region

Troy Lee (1):
      board: ast2600-dcscm: Add Aspeed AST2600 DCSCM demo board support

Zev Weiss (1):
      ARM: dts: aspeed: Add Delta AHE-50DC BMC

chin-ting_kuo (1):
      Revert "spi: aspeed: Copy address info from data buf"

Remaining openbmc changes:

Adriana Kobylak (1):
      configs: aspeed-common: Add redundant env for mmc

Delphine CC Chiu (1):
      ARM: dts: aspeed: add Meta greatlakes board (AST2600)

Eddie James (7):
      tpm: Pull in upstream changes
      tpm: Fix spelling for tpmu_ha union
      tpm: sandbox: Update for needed TPM2 capabilities
      tpm: Support boot measurements
      bootm: Support boot measurement
      doc: Add measured boot documentation
      ast2600: Measure the boot

Heinrich Schuchardt (1):
      cmd: inconsistent return type of command_process()

Ilias Apalodimas (1):
      tpm: add a function that performs selftest + startup

Jae Hyun Yoo (1):
      mtd: spi-nor-ids: add winbond w25q512nw family support

Joel Stanley (14):
      ast2600: spl: Implement board_boot_order
      ast2600: Add environment for booting from mmc
      crypto: Restore old driver for Aspeed HACE
      ARM: dts: aspeed: Disable ACRY for rainier and tacoma
      tools: Disable OpenSSL deprecation warnings
      cmd/otp: Fix struct storage type
      configs: Add OpenBMC config for SPL MMC boot
      configs: Add OpenBMC config for SPL NOR boot
      configs: openbmc: Remove ymodem SPL support
      aspeed: Remove remaining "Aspeed secure boot" code
      config/ast2500: Enable RAM devices
      ram/aspeed: Re-init ECC if requested but not enabled
      configs: ast2600: Use stringify
      configs: evb-ast2600: Disable unused loaders

John Keeping (1):
      tools: env: update lock path in README

Pali Rohár (2):
      version: Move version_string[] from version.h to version_string.h
      Remove including timestamp.h in version.h

Patrick Rudolph (1):
      ARM: dts: aspeed: Add IBM Genesis3 board

Simon Glass (1):
      image: Correct strncpy() warning with image_set_name()

Tim Lee (1):
      tools: env: use /run to store lockfile

Tom Rini (1):
      Makefile: Silence binutils 2.39 linker warnings

Zev Weiss (2):
      aspeed: Disable backdoor interfaces
      Revert "config/ast2500: Enable RAM devices"

Change-Id: I20864b06ef92502fa1ca7e9f406f3c143a918f66
Signed-off-by: Joel Stanley <joel@jms.id.au>
