DevE1000Phy.h revision c7814cf6e1240a519cbec0441e033d0e2470ed00
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync * DevE1000Phy - Intel 82540EM Ethernet Controller Internal PHY Emulation, Header.
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsync * Copyright (C) 2007-2010 Oracle Corporation
dbcf44d4b4f08f03eae2903053ed8c5264b0c23fvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
dbcf44d4b4f08f03eae2903053ed8c5264b0c23fvboxsync * available from http://www.virtualbox.org. This file is free software;
dbcf44d4b4f08f03eae2903053ed8c5264b0c23fvboxsync * you can redistribute it and/or modify it under the terms of the GNU
dbcf44d4b4f08f03eae2903053ed8c5264b0c23fvboxsync * General Public License (GPL) as published by the Free Software
dbcf44d4b4f08f03eae2903053ed8c5264b0c23fvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
dbcf44d4b4f08f03eae2903053ed8c5264b0c23fvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
dbcf44d4b4f08f03eae2903053ed8c5264b0c23fvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
e38e985e81603c3b6d0e4d42015d6a3fd4332c6evboxsync * Speed: 1000 Mb/s
e38e985e81603c3b6d0e4d42015d6a3fd4332c6evboxsync * Duplex: full
e38e985e81603c3b6d0e4d42015d6a3fd4332c6evboxsync * Page received
e38e985e81603c3b6d0e4d42015d6a3fd4332c6evboxsync * Receive Pause Enable
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync * Indices of memory-mapped registers in register table
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync * Emulation state of PHY.
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Network controller instance this PHY is attached to. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Register storage. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Current state of serial MDIO interface. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Current state of serial MDIO interface. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Number of bits remaining to be shifted into/out of accumulator. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** PHY register offset selected for MDIO operation. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync/* Interface *****************************************************************/
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Initialize PHY. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync void init(PPHY pPhy, int iNICInstance, uint16_t u16EPid);
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Read PHY register at specified address. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync uint16_t readRegister(PPHY pPhy, uint32_t u32Address);
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Write to PHY register at specified address. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync void writeRegister(PPHY pPhy, uint32_t u32Address, uint16_t u16Value);
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Read the value on MDIO pin. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Set the value of MDIO pin. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Hardware reset. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Query link status. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Set link status. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Save PHY state. */
aaf6eb788dab09bc8c3c8576c60fabc60037a483vboxsync /** Restore previously saved PHY state. */