1c66ec88fSEmmanuel VadotXilinx LogiCORE Partial Reconfig Decoupler Softcore 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotThe Xilinx LogiCORE Partial Reconfig Decoupler manages one or more 4c66ec88fSEmmanuel Vadotdecouplers / fpga bridges. 5c66ec88fSEmmanuel VadotThe controller can decouple/disable the bridges which prevents signal 6c66ec88fSEmmanuel Vadotchanges from passing through the bridge. The controller can also 7c66ec88fSEmmanuel Vadotcouple / enable the bridges which allows traffic to pass through the 8c66ec88fSEmmanuel Vadotbridge normally. 9c66ec88fSEmmanuel Vadot 10*2eb4d8dcSEmmanuel VadotXilinx LogiCORE Dynamic Function eXchange(DFX) AXI shutdown manager 11*2eb4d8dcSEmmanuel VadotSoftcore is compatible with the Xilinx LogiCORE pr-decoupler. 12*2eb4d8dcSEmmanuel Vadot 13*2eb4d8dcSEmmanuel VadotThe Dynamic Function eXchange AXI shutdown manager prevents AXI traffic 14*2eb4d8dcSEmmanuel Vadotfrom passing through the bridge. The controller safely handles AXI4MM 15*2eb4d8dcSEmmanuel Vadotand AXI4-Lite interfaces on a Reconfigurable Partition when it is 16*2eb4d8dcSEmmanuel Vadotundergoing dynamic reconfiguration, preventing the system deadlock 17*2eb4d8dcSEmmanuel Vadotthat can occur if AXI transactions are interrupted by DFX 18*2eb4d8dcSEmmanuel Vadot 19c66ec88fSEmmanuel VadotThe Driver supports only MMIO handling. A PR region can have multiple 20c66ec88fSEmmanuel VadotPR Decouplers which can be handled independently or chained via decouple/ 21c66ec88fSEmmanuel Vadotdecouple_status signals. 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel VadotRequired properties: 24c66ec88fSEmmanuel Vadot- compatible : Should contain "xlnx,pr-decoupler-1.00" followed by 25*2eb4d8dcSEmmanuel Vadot "xlnx,pr-decoupler" or 26*2eb4d8dcSEmmanuel Vadot "xlnx,dfx-axi-shutdown-manager-1.00" followed by 27*2eb4d8dcSEmmanuel Vadot "xlnx,dfx-axi-shutdown-manager" 28c66ec88fSEmmanuel Vadot- regs : base address and size for decoupler module 29c66ec88fSEmmanuel Vadot- clocks : input clock to IP 30c66ec88fSEmmanuel Vadot- clock-names : should contain "aclk" 31c66ec88fSEmmanuel Vadot 32c66ec88fSEmmanuel VadotSee Documentation/devicetree/bindings/fpga/fpga-region.txt and 33c66ec88fSEmmanuel VadotDocumentation/devicetree/bindings/fpga/fpga-bridge.txt for generic bindings. 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel VadotExample: 36*2eb4d8dcSEmmanuel VadotPartial Reconfig Decoupler: 37c66ec88fSEmmanuel Vadot fpga-bridge@100000450 { 38c66ec88fSEmmanuel Vadot compatible = "xlnx,pr-decoupler-1.00", 39c66ec88fSEmmanuel Vadot "xlnx-pr-decoupler"; 40c66ec88fSEmmanuel Vadot regs = <0x10000045 0x10>; 41c66ec88fSEmmanuel Vadot clocks = <&clkc 15>; 42c66ec88fSEmmanuel Vadot clock-names = "aclk"; 43c66ec88fSEmmanuel Vadot bridge-enable = <0>; 44c66ec88fSEmmanuel Vadot }; 45*2eb4d8dcSEmmanuel Vadot 46*2eb4d8dcSEmmanuel VadotDynamic Function eXchange AXI shutdown manager: 47*2eb4d8dcSEmmanuel Vadot fpga-bridge@100000450 { 48*2eb4d8dcSEmmanuel Vadot compatible = "xlnx,dfx-axi-shutdown-manager-1.00", 49*2eb4d8dcSEmmanuel Vadot "xlnx,dfx-axi-shutdown-manager"; 50*2eb4d8dcSEmmanuel Vadot regs = <0x10000045 0x10>; 51*2eb4d8dcSEmmanuel Vadot clocks = <&clkc 15>; 52*2eb4d8dcSEmmanuel Vadot clock-names = "aclk"; 53*2eb4d8dcSEmmanuel Vadot bridge-enable = <0>; 54*2eb4d8dcSEmmanuel Vadot }; 55