mbox series

[0/8] riscv: Add AST2700 platform support

Message ID 20240819101704.1612317-1-chiawei_wang@aspeedtech.com
Headers show
Series riscv: Add AST2700 platform support | expand

Message

Chia-Wei Wang Aug. 19, 2024, 10:16 a.m. UTC
AST2700 is the 7th generation of Aspeed BMC SoCs.

A 32-bits Ibex RISC-V core is integrated as the boot MCU to run the
first stage bootloader, SPL, for the platform initialization.

This patch series starts by revising RISC-V common code to relax certain
restrictions for finer platform resource tuning. As this MCU adopts the
"small" configuration provided by Ibex and has limited SRAM space.

In addition to the RV common code revision, the other patches provides the
basic AST2700 platform code and DRAM/Timer drivers to succuessfully boot
SPL and U-Boot on this Ibex-based MCU.

Chia-Wei Wang (8):
  riscv: Make A ISA extension selectable
  riscv: Make stack size shift configurable
  riscv: u-boot-spl.lds: Remove _image_binary_end alignment
  riscv: Add AST2700 SoC initial platform support
  timer: Add AST2700 IBEX timer support
  board: ibex_ast2700: Add FMC header support
  ram: ast2700: Add DRAM controller initialization
  configs: ibex-ast2700: Enable DRAM and timer driver

 arch/riscv/Kconfig                            |   12 +-
 arch/riscv/cpu/ast2700/Kconfig                |    6 +
 arch/riscv/cpu/ast2700/Makefile               |    1 +
 arch/riscv/cpu/ast2700/cpu.c                  |   23 +
 arch/riscv/cpu/u-boot-spl.lds                 |    2 -
 arch/riscv/dts/Makefile                       |    1 +
 arch/riscv/dts/ast2700-ibex.dts               |   22 +
 arch/riscv/dts/ast2700-u-boot.dtsi            |   40 +
 arch/riscv/dts/ast2700.dtsi                   |   76 +
 arch/riscv/include/asm/arch-ast2700/fmc_hdr.h |   52 +
 arch/riscv/include/asm/arch-ast2700/scu.h     |  145 +
 arch/riscv/include/asm/arch-ast2700/sdram.h   |  137 +
 arch/riscv/include/asm/arch-ast2700/sli.h     |   82 +
 board/aspeed/ibex_ast2700/Kconfig             |   21 +
 board/aspeed/ibex_ast2700/MAINTAINERS         |    7 +
 board/aspeed/ibex_ast2700/Makefile            |    3 +
 board/aspeed/ibex_ast2700/fmc_hdr.c           |   64 +
 board/aspeed/ibex_ast2700/ibex_ast2700.c      |   85 +
 board/aspeed/ibex_ast2700/sli.c               |   72 +
 configs/ibex-ast2700_defconfig                |   94 +
 drivers/ram/Makefile                          |    2 +-
 drivers/ram/aspeed/Kconfig                    |   27 +-
 drivers/ram/aspeed/Makefile                   |    1 +
 ..._ddrphy_phyinit_ddr4-3200-nodimm-train2D.c | 2700 +++++++
 ..._ddrphy_phyinit_ddr5-3200-nodimm-train2D.c | 6930 +++++++++++++++++
 drivers/ram/aspeed/sdram_ast2700.c            | 1036 +++
 drivers/timer/Kconfig                         |    6 +
 drivers/timer/Makefile                        |    1 +
 drivers/timer/ast_ibex_timer.c                |   45 +
 include/configs/ibex_ast2700.h                |   12 +
 30 files changed, 11696 insertions(+), 9 deletions(-)
 create mode 100644 arch/riscv/cpu/ast2700/Kconfig
 create mode 100644 arch/riscv/cpu/ast2700/Makefile
 create mode 100644 arch/riscv/cpu/ast2700/cpu.c
 create mode 100644 arch/riscv/dts/ast2700-ibex.dts
 create mode 100644 arch/riscv/dts/ast2700-u-boot.dtsi
 create mode 100644 arch/riscv/dts/ast2700.dtsi
 create mode 100644 arch/riscv/include/asm/arch-ast2700/fmc_hdr.h
 create mode 100644 arch/riscv/include/asm/arch-ast2700/scu.h
 create mode 100644 arch/riscv/include/asm/arch-ast2700/sdram.h
 create mode 100644 arch/riscv/include/asm/arch-ast2700/sli.h
 create mode 100644 board/aspeed/ibex_ast2700/Kconfig
 create mode 100644 board/aspeed/ibex_ast2700/MAINTAINERS
 create mode 100644 board/aspeed/ibex_ast2700/Makefile
 create mode 100644 board/aspeed/ibex_ast2700/fmc_hdr.c
 create mode 100644 board/aspeed/ibex_ast2700/ibex_ast2700.c
 create mode 100644 board/aspeed/ibex_ast2700/sli.c
 create mode 100644 configs/ibex-ast2700_defconfig
 create mode 100644 drivers/ram/aspeed/dwc_ddrphy_phyinit_ddr4-3200-nodimm-train2D.c
 create mode 100644 drivers/ram/aspeed/dwc_ddrphy_phyinit_ddr5-3200-nodimm-train2D.c
 create mode 100644 drivers/ram/aspeed/sdram_ast2700.c
 create mode 100644 drivers/timer/ast_ibex_timer.c
 create mode 100644 include/configs/ibex_ast2700.h