0001 Xilinx AXI-Stream FIFO v4.1 IP core
0002
0003 This IP core has read and write AXI-Stream FIFOs, the contents of which can
0004 be accessed from the AXI4 memory-mapped interface. This is useful for
0005 transferring data from a processor into the FPGA fabric. The driver creates
0006 a character device that can be read/written to with standard
0007 open/read/write/close.
0008
0009 See Xilinx PG080 document for IP details.
0010
0011 Currently supports only store-forward mode with a 32-bit
0012 AXI4-Lite interface. DOES NOT support:
0013 - cut-through mode
0014 - AXI4 (non-lite)
0015
0016 Required properties:
0017 - compatible: Should be "xlnx,axi-fifo-mm-s-4.1"
0018 - interrupt-names: Should be "interrupt"
0019 - interrupt-parent: Should be <&intc>
0020 - interrupts: Should contain interrupts lines.
0021 - reg: Should contain registers location and length.
0022 - xlnx,axi-str-rxd-protocol: Should be "XIL_AXI_STREAM_ETH_DATA"
0023 - xlnx,axi-str-rxd-tdata-width: Should be <0x20>
0024 - xlnx,axi-str-txc-protocol: Should be "XIL_AXI_STREAM_ETH_CTRL"
0025 - xlnx,axi-str-txc-tdata-width: Should be <0x20>
0026 - xlnx,axi-str-txd-protocol: Should be "XIL_AXI_STREAM_ETH_DATA"
0027 - xlnx,axi-str-txd-tdata-width: Should be <0x20>
0028 - xlnx,axis-tdest-width: AXI-Stream TDEST width (ignored by the driver)
0029 - xlnx,axis-tid-width: AXI-Stream TID width (ignored by the driver)
0030 - xlnx,axis-tuser-width: AXI-Stream TUSER width (ignored by the driver)
0031 - xlnx,data-interface-type: Should be <0x0> (ignored by the driver)
0032 - xlnx,has-axis-tdest: Should be <0x0> (this feature isn't supported)
0033 - xlnx,has-axis-tid: Should be <0x0> (this feature isn't supported)
0034 - xlnx,has-axis-tkeep: Should be <0x0> (this feature isn't supported)
0035 - xlnx,has-axis-tstrb: Should be <0x0> (this feature isn't supported)
0036 - xlnx,has-axis-tuser: Should be <0x0> (this feature isn't supported)
0037 - xlnx,rx-fifo-depth: Depth of RX FIFO in words
0038 - xlnx,rx-fifo-pe-threshold: RX programmable empty interrupt threshold
0039 (ignored by the driver)
0040 - xlnx,rx-fifo-pf-threshold: RX programmable full interrupt threshold
0041 (ignored by the driver)
0042 - xlnx,s-axi-id-width: Should be <0x4> (ignored by the driver)
0043 - xlnx,s-axi4-data-width: Should be <0x20> (ignored by the driver)
0044 - xlnx,select-xpm: Should be <0x0> (ignored by the driver)
0045 - xlnx,tx-fifo-depth: Depth of TX FIFO in words
0046 - xlnx,tx-fifo-pe-threshold: TX programmable empty interrupt threshold
0047 (ignored by the driver)
0048 - xlnx,tx-fifo-pf-threshold: TX programmable full interrupt threshold
0049 (ignored by the driver)
0050 - xlnx,use-rx-cut-through: Should be <0x0> (this feature isn't supported)
0051 - xlnx,use-rx-data: <0x1> if RX FIFO is enabled, <0x0> otherwise
0052 - xlnx,use-tx-ctrl: Should be <0x0> (this feature isn't supported)
0053 - xlnx,use-tx-cut-through: Should be <0x0> (this feature isn't supported)
0054 - xlnx,use-tx-data: <0x1> if TX FIFO is enabled, <0x0> otherwise
0055
0056 Example:
0057
0058 axi_fifo_mm_s_0: axi_fifo_mm_s@43c00000 {
0059 compatible = "xlnx,axi-fifo-mm-s-4.1";
0060 interrupt-names = "interrupt";
0061 interrupt-parent = <&intc>;
0062 interrupts = <0 29 4>;
0063 reg = <0x43c00000 0x10000>;
0064 xlnx,axi-str-rxd-protocol = "XIL_AXI_STREAM_ETH_DATA";
0065 xlnx,axi-str-rxd-tdata-width = <0x20>;
0066 xlnx,axi-str-txc-protocol = "XIL_AXI_STREAM_ETH_CTRL";
0067 xlnx,axi-str-txc-tdata-width = <0x20>;
0068 xlnx,axi-str-txd-protocol = "XIL_AXI_STREAM_ETH_DATA";
0069 xlnx,axi-str-txd-tdata-width = <0x20>;
0070 xlnx,axis-tdest-width = <0x4>;
0071 xlnx,axis-tid-width = <0x4>;
0072 xlnx,axis-tuser-width = <0x4>;
0073 xlnx,data-interface-type = <0x0>;
0074 xlnx,has-axis-tdest = <0x0>;
0075 xlnx,has-axis-tid = <0x0>;
0076 xlnx,has-axis-tkeep = <0x0>;
0077 xlnx,has-axis-tstrb = <0x0>;
0078 xlnx,has-axis-tuser = <0x0>;
0079 xlnx,rx-fifo-depth = <0x200>;
0080 xlnx,rx-fifo-pe-threshold = <0x2>;
0081 xlnx,rx-fifo-pf-threshold = <0x1fb>;
0082 xlnx,s-axi-id-width = <0x4>;
0083 xlnx,s-axi4-data-width = <0x20>;
0084 xlnx,select-xpm = <0x0>;
0085 xlnx,tx-fifo-depth = <0x8000>;
0086 xlnx,tx-fifo-pe-threshold = <0x200>;
0087 xlnx,tx-fifo-pf-threshold = <0x7ffb>;
0088 xlnx,use-rx-cut-through = <0x0>;
0089 xlnx,use-rx-data = <0x0>;
0090 xlnx,use-tx-ctrl = <0x0>;
0091 xlnx,use-tx-cut-through = <0x0>;
0092 xlnx,use-tx-data = <0x1>;
0093 };