\hypertarget{tdkphy_8c}{}\doxysection{dev/mii/tdkphy.c File Reference}
\label{tdkphy_8c}\index{dev/mii/tdkphy.c@{dev/mii/tdkphy.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/socket.\+h$>$}\newline
{\ttfamily \#include $<$sys/errno.\+h$>$}\newline
{\ttfamily \#include $<$sys/module.\+h$>$}\newline
{\ttfamily \#include $<$sys/bus.\+h$>$}\newline
{\ttfamily \#include $<$net/if.\+h$>$}\newline
{\ttfamily \#include $<$net/if\+\_\+media.\+h$>$}\newline
{\ttfamily \#include $<$dev/mii/mii.\+h$>$}\newline
{\ttfamily \#include $<$dev/mii/miivar.\+h$>$}\newline
{\ttfamily \#include \char`\"{}miidevs.\+h\char`\"{}}\newline
{\ttfamily \#include $<$dev/mii/tdkphyreg.\+h$>$}\newline
{\ttfamily \#include \char`\"{}miibus\+\_\+if.\+h\char`\"{}}\newline
Include dependency graph for tdkphy.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d2/d0e/tdkphy_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{tdkphy_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static int \mbox{\hyperlink{tdkphy_8c_ae2a08e5428db9380ba5b7d826c9cd591}{tdkphy\+\_\+probe}} (device\+\_\+t)
\item 
static int \mbox{\hyperlink{tdkphy_8c_a991263150cabd8200326cbe572b2c275}{tdkphy\+\_\+attach}} (device\+\_\+t)
\item 
\mbox{\hyperlink{tdkphy_8c_a5a71990b0c9658a3de8e35e8e7c33154}{DRIVER\+\_\+\+MODULE}} (tdkphy, \mbox{\hyperlink{miibus__if_8m_a4cbc1805319b363b9b338406a4b2a683}{miibus}}, \mbox{\hyperlink{tdkphy_8c_af43a08c7797d0010a44d0084e71e7113}{tdkphy\+\_\+driver}}, \mbox{\hyperlink{tdkphy_8c_a2ee5b9cd505e90956b9921fcc956e892}{tdkphy\+\_\+devclass}}, 0, 0)
\item 
static int \mbox{\hyperlink{tdkphy_8c_a5199c002e433980217b16c456764f773}{tdkphy\+\_\+service}} (struct \mbox{\hyperlink{structmii__softc}{mii\+\_\+softc}} $\ast$, struct \mbox{\hyperlink{structmii__data}{mii\+\_\+data}} $\ast$, int)
\item 
static void \mbox{\hyperlink{tdkphy_8c_a874856e0e6495bc79ac5bebe793a6fae}{tdkphy\+\_\+status}} (struct \mbox{\hyperlink{structmii__softc}{mii\+\_\+softc}} $\ast$)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static device\+\_\+method\+\_\+t \mbox{\hyperlink{tdkphy_8c_aebc0d6ab812056e505f6a2a73864790f}{tdkphy\+\_\+methods}} \mbox{[}$\,$\mbox{]}
\item 
static devclass\+\_\+t \mbox{\hyperlink{tdkphy_8c_a2ee5b9cd505e90956b9921fcc956e892}{tdkphy\+\_\+devclass}}
\item 
static driver\+\_\+t \mbox{\hyperlink{tdkphy_8c_af43a08c7797d0010a44d0084e71e7113}{tdkphy\+\_\+driver}}
\item 
static const struct \mbox{\hyperlink{structmii__phydesc}{mii\+\_\+phydesc}} \mbox{\hyperlink{tdkphy_8c_a3ea4553cec6ac256c6274f72039f2093}{tdkphys}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structmii__phy__funcs}{mii\+\_\+phy\+\_\+funcs}} \mbox{\hyperlink{tdkphy_8c_a9ac8e9fc662ff6c584fe406e242f14d7}{tdkphy\+\_\+funcs}}
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{tdkphy_8c_a8c3ef283470a68cd30afe9b8a72cb60f}\label{tdkphy_8c_a8c3ef283470a68cd30afe9b8a72cb60f}} 
\index{tdkphy.c@{tdkphy.c}!\_\_FBSDID@{\_\_FBSDID}}
\index{\_\_FBSDID@{\_\_FBSDID}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{\_\_FBSDID()}{\_\_FBSDID()}}
{\footnotesize\ttfamily \+\_\+\+\_\+\+FBSDID (\begin{DoxyParamCaption}\item[{\char`\"{}\$Free\+BSD\$\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{tdkphy_8c_a5a71990b0c9658a3de8e35e8e7c33154}\label{tdkphy_8c_a5a71990b0c9658a3de8e35e8e7c33154}} 
\index{tdkphy.c@{tdkphy.c}!DRIVER\_MODULE@{DRIVER\_MODULE}}
\index{DRIVER\_MODULE@{DRIVER\_MODULE}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{DRIVER\_MODULE()}{DRIVER\_MODULE()}}
{\footnotesize\ttfamily DRIVER\+\_\+\+MODULE (\begin{DoxyParamCaption}\item[{tdkphy}]{,  }\item[{\mbox{\hyperlink{miibus__if_8m_a4cbc1805319b363b9b338406a4b2a683}{miibus}}}]{,  }\item[{\mbox{\hyperlink{tdkphy_8c_af43a08c7797d0010a44d0084e71e7113}{tdkphy\+\_\+driver}}}]{,  }\item[{\mbox{\hyperlink{tdkphy_8c_a2ee5b9cd505e90956b9921fcc956e892}{tdkphy\+\_\+devclass}}}]{,  }\item[{0}]{,  }\item[{0}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{tdkphy_8c_a991263150cabd8200326cbe572b2c275}\label{tdkphy_8c_a991263150cabd8200326cbe572b2c275}} 
\index{tdkphy.c@{tdkphy.c}!tdkphy\_attach@{tdkphy\_attach}}
\index{tdkphy\_attach@{tdkphy\_attach}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{tdkphy\_attach()}{tdkphy\_attach()}}
{\footnotesize\ttfamily static int tdkphy\+\_\+attach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{tdkphy_8c_source_l00111}{111}} of file \mbox{\hyperlink{tdkphy_8c_source}{tdkphy.\+c}}.



References \mbox{\hyperlink{mii__physubr_8c_source_l00585}{mii\+\_\+phy\+\_\+dev\+\_\+attach()}}, \mbox{\hyperlink{miivar_8h_source_l00148}{MIIF\+\_\+\+NOMANPAUSE}}, and \mbox{\hyperlink{tdkphy_8c_source_l00097}{tdkphy\+\_\+funcs}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/d2e/tdkphy_8c_a991263150cabd8200326cbe572b2c275_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tdkphy_8c_ae2a08e5428db9380ba5b7d826c9cd591}\label{tdkphy_8c_ae2a08e5428db9380ba5b7d826c9cd591}} 
\index{tdkphy.c@{tdkphy.c}!tdkphy\_probe@{tdkphy\_probe}}
\index{tdkphy\_probe@{tdkphy\_probe}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{tdkphy\_probe()}{tdkphy\_probe()}}
{\footnotesize\ttfamily static int tdkphy\+\_\+probe (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{tdkphy_8c_source_l00104}{104}} of file \mbox{\hyperlink{tdkphy_8c_source}{tdkphy.\+c}}.



References \mbox{\hyperlink{mii__physubr_8c_source_l00573}{mii\+\_\+phy\+\_\+dev\+\_\+probe()}}, and \mbox{\hyperlink{tdkphy_8c_source_l00092}{tdkphys}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/d2e/tdkphy_8c_ae2a08e5428db9380ba5b7d826c9cd591_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tdkphy_8c_a5199c002e433980217b16c456764f773}\label{tdkphy_8c_a5199c002e433980217b16c456764f773}} 
\index{tdkphy.c@{tdkphy.c}!tdkphy\_service@{tdkphy\_service}}
\index{tdkphy\_service@{tdkphy\_service}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{tdkphy\_service()}{tdkphy\_service()}}
{\footnotesize\ttfamily static int tdkphy\+\_\+service (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmii__softc}{mii\+\_\+softc}} $\ast$}]{sc,  }\item[{struct \mbox{\hyperlink{structmii__data}{mii\+\_\+data}} $\ast$}]{mii,  }\item[{int}]{cmd }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{tdkphy_8c_source_l00119}{119}} of file \mbox{\hyperlink{tdkphy_8c_source}{tdkphy.\+c}}.



References \mbox{\hyperlink{mii_8h_source_l00060}{BMCR\+\_\+\+FDX}}, \mbox{\hyperlink{mii_8h_source_l00052}{MII\+\_\+\+BMCR}}, \mbox{\hyperlink{miivar_8h_source_l00078}{mii\+\_\+data\+::mii\+\_\+media\+\_\+active}}, \mbox{\hyperlink{miivar_8h_source_l00095}{MII\+\_\+\+MEDIACHG}}, \mbox{\hyperlink{miivar_8h_source_l00119}{mii\+\_\+softc\+::mii\+\_\+pdata}}, \mbox{\hyperlink{mii__physubr_8c_source_l00123}{mii\+\_\+phy\+\_\+setmedia()}}, \mbox{\hyperlink{mii__physubr_8c_source_l00291}{mii\+\_\+phy\+\_\+tick()}}, \mbox{\hyperlink{mii__physubr_8c_source_l00364}{mii\+\_\+phy\+\_\+update()}}, \mbox{\hyperlink{miivar_8h_source_l00096}{MII\+\_\+\+POLLSTAT}}, \mbox{\hyperlink{miivar_8h_source_l00094}{MII\+\_\+\+TICK}}, \mbox{\hyperlink{miivar_8h_source_l00239}{PHY\+\_\+\+READ}}, \mbox{\hyperlink{miivar_8h_source_l00248}{PHY\+\_\+\+STATUS}}, and \mbox{\hyperlink{miivar_8h_source_l00242}{PHY\+\_\+\+WRITE}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/d2e/tdkphy_8c_a5199c002e433980217b16c456764f773_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tdkphy_8c_a874856e0e6495bc79ac5bebe793a6fae}\label{tdkphy_8c_a874856e0e6495bc79ac5bebe793a6fae}} 
\index{tdkphy.c@{tdkphy.c}!tdkphy\_status@{tdkphy\_status}}
\index{tdkphy\_status@{tdkphy\_status}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{tdkphy\_status()}{tdkphy\_status()}}
{\footnotesize\ttfamily static void tdkphy\+\_\+status (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmii__softc}{mii\+\_\+softc}} $\ast$}]{phy }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{tdkphy_8c_source_l00149}{149}} of file \mbox{\hyperlink{tdkphy_8c_source}{tdkphy.\+c}}.



References \mbox{\hyperlink{mii_8h_source_l00147}{ANLPAR\+\_\+10}}, \mbox{\hyperlink{mii_8h_source_l00146}{ANLPAR\+\_\+10\+\_\+\+FD}}, \mbox{\hyperlink{mii_8h_source_l00143}{ANLPAR\+\_\+\+T4}}, \mbox{\hyperlink{mii_8h_source_l00145}{ANLPAR\+\_\+\+TX}}, \mbox{\hyperlink{mii_8h_source_l00144}{ANLPAR\+\_\+\+TX\+\_\+\+FD}}, \mbox{\hyperlink{mii_8h_source_l00056}{BMCR\+\_\+\+AUTOEN}}, \mbox{\hyperlink{mii_8h_source_l00058}{BMCR\+\_\+\+ISO}}, \mbox{\hyperlink{mii_8h_source_l00054}{BMCR\+\_\+\+LOOP}}, \mbox{\hyperlink{mii_8h_source_l00080}{BMSR\+\_\+\+ACOMP}}, \mbox{\hyperlink{mii_8h_source_l00083}{BMSR\+\_\+\+LINK}}, \mbox{\hyperlink{tdkphyreg_8h_source_l00079}{DIAG\+\_\+\+DUPLEX}}, \mbox{\hyperlink{tdkphyreg_8h_source_l00080}{DIAG\+\_\+\+NEGFAIL}}, \mbox{\hyperlink{tdkphyreg_8h_source_l00078}{DIAG\+\_\+\+RATE\+\_\+100}}, \mbox{\hyperlink{mii_8h_source_l00111}{MII\+\_\+\+ANAR}}, \mbox{\hyperlink{mii_8h_source_l00137}{MII\+\_\+\+ANLPAR}}, \mbox{\hyperlink{mii_8h_source_l00052}{MII\+\_\+\+BMCR}}, \mbox{\hyperlink{mii_8h_source_l00070}{MII\+\_\+\+BMSR}}, \mbox{\hyperlink{tdkphyreg_8h_source_l00075}{MII\+\_\+\+DIAG}}, \mbox{\hyperlink{miivar_8h_source_l00063}{mii\+\_\+data\+::mii\+\_\+media}}, \mbox{\hyperlink{miivar_8h_source_l00078}{mii\+\_\+data\+::mii\+\_\+media\+\_\+active}}, \mbox{\hyperlink{miivar_8h_source_l00077}{mii\+\_\+data\+::mii\+\_\+media\+\_\+status}}, \mbox{\hyperlink{mii__physubr_8c_source_l00668}{mii\+\_\+phy\+\_\+flowstatus()}}, \mbox{\hyperlink{miibus__if_8m_source_l00012}{phy}}, and \mbox{\hyperlink{miivar_8h_source_l00239}{PHY\+\_\+\+READ}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=313pt]{d7/d2e/tdkphy_8c_a874856e0e6495bc79ac5bebe793a6fae_cgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{tdkphy_8c_a2ee5b9cd505e90956b9921fcc956e892}\label{tdkphy_8c_a2ee5b9cd505e90956b9921fcc956e892}} 
\index{tdkphy.c@{tdkphy.c}!tdkphy\_devclass@{tdkphy\_devclass}}
\index{tdkphy\_devclass@{tdkphy\_devclass}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{tdkphy\_devclass}{tdkphy\_devclass}}
{\footnotesize\ttfamily devclass\+\_\+t tdkphy\+\_\+devclass\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{tdkphy_8c_source_l00079}{79}} of file \mbox{\hyperlink{tdkphy_8c_source}{tdkphy.\+c}}.

\mbox{\Hypertarget{tdkphy_8c_af43a08c7797d0010a44d0084e71e7113}\label{tdkphy_8c_af43a08c7797d0010a44d0084e71e7113}} 
\index{tdkphy.c@{tdkphy.c}!tdkphy\_driver@{tdkphy\_driver}}
\index{tdkphy\_driver@{tdkphy\_driver}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{tdkphy\_driver}{tdkphy\_driver}}
{\footnotesize\ttfamily driver\+\_\+t tdkphy\+\_\+driver\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}tdkphy"{}},}
\DoxyCodeLine{        \mbox{\hyperlink{tdkphy_8c_aebc0d6ab812056e505f6a2a73864790f}{tdkphy\_methods}},}
\DoxyCodeLine{        \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structmii__softc}{mii\_softc}})}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{tdkphy_8c_source_l00081}{81}} of file \mbox{\hyperlink{tdkphy_8c_source}{tdkphy.\+c}}.

\mbox{\Hypertarget{tdkphy_8c_a9ac8e9fc662ff6c584fe406e242f14d7}\label{tdkphy_8c_a9ac8e9fc662ff6c584fe406e242f14d7}} 
\index{tdkphy.c@{tdkphy.c}!tdkphy\_funcs@{tdkphy\_funcs}}
\index{tdkphy\_funcs@{tdkphy\_funcs}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{tdkphy\_funcs}{tdkphy\_funcs}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structmii__phy__funcs}{mii\+\_\+phy\+\_\+funcs}} tdkphy\+\_\+funcs\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \mbox{\hyperlink{tdkphy_8c_a5199c002e433980217b16c456764f773}{tdkphy\_service}},}
\DoxyCodeLine{        \mbox{\hyperlink{tdkphy_8c_a874856e0e6495bc79ac5bebe793a6fae}{tdkphy\_status}},}
\DoxyCodeLine{        \mbox{\hyperlink{mii__physubr_8c_ac21db38f2acb040663be6eac5468eaa2}{mii\_phy\_reset}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{tdkphy_8c_source_l00097}{97}} of file \mbox{\hyperlink{tdkphy_8c_source}{tdkphy.\+c}}.



Referenced by \mbox{\hyperlink{tdkphy_8c_source_l00111}{tdkphy\+\_\+attach()}}.

\mbox{\Hypertarget{tdkphy_8c_aebc0d6ab812056e505f6a2a73864790f}\label{tdkphy_8c_aebc0d6ab812056e505f6a2a73864790f}} 
\index{tdkphy.c@{tdkphy.c}!tdkphy\_methods@{tdkphy\_methods}}
\index{tdkphy\_methods@{tdkphy\_methods}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{tdkphy\_methods}{tdkphy\_methods}}
{\footnotesize\ttfamily device\+\_\+method\+\_\+t tdkphy\+\_\+methods\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        }
\DoxyCodeLine{        DEVMETHOD(device\_probe,         \mbox{\hyperlink{tdkphy_8c_ae2a08e5428db9380ba5b7d826c9cd591}{tdkphy\_probe}}),}
\DoxyCodeLine{        DEVMETHOD(device\_attach,        \mbox{\hyperlink{tdkphy_8c_a991263150cabd8200326cbe572b2c275}{tdkphy\_attach}}),}
\DoxyCodeLine{        DEVMETHOD(device\_detach,        \mbox{\hyperlink{mii__physubr_8c_af08a34e3932c19824be61fc41ee1083f}{mii\_phy\_detach}}),}
\DoxyCodeLine{        DEVMETHOD(device\_shutdown,      bus\_generic\_shutdown),}
\DoxyCodeLine{        DEVMETHOD\_END}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{tdkphy_8c_source_l00070}{70}} of file \mbox{\hyperlink{tdkphy_8c_source}{tdkphy.\+c}}.

\mbox{\Hypertarget{tdkphy_8c_a3ea4553cec6ac256c6274f72039f2093}\label{tdkphy_8c_a3ea4553cec6ac256c6274f72039f2093}} 
\index{tdkphy.c@{tdkphy.c}!tdkphys@{tdkphys}}
\index{tdkphys@{tdkphys}!tdkphy.c@{tdkphy.c}}
\doxysubsubsection{\texorpdfstring{tdkphys}{tdkphys}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structmii__phydesc}{mii\+\_\+phydesc}} tdkphys\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \mbox{\hyperlink{miivar_8h_ae87ddbe9ffefd4caca54be68c7b281fc}{MII\_PHY\_DESC}}(xxTSC, 78Q2120),}
\DoxyCodeLine{        \mbox{\hyperlink{miivar_8h_a4cc657798701d214afbeff2b27c5083d}{MII\_PHY\_END}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{tdkphy_8c_source_l00092}{92}} of file \mbox{\hyperlink{tdkphy_8c_source}{tdkphy.\+c}}.



Referenced by \mbox{\hyperlink{tdkphy_8c_source_l00104}{tdkphy\+\_\+probe()}}.

