| /* |
| * SMSC LAN9118 PHY emulation |
| * |
| * Copyright (c) 2009 CodeSourcery, LLC. |
| * Written by Paul Brook |
| * |
| * This work is licensed under the terms of the GNU GPL, version 2 or later. |
| * See the COPYING file in the top-level directory. |
| */ |
| |
| #ifndef HW_NET_LAN9118_PHY_H |
| #define HW_NET_LAN9118_PHY_H |
| |
| #include "qom/object.h" |
| #include "hw/sysbus.h" |
| |
| #define TYPE_LAN9118_PHY "lan9118-phy" |
| OBJECT_DECLARE_SIMPLE_TYPE(Lan9118PhyState, LAN9118_PHY) |
| |
| typedef struct Lan9118PhyState { |
| SysBusDevice parent_obj; |
| |
| uint16_t status; |
| uint16_t control; |
| uint16_t advertise; |
| uint16_t ints; |
| uint16_t int_mask; |
| qemu_irq irq; |
| bool link_down; |
| } Lan9118PhyState; |
| |
| void lan9118_phy_update_link(Lan9118PhyState *s, bool link_down); |
| void lan9118_phy_reset(Lan9118PhyState *s); |
| uint16_t lan9118_phy_read(Lan9118PhyState *s, int reg); |
| void lan9118_phy_write(Lan9118PhyState *s, int reg, uint16_t val); |
| |
| #endif |