[PATCH v2 0/2] Zynq7000 series device configuration driver

Patrick Gauvin pggauvin at gmail.com
Wed May 3 19:51:17 UTC 2017

v2 Change Summary (primarily from Chris's feedback):

- Clean up register accesses.
- Add mask for FPGA clock resets.

Device Config:
- Remove DMA buffer static global.
- Remove register map as an argument (only one instance ever).
- Remove bitfile length related code.
- Add bitfile header check.
- Default the write behavior to writing an entire bitfile.
- Add BIN file header check in default write mode.
- Added ioctl to switch write mode to to unrestricted.
- Remove non-symbolic '| 1' for DMA source and destination addresses.
- Use RTEMS system events instead of semaphores for interrupt waits.
- Fix PCAP init failure when the PL is already programmed.

- More documentation and error values.

These changes do not include a secure loading check. The check I saw was
to use the PCAP to read the PART_SECURED bit in the internal STAT register
after the PL is programmed. I still need to test if that sort of access is
allowed when a secure bitfile is loaded. For now I just have warnings in
comments that secure loading is not supported.

Please let me know if I've missed anything or you spot anything new.

Patrick Gauvin (2):
  bsp/xilinx-zynq: Add SLCR driver
  bsp/xilinx-zynq: Add device configuration driver

 c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am       |  10 +
 .../libbsp/arm/xilinx-zynq/devcfg/zynq-devcfg.c    | 896 +++++++++++++++++++++
 .../arm/xilinx-zynq/include/zynq-devcfg-regs.h     | 197 +++++
 .../libbsp/arm/xilinx-zynq/include/zynq-devcfg.h   | 152 ++++
 .../arm/xilinx-zynq/include/zynq-slcr-regs.h       | 111 +++
 .../lib/libbsp/arm/xilinx-zynq/include/zynq-slcr.h |  91 +++
 c/src/lib/libbsp/arm/xilinx-zynq/preinstall.am     |  16 +
 c/src/lib/libbsp/arm/xilinx-zynq/slcr/zynq-slcr.c  | 101 +++
 8 files changed, 1574 insertions(+)
 create mode 100644 c/src/lib/libbsp/arm/xilinx-zynq/devcfg/zynq-devcfg.c
 create mode 100644 c/src/lib/libbsp/arm/xilinx-zynq/include/zynq-devcfg-regs.h
 create mode 100644 c/src/lib/libbsp/arm/xilinx-zynq/include/zynq-devcfg.h
 create mode 100644 c/src/lib/libbsp/arm/xilinx-zynq/include/zynq-slcr-regs.h
 create mode 100644 c/src/lib/libbsp/arm/xilinx-zynq/include/zynq-slcr.h
 create mode 100644 c/src/lib/libbsp/arm/xilinx-zynq/slcr/zynq-slcr.c


More information about the devel mailing list