aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/xroeframer/README
blob: 505a46c2cf62231c292d53058736c1d4e6d01e48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Xilinx Radio over Ethernet Framer driver
=========================================

About the RoE Framer

The "Radio Over Ethernet Framer" IP (roe_framer) ingests/generates Ethernet
packet data, (de-)multiplexes packets based on protocol into/from various
Radio Antenna data streams.

It has 2 main, independent, data paths

- Downlink, from the BaseBand to the Phone, Ethernet to Antenna,
we call this the De-Framer path, or defm on all related IP signals.

- Uplink, from the Phone to the BaseBand, Antenna to Ethernet,
we call this the Framer path, or fram on all related IP signals.

Key points:

- Apart from the AXI4-Lite configuration port and a handful of strobe/control
signals all data interfaces are AXI Stream(AXIS).
- The IP does not contain an Ethernet MAC IP, rather it routes, or creates
packets based on the direction through the roe_framer.
- Currently designed to work with
	- 1, 2 or 4 10G Ethernet AXIS stream ports to/from 1, 2, 4, 8, 16,
	or 32 antenna ports
		Note: each Ethernet port is 64 bit data @ 156.25MHz
	- 1 or 2 25G Ethernet AXIS stream ports to/from 1, 2, 4, 8, 16,
	or 32 antenna ports
		Note: each Ethernet port is 64 bit data @ 390.25MHz
- Contains a filter so that all non-protocol packets, or non-hardware-IP
processed packets can be forwarded to another block for processing. In general
this in a Microprocessor, specifically the Zynq ARM in our case. This filter
function can move into the optional switch when TSN is used.

About the Linux Driver

The RoE Framer Linux Driver provides sysfs access to the framer controls. The
loading of the driver to the hardware is possible using Device Tree binding
(see "dt-binding.txt" for more information). When the driver is loaded, the
general controls (such as framing mode, enable, restart etc) are exposed
under /sys/kernel/xroe. Furthermore, specific controls can be found under
/sys/kernel/xroe/framer. These include protocol-specific settings, for
IPv4, IPv6 & UDP.

There is also the option of accessing the framer's register map using
ioctl calls for both reading and writing (where permitted) directly.