Xilinx AXI-Stream FIFO v4.1 IP core

This IP core has read and write AXI-Stream FIFOs, the contents of which can
be accessed from the AXI4 memory-mapped interface. This is useful for
transferring data from a processor into the FPGA fabric. The driver creates
a character device that can be read/written to with standard
open/read/write/close.

See Xilinx PG080 document for IP details.

Currently supports only store-forward mode with a 32-bit
AXI4-Lite interface. DOES NOT support:
	- cut-through mode
	- AXI4 (non-lite)

Required properties:
- compatible: Should be "xlnx,axi-fifo-mm-s-4.1"
- interrupt-names: Should be "interrupt"
- interrupt-parent: Should be <&intc>
- interrupts: Should contain interrupts lines.
- reg: Should contain registers location and length.
- xlnx,axi-str-rxd-protocol: Should be "XIL_AXI_STREAM_ETH_DATA"
- xlnx,axi-str-rxd-tdata-width: Should be <0x20>
- xlnx,axi-str-txc-protocol: Should be "XIL_AXI_STREAM_ETH_CTRL"
- xlnx,axi-str-txc-tdata-width: Should be <0x20>
- xlnx,axi-str-txd-protocol: Should be "XIL_AXI_STREAM_ETH_DATA"
- xlnx,axi-str-txd-tdata-width: Should be <0x20>
- xlnx,axis-tdest-width: AXI-Stream TDEST width
- xlnx,axis-tid-width: AXI-Stream TID width
- xlnx,axis-tuser-width: AXI-Stream TUSER width
- xlnx,data-interface-type: Should be <0x0>
- xlnx,has-axis-tdest: Should be <0x0> (this feature isn't supported)
- xlnx,has-axis-tid: Should be <0x0> (this feature isn't supported)
- xlnx,has-axis-tkeep: Should be <0x0> (this feature isn't supported)
- xlnx,has-axis-tstrb: Should be <0x0> (this feature isn't supported)
- xlnx,has-axis-tuser: Should be <0x0> (this feature isn't supported)
- xlnx,rx-fifo-depth: Depth of RX FIFO in words
- xlnx,rx-fifo-pe-threshold: RX programmable empty interrupt threshold
- xlnx,rx-fifo-pf-threshold: RX programmable full interrupt threshold
- xlnx,s-axi-id-width: Should be <0x4>
- xlnx,s-axi4-data-width: Should be <0x20>
- xlnx,select-xpm: Should be <0x0>
- xlnx,tx-fifo-depth: Depth of TX FIFO in words
- xlnx,tx-fifo-pe-threshold: TX programmable empty interrupt threshold
- xlnx,tx-fifo-pf-threshold: TX programmable full interrupt threshold
- xlnx,use-rx-cut-through: Should be <0x0> (this feature isn't supported)
- xlnx,use-rx-data: <0x1> if RX FIFO is enabled, <0x0> otherwise
- xlnx,use-tx-ctrl: Should be <0x0> (this feature isn't supported)
- xlnx,use-tx-cut-through: Should be <0x0> (this feature isn't supported)
- xlnx,use-tx-data: <0x1> if TX FIFO is enabled, <0x0> otherwise

Example:

axi_fifo_mm_s_0: axi_fifo_mm_s@43c00000 {
	compatible = "xlnx,axi-fifo-mm-s-4.1";
	interrupt-names = "interrupt";
	interrupt-parent = <&intc>;
	interrupts = <0 29 4>;
	reg = <0x43c00000 0x10000>;
	xlnx,axi-str-rxd-protocol = "XIL_AXI_STREAM_ETH_DATA";
	xlnx,axi-str-rxd-tdata-width = <0x20>;
	xlnx,axi-str-txc-protocol = "XIL_AXI_STREAM_ETH_CTRL";
	xlnx,axi-str-txc-tdata-width = <0x20>;
	xlnx,axi-str-txd-protocol = "XIL_AXI_STREAM_ETH_DATA";
	xlnx,axi-str-txd-tdata-width = <0x20>;
	xlnx,axis-tdest-width = <0x4>;
	xlnx,axis-tid-width = <0x4>;
	xlnx,axis-tuser-width = <0x4>;
	xlnx,data-interface-type = <0x0>;
	xlnx,has-axis-tdest = <0x0>;
	xlnx,has-axis-tid = <0x0>;
	xlnx,has-axis-tkeep = <0x0>;
	xlnx,has-axis-tstrb = <0x0>;
	xlnx,has-axis-tuser = <0x0>;
	xlnx,rx-fifo-depth = <0x200>;
	xlnx,rx-fifo-pe-threshold = <0x2>;
	xlnx,rx-fifo-pf-threshold = <0x1fb>;
	xlnx,s-axi-id-width = <0x4>;
	xlnx,s-axi4-data-width = <0x20>;
	xlnx,select-xpm = <0x0>;
	xlnx,tx-fifo-depth = <0x8000>;
	xlnx,tx-fifo-pe-threshold = <0x200>;
	xlnx,tx-fifo-pf-threshold = <0x7ffb>;
	xlnx,use-rx-cut-through = <0x0>;
	xlnx,use-rx-data = <0x0>;
	xlnx,use-tx-ctrl = <0x0>;
	xlnx,use-tx-cut-through = <0x0>;
	xlnx,use-tx-data = <0x1>;
};
