\hypertarget{dwc3_8c}{}\doxysection{dev/usb/controller/dwc3.c File Reference}
\label{dwc3_8c}\index{dev/usb/controller/dwc3.c@{dev/usb/controller/dwc3.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/bus.\+h$>$}\newline
{\ttfamily \#include $<$sys/rman.\+h$>$}\newline
{\ttfamily \#include $<$sys/condvar.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/module.\+h$>$}\newline
{\ttfamily \#include $<$sys/gpio.\+h$>$}\newline
{\ttfamily \#include $<$machine/bus.\+h$>$}\newline
{\ttfamily \#include $<$dev/fdt/simplebus.\+h$>$}\newline
{\ttfamily \#include $<$dev/fdt/fdt\+\_\+common.\+h$>$}\newline
{\ttfamily \#include $<$dev/ofw/ofw\+\_\+bus.\+h$>$}\newline
{\ttfamily \#include $<$dev/ofw/ofw\+\_\+bus\+\_\+subr.\+h$>$}\newline
{\ttfamily \#include $<$dev/ofw/ofw\+\_\+subr.\+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/xhci.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/controller/dwc3.\+h$>$}\newline
{\ttfamily \#include $<$dev/extres/clk/clk.\+h$>$}\newline
{\ttfamily \#include $<$dev/extres/phy/phy\+\_\+usb.\+h$>$}\newline
{\ttfamily \#include \char`\"{}generic\+\_\+xhci.\+h\char`\"{}}\newline
Include dependency graph for dwc3.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d8a/dwc3_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structsnps__dwc3__softc}{snps\+\_\+dwc3\+\_\+softc}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{dwc3_8c_af9b5f577c2c88f27a653230e5507625a}{DWC3\+\_\+\+WRITE}}(\+\_\+sc,  \+\_\+off,  \+\_\+val)~    bus\+\_\+space\+\_\+write\+\_\+4(\+\_\+sc-\/$>$bst, \+\_\+sc-\/$>$bsh, \+\_\+off, \+\_\+val)
\item 
\#define \mbox{\hyperlink{dwc3_8c_ae47dd95bb5d66d41a1c98ed27939ea1b}{DWC3\+\_\+\+READ}}(\+\_\+sc,  \+\_\+off)~    bus\+\_\+space\+\_\+read\+\_\+4(\+\_\+sc-\/$>$bst, \+\_\+sc-\/$>$bsh, \+\_\+off)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{dwc3_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static int \mbox{\hyperlink{dwc3_8c_aced7b6e52ff36a1e873e922865944f42}{snps\+\_\+dwc3\+\_\+attach\+\_\+xhci}} (device\+\_\+t \textbf{ dev})
\item 
static void \mbox{\hyperlink{dwc3_8c_a8f49582b05ad4469b4817a30b61085bd}{snps\+\_\+dwc3\+\_\+reset}} (struct \mbox{\hyperlink{structsnps__dwc3__softc}{snps\+\_\+dwc3\+\_\+softc}} $\ast$sc)
\item 
static void \mbox{\hyperlink{dwc3_8c_a4fce414c947c12b30f7c5773bb7e04b4}{snps\+\_\+dwc3\+\_\+configure\+\_\+host}} (struct \mbox{\hyperlink{structsnps__dwc3__softc}{snps\+\_\+dwc3\+\_\+softc}} $\ast$sc)
\item 
static void \mbox{\hyperlink{dwc3_8c_a2b18e4797b40cdaee8c5de39c9df7aea}{snps\+\_\+dwc3\+\_\+configure\+\_\+phy}} (struct \mbox{\hyperlink{structsnps__dwc3__softc}{snps\+\_\+dwc3\+\_\+softc}} $\ast$sc)
\item 
static void \mbox{\hyperlink{dwc3_8c_a11b17257ec6843eb9dcbb971e66695ee}{snps\+\_\+dwc3\+\_\+do\+\_\+quirks}} (struct \mbox{\hyperlink{structsnps__dwc3__softc}{snps\+\_\+dwc3\+\_\+softc}} $\ast$sc)
\item 
static int \mbox{\hyperlink{dwc3_8c_a943ecddd575dfcfe0284bbb44001b2eb}{snps\+\_\+dwc3\+\_\+probe}} (device\+\_\+t \textbf{ dev})
\item 
static int \mbox{\hyperlink{dwc3_8c_ab63886ae3744aba71209e0b1ccb5a1ae}{snps\+\_\+dwc3\+\_\+attach}} (device\+\_\+t \textbf{ dev})
\item 
\mbox{\hyperlink{dwc3_8c_ae9f720ad814d008a1f88ed49caffa033}{DRIVER\+\_\+\+MODULE}} (snps\+\_\+dwc3, simplebus, \mbox{\hyperlink{dwc3_8c_a7e7ff65b501660dac04ae8fe758219fc}{snps\+\_\+dwc3\+\_\+driver}}, \mbox{\hyperlink{dwc3_8c_a7c0bae0d1f6ed8acbcd41b7585c557ee}{snps\+\_\+dwc3\+\_\+devclass}}, 0, 0)
\item 
\mbox{\hyperlink{dwc3_8c_a101ad9a7272196e54a8182a8c6c67248}{MODULE\+\_\+\+DEPEND}} (snps\+\_\+dwc3, xhci, 1, 1, 1)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static struct ofw\+\_\+compat\+\_\+data \mbox{\hyperlink{dwc3_8c_ab1bb129b8c62d8033fbb3adf82f284a0}{compat\+\_\+data}} \mbox{[}$\,$\mbox{]}
\item 
static device\+\_\+method\+\_\+t \mbox{\hyperlink{dwc3_8c_aa775440ccd459d2c2fd5428420e98096}{snps\+\_\+dwc3\+\_\+methods}} \mbox{[}$\,$\mbox{]}
\item 
static driver\+\_\+t \mbox{\hyperlink{dwc3_8c_a7e7ff65b501660dac04ae8fe758219fc}{snps\+\_\+dwc3\+\_\+driver}}
\item 
static devclass\+\_\+t \mbox{\hyperlink{dwc3_8c_a7c0bae0d1f6ed8acbcd41b7585c557ee}{snps\+\_\+dwc3\+\_\+devclass}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{dwc3_8c_ae47dd95bb5d66d41a1c98ed27939ea1b}\label{dwc3_8c_ae47dd95bb5d66d41a1c98ed27939ea1b}} 
\index{dwc3.c@{dwc3.c}!DWC3\_READ@{DWC3\_READ}}
\index{DWC3\_READ@{DWC3\_READ}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{DWC3\_READ}{DWC3\_READ}}
{\footnotesize\ttfamily \#define DWC3\+\_\+\+READ(\begin{DoxyParamCaption}\item[{}]{\+\_\+sc,  }\item[{}]{\+\_\+off }\end{DoxyParamCaption})~    bus\+\_\+space\+\_\+read\+\_\+4(\+\_\+sc-\/$>$bst, \+\_\+sc-\/$>$bsh, \+\_\+off)}



Definition at line \mbox{\hyperlink{dwc3_8c_source_l00087}{87}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.

\mbox{\Hypertarget{dwc3_8c_af9b5f577c2c88f27a653230e5507625a}\label{dwc3_8c_af9b5f577c2c88f27a653230e5507625a}} 
\index{dwc3.c@{dwc3.c}!DWC3\_WRITE@{DWC3\_WRITE}}
\index{DWC3\_WRITE@{DWC3\_WRITE}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{DWC3\_WRITE}{DWC3\_WRITE}}
{\footnotesize\ttfamily \#define DWC3\+\_\+\+WRITE(\begin{DoxyParamCaption}\item[{}]{\+\_\+sc,  }\item[{}]{\+\_\+off,  }\item[{}]{\+\_\+val }\end{DoxyParamCaption})~    bus\+\_\+space\+\_\+write\+\_\+4(\+\_\+sc-\/$>$bst, \+\_\+sc-\/$>$bsh, \+\_\+off, \+\_\+val)}



Definition at line \mbox{\hyperlink{dwc3_8c_source_l00085}{85}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.



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

\mbox{\Hypertarget{dwc3_8c_ae9f720ad814d008a1f88ed49caffa033}\label{dwc3_8c_ae9f720ad814d008a1f88ed49caffa033}} 
\index{dwc3.c@{dwc3.c}!DRIVER\_MODULE@{DRIVER\_MODULE}}
\index{DRIVER\_MODULE@{DRIVER\_MODULE}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{DRIVER\_MODULE()}{DRIVER\_MODULE()}}
{\footnotesize\ttfamily DRIVER\+\_\+\+MODULE (\begin{DoxyParamCaption}\item[{snps\+\_\+dwc3}]{,  }\item[{simplebus}]{,  }\item[{\mbox{\hyperlink{dwc3_8c_a7e7ff65b501660dac04ae8fe758219fc}{snps\+\_\+dwc3\+\_\+driver}}}]{,  }\item[{\mbox{\hyperlink{dwc3_8c_a7c0bae0d1f6ed8acbcd41b7585c557ee}{snps\+\_\+dwc3\+\_\+devclass}}}]{,  }\item[{0}]{,  }\item[{0}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{dwc3_8c_a101ad9a7272196e54a8182a8c6c67248}\label{dwc3_8c_a101ad9a7272196e54a8182a8c6c67248}} 
\index{dwc3.c@{dwc3.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{snps\+\_\+dwc3}]{,  }\item[{xhci}]{,  }\item[{1}]{,  }\item[{1}]{,  }\item[{1}]{ }\end{DoxyParamCaption})}

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



Definition at line \mbox{\hyperlink{dwc3_8c_source_l00300}{300}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.



References \mbox{\hyperlink{dwc3_8c_source_l00075}{snps\+\_\+dwc3\+\_\+softc\+::dev}}, \mbox{\hyperlink{dwc3_8h_source_l00053}{DWC3\+\_\+\+GSNPSID}}, \mbox{\hyperlink{dwc3_8c_source_l00087}{DWC3\+\_\+\+READ}}, \textbf{ rid}, \mbox{\hyperlink{dwc3_8c_source_l00074}{snps\+\_\+dwc3\+\_\+softc\+::sc}}, \mbox{\hyperlink{dwc3_8c_source_l00091}{snps\+\_\+dwc3\+\_\+attach\+\_\+xhci()}}, \mbox{\hyperlink{dwc3_8c_source_l00205}{snps\+\_\+dwc3\+\_\+configure\+\_\+host()}}, \mbox{\hyperlink{dwc3_8c_source_l00216}{snps\+\_\+dwc3\+\_\+configure\+\_\+phy()}}, \mbox{\hyperlink{dwc3_8c_source_l00242}{snps\+\_\+dwc3\+\_\+do\+\_\+quirks()}}, and \mbox{\hyperlink{dwc3_8c_source_l00170}{snps\+\_\+dwc3\+\_\+reset()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d0d/dwc3_8c_ab63886ae3744aba71209e0b1ccb5a1ae_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{dwc3_8c_aced7b6e52ff36a1e873e922865944f42}\label{dwc3_8c_aced7b6e52ff36a1e873e922865944f42}} 
\index{dwc3.c@{dwc3.c}!snps\_dwc3\_attach\_xhci@{snps\_dwc3\_attach\_xhci}}
\index{snps\_dwc3\_attach\_xhci@{snps\_dwc3\_attach\_xhci}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{snps\_dwc3\_attach\_xhci()}{snps\_dwc3\_attach\_xhci()}}
{\footnotesize\ttfamily static int snps\+\_\+dwc3\+\_\+attach\+\_\+xhci (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{dwc3_8c_source_l00091}{91}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.



References \mbox{\hyperlink{usb__bus_8h_source_l00101}{usb\+\_\+bus\+::bdev}}, \mbox{\hyperlink{dwc3_8c_source_l00079}{snps\+\_\+dwc3\+\_\+softc\+::bsh}}, \mbox{\hyperlink{dwc3_8c_source_l00078}{snps\+\_\+dwc3\+\_\+softc\+::bst}}, \mbox{\hyperlink{dwc3_8c_source_l00075}{snps\+\_\+dwc3\+\_\+softc\+::dev}}, \textbf{ dev}, \mbox{\hyperlink{dwc3_8c_source_l00077}{snps\+\_\+dwc3\+\_\+softc\+::mem\+\_\+res}}, \textbf{ rid}, \mbox{\hyperlink{dwc3_8c_source_l00074}{snps\+\_\+dwc3\+\_\+softc\+::sc}}, \mbox{\hyperlink{xhci_8h_source_l00493}{xhci\+\_\+softc\+::sc\+\_\+bus}}, \mbox{\hyperlink{xhci_8h_source_l00511}{xhci\+\_\+softc\+::sc\+\_\+intr\+\_\+hdl}}, \mbox{\hyperlink{xhci_8h_source_l00514}{xhci\+\_\+softc\+::sc\+\_\+io\+\_\+hdl}}, \mbox{\hyperlink{xhci_8h_source_l00507}{xhci\+\_\+softc\+::sc\+\_\+io\+\_\+res}}, \mbox{\hyperlink{xhci_8h_source_l00512}{xhci\+\_\+softc\+::sc\+\_\+io\+\_\+size}}, \mbox{\hyperlink{xhci_8h_source_l00513}{xhci\+\_\+softc\+::sc\+\_\+io\+\_\+tag}}, \mbox{\hyperlink{xhci_8h_source_l00508}{xhci\+\_\+softc\+::sc\+\_\+irq\+\_\+res}}, \mbox{\hyperlink{xhci_8h_source_l00565}{xhci\+\_\+softc\+::sc\+\_\+vendor}}, \mbox{\hyperlink{xhci_8c_source_l00511}{xhci\+\_\+init()}}, \mbox{\hyperlink{xhci_8c_source_l01603}{xhci\+\_\+interrupt()}}, and \mbox{\hyperlink{xhci_8c_source_l00304}{xhci\+\_\+start\+\_\+controller()}}.



Referenced by \mbox{\hyperlink{dwc3_8c_source_l00300}{snps\+\_\+dwc3\+\_\+attach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d0d/dwc3_8c_aced7b6e52ff36a1e873e922865944f42_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d0d/dwc3_8c_aced7b6e52ff36a1e873e922865944f42_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{dwc3_8c_a4fce414c947c12b30f7c5773bb7e04b4}\label{dwc3_8c_a4fce414c947c12b30f7c5773bb7e04b4}} 
\index{dwc3.c@{dwc3.c}!snps\_dwc3\_configure\_host@{snps\_dwc3\_configure\_host}}
\index{snps\_dwc3\_configure\_host@{snps\_dwc3\_configure\_host}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{snps\_dwc3\_configure\_host()}{snps\_dwc3\_configure\_host()}}
{\footnotesize\ttfamily static void snps\+\_\+dwc3\+\_\+configure\+\_\+host (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsnps__dwc3__softc}{snps\+\_\+dwc3\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{dwc3_8c_source_l00205}{205}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.



References \mbox{\hyperlink{dwc3_8h_source_l00040}{DWC3\+\_\+\+GCTL}}, \mbox{\hyperlink{dwc3_8h_source_l00042}{DWC3\+\_\+\+GCTL\+\_\+\+PRTCAPDIR\+\_\+\+HOST}}, \mbox{\hyperlink{dwc3_8c_source_l00087}{DWC3\+\_\+\+READ}}, \mbox{\hyperlink{dwc3_8c_source_l00085}{DWC3\+\_\+\+WRITE}}, and \mbox{\hyperlink{if__rum_8c_source_l00283}{reg}}.



Referenced by \mbox{\hyperlink{dwc3_8c_source_l00300}{snps\+\_\+dwc3\+\_\+attach()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d0d/dwc3_8c_a4fce414c947c12b30f7c5773bb7e04b4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{dwc3_8c_a2b18e4797b40cdaee8c5de39c9df7aea}\label{dwc3_8c_a2b18e4797b40cdaee8c5de39c9df7aea}} 
\index{dwc3.c@{dwc3.c}!snps\_dwc3\_configure\_phy@{snps\_dwc3\_configure\_phy}}
\index{snps\_dwc3\_configure\_phy@{snps\_dwc3\_configure\_phy}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{snps\_dwc3\_configure\_phy()}{snps\_dwc3\_configure\_phy()}}
{\footnotesize\ttfamily static void snps\+\_\+dwc3\+\_\+configure\+\_\+phy (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsnps__dwc3__softc}{snps\+\_\+dwc3\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{dwc3_8c_source_l00216}{216}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.



References \mbox{\hyperlink{dwc3_8h_source_l00079}{DWC3\+\_\+\+GUSB2\+PHYCFG0}}, \mbox{\hyperlink{dwc3_8h_source_l00089}{DWC3\+\_\+\+GUSB2\+PHYCFG0\+\_\+\+PHYIF}}, \mbox{\hyperlink{dwc3_8h_source_l00082}{DWC3\+\_\+\+GUSB2\+PHYCFG0\+\_\+\+USBTRDTIM}}, \mbox{\hyperlink{dwc3_8h_source_l00084}{DWC3\+\_\+\+GUSB2\+PHYCFG0\+\_\+\+USBTRDTIM\+\_\+16\+BITS}}, \mbox{\hyperlink{dwc3_8h_source_l00083}{DWC3\+\_\+\+GUSB2\+PHYCFG0\+\_\+\+USBTRDTIM\+\_\+8\+BITS}}, \mbox{\hyperlink{dwc3_8c_source_l00087}{DWC3\+\_\+\+READ}}, \mbox{\hyperlink{dwc3_8c_source_l00085}{DWC3\+\_\+\+WRITE}}, \mbox{\hyperlink{dwc3_8c_source_l00080}{snps\+\_\+dwc3\+\_\+softc\+::node}}, and \mbox{\hyperlink{if__rum_8c_source_l00283}{reg}}.



Referenced by \mbox{\hyperlink{dwc3_8c_source_l00300}{snps\+\_\+dwc3\+\_\+attach()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d0d/dwc3_8c_a2b18e4797b40cdaee8c5de39c9df7aea_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{dwc3_8c_a11b17257ec6843eb9dcbb971e66695ee}\label{dwc3_8c_a11b17257ec6843eb9dcbb971e66695ee}} 
\index{dwc3.c@{dwc3.c}!snps\_dwc3\_do\_quirks@{snps\_dwc3\_do\_quirks}}
\index{snps\_dwc3\_do\_quirks@{snps\_dwc3\_do\_quirks}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{snps\_dwc3\_do\_quirks()}{snps\_dwc3\_do\_quirks()}}
{\footnotesize\ttfamily static void snps\+\_\+dwc3\+\_\+do\+\_\+quirks (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsnps__dwc3__softc}{snps\+\_\+dwc3\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{dwc3_8c_source_l00242}{242}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.



References \mbox{\hyperlink{dwc3_8h_source_l00050}{DWC3\+\_\+\+GUCTL1}}, \mbox{\hyperlink{dwc3_8h_source_l00051}{DWC3\+\_\+\+GUCTL1\+\_\+\+TX\+\_\+\+IPGAP\+\_\+\+LINECHECK\+\_\+\+DIS}}, \mbox{\hyperlink{dwc3_8h_source_l00079}{DWC3\+\_\+\+GUSB2\+PHYCFG0}}, \mbox{\hyperlink{dwc3_8h_source_l00085}{DWC3\+\_\+\+GUSB2\+PHYCFG0\+\_\+\+ENBLSLPM}}, \mbox{\hyperlink{dwc3_8h_source_l00087}{DWC3\+\_\+\+GUSB2\+PHYCFG0\+\_\+\+SUSPENDUSB20}}, \mbox{\hyperlink{dwc3_8h_source_l00081}{DWC3\+\_\+\+GUSB2\+PHYCFG0\+\_\+\+U2\+\_\+\+FREECLK\+\_\+\+EXISTS}}, \mbox{\hyperlink{dwc3_8h_source_l00091}{DWC3\+\_\+\+GUSB3\+PIPECTL0}}, \mbox{\hyperlink{dwc3_8h_source_l00094}{DWC3\+\_\+\+GUSB3\+PIPECTL0\+\_\+\+DELAYP1\+TRANS}}, \mbox{\hyperlink{dwc3_8h_source_l00093}{DWC3\+\_\+\+GUSB3\+PIPECTL0\+\_\+\+DISRXDETINP3}}, \mbox{\hyperlink{dwc3_8c_source_l00087}{DWC3\+\_\+\+READ}}, \mbox{\hyperlink{dwc3_8c_source_l00085}{DWC3\+\_\+\+WRITE}}, \mbox{\hyperlink{dwc3_8c_source_l00080}{snps\+\_\+dwc3\+\_\+softc\+::node}}, and \mbox{\hyperlink{if__rum_8c_source_l00283}{reg}}.



Referenced by \mbox{\hyperlink{dwc3_8c_source_l00300}{snps\+\_\+dwc3\+\_\+attach()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=344pt]{d0/d0d/dwc3_8c_a11b17257ec6843eb9dcbb971e66695ee_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{dwc3_8c_a943ecddd575dfcfe0284bbb44001b2eb}\label{dwc3_8c_a943ecddd575dfcfe0284bbb44001b2eb}} 
\index{dwc3.c@{dwc3.c}!snps\_dwc3\_probe@{snps\_dwc3\_probe}}
\index{snps\_dwc3\_probe@{snps\_dwc3\_probe}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{snps\_dwc3\_probe()}{snps\_dwc3\_probe()}}
{\footnotesize\ttfamily static int snps\+\_\+dwc3\+\_\+probe (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{dwc3_8c_source_l00277}{277}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.



References \mbox{\hyperlink{dwc3_8c_source_l00068}{compat\+\_\+data}}, \mbox{\hyperlink{dwc3_8c_source_l00075}{snps\+\_\+dwc3\+\_\+softc\+::dev}}, and \mbox{\hyperlink{dwc3_8c_source_l00074}{snps\+\_\+dwc3\+\_\+softc\+::sc}}.

\mbox{\Hypertarget{dwc3_8c_a8f49582b05ad4469b4817a30b61085bd}\label{dwc3_8c_a8f49582b05ad4469b4817a30b61085bd}} 
\index{dwc3.c@{dwc3.c}!snps\_dwc3\_reset@{snps\_dwc3\_reset}}
\index{snps\_dwc3\_reset@{snps\_dwc3\_reset}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{snps\_dwc3\_reset()}{snps\_dwc3\_reset()}}
{\footnotesize\ttfamily static void snps\+\_\+dwc3\+\_\+reset (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsnps__dwc3__softc}{snps\+\_\+dwc3\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{dwc3_8c_source_l00170}{170}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.



References \mbox{\hyperlink{dwc3_8h_source_l00040}{DWC3\+\_\+\+GCTL}}, \mbox{\hyperlink{dwc3_8h_source_l00044}{DWC3\+\_\+\+GCTL\+\_\+\+CORESOFTRESET}}, \mbox{\hyperlink{dwc3_8h_source_l00079}{DWC3\+\_\+\+GUSB2\+PHYCFG0}}, \mbox{\hyperlink{dwc3_8h_source_l00080}{DWC3\+\_\+\+GUSB2\+PHYCFG0\+\_\+\+PHYSOFTRST}}, \mbox{\hyperlink{dwc3_8h_source_l00091}{DWC3\+\_\+\+GUSB3\+PIPECTL0}}, \mbox{\hyperlink{dwc3_8h_source_l00092}{DWC3\+\_\+\+GUSB3\+PIPECTL0\+\_\+\+PHYSOFTRST}}, \mbox{\hyperlink{dwc3_8c_source_l00087}{DWC3\+\_\+\+READ}}, \mbox{\hyperlink{dwc3_8c_source_l00085}{DWC3\+\_\+\+WRITE}}, \mbox{\hyperlink{dwc3_8c_source_l00081}{snps\+\_\+dwc3\+\_\+softc\+::usb2\+\_\+phy}}, and \mbox{\hyperlink{dwc3_8c_source_l00082}{snps\+\_\+dwc3\+\_\+softc\+::usb3\+\_\+phy}}.



Referenced by \mbox{\hyperlink{dwc3_8c_source_l00300}{snps\+\_\+dwc3\+\_\+attach()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=322pt]{d0/d0d/dwc3_8c_a8f49582b05ad4469b4817a30b61085bd_icgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{dwc3_8c_ab1bb129b8c62d8033fbb3adf82f284a0}\label{dwc3_8c_ab1bb129b8c62d8033fbb3adf82f284a0}} 
\index{dwc3.c@{dwc3.c}!compat\_data@{compat\_data}}
\index{compat\_data@{compat\_data}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{compat\_data}{compat\_data}}
{\footnotesize\ttfamily struct ofw\+\_\+compat\+\_\+data compat\+\_\+data\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{ \textcolor{stringliteral}{"{}snps,dwc3"{}},  1 \},}
\DoxyCodeLine{        \{ NULL,         0 \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{dwc3_8c_source_l00068}{68}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.



Referenced by \mbox{\hyperlink{dwc3_8c_source_l00277}{snps\+\_\+dwc3\+\_\+probe()}}.

\mbox{\Hypertarget{dwc3_8c_a7c0bae0d1f6ed8acbcd41b7585c557ee}\label{dwc3_8c_a7c0bae0d1f6ed8acbcd41b7585c557ee}} 
\index{dwc3.c@{dwc3.c}!snps\_dwc3\_devclass@{snps\_dwc3\_devclass}}
\index{snps\_dwc3\_devclass@{snps\_dwc3\_devclass}!dwc3.c@{dwc3.c}}
\doxysubsubsection{\texorpdfstring{snps\_dwc3\_devclass}{snps\_dwc3\_devclass}}
{\footnotesize\ttfamily devclass\+\_\+t snps\+\_\+dwc3\+\_\+devclass\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{dwc3_8c_source_l00350}{350}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}xhci"{}},}
\DoxyCodeLine{        \mbox{\hyperlink{dwc3_8c_aa775440ccd459d2c2fd5428420e98096}{snps\_dwc3\_methods}},}
\DoxyCodeLine{        \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structsnps__dwc3__softc}{snps\_dwc3\_softc}})}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{dwc3_8c_source_l00344}{344}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        }
\DoxyCodeLine{        DEVMETHOD(device\_probe,         \mbox{\hyperlink{dwc3_8c_a943ecddd575dfcfe0284bbb44001b2eb}{snps\_dwc3\_probe}}),}
\DoxyCodeLine{        DEVMETHOD(device\_attach,        \mbox{\hyperlink{dwc3_8c_ab63886ae3744aba71209e0b1ccb5a1ae}{snps\_dwc3\_attach}}),}
\DoxyCodeLine{}
\DoxyCodeLine{        DEVMETHOD\_END}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{dwc3_8c_source_l00336}{336}} of file \mbox{\hyperlink{dwc3_8c_source}{dwc3.\+c}}.

