xref: /freebsd-src/sys/contrib/device-tree/Bindings/fpga/xilinx-pr-decoupler.txt (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
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