Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1Xilinx AXI-Stream FIFO v4.1 IP core
2
3This IP core has read and write AXI-Stream FIFOs, the contents of which can
4be accessed from the AXI4 memory-mapped interface. This is useful for
5transferring data from a processor into the FPGA fabric. The driver creates
6a character device that can be read/written to with standard
7open/read/write/close.
8
9See Xilinx PG080 document for IP details.
10
11Currently supports only store-forward mode with a 32-bit
12AXI4-Lite interface. DOES NOT support:
13 - cut-through mode
14 - AXI4 (non-lite)
15
16Required properties:
17- compatible: Should be one of:
18 "xlnx,axi-fifo-mm-s-4.1"
19 "xlnx,axi-fifo-mm-s-4.2"
20 "xlnx,axi-fifo-mm-s-4.3"
21- interrupt-names: Should be "interrupt"
22- interrupt-parent: Should be <&intc>
23- interrupts: Should contain interrupts lines.
24- reg: Should contain registers location and length.
25- xlnx,axi-str-rxd-protocol: Should be "XIL_AXI_STREAM_ETH_DATA"
26- xlnx,axi-str-rxd-tdata-width: Should be <0x20>
27- xlnx,axi-str-txc-protocol: Should be "XIL_AXI_STREAM_ETH_CTRL"
28- xlnx,axi-str-txc-tdata-width: Should be <0x20>
29- xlnx,axi-str-txd-protocol: Should be "XIL_AXI_STREAM_ETH_DATA"
30- xlnx,axi-str-txd-tdata-width: Should be <0x20>
31- xlnx,axis-tdest-width: AXI-Stream TDEST width (ignored by the driver)
32- xlnx,axis-tid-width: AXI-Stream TID width (ignored by the driver)
33- xlnx,axis-tuser-width: AXI-Stream TUSER width (ignored by the driver)
34- xlnx,data-interface-type: Should be <0x0> (ignored by the driver)
35- xlnx,has-axis-tdest: Should be <0x0> (this feature isn't supported)
36- xlnx,has-axis-tid: Should be <0x0> (this feature isn't supported)
37- xlnx,has-axis-tkeep: Should be <0x0> (this feature isn't supported)
38- xlnx,has-axis-tstrb: Should be <0x0> (this feature isn't supported)
39- xlnx,has-axis-tuser: Should be <0x0> (this feature isn't supported)
40- xlnx,rx-fifo-depth: Depth of RX FIFO in words
41- xlnx,rx-fifo-pe-threshold: RX programmable empty interrupt threshold
42 (ignored by the driver)
43- xlnx,rx-fifo-pf-threshold: RX programmable full interrupt threshold
44 (ignored by the driver)
45- xlnx,s-axi-id-width: Should be <0x4> (ignored by the driver)
46- xlnx,s-axi4-data-width: Should be <0x20> (ignored by the driver)
47- xlnx,select-xpm: Should be <0x0> (ignored by the driver)
48- xlnx,tx-fifo-depth: Depth of TX FIFO in words
49- xlnx,tx-fifo-pe-threshold: TX programmable empty interrupt threshold
50 (ignored by the driver)
51- xlnx,tx-fifo-pf-threshold: TX programmable full interrupt threshold
52 (ignored by the driver)
53- xlnx,use-rx-cut-through: Should be <0x0> (this feature isn't supported)
54- xlnx,use-rx-data: <0x1> if RX FIFO is enabled, <0x0> otherwise
55- xlnx,use-tx-ctrl: Should be <0x0> (this feature isn't supported)
56- xlnx,use-tx-cut-through: Should be <0x0> (this feature isn't supported)
57- xlnx,use-tx-data: <0x1> if TX FIFO is enabled, <0x0> otherwise
58
59Example:
60
61axi_fifo_mm_s_0: axi_fifo_mm_s@43c00000 {
62 compatible = "xlnx,axi-fifo-mm-s-4.1";
63 interrupt-names = "interrupt";
64 interrupt-parent = <&intc>;
65 interrupts = <0 29 4>;
66 reg = <0x43c00000 0x10000>;
67 xlnx,axi-str-rxd-protocol = "XIL_AXI_STREAM_ETH_DATA";
68 xlnx,axi-str-rxd-tdata-width = <0x20>;
69 xlnx,axi-str-txc-protocol = "XIL_AXI_STREAM_ETH_CTRL";
70 xlnx,axi-str-txc-tdata-width = <0x20>;
71 xlnx,axi-str-txd-protocol = "XIL_AXI_STREAM_ETH_DATA";
72 xlnx,axi-str-txd-tdata-width = <0x20>;
73 xlnx,axis-tdest-width = <0x4>;
74 xlnx,axis-tid-width = <0x4>;
75 xlnx,axis-tuser-width = <0x4>;
76 xlnx,data-interface-type = <0x0>;
77 xlnx,has-axis-tdest = <0x0>;
78 xlnx,has-axis-tid = <0x0>;
79 xlnx,has-axis-tkeep = <0x0>;
80 xlnx,has-axis-tstrb = <0x0>;
81 xlnx,has-axis-tuser = <0x0>;
82 xlnx,rx-fifo-depth = <0x200>;
83 xlnx,rx-fifo-pe-threshold = <0x2>;
84 xlnx,rx-fifo-pf-threshold = <0x1fb>;
85 xlnx,s-axi-id-width = <0x4>;
86 xlnx,s-axi4-data-width = <0x20>;
87 xlnx,select-xpm = <0x0>;
88 xlnx,tx-fifo-depth = <0x8000>;
89 xlnx,tx-fifo-pe-threshold = <0x200>;
90 xlnx,tx-fifo-pf-threshold = <0x7ffb>;
91 xlnx,use-rx-cut-through = <0x0>;
92 xlnx,use-rx-data = <0x0>;
93 xlnx,use-tx-ctrl = <0x0>;
94 xlnx,use-tx-cut-through = <0x0>;
95 xlnx,use-tx-data = <0x1>;
96};