Re: [PATCH v4 00/17] hw/arm: Add NPCM8XX Support

2025-02-17 Thread Peter Maydell
On Thu, 6 Feb 2025 at 22:12, Hao Wu  wrote:
>
> Changes since v3:
>
> 1. Removed REGS_END constants according to code review.
> 2. Added a few asserts according to code review.
> 3. A few minor style changes.
>
> Changes since v2:
>
> 1. Update doc to include npcm845-evb description
> 2. Add g_assert for register size in CLK and GCR enter_reset function
> 3. Fix various 8xx SoC and board file issues.
>
> Changes since v1:
>
> 1. Updated vbootrom and pc-bios
> 2. Split out CLK/GCR patches into refactoring and adding new features
> 3. Fixed a few misc items from the patches.

I had a minor comment on patch 15, and as Philippe notes
you need to bump the vmstate version number where you
change the size of something that's a vmstate array field,
but I think this is very close to being ready to go in.

thanks
-- PMM



[PATCH v4 00/17] hw/arm: Add NPCM8XX Support

2025-02-06 Thread Hao Wu
Changes since v3:

1. Removed REGS_END constants according to code review.
2. Added a few asserts according to code review.
3. A few minor style changes.

Changes since v2:

1. Update doc to include npcm845-evb description
2. Add g_assert for register size in CLK and GCR enter_reset function
3. Fix various 8xx SoC and board file issues.

Changes since v1:

1. Updated vbootrom and pc-bios
2. Split out CLK/GCR patches into refactoring and adding new features
3. Fixed a few misc items from the patches.

---

NPCM8XX BMCs are the successors of the NPCM7XX BMCs. They feature
quad-core ARM Cortex A35 that supports both 32 bits and 64 bits
operations. This patch set aims to support basic functionalities
of the NPCM7XX BMCs. The patch set includes:

1. We derive most devices from the 7XX models and
made some modifications.
2. We have constructed a minimum vBootROM similar to the 7XX one at
https://github.com/google/vbootrom/tree/master/npcm8xx
and included it in the patch set.
3.  We added a new NPCM8XX SOC and an evaluation
board machine npcm845-evb.

The OpenBMC for NPCM845 evaluation board can be found at:
https://github.com/Nuvoton-Israel/openbmc/tree/npcm-v2.10/meta-evb/meta-evb-nuvoton/meta-evb-npcm845

The patch set can boot the evaluation board image built from the source
above to login prompt.

Hao Wu (17):
  roms: Update vbootrom to 1287b6e
  pc-bios: Add NPCM8XX vBootrom
  hw/ssi: Make flash size a property in NPCM7XX FIU
  hw/misc: Rename npcm7xx_gcr to npcm_gcr
  hw/misc: Move NPCM7XX GCR to NPCM GCR
  hw/misc: Add nr_regs and cold_reset_values to NPCM GCR
  hw/misc: Add support for NPCM8XX GCR
  hw/misc: Store DRAM size in NPCM8XX GCR Module
  hw/misc: Support 8-bytes memop in NPCM GCR module
  hw/misc: Rename npcm7xx_clk to npcm_clk
  hw/misc: Move NPCM7XX CLK to NPCM CLK
  hw/misc: Add nr_regs and cold_reset_values to NPCM CLK
  hw/misc: Support NPCM8XX CLK Module Registers
  hw/net: Add NPCM8XX PCS Module
  hw/arm: Add NPCM8XX SoC
  hw/arm: Add NPCM845 Evaluation board
  docs/system/arm: Add Description for NPCM8XX SoC

 MAINTAINERS   |   1 +
 configs/devices/aarch64-softmmu/default.mak   |   1 +
 docs/system/arm/nuvoton.rst   |  27 +-
 hw/arm/Kconfig|  13 +
 hw/arm/meson.build|   1 +
 hw/arm/npcm7xx.c  |   6 +
 hw/arm/npcm8xx.c  | 804 ++
 hw/arm/npcm8xx_boards.c   | 253 ++
 hw/misc/meson.build   |   4 +-
 hw/misc/npcm7xx_gcr.c | 264 --
 hw/misc/{npcm7xx_clk.c => npcm_clk.c} | 235 +++--
 hw/misc/npcm_gcr.c| 482 +++
 hw/misc/trace-events  |  12 +-
 hw/net/meson.build|   1 +
 hw/net/npcm_pcs.c | 410 +
 hw/net/trace-events   |   4 +-
 hw/ssi/npcm7xx_fiu.c  |  16 +-
 include/hw/arm/npcm7xx.h  |   8 +-
 include/hw/arm/npcm8xx.h  | 128 +++
 include/hw/misc/{npcm7xx_clk.h => npcm_clk.h} |  43 +-
 include/hw/misc/{npcm7xx_gcr.h => npcm_gcr.h} |  29 +-
 include/hw/net/npcm_pcs.h |  42 +
 include/hw/ssi/npcm7xx_fiu.h  |   1 +
 pc-bios/README|   8 +-
 pc-bios/meson.build   |   1 +
 pc-bios/npcm7xx_bootrom.bin   | Bin 768 -> 768 bytes
 pc-bios/npcm8xx_bootrom.bin   | Bin 0 -> 608 bytes
 roms/Makefile |   6 +
 roms/vbootrom |   2 +-
 29 files changed, 2433 insertions(+), 369 deletions(-)
 create mode 100644 hw/arm/npcm8xx.c
 create mode 100644 hw/arm/npcm8xx_boards.c
 delete mode 100644 hw/misc/npcm7xx_gcr.c
 rename hw/misc/{npcm7xx_clk.c => npcm_clk.c} (82%)
 create mode 100644 hw/misc/npcm_gcr.c
 create mode 100644 hw/net/npcm_pcs.c
 create mode 100644 include/hw/arm/npcm8xx.h
 rename include/hw/misc/{npcm7xx_clk.h => npcm_clk.h} (83%)
 rename include/hw/misc/{npcm7xx_gcr.h => npcm_gcr.h} (76%)
 create mode 100644 include/hw/net/npcm_pcs.h
 create mode 100644 pc-bios/npcm8xx_bootrom.bin

-- 
2.48.1.502.g6dc24dfdaf-goog