mbox series

[0/6] Support multi-dtb in SPL on Unmatched board

Message ID cover.1625065973.git.zong.li@sifive.com
Headers show
Series Support multi-dtb in SPL on Unmatched board | expand

Message

Zong Li June 30, 2021, 3:23 p.m. UTC
This patch set contains the support I2C platform EEPROM and multi-dtb
mechanism on Unmatched board. There are two revisions of Unmatched with
different DDR timing respectively, so we'd like to support multi-dtb in
SPL, then it can select the right DTB at runtime according to PCB
revision in I2C EEPROM to initialize the right DDR timing.

The I2C EEPROM support is refactored based on Paul Welmsley's porting
and adopt many suggestions from David Abdurachmanov.

Zong Li (6):
  board: sifive: unmatched: add initial support for a platform ID EEPROM
  riscv: sifive: fu740: kconfig: Enable support for Opencores I2C
    controller
  riscv: sifive: fu740: Support i2c in spl
  board: sifive: Add an interface to get PCB revision
  riscv: dts: add dts for unmatched rev1
  board: sifive: support spl multi-dtb on unmatched board

 arch/riscv/cpu/fu740/Kconfig                  |    3 +
 arch/riscv/dts/Makefile                       |    2 +-
 arch/riscv/dts/fu740-c000-u-boot.dtsi         |    4 +
 .../fu740-hifive-unmatched-a00-ddr-rev1.dtsi  | 1489 +++++++++++++++++
 .../dts/hifive-unmatched-a00-rev1-u-boot.dtsi |    7 +
 arch/riscv/dts/hifive-unmatched-a00-rev1.dts  |    4 +
 arch/riscv/include/asm/arch-fu740/eeprom.h    |   15 +
 board/sifive/unmatched/Kconfig                |    1 +
 board/sifive/unmatched/Makefile               |    1 +
 .../unmatched/hifive-platform-i2c-eeprom.c    |  574 +++++++
 board/sifive/unmatched/spl.c                  |   28 +-
 configs/sifive_unmatched_defconfig            |    4 +
 include/configs/sifive-unmatched.h            |    6 +
 13 files changed, 2135 insertions(+), 3 deletions(-)
 create mode 100644 arch/riscv/dts/fu740-hifive-unmatched-a00-ddr-rev1.dtsi
 create mode 100644 arch/riscv/dts/hifive-unmatched-a00-rev1-u-boot.dtsi
 create mode 100644 arch/riscv/dts/hifive-unmatched-a00-rev1.dts
 create mode 100644 arch/riscv/include/asm/arch-fu740/eeprom.h
 create mode 100644 board/sifive/unmatched/hifive-platform-i2c-eeprom.c