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 (ignored by the driver)
- xlnx,axis-tid-width: AXI-Stream TID width (ignored by the driver)
- xlnx,axis-tuser-width: AXI-Stream TUSER width (ignored by the driver)
- xlnx,data-interface-type: Should be <0x0> (ignored by the driver)
- 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
	(ignored by the driver)
- xlnx,rx-fifo-pf-threshold: RX programmable full interrupt threshold
	(ignored by the driver)
- xlnx,s-axi-id-width: Should be <0x4> (ignored by the driver)
- xlnx,s-axi4-data-width: Should be <0x20> (ignored by the driver)
- xlnx,select-xpm: Should be <0x0> (ignored by the driver)
- xlnx,tx-fifo-depth: Depth of TX FIFO in words
- xlnx,tx-fifo-pe-threshold: TX programmable empty interrupt threshold
	(ignored by the driver)
- xlnx,tx-fifo-pf-threshold: TX programmable full interrupt threshold
	(ignored by the driver)
- 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>;
};
