Chip ID, PMC TAP IDCODE/VERSION/USERCODE, and the PGGS boot index are
currently read either directly through MMIO or via firmware, depending
on the platform and configuration. This series introduces common helper
APIs with weak MMIO-based defaults for each platform and firmware-backed
overrides in firmware-zynqmp.c when CONFIG_ZYNQMP_FIRMWARE is enabled.
 
This removes firmware-specific conditionals from callers, centralizes
the access mechanism, and provides a consistent interface across
ZynqMP, Versal, Versal Net, and Versal Gen 2 platforms.

Akshay Belsare (3):
  soc: xilinx: decouple chip ID retrieval from direct firmware calls
  soc: xilinx: route PMC TAP register access through firmware
  board: xilinx: decouple PGGS boot index read from firmware

 arch/arm/mach-versal-net/cpu.c                | 34 ++++++++++-
 .../mach-versal-net/include/mach/sys_proto.h  |  6 ++
 arch/arm/mach-versal/cpu.c                    | 18 ++++++
 arch/arm/mach-versal/include/mach/sys_proto.h |  4 ++
 arch/arm/mach-versal2/cpu.c                   | 39 ++++++++++++-
 .../arm/mach-versal2/include/mach/sys_proto.h |  8 +++
 arch/arm/mach-zynqmp/cpu.c                    |  8 +++
 arch/arm/mach-zynqmp/include/mach/sys_proto.h |  2 +
 board/xilinx/common/board.c                   |  6 +-
 drivers/firmware/firmware-zynqmp.c            | 57 +++++++++++++++++++
 drivers/soc/soc_amd_versal2.c                 | 23 +++-----
 drivers/soc/soc_xilinx_versal.c               | 23 +++-----
 drivers/soc/soc_xilinx_versal_net.c           | 23 +++-----
 drivers/soc/soc_xilinx_zynqmp.c               | 21 +++----
 include/zynqmp_firmware.h                     |  5 +-
 15 files changed, 204 insertions(+), 73 deletions(-)

-- 
2.34.1

Reply via email to