RTEMS | AMD (Xilinx) ZymqMP BSP Review (#5119)

Chris Johns (@chris) gitlab at rtems.org
Sun Aug 18 01:17:46 UTC 2024



Chris Johns created an issue: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5119



## Summary

The `rtems-bsps` command for the Xilinx ZymqMP shows:

```
$ ./rtems-bsps --family xilinx-zynqmp
RTEMS 6 Board Support Packages

Architectures: 18
BSP Families: 93
BSPs: 220

aarch64: (families:5 bsps:14)
 xilinx_zynqmp_ilp32_qemu     xilinx-zynqmp
 xilinx_zynqmp_ilp32_zu3eg    xilinx-zynqmp
 xilinx_zynqmp_lp64_a53       xilinx-zynqmp
 xilinx_zynqmp_lp64_cfc400x   xilinx-zynqmp
 xilinx_zynqmp_lp64_qemu      xilinx-zynqmp
 xilinx_zynqmp_lp64_zu3eg     xilinx-zynqmp

arm: (families:25 bsps:76)
 xilinx_zynqmp_ultra96        xilinx-zynqmp
```

AMD documents the processing elements on the ZynqMP as APU MP Cores and RPU. The names we have for the BSP do not reflect this. We should use follow the labels AMDs documentation uses.

## Duplicate BSPs

The BSP `xilinx_zynqmp_lp64_zu3eg` and `xilinx_zynqmp_lp64_a53` only differ by the console driver from my analysis. We should not have two very similar BSPs that only different with a console driver. It is confusing to users and also makes fixing console driver issues more complex. 

The `xilinx_zynqmp_lp64_cfc400x` BSP is special as it has a DTB and a specific sequence to disable a board specific watchdog in the console driver.

The console driver for `xilinx_zynqmp_lp64_zu3eg` is the `xilinx_zynqmp` driver and all BSPs in this family should either use this BSP given the name of the console or all BSPs in this family should use the  shared driver. There is no need for a difference and we should resolve this before we release.

The use of A53 in the naming is an implementation detail for the SoC family. If the R5 BSP is named RPU it would be consistent with the documentation. If this path is taken we should add issues to the Zynq and Versal BSPs to bring them in line with this change.

## Proposals

1. Rename `xilinx_zynqmp_lp64_zu3eg` to `xilinx_zynqmp_lp64_apu` and remove `xilinx_zynqmp_lp64_a53`
2. Rename `xilinx_zynqmp_lp64_a53` to `xilinx_zynqmp_lp64_apu` and change the console driver in `xilinx_zynqmp` to be `xilinx_zynqmp_lp64_cfc400x` specific.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5119
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20240818/34e07609/attachment.htm>


More information about the bugs mailing list