net: add FTGMAC100 support
commitbd44300d1afc32b19043697f7f585dd5a2e8df42
authorCédric Le Goater <clg@kaod.org>
Fri, 14 Apr 2017 08:35:00 +0000 (14 10:35 +0200)
committerJason Wang <jasowang@redhat.com>
Mon, 24 Apr 2017 03:30:03 +0000 (24 11:30 +0800)
treebfb85c85c9a0475425f7efc0a9811178726f4963
parent30adcc8fab3fa5aa569ea804b3ad469895294fb4
net: add FTGMAC100 support

The FTGMAC100 device is an Ethernet controller with DMA function that
can be found on Aspeed SoCs (which include NCSI).

It is fully compliant with IEEE 802.3 specification for 10/100 Mbps
Ethernet and IEEE 802.3z specification for 1000 Mbps Ethernet and
includes Reduced Media Independent Interface (RMII) and Reduced
Gigabit Media Independent Interface (RGMII) interfaces. It adopts an
AHB bus interface and integrates a link list DMA engine with direct
M-Bus accesses for transmitting and receiving packets. It has
independent TX/RX fifos, supports half and full duplex (1000 Mbps mode
only supports full duplex), flow control for full duplex and
backpressure for half duplex.

The FTGMAC100 also implements IP, TCP, UDP checksum offloads and
supports IEEE 802.1Q VLAN tag insertion and removal. It offers
high-priority transmit queue for QoS and CoS applications

This model is backed with a RealTek 8211E PHY which is the chip found
on the AST2500 EVB. It is complete enough to satisfy two different
Linux drivers and a U-Boot driver. Not supported features are :

 - IEEE 802.1Q VLAN
 - High Priority Transmit Queue
 - Wake-On-LAN functions

The code is based on the Coldfire Fast Ethernet Controller model.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>
default-configs/arm-softmmu.mak
hw/net/Makefile.objs
hw/net/ftgmac100.c [new file with mode: 0644]
include/hw/net/ftgmac100.h [new file with mode: 0644]