\hypertarget{generic__ehci__fdt_8c}{}\doxysection{dev/usb/controller/generic\+\_\+ehci\+\_\+fdt.c File Reference}
\label{generic__ehci__fdt_8c}\index{dev/usb/controller/generic\_ehci\_fdt.c@{dev/usb/controller/generic\_ehci\_fdt.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include \char`\"{}opt\+\_\+bus.\+h\char`\"{}}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/bus.\+h$>$}\newline
{\ttfamily \#include $<$sys/condvar.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/module.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbdi.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+core.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+busdma.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+process.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+controller.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+bus.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/controller/ehci.\+h$>$}\newline
{\ttfamily \#include $<$dev/fdt/fdt\+\_\+common.\+h$>$}\newline
{\ttfamily \#include $<$dev/ofw/openfirm.\+h$>$}\newline
{\ttfamily \#include $<$dev/ofw/ofw\+\_\+bus.\+h$>$}\newline
{\ttfamily \#include $<$dev/ofw/ofw\+\_\+bus\+\_\+subr.\+h$>$}\newline
{\ttfamily \#include $<$dev/extres/clk/clk.\+h$>$}\newline
{\ttfamily \#include $<$dev/extres/hwreset/hwreset.\+h$>$}\newline
{\ttfamily \#include $<$dev/extres/phy/phy.\+h$>$}\newline
{\ttfamily \#include $<$dev/extres/phy/phy\+\_\+usb.\+h$>$}\newline
{\ttfamily \#include \char`\"{}generic\+\_\+ehci.\+h\char`\"{}}\newline
Include dependency graph for generic\+\_\+ehci\+\_\+fdt.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/dac/generic__ehci__fdt_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structclk__list}{clk\+\_\+list}}
\item 
struct \mbox{\hyperlink{structhwrst__list}{hwrst\+\_\+list}}
\item 
struct \mbox{\hyperlink{structphy__list}{phy\+\_\+list}}
\item 
struct \mbox{\hyperlink{structgeneric__ehci__fdt__softc}{generic\+\_\+ehci\+\_\+fdt\+\_\+softc}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{generic__ehci__fdt_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static int \mbox{\hyperlink{generic__ehci__fdt_8c_ab581f1cc425a0b7619cbbde84dffd8f4}{generic\+\_\+ehci\+\_\+fdt\+\_\+probe}} (device\+\_\+t self)
\item 
static int \mbox{\hyperlink{generic__ehci__fdt_8c_a7807362cb4ebf65f20f3710c39d395ea}{generic\+\_\+ehci\+\_\+fdt\+\_\+attach}} (device\+\_\+t \textbf{ dev})
\item 
static int \mbox{\hyperlink{generic__ehci__fdt_8c_a3831b5198a27be524dc3a6dbd2b73ab8}{generic\+\_\+ehci\+\_\+fdt\+\_\+detach}} (device\+\_\+t \textbf{ dev})
\item 
\mbox{\hyperlink{generic__ehci__fdt_8c_a47e9292142add055e6f55eac66856af9}{DEFINE\+\_\+\+CLASS\+\_\+1}} (ehci, ehci\+\_\+fdt\+\_\+driver, \mbox{\hyperlink{generic__ehci__fdt_8c_a425d575111825845545fed590d4f6ae5}{ehci\+\_\+fdt\+\_\+methods}}, sizeof(\mbox{\hyperlink{ehci_8h_a08e7a4502c867321f396abeb2b62ba6d}{ehci\+\_\+softc\+\_\+t}}), \mbox{\hyperlink{generic__ehci_8h_aa62cc89e133382a274c6dcfd4ae45d64}{generic\+\_\+ehci\+\_\+driver}})
\item 
\mbox{\hyperlink{generic__ehci__fdt_8c_a2118b9e212687bd97b8715e24b2598fc}{DRIVER\+\_\+\+MODULE}} (generic\+\_\+ehci, simplebus, ehci\+\_\+fdt\+\_\+driver, \mbox{\hyperlink{generic__ehci__fdt_8c_af736a0b613467bd5719440d7900a5004}{ehci\+\_\+fdt\+\_\+devclass}}, 0, 0)
\item 
\mbox{\hyperlink{generic__ehci__fdt_8c_a7962b5d36985da91d53aa68385f651cd}{MODULE\+\_\+\+DEPEND}} (generic\+\_\+ehci, \mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}, 1, 1, 1)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static device\+\_\+probe\+\_\+t \mbox{\hyperlink{generic__ehci__fdt_8c_a73537d57ee730dcf24e07717f674ddcc}{generic\+\_\+ehci\+\_\+fdt\+\_\+probe}}
\item 
static device\+\_\+attach\+\_\+t \mbox{\hyperlink{generic__ehci__fdt_8c_ae32b764fc08b6cf8ec4d5c0975ebe969}{generic\+\_\+ehci\+\_\+fdt\+\_\+attach}}
\item 
static device\+\_\+detach\+\_\+t \mbox{\hyperlink{generic__ehci__fdt_8c_a5b42215885a3f51a6637433c788d81fc}{generic\+\_\+ehci\+\_\+fdt\+\_\+detach}}
\item 
static device\+\_\+method\+\_\+t \mbox{\hyperlink{generic__ehci__fdt_8c_a425d575111825845545fed590d4f6ae5}{ehci\+\_\+fdt\+\_\+methods}} \mbox{[}$\,$\mbox{]}
\item 
static devclass\+\_\+t \mbox{\hyperlink{generic__ehci__fdt_8c_af736a0b613467bd5719440d7900a5004}{ehci\+\_\+fdt\+\_\+devclass}}
\end{DoxyCompactItemize}


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

\mbox{\Hypertarget{generic__ehci__fdt_8c_a47e9292142add055e6f55eac66856af9}\label{generic__ehci__fdt_8c_a47e9292142add055e6f55eac66856af9}} 
\index{generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}!DEFINE\_CLASS\_1@{DEFINE\_CLASS\_1}}
\index{DEFINE\_CLASS\_1@{DEFINE\_CLASS\_1}!generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}}
\doxysubsubsection{\texorpdfstring{DEFINE\_CLASS\_1()}{DEFINE\_CLASS\_1()}}
{\footnotesize\ttfamily DEFINE\+\_\+\+CLASS\+\_\+1 (\begin{DoxyParamCaption}\item[{ehci}]{,  }\item[{ehci\+\_\+fdt\+\_\+driver}]{,  }\item[{\mbox{\hyperlink{generic__ehci__fdt_8c_a425d575111825845545fed590d4f6ae5}{ehci\+\_\+fdt\+\_\+methods}}}]{,  }\item[{sizeof(\mbox{\hyperlink{ehci_8h_a08e7a4502c867321f396abeb2b62ba6d}{ehci\+\_\+softc\+\_\+t}})}]{,  }\item[{\mbox{\hyperlink{generic__ehci_8h_aa62cc89e133382a274c6dcfd4ae45d64}{generic\+\_\+ehci\+\_\+driver}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{generic__ehci__fdt_8c_a2118b9e212687bd97b8715e24b2598fc}\label{generic__ehci__fdt_8c_a2118b9e212687bd97b8715e24b2598fc}} 
\index{generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}!DRIVER\_MODULE@{DRIVER\_MODULE}}
\index{DRIVER\_MODULE@{DRIVER\_MODULE}!generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}}
\doxysubsubsection{\texorpdfstring{DRIVER\_MODULE()}{DRIVER\_MODULE()}}
{\footnotesize\ttfamily DRIVER\+\_\+\+MODULE (\begin{DoxyParamCaption}\item[{generic\+\_\+ehci}]{,  }\item[{simplebus}]{,  }\item[{ehci\+\_\+fdt\+\_\+driver}]{,  }\item[{\mbox{\hyperlink{generic__ehci__fdt_8c_af736a0b613467bd5719440d7900a5004}{ehci\+\_\+fdt\+\_\+devclass}}}]{,  }\item[{0}]{,  }\item[{0}]{ }\end{DoxyParamCaption})}

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



Definition at line \mbox{\hyperlink{generic__ehci__fdt_8c_source_l00108}{108}} of file \mbox{\hyperlink{generic__ehci__fdt_8c_source}{generic\+\_\+ehci\+\_\+fdt.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{if__runreg_8h_a9f8f252ecb5b3fb46dafe827231faf70}{error}}, \mbox{\hyperlink{generic__ehci_8h_source_l00039}{generic\+\_\+ehci\+\_\+attach}}, \mbox{\hyperlink{generic__ehci__fdt_8c_source_l00091}{generic\+\_\+ehci\+\_\+fdt\+\_\+detach}}, and \mbox{\hyperlink{ehci_8h_source_l00029}{next}}.

\mbox{\Hypertarget{generic__ehci__fdt_8c_a3831b5198a27be524dc3a6dbd2b73ab8}\label{generic__ehci__fdt_8c_a3831b5198a27be524dc3a6dbd2b73ab8}} 
\index{generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}!generic\_ehci\_fdt\_detach@{generic\_ehci\_fdt\_detach}}
\index{generic\_ehci\_fdt\_detach@{generic\_ehci\_fdt\_detach}!generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}}
\doxysubsubsection{\texorpdfstring{generic\_ehci\_fdt\_detach()}{generic\_ehci\_fdt\_detach()}}
{\footnotesize\ttfamily static int generic\+\_\+ehci\+\_\+fdt\+\_\+detach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{generic__ehci__fdt_8c_source_l00179}{179}} of file \mbox{\hyperlink{generic__ehci__fdt_8c_source}{generic\+\_\+ehci\+\_\+fdt.\+c}}.



References \textbf{ dev}, \mbox{\hyperlink{generic__ehci_8h_source_l00040}{generic\+\_\+ehci\+\_\+detach}}, and \mbox{\hyperlink{ehci_8h_source_l00029}{next}}.

\mbox{\Hypertarget{generic__ehci__fdt_8c_ab581f1cc425a0b7619cbbde84dffd8f4}\label{generic__ehci__fdt_8c_ab581f1cc425a0b7619cbbde84dffd8f4}} 
\index{generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}!generic\_ehci\_fdt\_probe@{generic\_ehci\_fdt\_probe}}
\index{generic\_ehci\_fdt\_probe@{generic\_ehci\_fdt\_probe}!generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}}
\doxysubsubsection{\texorpdfstring{generic\_ehci\_fdt\_probe()}{generic\_ehci\_fdt\_probe()}}
{\footnotesize\ttfamily static int generic\+\_\+ehci\+\_\+fdt\+\_\+probe (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{self }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{generic__ehci__fdt_8c_source_l00094}{94}} of file \mbox{\hyperlink{generic__ehci__fdt_8c_source}{generic\+\_\+ehci\+\_\+fdt.\+c}}.

\mbox{\Hypertarget{generic__ehci__fdt_8c_a7962b5d36985da91d53aa68385f651cd}\label{generic__ehci__fdt_8c_a7962b5d36985da91d53aa68385f651cd}} 
\index{generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{generic\+\_\+ehci}]{,  }\item[{\mbox{\hyperlink{usb__if_8m_adfa3f6da9c4881e494b180c4ebb06470}{usb}}}]{,  }\item[{1}]{,  }\item[{1}]{,  }\item[{1}]{ }\end{DoxyParamCaption})}



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{generic__ehci__fdt_8c_af736a0b613467bd5719440d7900a5004}\label{generic__ehci__fdt_8c_af736a0b613467bd5719440d7900a5004}} 
\index{generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}!ehci\_fdt\_devclass@{ehci\_fdt\_devclass}}
\index{ehci\_fdt\_devclass@{ehci\_fdt\_devclass}!generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}}
\doxysubsubsection{\texorpdfstring{ehci\_fdt\_devclass}{ehci\_fdt\_devclass}}
{\footnotesize\ttfamily devclass\+\_\+t ehci\+\_\+fdt\+\_\+devclass\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{generic__ehci__fdt_8c_source_l00240}{240}} of file \mbox{\hyperlink{generic__ehci__fdt_8c_source}{generic\+\_\+ehci\+\_\+fdt.\+c}}.

\mbox{\Hypertarget{generic__ehci__fdt_8c_a425d575111825845545fed590d4f6ae5}\label{generic__ehci__fdt_8c_a425d575111825845545fed590d4f6ae5}} 
\index{generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}!ehci\_fdt\_methods@{ehci\_fdt\_methods}}
\index{ehci\_fdt\_methods@{ehci\_fdt\_methods}!generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}}
\doxysubsubsection{\texorpdfstring{ehci\_fdt\_methods}{ehci\_fdt\_methods}}
{\footnotesize\ttfamily device\+\_\+method\+\_\+t ehci\+\_\+fdt\+\_\+methods\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        }
\DoxyCodeLine{        DEVMETHOD(device\_probe,         \mbox{\hyperlink{generic__ehci__fdt_8c_a73537d57ee730dcf24e07717f674ddcc}{generic\_ehci\_fdt\_probe}}),}
\DoxyCodeLine{        DEVMETHOD(device\_attach,        \mbox{\hyperlink{generic__ehci__fdt_8c_ae32b764fc08b6cf8ec4d5c0975ebe969}{generic\_ehci\_fdt\_attach}}),}
\DoxyCodeLine{        DEVMETHOD(device\_detach,        \mbox{\hyperlink{generic__ehci__fdt_8c_a5b42215885a3f51a6637433c788d81fc}{generic\_ehci\_fdt\_detach}}),}
\DoxyCodeLine{}
\DoxyCodeLine{        DEVMETHOD\_END}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{generic__ehci__fdt_8c_source_l00228}{228}} of file \mbox{\hyperlink{generic__ehci__fdt_8c_source}{generic\+\_\+ehci\+\_\+fdt.\+c}}.

\mbox{\Hypertarget{generic__ehci__fdt_8c_ae32b764fc08b6cf8ec4d5c0975ebe969}\label{generic__ehci__fdt_8c_ae32b764fc08b6cf8ec4d5c0975ebe969}} 
\index{generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}!generic\_ehci\_fdt\_attach@{generic\_ehci\_fdt\_attach}}
\index{generic\_ehci\_fdt\_attach@{generic\_ehci\_fdt\_attach}!generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}}
\doxysubsubsection{\texorpdfstring{generic\_ehci\_fdt\_attach}{generic\_ehci\_fdt\_attach}}
{\footnotesize\ttfamily device\+\_\+attach\+\_\+t generic\+\_\+ehci\+\_\+fdt\+\_\+attach\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{generic__ehci__fdt_8c_source_l00090}{90}} of file \mbox{\hyperlink{generic__ehci__fdt_8c_source}{generic\+\_\+ehci\+\_\+fdt.\+c}}.

\mbox{\Hypertarget{generic__ehci__fdt_8c_a5b42215885a3f51a6637433c788d81fc}\label{generic__ehci__fdt_8c_a5b42215885a3f51a6637433c788d81fc}} 
\index{generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}!generic\_ehci\_fdt\_detach@{generic\_ehci\_fdt\_detach}}
\index{generic\_ehci\_fdt\_detach@{generic\_ehci\_fdt\_detach}!generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}}
\doxysubsubsection{\texorpdfstring{generic\_ehci\_fdt\_detach}{generic\_ehci\_fdt\_detach}}
{\footnotesize\ttfamily device\+\_\+detach\+\_\+t generic\+\_\+ehci\+\_\+fdt\+\_\+detach\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{generic__ehci__fdt_8c_source_l00091}{91}} of file \mbox{\hyperlink{generic__ehci__fdt_8c_source}{generic\+\_\+ehci\+\_\+fdt.\+c}}.



Referenced by \mbox{\hyperlink{generic__ehci__fdt_8c_source_l00108}{generic\+\_\+ehci\+\_\+fdt\+\_\+attach()}}.

\mbox{\Hypertarget{generic__ehci__fdt_8c_a73537d57ee730dcf24e07717f674ddcc}\label{generic__ehci__fdt_8c_a73537d57ee730dcf24e07717f674ddcc}} 
\index{generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}!generic\_ehci\_fdt\_probe@{generic\_ehci\_fdt\_probe}}
\index{generic\_ehci\_fdt\_probe@{generic\_ehci\_fdt\_probe}!generic\_ehci\_fdt.c@{generic\_ehci\_fdt.c}}
\doxysubsubsection{\texorpdfstring{generic\_ehci\_fdt\_probe}{generic\_ehci\_fdt\_probe}}
{\footnotesize\ttfamily device\+\_\+probe\+\_\+t generic\+\_\+ehci\+\_\+fdt\+\_\+probe\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{generic__ehci__fdt_8c_source_l00089}{89}} of file \mbox{\hyperlink{generic__ehci__fdt_8c_source}{generic\+\_\+ehci\+\_\+fdt.\+c}}.

