]> git.proxmox.com Git - mirror_qemu.git/blob - include/hw/net/ftgmac100.h
Merge remote-tracking branch 'shorne/tags/pull-or-20170504' into staging
[mirror_qemu.git] / include / hw / net / ftgmac100.h
1 /*
2 * Faraday FTGMAC100 Gigabit Ethernet
3 *
4 * Copyright (C) 2016-2017, IBM Corporation.
5 *
6 * This code is licensed under the GPL version 2 or later. See the
7 * COPYING file in the top-level directory.
8 */
9
10 #ifndef FTGMAC100_H
11 #define FTGMAC100_H
12
13 #define TYPE_FTGMAC100 "ftgmac100"
14 #define FTGMAC100(obj) OBJECT_CHECK(FTGMAC100State, (obj), TYPE_FTGMAC100)
15
16 #include "hw/sysbus.h"
17 #include "net/net.h"
18
19 typedef struct FTGMAC100State {
20 /*< private >*/
21 SysBusDevice parent_obj;
22
23 /*< public >*/
24 NICState *nic;
25 NICConf conf;
26 qemu_irq irq;
27 MemoryRegion iomem;
28
29 uint8_t *frame;
30
31 uint32_t irq_state;
32 uint32_t isr;
33 uint32_t ier;
34 uint32_t rx_enabled;
35 uint32_t rx_ring;
36 uint32_t rx_descriptor;
37 uint32_t tx_ring;
38 uint32_t tx_descriptor;
39 uint32_t math[2];
40 uint32_t rbsr;
41 uint32_t itc;
42 uint32_t aptcr;
43 uint32_t dblac;
44 uint32_t revr;
45 uint32_t fear1;
46 uint32_t tpafcr;
47 uint32_t maccr;
48 uint32_t phycr;
49 uint32_t phydata;
50 uint32_t fcr;
51
52
53 uint32_t phy_status;
54 uint32_t phy_control;
55 uint32_t phy_advertise;
56 uint32_t phy_int;
57 uint32_t phy_int_mask;
58
59 bool aspeed;
60 uint32_t txdes0_edotr;
61 uint32_t rxdes0_edorr;
62 } FTGMAC100State;
63
64 #endif