1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>PHY Support</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux Networking and Network Devices APIs"><link rel="up" href="netdev.html" title="Chapter&#160;2.&#160;Network device support"><link rel="prev" href="API---dev-mc-unsync.html" title="__dev_mc_unsync"><link rel="next" href="API-phy-print-status.html" title="phy_print_status"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">PHY Support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API---dev-mc-unsync.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;2.&#160;Network device support</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-phy-print-status.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp1099016068"></a>PHY Support</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="refentrytitle"><a href="API-phy-print-status.html"><span class="phrase">phy_print_status</span></a></span><span class="refpurpose"> &#8212; 
2  Convenience function to print out the current phy status
3 </span></dt><dt><span class="refentrytitle"><a href="API-phy-ethtool-sset.html"><span class="phrase">phy_ethtool_sset</span></a></span><span class="refpurpose"> &#8212; 
4     generic ethtool sset function, handles all the details
5 </span></dt><dt><span class="refentrytitle"><a href="API-phy-mii-ioctl.html"><span class="phrase">phy_mii_ioctl</span></a></span><span class="refpurpose"> &#8212; 
6     generic PHY MII ioctl interface
7 </span></dt><dt><span class="refentrytitle"><a href="API-phy-start-aneg.html"><span class="phrase">phy_start_aneg</span></a></span><span class="refpurpose"> &#8212; 
8     start auto-negotiation for this PHY device
9 </span></dt><dt><span class="refentrytitle"><a href="API-phy-start-interrupts.html"><span class="phrase">phy_start_interrupts</span></a></span><span class="refpurpose"> &#8212; 
10     request and enable interrupts for a PHY device
11 </span></dt><dt><span class="refentrytitle"><a href="API-phy-stop-interrupts.html"><span class="phrase">phy_stop_interrupts</span></a></span><span class="refpurpose"> &#8212; 
12     disable interrupts from a PHY device
13 </span></dt><dt><span class="refentrytitle"><a href="API-phy-stop.html"><span class="phrase">phy_stop</span></a></span><span class="refpurpose"> &#8212; 
14     Bring down the PHY link, and stop checking the status
15 </span></dt><dt><span class="refentrytitle"><a href="API-phy-start.html"><span class="phrase">phy_start</span></a></span><span class="refpurpose"> &#8212; 
16     start or restart a PHY device
17 </span></dt><dt><span class="refentrytitle"><a href="API-phy-read-mmd-indirect.html"><span class="phrase">phy_read_mmd_indirect</span></a></span><span class="refpurpose"> &#8212; 
18     reads data from the MMD registers
19 </span></dt><dt><span class="refentrytitle"><a href="API-phy-write-mmd-indirect.html"><span class="phrase">phy_write_mmd_indirect</span></a></span><span class="refpurpose"> &#8212; 
20     writes data to the MMD registers
21 </span></dt><dt><span class="refentrytitle"><a href="API-phy-init-eee.html"><span class="phrase">phy_init_eee</span></a></span><span class="refpurpose"> &#8212; 
22     init and check the EEE feature
23 </span></dt><dt><span class="refentrytitle"><a href="API-phy-get-eee-err.html"><span class="phrase">phy_get_eee_err</span></a></span><span class="refpurpose"> &#8212; 
24     report the EEE wake error count
25 </span></dt><dt><span class="refentrytitle"><a href="API-phy-ethtool-get-eee.html"><span class="phrase">phy_ethtool_get_eee</span></a></span><span class="refpurpose"> &#8212; 
26     get EEE supported and status
27 </span></dt><dt><span class="refentrytitle"><a href="API-phy-ethtool-set-eee.html"><span class="phrase">phy_ethtool_set_eee</span></a></span><span class="refpurpose"> &#8212; 
28     set EEE supported and status
29 </span></dt><dt><span class="refentrytitle"><a href="API-phy-clear-interrupt.html"><span class="phrase">phy_clear_interrupt</span></a></span><span class="refpurpose"> &#8212; 
30  Ack the phy device's interrupt
31 </span></dt><dt><span class="refentrytitle"><a href="API-phy-config-interrupt.html"><span class="phrase">phy_config_interrupt</span></a></span><span class="refpurpose"> &#8212; 
32     configure the PHY device for the requested interrupts
33 </span></dt><dt><span class="refentrytitle"><a href="API-phy-aneg-done.html"><span class="phrase">phy_aneg_done</span></a></span><span class="refpurpose"> &#8212; 
34     return auto-negotiation status
35 </span></dt><dt><span class="refentrytitle"><a href="API-phy-find-setting.html"><span class="phrase">phy_find_setting</span></a></span><span class="refpurpose"> &#8212; 
36     find a PHY settings array entry that matches speed &amp; duplex
37 </span></dt><dt><span class="refentrytitle"><a href="API-phy-find-valid.html"><span class="phrase">phy_find_valid</span></a></span><span class="refpurpose"> &#8212; 
38     find a PHY setting that matches the requested features mask
39 </span></dt><dt><span class="refentrytitle"><a href="API-phy-check-valid.html"><span class="phrase">phy_check_valid</span></a></span><span class="refpurpose"> &#8212; 
40     check if there is a valid PHY setting which matches speed, duplex, and feature mask
41 </span></dt><dt><span class="refentrytitle"><a href="API-phy-sanitize-settings.html"><span class="phrase">phy_sanitize_settings</span></a></span><span class="refpurpose"> &#8212; 
42     make sure the PHY is set to supported speed and duplex
43 </span></dt><dt><span class="refentrytitle"><a href="API-phy-start-machine.html"><span class="phrase">phy_start_machine</span></a></span><span class="refpurpose"> &#8212; 
44     start PHY state machine tracking
45 </span></dt><dt><span class="refentrytitle"><a href="API-phy-stop-machine.html"><span class="phrase">phy_stop_machine</span></a></span><span class="refpurpose"> &#8212; 
46     stop the PHY state machine tracking
47 </span></dt><dt><span class="refentrytitle"><a href="API-phy-error.html"><span class="phrase">phy_error</span></a></span><span class="refpurpose"> &#8212; 
48     enter HALTED state for this PHY device
49 </span></dt><dt><span class="refentrytitle"><a href="API-phy-interrupt.html"><span class="phrase">phy_interrupt</span></a></span><span class="refpurpose"> &#8212; 
50     PHY interrupt handler
51 </span></dt><dt><span class="refentrytitle"><a href="API-phy-enable-interrupts.html"><span class="phrase">phy_enable_interrupts</span></a></span><span class="refpurpose"> &#8212; 
52     Enable the interrupts from the PHY side
53 </span></dt><dt><span class="refentrytitle"><a href="API-phy-disable-interrupts.html"><span class="phrase">phy_disable_interrupts</span></a></span><span class="refpurpose"> &#8212; 
54     Disable the PHY interrupts from the PHY side
55 </span></dt><dt><span class="refentrytitle"><a href="API-phy-change.html"><span class="phrase">phy_change</span></a></span><span class="refpurpose"> &#8212; 
56     Scheduled by the phy_interrupt/timer to handle PHY changes
57 </span></dt><dt><span class="refentrytitle"><a href="API-phy-state-machine.html"><span class="phrase">phy_state_machine</span></a></span><span class="refpurpose"> &#8212; 
58     Handle the state machine
59 </span></dt><dt><span class="refentrytitle"><a href="API-phy-register-fixup.html"><span class="phrase">phy_register_fixup</span></a></span><span class="refpurpose"> &#8212; 
60  creates a new phy_fixup and adds it to the list
61 </span></dt><dt><span class="refentrytitle"><a href="API-get-phy-device.html"><span class="phrase">get_phy_device</span></a></span><span class="refpurpose"> &#8212; 
62     reads the specified PHY device and returns its <em class="parameter"><code>phy_device</code></em> struct
63 </span></dt><dt><span class="refentrytitle"><a href="API-phy-device-register.html"><span class="phrase">phy_device_register</span></a></span><span class="refpurpose"> &#8212; 
64     Register the phy device on the MDIO bus
65 </span></dt><dt><span class="refentrytitle"><a href="API-phy-find-first.html"><span class="phrase">phy_find_first</span></a></span><span class="refpurpose"> &#8212; 
66     finds the first PHY device on the bus
67 </span></dt><dt><span class="refentrytitle"><a href="API-phy-connect-direct.html"><span class="phrase">phy_connect_direct</span></a></span><span class="refpurpose"> &#8212; 
68     connect an ethernet device to a specific phy_device
69 </span></dt><dt><span class="refentrytitle"><a href="API-phy-connect.html"><span class="phrase">phy_connect</span></a></span><span class="refpurpose"> &#8212; 
70     connect an ethernet device to a PHY device
71 </span></dt><dt><span class="refentrytitle"><a href="API-phy-disconnect.html"><span class="phrase">phy_disconnect</span></a></span><span class="refpurpose"> &#8212; 
72     disable interrupts, stop state machine, and detach a PHY device
73 </span></dt><dt><span class="refentrytitle"><a href="API-phy-attach-direct.html"><span class="phrase">phy_attach_direct</span></a></span><span class="refpurpose"> &#8212; 
74     attach a network device to a given PHY device pointer
75 </span></dt><dt><span class="refentrytitle"><a href="API-phy-attach.html"><span class="phrase">phy_attach</span></a></span><span class="refpurpose"> &#8212; 
76     attach a network device to a particular PHY device
77 </span></dt><dt><span class="refentrytitle"><a href="API-phy-detach.html"><span class="phrase">phy_detach</span></a></span><span class="refpurpose"> &#8212; 
78     detach a PHY device from its network device
79 </span></dt><dt><span class="refentrytitle"><a href="API-genphy-setup-forced.html"><span class="phrase">genphy_setup_forced</span></a></span><span class="refpurpose"> &#8212; 
80     configures/forces speed/duplex from <em class="parameter"><code>phydev</code></em>
81 </span></dt><dt><span class="refentrytitle"><a href="API-genphy-restart-aneg.html"><span class="phrase">genphy_restart_aneg</span></a></span><span class="refpurpose"> &#8212; 
82     Enable and Restart Autonegotiation
83 </span></dt><dt><span class="refentrytitle"><a href="API-genphy-config-aneg.html"><span class="phrase">genphy_config_aneg</span></a></span><span class="refpurpose"> &#8212; 
84     restart auto-negotiation or write BMCR
85 </span></dt><dt><span class="refentrytitle"><a href="API-genphy-aneg-done.html"><span class="phrase">genphy_aneg_done</span></a></span><span class="refpurpose"> &#8212; 
86     return auto-negotiation status
87 </span></dt><dt><span class="refentrytitle"><a href="API-genphy-update-link.html"><span class="phrase">genphy_update_link</span></a></span><span class="refpurpose"> &#8212; 
88     update link status in <em class="parameter"><code>phydev</code></em>
89 </span></dt><dt><span class="refentrytitle"><a href="API-genphy-read-status.html"><span class="phrase">genphy_read_status</span></a></span><span class="refpurpose"> &#8212; 
90     check the link status and update current link state
91 </span></dt><dt><span class="refentrytitle"><a href="API-genphy-soft-reset.html"><span class="phrase">genphy_soft_reset</span></a></span><span class="refpurpose"> &#8212; 
92     software reset the PHY via BMCR_RESET bit
93 </span></dt><dt><span class="refentrytitle"><a href="API-phy-driver-register.html"><span class="phrase">phy_driver_register</span></a></span><span class="refpurpose"> &#8212; 
94     register a phy_driver with the PHY layer
95 </span></dt><dt><span class="refentrytitle"><a href="API-get-phy-c45-ids.html"><span class="phrase">get_phy_c45_ids</span></a></span><span class="refpurpose"> &#8212; 
96  reads the specified addr for its 802.3-c45 IDs.
97 </span></dt><dt><span class="refentrytitle"><a href="API-get-phy-id.html"><span class="phrase">get_phy_id</span></a></span><span class="refpurpose"> &#8212; 
98     reads the specified addr for its ID.
99 </span></dt><dt><span class="refentrytitle"><a href="API-phy-prepare-link.html"><span class="phrase">phy_prepare_link</span></a></span><span class="refpurpose"> &#8212; 
100     prepares the PHY layer to monitor link status
101 </span></dt><dt><span class="refentrytitle"><a href="API-phy-poll-reset.html"><span class="phrase">phy_poll_reset</span></a></span><span class="refpurpose"> &#8212; 
102     Safely wait until a PHY reset has properly completed
103 </span></dt><dt><span class="refentrytitle"><a href="API-genphy-config-advert.html"><span class="phrase">genphy_config_advert</span></a></span><span class="refpurpose"> &#8212; 
104     sanitize and advertise auto-negotiation parameters
105 </span></dt><dt><span class="refentrytitle"><a href="API-phy-probe.html"><span class="phrase">phy_probe</span></a></span><span class="refpurpose"> &#8212; 
106     probe and init a PHY device
107 </span></dt><dt><span class="refentrytitle"><a href="API-mdiobus-alloc-size.html"><span class="phrase">mdiobus_alloc_size</span></a></span><span class="refpurpose"> &#8212; 
108  allocate a mii_bus structure
109 </span></dt><dt><span class="refentrytitle"><a href="API-devm-mdiobus-alloc-size.html"><span class="phrase">devm_mdiobus_alloc_size</span></a></span><span class="refpurpose"> &#8212; 
110     Resource-managed <code class="function">mdiobus_alloc_size</code>
111 </span></dt><dt><span class="refentrytitle"><a href="API-devm-mdiobus-free.html"><span class="phrase">devm_mdiobus_free</span></a></span><span class="refpurpose"> &#8212; 
112     Resource-managed <code class="function">mdiobus_free</code>
113 </span></dt><dt><span class="refentrytitle"><a href="API-of-mdio-find-bus.html"><span class="phrase">of_mdio_find_bus</span></a></span><span class="refpurpose"> &#8212; 
114     Given an mii_bus node, find the mii_bus.
115 </span></dt><dt><span class="refentrytitle"><a href="API-mdiobus-register.html"><span class="phrase">mdiobus_register</span></a></span><span class="refpurpose"> &#8212; 
116     bring up all the PHYs on a given bus and attach them to bus
117 </span></dt><dt><span class="refentrytitle"><a href="API-mdiobus-free.html"><span class="phrase">mdiobus_free</span></a></span><span class="refpurpose"> &#8212; 
118     free a struct mii_bus
119 </span></dt><dt><span class="refentrytitle"><a href="API-mdiobus-read.html"><span class="phrase">mdiobus_read</span></a></span><span class="refpurpose"> &#8212; 
120     Convenience function for reading a given MII mgmt register
121 </span></dt><dt><span class="refentrytitle"><a href="API-mdiobus-write.html"><span class="phrase">mdiobus_write</span></a></span><span class="refpurpose"> &#8212; 
122     Convenience function for writing a given MII mgmt register
123 </span></dt><dt><span class="refentrytitle"><a href="API-mdiobus-release.html"><span class="phrase">mdiobus_release</span></a></span><span class="refpurpose"> &#8212; 
124  mii_bus device release callback
125 </span></dt><dt><span class="refentrytitle"><a href="API-mdio-bus-match.html"><span class="phrase">mdio_bus_match</span></a></span><span class="refpurpose"> &#8212; 
126     determine if given PHY driver supports the given PHY device
127 </span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API---dev-mc-unsync.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="netdev.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-phy-print-status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">__dev_mc_unsync</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">phy_print_status</span></td></tr></table></div></body></html>
128