fpga: zynq-fpga: Ensure proper xCAP interface switch
authorAlfonso Rodriguez <alfonso.rodriguezm@upm.es>
Mon, 5 Jun 2023 11:54:33 +0000 (17:24 +0530)
committerXu Yilun <yilun.xu@intel.com>
Tue, 6 Jun 2023 11:14:19 +0000 (19:14 +0800)
commit47147d56f92ee3f575e4b457413e0f2587b40e17
tree06335858a88728a6d725f99a4c5c51ee2eff1b09
parent148efa63bab383993a06770c2c05cfb9ed29a193
fpga: zynq-fpga: Ensure proper xCAP interface switch

The Zynq platform has PCAP, ICAP and JTAG interfaces for configuring
programmable logic (PL). The existing driver implementation uses the
PCAP interface to configure the PL. Before switching the PL configuration
interface from PCAP to ICAP make sure that all outstanding Transactions
relevant to the PL configuration should be completed by the PCAP interface
otherwise it may lead to PL configuration issues.

This patch provides a required fix to ensure that all existing PL
transactions are completed before switching from PCAP to ICAP.

For detailed information relevant to PL configuration interfaces refer
Zynq 7000 TRM (section 6.5.1).
Link: https://docs.xilinx.com/v/u/en-US/ug585-Zynq-7000-TRM
Signed-off-by: Alfonso Rodriguez <alfonso.rodriguezm@upm.es>
Signed-off-by: Nava kishore Manne <nava.kishore.manne@amd.com>
Acked-by: Xu Yilun <yilun.xu@intel.com>
Link: https://lore.kernel.org/r/20230605115433.186087-1-nava.kishore.manne@amd.com
Signed-off-by: Xu Yilun <yilun.xu@intel.com>
drivers/fpga/zynq-fpga.c