\hypertarget{e1000__nvm_8c}{}\doxysection{dev/e1000/e1000\+\_\+nvm.c File Reference}
\label{e1000__nvm_8c}\index{dev/e1000/e1000\_nvm.c@{dev/e1000/e1000\_nvm.c}}
{\ttfamily \#include \char`\"{}e1000\+\_\+api.\+h\char`\"{}}\newline
Include dependency graph for e1000\+\_\+nvm.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d21/e1000__nvm_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static void \mbox{\hyperlink{e1000__nvm_8c_a6cf2f625aa1fd3702d4c476a27fc7ac0}{e1000\+\_\+reload\+\_\+nvm\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw)
\item 
void \mbox{\hyperlink{e1000__nvm_8c_ae1ddc7a8846baed54958b7e9ae0134fb}{e1000\+\_\+init\+\_\+nvm\+\_\+ops\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a854c4eb7ef8215fbbc9b18140a587325}{e1000\+\_\+null\+\_\+read\+\_\+nvm}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} a, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} b, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$c)
\item 
void \mbox{\hyperlink{e1000__nvm_8c_a005c71ab5ed8b6b7335175eb5c048613}{e1000\+\_\+null\+\_\+nvm\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$hw)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a0cd552ac2ae4f58a2c214a53c04948b2}{e1000\+\_\+null\+\_\+led\+\_\+default}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$data)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a5b3ac4d8af03f6750dde529c274aa75a}{e1000\+\_\+null\+\_\+write\+\_\+nvm}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} a, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} b, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$c)
\item 
static void \mbox{\hyperlink{e1000__nvm_8c_a38eade06c369bb0942444d141f42a3e8}{e1000\+\_\+raise\+\_\+eec\+\_\+clk}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} $\ast$eecd)
\item 
static void \mbox{\hyperlink{e1000__nvm_8c_abede7a60885fbdd90a7715da2e2b5994}{e1000\+\_\+lower\+\_\+eec\+\_\+clk}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} $\ast$eecd)
\item 
static void \mbox{\hyperlink{e1000__nvm_8c_a0ad26b09b23d73e6804defd28ddec82f}{e1000\+\_\+shift\+\_\+out\+\_\+eec\+\_\+bits}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} data, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} count)
\item 
static \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__nvm_8c_abfbbeaa0bc7f08c5dc267c091db8987e}{e1000\+\_\+shift\+\_\+in\+\_\+eec\+\_\+bits}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} count)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_ac4473fca912767af8d39e5db83e1f28a}{e1000\+\_\+poll\+\_\+eerd\+\_\+eewr\+\_\+done}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, int ee\+\_\+reg)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_ad7de08f9543503fd0d5e4c378c5fe69a}{e1000\+\_\+acquire\+\_\+nvm\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw)
\item 
static void \mbox{\hyperlink{e1000__nvm_8c_a0c54e21e9d21703c8b97f99b4fd20d78}{e1000\+\_\+standby\+\_\+nvm}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw)
\item 
void \mbox{\hyperlink{e1000__nvm_8c_a471aabfcc466be3ceb1958fe885b10e5}{e1000\+\_\+stop\+\_\+nvm}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw)
\item 
void \mbox{\hyperlink{e1000__nvm_8c_ab61cbe2ca912b2fd9bf44f0dcb3da728}{e1000\+\_\+release\+\_\+nvm\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw)
\item 
static \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a2fed109b18d37e2c46c3a8a1ddc5b95d}{e1000\+\_\+ready\+\_\+nvm\+\_\+eeprom}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_aa395f4cb1eeb96aa8098525300070fb1}{e1000\+\_\+read\+\_\+nvm\+\_\+spi}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} offset, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} words, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$data)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a50846550bf55b5024d3b00c2f0686eca}{e1000\+\_\+read\+\_\+nvm\+\_\+microwire}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} offset, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} words, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$data)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a76cdc4849e49e06fae7e8fe0474b4ecb}{e1000\+\_\+read\+\_\+nvm\+\_\+eerd}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} offset, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} words, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$data)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a5261c4d513480fdab42dae202eaebc98}{e1000\+\_\+write\+\_\+nvm\+\_\+spi}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} offset, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} words, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$data)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_aad165fffde2e76d322943e418e9a7920}{e1000\+\_\+write\+\_\+nvm\+\_\+microwire}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} offset, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} words, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$data)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a5d2119bd00236ef5a82e9a1b5a68cee5}{e1000\+\_\+read\+\_\+pba\+\_\+string\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} $\ast$pba\+\_\+num, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} pba\+\_\+num\+\_\+size)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_aa72a4384d5e6c76426fa2e3d800959bc}{e1000\+\_\+read\+\_\+pba\+\_\+length\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} $\ast$pba\+\_\+num\+\_\+size)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a1ed6803e44a5dc8fe361d3f16439b67f}{e1000\+\_\+read\+\_\+pba\+\_\+num\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} $\ast$pba\+\_\+num)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_ab419da8239b4e687169e3499837974bb}{e1000\+\_\+read\+\_\+pba\+\_\+raw}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$eeprom\+\_\+buf, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} eeprom\+\_\+buf\+\_\+size, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} max\+\_\+pba\+\_\+block\+\_\+size, struct \mbox{\hyperlink{structe1000__pba}{e1000\+\_\+pba}} $\ast$pba)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a1c912d8c3a05a42ec80fce72602ea390}{e1000\+\_\+write\+\_\+pba\+\_\+raw}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$eeprom\+\_\+buf, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} eeprom\+\_\+buf\+\_\+size, struct \mbox{\hyperlink{structe1000__pba}{e1000\+\_\+pba}} $\ast$pba)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_af1a931206e71b32bb516b9545623180a}{e1000\+\_\+get\+\_\+pba\+\_\+block\+\_\+size}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$eeprom\+\_\+buf, \mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} eeprom\+\_\+buf\+\_\+size, \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$pba\+\_\+block\+\_\+size)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a50f297c99052ff736781b8c2b35b8827}{e1000\+\_\+read\+\_\+mac\+\_\+addr\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_ae3402541b253b31da66c2be503f2389a}{e1000\+\_\+validate\+\_\+nvm\+\_\+checksum\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw)
\item 
\mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} \mbox{\hyperlink{e1000__nvm_8c_a4e7c937c56f8af64dc6b33974a986276}{e1000\+\_\+update\+\_\+nvm\+\_\+checksum\+\_\+generic}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw)
\item 
void \mbox{\hyperlink{e1000__nvm_8c_a9a73f0cae8e849fee466507a8ab1e222}{e1000\+\_\+get\+\_\+fw\+\_\+version}} (struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$hw, struct \mbox{\hyperlink{structe1000__fw__version}{e1000\+\_\+fw\+\_\+version}} $\ast$fw\+\_\+vers)
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{e1000__nvm_8c_ad7de08f9543503fd0d5e4c378c5fe69a}\label{e1000__nvm_8c_ad7de08f9543503fd0d5e4c378c5fe69a}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_acquire\_nvm\_generic@{e1000\_acquire\_nvm\_generic}}
\index{e1000\_acquire\_nvm\_generic@{e1000\_acquire\_nvm\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_acquire\_nvm\_generic()}{e1000\_acquire\_nvm\_generic()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+acquire\+\_\+nvm\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw }\end{DoxyParamCaption})}

e1000\+\_\+acquire\+\_\+nvm\+\_\+generic -\/ Generic request for access to EEPROM @hw\+: pointer to the HW structure

Set the EEPROM access request bit and wait for EEPROM access grant bit. Return successful if access grant bit set, else clear the request for EEPROM access and return -\/E1000\+\_\+\+ERR\+\_\+\+NVM (-\/1). 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00269}{269}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__regs_8h_source_l00042}{E1000\+\_\+\+EECD}}, \mbox{\hyperlink{e1000__defines_8h_source_l01039}{E1000\+\_\+\+EECD\+\_\+\+GNT}}, \mbox{\hyperlink{e1000__defines_8h_source_l01038}{E1000\+\_\+\+EECD\+\_\+\+REQ}}, \mbox{\hyperlink{e1000__defines_8h_source_l00710}{E1000\+\_\+\+ERR\+\_\+\+NVM}}, \mbox{\hyperlink{e1000__defines_8h_source_l01049}{E1000\+\_\+\+NVM\+\_\+\+GRANT\+\_\+\+ATTEMPTS}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00196}{E1000\+\_\+\+WRITE\+\_\+\+REG}}, and \mbox{\hyperlink{e1000__osdep_8h_source_l00101}{usec\+\_\+delay}}.



Referenced by \mbox{\hyperlink{e1000__80003es2lan_8c_source_l00361}{e1000\+\_\+acquire\+\_\+nvm\+\_\+80003es2lan()}}, \mbox{\hyperlink{e1000__82571_8c_source_l00628}{e1000\+\_\+acquire\+\_\+nvm\+\_\+82571()}}, \mbox{\hyperlink{e1000__82575_8c_source_l00934}{e1000\+\_\+acquire\+\_\+nvm\+\_\+82575()}}, \mbox{\hyperlink{e1000__82540_8c_source_l00118}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82540()}}, and \mbox{\hyperlink{e1000__82541_8c_source_l00129}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82541()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_ad7de08f9543503fd0d5e4c378c5fe69a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a9a73f0cae8e849fee466507a8ab1e222}\label{e1000__nvm_8c_a9a73f0cae8e849fee466507a8ab1e222}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_get\_fw\_version@{e1000\_get\_fw\_version}}
\index{e1000\_get\_fw\_version@{e1000\_get\_fw\_version}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_get\_fw\_version()}{e1000\_get\_fw\_version()}}
{\footnotesize\ttfamily void e1000\+\_\+get\+\_\+fw\+\_\+version (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{struct \mbox{\hyperlink{structe1000__fw__version}{e1000\+\_\+fw\+\_\+version}} $\ast$}]{fw\+\_\+vers }\end{DoxyParamCaption})}

e1000\+\_\+get\+\_\+fw\+\_\+version -\/ Get firmware version information @hw\+: pointer to the HW structure @fw\+\_\+vers\+: pointer to output version structure

unsupported/not present features return 0 in version structure 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l01286}{1286}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__hw_8h_source_l00269}{e1000\+\_\+82575}}, \mbox{\hyperlink{e1000__hw_8h_source_l00270}{e1000\+\_\+82576}}, \mbox{\hyperlink{e1000__hw_8h_source_l00271}{e1000\+\_\+82580}}, \mbox{\hyperlink{e1000__i210_8c_source_l00552}{e1000\+\_\+get\+\_\+flash\+\_\+presence\+\_\+i210()}}, \mbox{\hyperlink{e1000__hw_8h_source_l00274}{e1000\+\_\+i210}}, \mbox{\hyperlink{e1000__hw_8h_source_l00275}{e1000\+\_\+i211}}, \mbox{\hyperlink{e1000__hw_8h_source_l00272}{e1000\+\_\+i350}}, \mbox{\hyperlink{e1000__hw_8h_source_l00273}{e1000\+\_\+i354}}, \mbox{\hyperlink{e1000__i210_8c_source_l00355}{e1000\+\_\+read\+\_\+invm\+\_\+version()}}, \mbox{\hyperlink{e1000__nvm_8h_source_l00048}{e1000\+\_\+fw\+\_\+version\+::eep\+\_\+build}}, \mbox{\hyperlink{e1000__nvm_8h_source_l00046}{e1000\+\_\+fw\+\_\+version\+::eep\+\_\+major}}, \mbox{\hyperlink{e1000__nvm_8h_source_l00047}{e1000\+\_\+fw\+\_\+version\+::eep\+\_\+minor}}, \mbox{\hyperlink{e1000__nvm_8h_source_l00045}{e1000\+\_\+fw\+\_\+version\+::etrack\+\_\+id}}, \mbox{\hyperlink{e1000__hw_8h_source_l01028}{e1000\+\_\+hw\+::mac}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01101}{NVM\+\_\+\+COMB\+\_\+\+VER\+\_\+\+MASK}}, \mbox{\hyperlink{e1000__defines_8h_source_l01094}{NVM\+\_\+\+COMB\+\_\+\+VER\+\_\+\+OFF}}, \mbox{\hyperlink{e1000__defines_8h_source_l01095}{NVM\+\_\+\+COMB\+\_\+\+VER\+\_\+\+PTR}}, \mbox{\hyperlink{e1000__defines_8h_source_l01104}{NVM\+\_\+\+COMB\+\_\+\+VER\+\_\+\+SHFT}}, \mbox{\hyperlink{e1000__defines_8h_source_l01093}{NVM\+\_\+\+ETRACK\+\_\+\+HIWORD}}, \mbox{\hyperlink{e1000__defines_8h_source_l01106}{NVM\+\_\+\+ETRACK\+\_\+\+SHIFT}}, \mbox{\hyperlink{e1000__defines_8h_source_l01107}{NVM\+\_\+\+ETRACK\+\_\+\+VALID}}, \mbox{\hyperlink{e1000__defines_8h_source_l01092}{NVM\+\_\+\+ETRACK\+\_\+\+WORD}}, \mbox{\hyperlink{e1000__defines_8h_source_l01109}{NVM\+\_\+\+HEX\+\_\+\+CONV}}, \mbox{\hyperlink{e1000__defines_8h_source_l01110}{NVM\+\_\+\+HEX\+\_\+\+TENS}}, \mbox{\hyperlink{e1000__defines_8h_source_l01100}{NVM\+\_\+\+IMAGE\+\_\+\+ID\+\_\+\+MASK}}, \mbox{\hyperlink{e1000__defines_8h_source_l01098}{NVM\+\_\+\+MAJOR\+\_\+\+MASK}}, \mbox{\hyperlink{e1000__defines_8h_source_l01102}{NVM\+\_\+\+MAJOR\+\_\+\+SHIFT}}, \mbox{\hyperlink{e1000__defines_8h_source_l01099}{NVM\+\_\+\+MINOR\+\_\+\+MASK}}, \mbox{\hyperlink{e1000__defines_8h_source_l01103}{NVM\+\_\+\+MINOR\+\_\+\+SHIFT}}, \mbox{\hyperlink{e1000__defines_8h_source_l01108}{NVM\+\_\+\+NEW\+\_\+\+DEC\+\_\+\+MASK}}, \mbox{\hyperlink{e1000__defines_8h_source_l01105}{NVM\+\_\+\+VER\+\_\+\+INVALID}}, \mbox{\hyperlink{e1000__defines_8h_source_l01086}{NVM\+\_\+\+VERSION}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, \mbox{\hyperlink{e1000__nvm_8h_source_l00056}{e1000\+\_\+fw\+\_\+version\+::or\+\_\+build}}, \mbox{\hyperlink{e1000__nvm_8h_source_l00055}{e1000\+\_\+fw\+\_\+version\+::or\+\_\+major}}, \mbox{\hyperlink{e1000__nvm_8h_source_l00057}{e1000\+\_\+fw\+\_\+version\+::or\+\_\+patch}}, \mbox{\hyperlink{e1000__nvm_8h_source_l00054}{e1000\+\_\+fw\+\_\+version\+::or\+\_\+valid}}, \mbox{\hyperlink{e1000__hw_8h_source_l00801}{e1000\+\_\+nvm\+\_\+operations\+::read}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00815}{e1000\+\_\+mac\+\_\+info\+::type}}.



Referenced by \mbox{\hyperlink{if__em_8c_source_l04493}{em\+\_\+fw\+\_\+version\+\_\+locked()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a9a73f0cae8e849fee466507a8ab1e222_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a9a73f0cae8e849fee466507a8ab1e222_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_af1a931206e71b32bb516b9545623180a}\label{e1000__nvm_8c_af1a931206e71b32bb516b9545623180a}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_get\_pba\_block\_size@{e1000\_get\_pba\_block\_size}}
\index{e1000\_get\_pba\_block\_size@{e1000\_get\_pba\_block\_size}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_get\_pba\_block\_size()}{e1000\_get\_pba\_block\_size()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+get\+\_\+pba\+\_\+block\+\_\+size (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$}]{eeprom\+\_\+buf,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}}]{eeprom\+\_\+buf\+\_\+size,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$}]{pba\+\_\+block\+\_\+size }\end{DoxyParamCaption})}

e1000\+\_\+get\+\_\+pba\+\_\+block\+\_\+size @hw\+: pointer to the HW structure @eeprom\+\_\+buf\+: optional pointer to EEPROM image @eeprom\+\_\+buf\+\_\+size\+: size of EEPROM image in words @pba\+\_\+data\+\_\+size\+: pointer to output variable

Returns the size of the PBA block in words. Function operates on EEPROM image if the eeprom\+\_\+buf pointer is not NULL otherwise it accesses physical EEPROM device. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l01118}{1118}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__defines_8h_source_l00725}{E1000\+\_\+\+ERR\+\_\+\+NVM\+\_\+\+PBA\+\_\+\+SECTION}}, \mbox{\hyperlink{e1000__defines_8h_source_l00713}{E1000\+\_\+\+ERR\+\_\+\+PARAM}}, \mbox{\hyperlink{e1000__api_8c_source_l01340}{e1000\+\_\+read\+\_\+nvm()}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__defines_8h_source_l01183}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+0}}, \mbox{\hyperlink{e1000__defines_8h_source_l01184}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+1}}, and \mbox{\hyperlink{e1000__defines_8h_source_l01185}{NVM\+\_\+\+PBA\+\_\+\+PTR\+\_\+\+GUARD}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00990}{e1000\+\_\+read\+\_\+pba\+\_\+raw()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_af1a931206e71b32bb516b9545623180a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_af1a931206e71b32bb516b9545623180a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_ae1ddc7a8846baed54958b7e9ae0134fb}\label{e1000__nvm_8c_ae1ddc7a8846baed54958b7e9ae0134fb}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_init\_nvm\_ops\_generic@{e1000\_init\_nvm\_ops\_generic}}
\index{e1000\_init\_nvm\_ops\_generic@{e1000\_init\_nvm\_ops\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_init\_nvm\_ops\_generic()}{e1000\_init\_nvm\_ops\_generic()}}
{\footnotesize\ttfamily void e1000\+\_\+init\+\_\+nvm\+\_\+ops\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw }\end{DoxyParamCaption})}

e1000\+\_\+init\+\_\+nvm\+\_\+ops\+\_\+generic -\/ Initialize NVM function pointers @hw\+: pointer to the HW structure

Setups up the function pointers to no-\/op functions 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00046}{46}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__hw_8h_source_l00800}{e1000\+\_\+nvm\+\_\+operations\+::acquire}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00093}{e1000\+\_\+null\+\_\+led\+\_\+default()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00082}{e1000\+\_\+null\+\_\+nvm\+\_\+generic()}}, \mbox{\hyperlink{e1000__mac_8c_source_l00088}{e1000\+\_\+null\+\_\+ops\+\_\+generic()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00070}{e1000\+\_\+null\+\_\+read\+\_\+nvm()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00107}{e1000\+\_\+null\+\_\+write\+\_\+nvm()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l01266}{e1000\+\_\+reload\+\_\+nvm\+\_\+generic()}}, \mbox{\hyperlink{e1000__hw_8h_source_l00799}{e1000\+\_\+nvm\+\_\+operations\+::init\+\_\+params}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, \mbox{\hyperlink{e1000__hw_8h_source_l00801}{e1000\+\_\+nvm\+\_\+operations\+::read}}, \mbox{\hyperlink{e1000__hw_8h_source_l00802}{e1000\+\_\+nvm\+\_\+operations\+::release}}, \mbox{\hyperlink{e1000__hw_8h_source_l00803}{e1000\+\_\+nvm\+\_\+operations\+::reload}}, \mbox{\hyperlink{e1000__hw_8h_source_l00804}{e1000\+\_\+nvm\+\_\+operations\+::update}}, \mbox{\hyperlink{e1000__hw_8h_source_l00805}{e1000\+\_\+nvm\+\_\+operations\+::valid\+\_\+led\+\_\+default}}, \mbox{\hyperlink{e1000__hw_8h_source_l00806}{e1000\+\_\+nvm\+\_\+operations\+::validate}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00807}{e1000\+\_\+nvm\+\_\+operations\+::write}}.



Referenced by \mbox{\hyperlink{e1000__api_8c_source_l00433}{e1000\+\_\+setup\+\_\+init\+\_\+funcs()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_ae1ddc7a8846baed54958b7e9ae0134fb_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_ae1ddc7a8846baed54958b7e9ae0134fb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_abede7a60885fbdd90a7715da2e2b5994}\label{e1000__nvm_8c_abede7a60885fbdd90a7715da2e2b5994}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_lower\_eec\_clk@{e1000\_lower\_eec\_clk}}
\index{e1000\_lower\_eec\_clk@{e1000\_lower\_eec\_clk}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_lower\_eec\_clk()}{e1000\_lower\_eec\_clk()}}
{\footnotesize\ttfamily static void e1000\+\_\+lower\+\_\+eec\+\_\+clk (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} $\ast$}]{eecd }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

e1000\+\_\+lower\+\_\+eec\+\_\+clk -\/ Lower EEPROM clock @hw\+: pointer to the HW structure @eecd\+: pointer to the EEPROM

Clear/\+Lower the EEPROM clock bit. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00137}{137}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__hw_8h_source_l00897}{e1000\+\_\+nvm\+\_\+info\+::delay\+\_\+usec}}, \mbox{\hyperlink{e1000__regs_8h_source_l00042}{E1000\+\_\+\+EECD}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00177}{E1000\+\_\+\+WRITE\+\_\+\+FLUSH}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00196}{E1000\+\_\+\+WRITE\+\_\+\+REG}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, and \mbox{\hyperlink{e1000__osdep_8h_source_l00101}{usec\+\_\+delay}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00202}{e1000\+\_\+shift\+\_\+in\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00155}{e1000\+\_\+shift\+\_\+out\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00303}{e1000\+\_\+standby\+\_\+nvm()}}, and \mbox{\hyperlink{e1000__nvm_8c_source_l00344}{e1000\+\_\+stop\+\_\+nvm()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_abede7a60885fbdd90a7715da2e2b5994_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a0cd552ac2ae4f58a2c214a53c04948b2}\label{e1000__nvm_8c_a0cd552ac2ae4f58a2c214a53c04948b2}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_null\_led\_default@{e1000\_null\_led\_default}}
\index{e1000\_null\_led\_default@{e1000\_null\_led\_default}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_null\_led\_default()}{e1000\_null\_led\_default()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+null\+\_\+led\+\_\+default (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$}]{data }\end{DoxyParamCaption})}

e1000\+\_\+null\+\_\+led\+\_\+default -\/ No-\/op function, return 0 @hw\+: pointer to the HW structure @data\+: dummy variable 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00093}{93}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, and \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00046}{e1000\+\_\+init\+\_\+nvm\+\_\+ops\+\_\+generic()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a0cd552ac2ae4f58a2c214a53c04948b2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a005c71ab5ed8b6b7335175eb5c048613}\label{e1000__nvm_8c_a005c71ab5ed8b6b7335175eb5c048613}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_null\_nvm\_generic@{e1000\_null\_nvm\_generic}}
\index{e1000\_null\_nvm\_generic@{e1000\_null\_nvm\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_null\_nvm\_generic()}{e1000\_null\_nvm\_generic()}}
{\footnotesize\ttfamily void e1000\+\_\+null\+\_\+nvm\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$}]{hw }\end{DoxyParamCaption})}

e1000\+\_\+null\+\_\+nvm\+\_\+generic -\/ No-\/op function, return void @hw\+: pointer to the HW structure 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00082}{82}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00046}{e1000\+\_\+init\+\_\+nvm\+\_\+ops\+\_\+generic()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a005c71ab5ed8b6b7335175eb5c048613_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a854c4eb7ef8215fbbc9b18140a587325}\label{e1000__nvm_8c_a854c4eb7ef8215fbbc9b18140a587325}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_null\_read\_nvm@{e1000\_null\_read\_nvm}}
\index{e1000\_null\_read\_nvm@{e1000\_null\_read\_nvm}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_null\_read\_nvm()}{e1000\_null\_read\_nvm()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+null\+\_\+read\+\_\+nvm (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}}}]{a,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}}}]{b,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$}]{c }\end{DoxyParamCaption})}

e1000\+\_\+null\+\_\+nvm\+\_\+read -\/ No-\/op function, return 0 @hw\+: pointer to the HW structure {\itshape }\+: dummy variable {\bfseries{}}\+: dummy variable {\ttfamily }\+: dummy variable 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00070}{70}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, and \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00046}{e1000\+\_\+init\+\_\+nvm\+\_\+ops\+\_\+generic()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a854c4eb7ef8215fbbc9b18140a587325_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a5b3ac4d8af03f6750dde529c274aa75a}\label{e1000__nvm_8c_a5b3ac4d8af03f6750dde529c274aa75a}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_null\_write\_nvm@{e1000\_null\_write\_nvm}}
\index{e1000\_null\_write\_nvm@{e1000\_null\_write\_nvm}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_null\_write\_nvm()}{e1000\_null\_write\_nvm()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+null\+\_\+write\+\_\+nvm (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}}}]{a,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}}}]{b,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} \mbox{\hyperlink{e1000__defines_8h_ae5905ef8e0121f9c2365fb4982da6756}{E1000\+\_\+\+UNUSEDARG}} $\ast$}]{c }\end{DoxyParamCaption})}

e1000\+\_\+null\+\_\+write\+\_\+nvm -\/ No-\/op function, return 0 @hw\+: pointer to the HW structure {\itshape }\+: dummy variable {\bfseries{}}\+: dummy variable {\ttfamily }\+: dummy variable 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00107}{107}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, and \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00046}{e1000\+\_\+init\+\_\+nvm\+\_\+ops\+\_\+generic()}}, and \mbox{\hyperlink{e1000__i210_8c_source_l00628}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+i210()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a5b3ac4d8af03f6750dde529c274aa75a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_ac4473fca912767af8d39e5db83e1f28a}\label{e1000__nvm_8c_ac4473fca912767af8d39e5db83e1f28a}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_poll\_eerd\_eewr\_done@{e1000\_poll\_eerd\_eewr\_done}}
\index{e1000\_poll\_eerd\_eewr\_done@{e1000\_poll\_eerd\_eewr\_done}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_poll\_eerd\_eewr\_done()}{e1000\_poll\_eerd\_eewr\_done()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+poll\+\_\+eerd\+\_\+eewr\+\_\+done (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{int}]{ee\+\_\+reg }\end{DoxyParamCaption})}

e1000\+\_\+poll\+\_\+eerd\+\_\+eewr\+\_\+done -\/ Poll for EEPROM read/write completion @hw\+: pointer to the HW structure @ee\+\_\+reg\+: EEPROM flag for polling

Polls the EEPROM status bit for either read or write completion based upon the value of \textquotesingle{}ee\+\_\+reg\textquotesingle{}. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00239}{239}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__regs_8h_source_l00043}{E1000\+\_\+\+EERD}}, \mbox{\hyperlink{e1000__regs_8h_source_l00124}{E1000\+\_\+\+EEWR}}, \mbox{\hyperlink{e1000__defines_8h_source_l00710}{E1000\+\_\+\+ERR\+\_\+\+NVM}}, \mbox{\hyperlink{e1000__defines_8h_source_l01080}{E1000\+\_\+\+NVM\+\_\+\+POLL\+\_\+\+READ}}, \mbox{\hyperlink{e1000__defines_8h_source_l01076}{E1000\+\_\+\+NVM\+\_\+\+RW\+\_\+\+REG\+\_\+\+DONE}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, and \mbox{\hyperlink{e1000__osdep_8h_source_l00101}{usec\+\_\+delay}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00563}{e1000\+\_\+read\+\_\+nvm\+\_\+eerd()}}, and \mbox{\hyperlink{e1000__82571_8c_source_l00796}{e1000\+\_\+write\+\_\+nvm\+\_\+eewr\+\_\+82571()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_ac4473fca912767af8d39e5db83e1f28a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a38eade06c369bb0942444d141f42a3e8}\label{e1000__nvm_8c_a38eade06c369bb0942444d141f42a3e8}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_raise\_eec\_clk@{e1000\_raise\_eec\_clk}}
\index{e1000\_raise\_eec\_clk@{e1000\_raise\_eec\_clk}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_raise\_eec\_clk()}{e1000\_raise\_eec\_clk()}}
{\footnotesize\ttfamily static void e1000\+\_\+raise\+\_\+eec\+\_\+clk (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} $\ast$}]{eecd }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

e1000\+\_\+raise\+\_\+eec\+\_\+clk -\/ Raise EEPROM clock @hw\+: pointer to the HW structure @eecd\+: pointer to the EEPROM

Enable/\+Raise the EEPROM clock bit. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00122}{122}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__hw_8h_source_l00897}{e1000\+\_\+nvm\+\_\+info\+::delay\+\_\+usec}}, \mbox{\hyperlink{e1000__regs_8h_source_l00042}{E1000\+\_\+\+EECD}}, \mbox{\hyperlink{e1000__defines_8h_source_l01034}{E1000\+\_\+\+EECD\+\_\+\+SK}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00177}{E1000\+\_\+\+WRITE\+\_\+\+FLUSH}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00196}{E1000\+\_\+\+WRITE\+\_\+\+REG}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, and \mbox{\hyperlink{e1000__osdep_8h_source_l00101}{usec\+\_\+delay}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00202}{e1000\+\_\+shift\+\_\+in\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00155}{e1000\+\_\+shift\+\_\+out\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00303}{e1000\+\_\+standby\+\_\+nvm()}}, and \mbox{\hyperlink{e1000__nvm_8c_source_l00344}{e1000\+\_\+stop\+\_\+nvm()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a38eade06c369bb0942444d141f42a3e8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a50f297c99052ff736781b8c2b35b8827}\label{e1000__nvm_8c_a50f297c99052ff736781b8c2b35b8827}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_read\_mac\_addr\_generic@{e1000\_read\_mac\_addr\_generic}}
\index{e1000\_read\_mac\_addr\_generic@{e1000\_read\_mac\_addr\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_read\_mac\_addr\_generic()}{e1000\_read\_mac\_addr\_generic()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+read\+\_\+mac\+\_\+addr\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw }\end{DoxyParamCaption})}

e1000\+\_\+read\+\_\+mac\+\_\+addr\+\_\+generic -\/ Read device MAC address @hw\+: pointer to the HW structure

Reads the device MAC address from the EEPROM and stores the value. Since devices with two ports use the same EEPROM, we increment the last bit in the MAC address for the second port. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l01174}{1174}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__hw_8h_source_l00812}{e1000\+\_\+mac\+\_\+info\+::addr}}, \mbox{\hyperlink{e1000__regs_8h_source_l00292}{E1000\+\_\+\+RAH}}, \mbox{\hyperlink{e1000__defines_8h_source_l00704}{E1000\+\_\+\+RAH\+\_\+\+MAC\+\_\+\+ADDR\+\_\+\+LEN}}, \mbox{\hyperlink{e1000__regs_8h_source_l00290}{E1000\+\_\+\+RAL}}, \mbox{\hyperlink{e1000__defines_8h_source_l00703}{E1000\+\_\+\+RAL\+\_\+\+MAC\+\_\+\+ADDR\+\_\+\+LEN}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__hw_8h_source_l01028}{e1000\+\_\+hw\+::mac}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00813}{e1000\+\_\+mac\+\_\+info\+::perm\+\_\+addr}}.



Referenced by \mbox{\hyperlink{e1000__mac_8c_source_l00048}{e1000\+\_\+init\+\_\+mac\+\_\+ops\+\_\+generic()}}, \mbox{\hyperlink{e1000__api_8c_source_l01233}{e1000\+\_\+read\+\_\+mac\+\_\+addr()}}, \mbox{\hyperlink{e1000__80003es2lan_8c_source_l01373}{e1000\+\_\+read\+\_\+mac\+\_\+addr\+\_\+80003es2lan()}}, \mbox{\hyperlink{e1000__82571_8c_source_l01824}{e1000\+\_\+read\+\_\+mac\+\_\+addr\+\_\+82571()}}, and \mbox{\hyperlink{e1000__82575_8c_source_l01870}{e1000\+\_\+read\+\_\+mac\+\_\+addr\+\_\+82575()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a50f297c99052ff736781b8c2b35b8827_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a76cdc4849e49e06fae7e8fe0474b4ecb}\label{e1000__nvm_8c_a76cdc4849e49e06fae7e8fe0474b4ecb}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_read\_nvm\_eerd@{e1000\_read\_nvm\_eerd}}
\index{e1000\_read\_nvm\_eerd@{e1000\_read\_nvm\_eerd}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_read\_nvm\_eerd()}{e1000\_read\_nvm\_eerd()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+read\+\_\+nvm\+\_\+eerd (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{offset,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{words,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$}]{data }\end{DoxyParamCaption})}

e1000\+\_\+read\+\_\+nvm\+\_\+eerd -\/ Reads EEPROM using EERD register @hw\+: pointer to the HW structure @offset\+: offset of word in the EEPROM to read @words\+: number of words to read @data\+: word read from the EEPROM

Reads a 16 bit word from the EEPROM using the EERD register. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00563}{563}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00111}{DEBUGOUT1}}, \mbox{\hyperlink{e1000__regs_8h_source_l00043}{E1000\+\_\+\+EERD}}, \mbox{\hyperlink{e1000__defines_8h_source_l00710}{E1000\+\_\+\+ERR\+\_\+\+NVM}}, \mbox{\hyperlink{e1000__defines_8h_source_l01080}{E1000\+\_\+\+NVM\+\_\+\+POLL\+\_\+\+READ}}, \mbox{\hyperlink{e1000__defines_8h_source_l01078}{E1000\+\_\+\+NVM\+\_\+\+RW\+\_\+\+ADDR\+\_\+\+SHIFT}}, \mbox{\hyperlink{e1000__defines_8h_source_l01075}{E1000\+\_\+\+NVM\+\_\+\+RW\+\_\+\+REG\+\_\+\+DATA}}, \mbox{\hyperlink{e1000__defines_8h_source_l01077}{E1000\+\_\+\+NVM\+\_\+\+RW\+\_\+\+REG\+\_\+\+START}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00239}{e1000\+\_\+poll\+\_\+eerd\+\_\+eewr\+\_\+done()}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00196}{E1000\+\_\+\+WRITE\+\_\+\+REG}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00896}{e1000\+\_\+nvm\+\_\+info\+::word\+\_\+size}}.



Referenced by \mbox{\hyperlink{e1000__80003es2lan_8c_source_l00139}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+80003es2lan()}}, \mbox{\hyperlink{e1000__82571_8c_source_l00202}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82571()}}, \mbox{\hyperlink{e1000__82575_8c_source_l00441}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82575()}}, \mbox{\hyperlink{e1000__i210_8c_source_l00090}{e1000\+\_\+read\+\_\+nvm\+\_\+srrd\+\_\+i210()}}, \mbox{\hyperlink{e1000__i210_8c_source_l00493}{e1000\+\_\+update\+\_\+nvm\+\_\+checksum\+\_\+i210()}}, and \mbox{\hyperlink{e1000__i210_8c_source_l00454}{e1000\+\_\+validate\+\_\+nvm\+\_\+checksum\+\_\+i210()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a76cdc4849e49e06fae7e8fe0474b4ecb_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a76cdc4849e49e06fae7e8fe0474b4ecb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a50846550bf55b5024d3b00c2f0686eca}\label{e1000__nvm_8c_a50846550bf55b5024d3b00c2f0686eca}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_read\_nvm\_microwire@{e1000\_read\_nvm\_microwire}}
\index{e1000\_read\_nvm\_microwire@{e1000\_read\_nvm\_microwire}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_read\_nvm\_microwire()}{e1000\_read\_nvm\_microwire()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+read\+\_\+nvm\+\_\+microwire (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{offset,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{words,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$}]{data }\end{DoxyParamCaption})}

e1000\+\_\+read\+\_\+nvm\+\_\+microwire -\/ Reads EEPROM\textquotesingle{}s using microwire @hw\+: pointer to the HW structure @offset\+: offset of word in the EEPROM to read @words\+: number of words to read @data\+: word read from the EEPROM

Reads a 16 bit word from the EEPROM. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00508}{508}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__hw_8h_source_l00800}{e1000\+\_\+nvm\+\_\+operations\+::acquire}}, \mbox{\hyperlink{e1000__hw_8h_source_l00898}{e1000\+\_\+nvm\+\_\+info\+::address\+\_\+bits}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__defines_8h_source_l00710}{E1000\+\_\+\+ERR\+\_\+\+NVM}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00389}{e1000\+\_\+ready\+\_\+nvm\+\_\+eeprom()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00202}{e1000\+\_\+shift\+\_\+in\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00155}{e1000\+\_\+shift\+\_\+out\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00303}{e1000\+\_\+standby\+\_\+nvm()}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01195}{NVM\+\_\+\+READ\+\_\+\+OPCODE\+\_\+\+MICROWIRE}}, \mbox{\hyperlink{e1000__hw_8h_source_l00899}{e1000\+\_\+nvm\+\_\+info\+::opcode\+\_\+bits}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, \mbox{\hyperlink{e1000__hw_8h_source_l00802}{e1000\+\_\+nvm\+\_\+operations\+::release}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00896}{e1000\+\_\+nvm\+\_\+info\+::word\+\_\+size}}.



Referenced by \mbox{\hyperlink{e1000__82540_8c_source_l00118}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82540()}}, \mbox{\hyperlink{e1000__82541_8c_source_l00129}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82541()}}, \mbox{\hyperlink{e1000__82542_8c_source_l00075}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82542()}}, and \mbox{\hyperlink{e1000__82543_8c_source_l00168}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82543()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a50846550bf55b5024d3b00c2f0686eca_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a50846550bf55b5024d3b00c2f0686eca_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_aa395f4cb1eeb96aa8098525300070fb1}\label{e1000__nvm_8c_aa395f4cb1eeb96aa8098525300070fb1}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_read\_nvm\_spi@{e1000\_read\_nvm\_spi}}
\index{e1000\_read\_nvm\_spi@{e1000\_read\_nvm\_spi}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_read\_nvm\_spi()}{e1000\_read\_nvm\_spi()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+read\+\_\+nvm\+\_\+spi (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{offset,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{words,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$}]{data }\end{DoxyParamCaption})}

e1000\+\_\+read\+\_\+nvm\+\_\+spi -\/ Read EEPROM\textquotesingle{}s using SPI @hw\+: pointer to the HW structure @offset\+: offset of word in the EEPROM to read @words\+: number of words to read @data\+: word read from the EEPROM

Reads a 16 bit word from the EEPROM. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00448}{448}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__hw_8h_source_l00800}{e1000\+\_\+nvm\+\_\+operations\+::acquire}}, \mbox{\hyperlink{e1000__hw_8h_source_l00898}{e1000\+\_\+nvm\+\_\+info\+::address\+\_\+bits}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__defines_8h_source_l00710}{E1000\+\_\+\+ERR\+\_\+\+NVM}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00389}{e1000\+\_\+ready\+\_\+nvm\+\_\+eeprom()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00202}{e1000\+\_\+shift\+\_\+in\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00155}{e1000\+\_\+shift\+\_\+out\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00303}{e1000\+\_\+standby\+\_\+nvm()}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01205}{NVM\+\_\+\+A8\+\_\+\+OPCODE\+\_\+\+SPI}}, \mbox{\hyperlink{e1000__defines_8h_source_l01203}{NVM\+\_\+\+READ\+\_\+\+OPCODE\+\_\+\+SPI}}, \mbox{\hyperlink{e1000__hw_8h_source_l00899}{e1000\+\_\+nvm\+\_\+info\+::opcode\+\_\+bits}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, \mbox{\hyperlink{e1000__hw_8h_source_l00802}{e1000\+\_\+nvm\+\_\+operations\+::release}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00896}{e1000\+\_\+nvm\+\_\+info\+::word\+\_\+size}}.



Referenced by \mbox{\hyperlink{e1000__82541_8c_source_l00129}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82541()}}, and \mbox{\hyperlink{e1000__82575_8c_source_l00441}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82575()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_aa395f4cb1eeb96aa8098525300070fb1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_aa395f4cb1eeb96aa8098525300070fb1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_aa72a4384d5e6c76426fa2e3d800959bc}\label{e1000__nvm_8c_aa72a4384d5e6c76426fa2e3d800959bc}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_read\_pba\_length\_generic@{e1000\_read\_pba\_length\_generic}}
\index{e1000\_read\_pba\_length\_generic@{e1000\_read\_pba\_length\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_read\_pba\_length\_generic()}{e1000\_read\_pba\_length\_generic()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+read\+\_\+pba\+\_\+length\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} $\ast$}]{pba\+\_\+num\+\_\+size }\end{DoxyParamCaption})}

e1000\+\_\+read\+\_\+pba\+\_\+length\+\_\+generic -\/ Read device part number length @hw\+: pointer to the HW structure @pba\+\_\+num\+\_\+size\+: size of part number buffer

Reads the product board assembly (PBA) number length from the EEPROM and stores the value in pba\+\_\+num\+\_\+size. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00891}{891}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__defines_8h_source_l00723}{E1000\+\_\+\+ERR\+\_\+\+INVALID\+\_\+\+ARGUMENT}}, \mbox{\hyperlink{e1000__defines_8h_source_l00725}{E1000\+\_\+\+ERR\+\_\+\+NVM\+\_\+\+PBA\+\_\+\+SECTION}}, \mbox{\hyperlink{e1000__defines_8h_source_l01177}{E1000\+\_\+\+PBANUM\+\_\+\+LENGTH}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01183}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+0}}, \mbox{\hyperlink{e1000__defines_8h_source_l01184}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+1}}, \mbox{\hyperlink{e1000__defines_8h_source_l01185}{NVM\+\_\+\+PBA\+\_\+\+PTR\+\_\+\+GUARD}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00801}{e1000\+\_\+nvm\+\_\+operations\+::read}}.



Referenced by \mbox{\hyperlink{e1000__api_8c_source_l01267}{e1000\+\_\+read\+\_\+pba\+\_\+length()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_aa72a4384d5e6c76426fa2e3d800959bc_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a1ed6803e44a5dc8fe361d3f16439b67f}\label{e1000__nvm_8c_a1ed6803e44a5dc8fe361d3f16439b67f}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_read\_pba\_num\_generic@{e1000\_read\_pba\_num\_generic}}
\index{e1000\_read\_pba\_num\_generic@{e1000\_read\_pba\_num\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_read\_pba\_num\_generic()}{e1000\_read\_pba\_num\_generic()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+read\+\_\+pba\+\_\+num\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}} $\ast$}]{pba\+\_\+num }\end{DoxyParamCaption})}

e1000\+\_\+read\+\_\+pba\+\_\+num\+\_\+generic -\/ Read device part number @hw\+: pointer to the HW structure @pba\+\_\+num\+: pointer to device part number

Reads the product board assembly (PBA) number from the EEPROM and stores the value in pba\+\_\+num. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00950}{950}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__defines_8h_source_l00721}{E1000\+\_\+\+NOT\+\_\+\+IMPLEMENTED}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01183}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+0}}, \mbox{\hyperlink{e1000__defines_8h_source_l01184}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+1}}, \mbox{\hyperlink{e1000__defines_8h_source_l01185}{NVM\+\_\+\+PBA\+\_\+\+PTR\+\_\+\+GUARD}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00801}{e1000\+\_\+nvm\+\_\+operations\+::read}}.



Referenced by \mbox{\hyperlink{e1000__api_8c_source_l01282}{e1000\+\_\+read\+\_\+pba\+\_\+num()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a1ed6803e44a5dc8fe361d3f16439b67f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_ab419da8239b4e687169e3499837974bb}\label{e1000__nvm_8c_ab419da8239b4e687169e3499837974bb}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_read\_pba\_raw@{e1000\_read\_pba\_raw}}
\index{e1000\_read\_pba\_raw@{e1000\_read\_pba\_raw}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_read\_pba\_raw()}{e1000\_read\_pba\_raw()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+read\+\_\+pba\+\_\+raw (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$}]{eeprom\+\_\+buf,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}}]{eeprom\+\_\+buf\+\_\+size,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{max\+\_\+pba\+\_\+block\+\_\+size,  }\item[{struct \mbox{\hyperlink{structe1000__pba}{e1000\+\_\+pba}} $\ast$}]{pba }\end{DoxyParamCaption})}

e1000\+\_\+read\+\_\+pba\+\_\+raw @hw\+: pointer to the HW structure @eeprom\+\_\+buf\+: optional pointer to EEPROM image @eeprom\+\_\+buf\+\_\+size\+: size of EEPROM image in words @max\+\_\+pba\+\_\+block\+\_\+size\+: PBA block size limit @pba\+: pointer to output PBA structure

Reads PBA from EEPROM image when eeprom\+\_\+buf is not NULL. Reads PBA from physical EEPROM device when eeprom\+\_\+buf is NULL. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00990}{990}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__defines_8h_source_l00713}{E1000\+\_\+\+ERR\+\_\+\+PARAM}}, \mbox{\hyperlink{e1000__nvm_8c_source_l01118}{e1000\+\_\+get\+\_\+pba\+\_\+block\+\_\+size()}}, \mbox{\hyperlink{e1000__api_8c_source_l01340}{e1000\+\_\+read\+\_\+nvm()}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__defines_8h_source_l01183}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+0}}, \mbox{\hyperlink{e1000__defines_8h_source_l01184}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+1}}, \mbox{\hyperlink{e1000__defines_8h_source_l01185}{NVM\+\_\+\+PBA\+\_\+\+PTR\+\_\+\+GUARD}}, \mbox{\hyperlink{e1000__nvm_8h_source_l00041}{e1000\+\_\+pba\+::pba\+\_\+block}}, and \mbox{\hyperlink{e1000__nvm_8h_source_l00040}{e1000\+\_\+pba\+::word}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_ab419da8239b4e687169e3499837974bb_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a5d2119bd00236ef5a82e9a1b5a68cee5}\label{e1000__nvm_8c_a5d2119bd00236ef5a82e9a1b5a68cee5}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_read\_pba\_string\_generic@{e1000\_read\_pba\_string\_generic}}
\index{e1000\_read\_pba\_string\_generic@{e1000\_read\_pba\_string\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_read\_pba\_string\_generic()}{e1000\_read\_pba\_string\_generic()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+read\+\_\+pba\+\_\+string\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_a92c50087ca0e64fa93fc59402c55f8ca}{u8}} $\ast$}]{pba\+\_\+num,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}}]{pba\+\_\+num\+\_\+size }\end{DoxyParamCaption})}

e1000\+\_\+read\+\_\+pba\+\_\+string\+\_\+generic -\/ Read device part number @hw\+: pointer to the HW structure @pba\+\_\+num\+: pointer to device part number @pba\+\_\+num\+\_\+size\+: size of part number buffer

Reads the product board assembly (PBA) number from the EEPROM and stores the value in pba\+\_\+num. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00775}{775}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__defines_8h_source_l00723}{E1000\+\_\+\+ERR\+\_\+\+INVALID\+\_\+\+ARGUMENT}}, \mbox{\hyperlink{e1000__defines_8h_source_l00724}{E1000\+\_\+\+ERR\+\_\+\+NO\+\_\+\+SPACE}}, \mbox{\hyperlink{e1000__defines_8h_source_l00725}{E1000\+\_\+\+ERR\+\_\+\+NVM\+\_\+\+PBA\+\_\+\+SECTION}}, \mbox{\hyperlink{e1000__i210_8c_source_l00552}{e1000\+\_\+get\+\_\+flash\+\_\+presence\+\_\+i210()}}, \mbox{\hyperlink{e1000__hw_8h_source_l00274}{e1000\+\_\+i210}}, \mbox{\hyperlink{e1000__hw_8h_source_l00275}{e1000\+\_\+i211}}, \mbox{\hyperlink{e1000__defines_8h_source_l01177}{E1000\+\_\+\+PBANUM\+\_\+\+LENGTH}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__hw_8h_source_l01028}{e1000\+\_\+hw\+::mac}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01183}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+0}}, \mbox{\hyperlink{e1000__defines_8h_source_l01184}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+1}}, \mbox{\hyperlink{e1000__defines_8h_source_l01185}{NVM\+\_\+\+PBA\+\_\+\+PTR\+\_\+\+GUARD}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, \mbox{\hyperlink{e1000__hw_8h_source_l00801}{e1000\+\_\+nvm\+\_\+operations\+::read}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00815}{e1000\+\_\+mac\+\_\+info\+::type}}.



Referenced by \mbox{\hyperlink{e1000__api_8c_source_l01252}{e1000\+\_\+read\+\_\+pba\+\_\+string()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a5d2119bd00236ef5a82e9a1b5a68cee5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a5d2119bd00236ef5a82e9a1b5a68cee5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a2fed109b18d37e2c46c3a8a1ddc5b95d}\label{e1000__nvm_8c_a2fed109b18d37e2c46c3a8a1ddc5b95d}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_ready\_nvm\_eeprom@{e1000\_ready\_nvm\_eeprom}}
\index{e1000\_ready\_nvm\_eeprom@{e1000\_ready\_nvm\_eeprom}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_ready\_nvm\_eeprom()}{e1000\_ready\_nvm\_eeprom()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+ready\+\_\+nvm\+\_\+eeprom (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

e1000\+\_\+ready\+\_\+nvm\+\_\+eeprom -\/ Prepares EEPROM for read/write @hw\+: pointer to the HW structure

Setups the EEPROM for reading and writing. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00389}{389}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__regs_8h_source_l00042}{E1000\+\_\+\+EECD}}, \mbox{\hyperlink{e1000__defines_8h_source_l01035}{E1000\+\_\+\+EECD\+\_\+\+CS}}, \mbox{\hyperlink{e1000__defines_8h_source_l01036}{E1000\+\_\+\+EECD\+\_\+\+DI}}, \mbox{\hyperlink{e1000__defines_8h_source_l01034}{E1000\+\_\+\+EECD\+\_\+\+SK}}, \mbox{\hyperlink{e1000__defines_8h_source_l00710}{E1000\+\_\+\+ERR\+\_\+\+NVM}}, \mbox{\hyperlink{e1000__hw_8h_source_l00293}{e1000\+\_\+nvm\+\_\+eeprom\+\_\+microwire}}, \mbox{\hyperlink{e1000__hw_8h_source_l00292}{e1000\+\_\+nvm\+\_\+eeprom\+\_\+spi}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00202}{e1000\+\_\+shift\+\_\+in\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00155}{e1000\+\_\+shift\+\_\+out\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00303}{e1000\+\_\+standby\+\_\+nvm()}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00177}{E1000\+\_\+\+WRITE\+\_\+\+FLUSH}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00196}{E1000\+\_\+\+WRITE\+\_\+\+REG}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01202}{NVM\+\_\+\+MAX\+\_\+\+RETRY\+\_\+\+SPI}}, \mbox{\hyperlink{e1000__defines_8h_source_l01207}{NVM\+\_\+\+RDSR\+\_\+\+OPCODE\+\_\+\+SPI}}, \mbox{\hyperlink{e1000__defines_8h_source_l01210}{NVM\+\_\+\+STATUS\+\_\+\+RDY\+\_\+\+SPI}}, \mbox{\hyperlink{e1000__hw_8h_source_l00899}{e1000\+\_\+nvm\+\_\+info\+::opcode\+\_\+bits}}, \mbox{\hyperlink{e1000__hw_8h_source_l00890}{e1000\+\_\+nvm\+\_\+info\+::type}}, and \mbox{\hyperlink{e1000__osdep_8h_source_l00101}{usec\+\_\+delay}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00508}{e1000\+\_\+read\+\_\+nvm\+\_\+microwire()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00448}{e1000\+\_\+read\+\_\+nvm\+\_\+spi()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00691}{e1000\+\_\+write\+\_\+nvm\+\_\+microwire()}}, and \mbox{\hyperlink{e1000__nvm_8c_source_l00611}{e1000\+\_\+write\+\_\+nvm\+\_\+spi()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a2fed109b18d37e2c46c3a8a1ddc5b95d_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a2fed109b18d37e2c46c3a8a1ddc5b95d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_ab61cbe2ca912b2fd9bf44f0dcb3da728}\label{e1000__nvm_8c_ab61cbe2ca912b2fd9bf44f0dcb3da728}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_release\_nvm\_generic@{e1000\_release\_nvm\_generic}}
\index{e1000\_release\_nvm\_generic@{e1000\_release\_nvm\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_release\_nvm\_generic()}{e1000\_release\_nvm\_generic()}}
{\footnotesize\ttfamily void e1000\+\_\+release\+\_\+nvm\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw }\end{DoxyParamCaption})}

e1000\+\_\+release\+\_\+nvm\+\_\+generic -\/ Release exclusive access to EEPROM @hw\+: pointer to the HW structure

Stop any current commands to the EEPROM and clear the EEPROM request bit. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00370}{370}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__regs_8h_source_l00042}{E1000\+\_\+\+EECD}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00344}{e1000\+\_\+stop\+\_\+nvm()}}, and \mbox{\hyperlink{e1000__osdep_8h_source_l00196}{E1000\+\_\+\+WRITE\+\_\+\+REG}}.



Referenced by \mbox{\hyperlink{e1000__82540_8c_source_l00118}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82540()}}, \mbox{\hyperlink{e1000__82541_8c_source_l00129}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82541()}}, \mbox{\hyperlink{e1000__80003es2lan_8c_source_l00385}{e1000\+\_\+release\+\_\+nvm\+\_\+80003es2lan()}}, \mbox{\hyperlink{e1000__82571_8c_source_l00658}{e1000\+\_\+release\+\_\+nvm\+\_\+82571()}}, and \mbox{\hyperlink{e1000__82575_8c_source_l00984}{e1000\+\_\+release\+\_\+nvm\+\_\+82575()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_ab61cbe2ca912b2fd9bf44f0dcb3da728_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_ab61cbe2ca912b2fd9bf44f0dcb3da728_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a6cf2f625aa1fd3702d4c476a27fc7ac0}\label{e1000__nvm_8c_a6cf2f625aa1fd3702d4c476a27fc7ac0}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_reload\_nvm\_generic@{e1000\_reload\_nvm\_generic}}
\index{e1000\_reload\_nvm\_generic@{e1000\_reload\_nvm\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_reload\_nvm\_generic()}{e1000\_reload\_nvm\_generic()}}
{\footnotesize\ttfamily static void e1000\+\_\+reload\+\_\+nvm\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

e1000\+\_\+reload\+\_\+nvm\+\_\+generic -\/ Reloads EEPROM @hw\+: pointer to the HW structure

Reloads the EEPROM by setting the \char`\"{}\+Reinitialize from EEPROM\char`\"{} bit in the extended control register. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l01266}{1266}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__regs_8h_source_l00044}{E1000\+\_\+\+CTRL\+\_\+\+EXT}}, \mbox{\hyperlink{e1000__defines_8h_source_l00078}{E1000\+\_\+\+CTRL\+\_\+\+EXT\+\_\+\+EE\+\_\+\+RST}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00177}{E1000\+\_\+\+WRITE\+\_\+\+FLUSH}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00196}{E1000\+\_\+\+WRITE\+\_\+\+REG}}, and \mbox{\hyperlink{e1000__osdep_8h_source_l00101}{usec\+\_\+delay}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00046}{e1000\+\_\+init\+\_\+nvm\+\_\+ops\+\_\+generic()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a6cf2f625aa1fd3702d4c476a27fc7ac0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_abfbbeaa0bc7f08c5dc267c091db8987e}\label{e1000__nvm_8c_abfbbeaa0bc7f08c5dc267c091db8987e}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_shift\_in\_eec\_bits@{e1000\_shift\_in\_eec\_bits}}
\index{e1000\_shift\_in\_eec\_bits@{e1000\_shift\_in\_eec\_bits}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_shift\_in\_eec\_bits()}{e1000\_shift\_in\_eec\_bits()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} e1000\+\_\+shift\+\_\+in\+\_\+eec\+\_\+bits (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{count }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

e1000\+\_\+shift\+\_\+in\+\_\+eec\+\_\+bits -\/ Shift data bits in from the EEPROM @hw\+: pointer to the HW structure @count\+: number of bits to shift in

In order to read a register from the EEPROM, we need to shift \textquotesingle{}count\textquotesingle{} bits in from the EEPROM. Bits are \char`\"{}shifted in\char`\"{} by raising the clock input to the EEPROM (setting the SK bit), and then reading the value of the data out \char`\"{}\+DO\char`\"{} bit. During this \char`\"{}shifting in\char`\"{} process the data in \char`\"{}\+DI\char`\"{} bit should always be clear. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00202}{202}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__regs_8h_source_l00042}{E1000\+\_\+\+EECD}}, \mbox{\hyperlink{e1000__defines_8h_source_l01036}{E1000\+\_\+\+EECD\+\_\+\+DI}}, \mbox{\hyperlink{e1000__defines_8h_source_l01037}{E1000\+\_\+\+EECD\+\_\+\+DO}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00137}{e1000\+\_\+lower\+\_\+eec\+\_\+clk()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00122}{e1000\+\_\+raise\+\_\+eec\+\_\+clk()}}, and \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00508}{e1000\+\_\+read\+\_\+nvm\+\_\+microwire()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00448}{e1000\+\_\+read\+\_\+nvm\+\_\+spi()}}, and \mbox{\hyperlink{e1000__nvm_8c_source_l00389}{e1000\+\_\+ready\+\_\+nvm\+\_\+eeprom()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_abfbbeaa0bc7f08c5dc267c091db8987e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_abfbbeaa0bc7f08c5dc267c091db8987e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a0ad26b09b23d73e6804defd28ddec82f}\label{e1000__nvm_8c_a0ad26b09b23d73e6804defd28ddec82f}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_shift\_out\_eec\_bits@{e1000\_shift\_out\_eec\_bits}}
\index{e1000\_shift\_out\_eec\_bits@{e1000\_shift\_out\_eec\_bits}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_shift\_out\_eec\_bits()}{e1000\_shift\_out\_eec\_bits()}}
{\footnotesize\ttfamily static void e1000\+\_\+shift\+\_\+out\+\_\+eec\+\_\+bits (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{data,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{count }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

e1000\+\_\+shift\+\_\+out\+\_\+eec\+\_\+bits -\/ Shift data bits our to the EEPROM @hw\+: pointer to the HW structure @data\+: data to send to the EEPROM @count\+: number of bits to shift out

We need to shift \textquotesingle{}count\textquotesingle{} bits out to the EEPROM. So, the value in the \char`\"{}data\char`\"{} parameter will be shifted out to the EEPROM one bit at a time. In order to do this, \char`\"{}data\char`\"{} must be broken down into bits. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00155}{155}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__hw_8h_source_l00897}{e1000\+\_\+nvm\+\_\+info\+::delay\+\_\+usec}}, \mbox{\hyperlink{e1000__regs_8h_source_l00042}{E1000\+\_\+\+EECD}}, \mbox{\hyperlink{e1000__defines_8h_source_l01036}{E1000\+\_\+\+EECD\+\_\+\+DI}}, \mbox{\hyperlink{e1000__defines_8h_source_l01037}{E1000\+\_\+\+EECD\+\_\+\+DO}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00137}{e1000\+\_\+lower\+\_\+eec\+\_\+clk()}}, \mbox{\hyperlink{e1000__hw_8h_source_l00293}{e1000\+\_\+nvm\+\_\+eeprom\+\_\+microwire}}, \mbox{\hyperlink{e1000__hw_8h_source_l00292}{e1000\+\_\+nvm\+\_\+eeprom\+\_\+spi}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00122}{e1000\+\_\+raise\+\_\+eec\+\_\+clk()}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00177}{E1000\+\_\+\+WRITE\+\_\+\+FLUSH}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00196}{E1000\+\_\+\+WRITE\+\_\+\+REG}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__hw_8h_source_l00890}{e1000\+\_\+nvm\+\_\+info\+::type}}, and \mbox{\hyperlink{e1000__osdep_8h_source_l00101}{usec\+\_\+delay}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00508}{e1000\+\_\+read\+\_\+nvm\+\_\+microwire()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00448}{e1000\+\_\+read\+\_\+nvm\+\_\+spi()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00389}{e1000\+\_\+ready\+\_\+nvm\+\_\+eeprom()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00691}{e1000\+\_\+write\+\_\+nvm\+\_\+microwire()}}, and \mbox{\hyperlink{e1000__nvm_8c_source_l00611}{e1000\+\_\+write\+\_\+nvm\+\_\+spi()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a0ad26b09b23d73e6804defd28ddec82f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a0ad26b09b23d73e6804defd28ddec82f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a0c54e21e9d21703c8b97f99b4fd20d78}\label{e1000__nvm_8c_a0c54e21e9d21703c8b97f99b4fd20d78}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_standby\_nvm@{e1000\_standby\_nvm}}
\index{e1000\_standby\_nvm@{e1000\_standby\_nvm}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_standby\_nvm()}{e1000\_standby\_nvm()}}
{\footnotesize\ttfamily static void e1000\+\_\+standby\+\_\+nvm (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

e1000\+\_\+standby\+\_\+nvm -\/ Return EEPROM to standby state @hw\+: pointer to the HW structure

Return the EEPROM to a standby state. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00303}{303}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__hw_8h_source_l00897}{e1000\+\_\+nvm\+\_\+info\+::delay\+\_\+usec}}, \mbox{\hyperlink{e1000__regs_8h_source_l00042}{E1000\+\_\+\+EECD}}, \mbox{\hyperlink{e1000__defines_8h_source_l01035}{E1000\+\_\+\+EECD\+\_\+\+CS}}, \mbox{\hyperlink{e1000__defines_8h_source_l01034}{E1000\+\_\+\+EECD\+\_\+\+SK}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00137}{e1000\+\_\+lower\+\_\+eec\+\_\+clk()}}, \mbox{\hyperlink{e1000__hw_8h_source_l00293}{e1000\+\_\+nvm\+\_\+eeprom\+\_\+microwire}}, \mbox{\hyperlink{e1000__hw_8h_source_l00292}{e1000\+\_\+nvm\+\_\+eeprom\+\_\+spi}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00122}{e1000\+\_\+raise\+\_\+eec\+\_\+clk()}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00177}{E1000\+\_\+\+WRITE\+\_\+\+FLUSH}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00196}{E1000\+\_\+\+WRITE\+\_\+\+REG}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__hw_8h_source_l00890}{e1000\+\_\+nvm\+\_\+info\+::type}}, and \mbox{\hyperlink{e1000__osdep_8h_source_l00101}{usec\+\_\+delay}}.



Referenced by \mbox{\hyperlink{e1000__nvm_8c_source_l00508}{e1000\+\_\+read\+\_\+nvm\+\_\+microwire()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00448}{e1000\+\_\+read\+\_\+nvm\+\_\+spi()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00389}{e1000\+\_\+ready\+\_\+nvm\+\_\+eeprom()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00691}{e1000\+\_\+write\+\_\+nvm\+\_\+microwire()}}, and \mbox{\hyperlink{e1000__nvm_8c_source_l00611}{e1000\+\_\+write\+\_\+nvm\+\_\+spi()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a0c54e21e9d21703c8b97f99b4fd20d78_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a0c54e21e9d21703c8b97f99b4fd20d78_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a471aabfcc466be3ceb1958fe885b10e5}\label{e1000__nvm_8c_a471aabfcc466be3ceb1958fe885b10e5}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_stop\_nvm@{e1000\_stop\_nvm}}
\index{e1000\_stop\_nvm@{e1000\_stop\_nvm}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_stop\_nvm()}{e1000\_stop\_nvm()}}
{\footnotesize\ttfamily void e1000\+\_\+stop\+\_\+nvm (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw }\end{DoxyParamCaption})}

e1000\+\_\+stop\+\_\+nvm -\/ Terminate EEPROM command @hw\+: pointer to the HW structure

Terminates the current command by inverting the EEPROM\textquotesingle{}s chip select pin. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00344}{344}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__regs_8h_source_l00042}{E1000\+\_\+\+EECD}}, \mbox{\hyperlink{e1000__defines_8h_source_l01035}{E1000\+\_\+\+EECD\+\_\+\+CS}}, \mbox{\hyperlink{e1000__defines_8h_source_l01036}{E1000\+\_\+\+EECD\+\_\+\+DI}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00137}{e1000\+\_\+lower\+\_\+eec\+\_\+clk()}}, \mbox{\hyperlink{e1000__hw_8h_source_l00293}{e1000\+\_\+nvm\+\_\+eeprom\+\_\+microwire}}, \mbox{\hyperlink{e1000__hw_8h_source_l00292}{e1000\+\_\+nvm\+\_\+eeprom\+\_\+spi}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00122}{e1000\+\_\+raise\+\_\+eec\+\_\+clk()}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00196}{E1000\+\_\+\+WRITE\+\_\+\+REG}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00890}{e1000\+\_\+nvm\+\_\+info\+::type}}.



Referenced by \mbox{\hyperlink{e1000__82542_8c_source_l00075}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82542()}}, and \mbox{\hyperlink{e1000__nvm_8c_source_l00370}{e1000\+\_\+release\+\_\+nvm\+\_\+generic()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=337pt]{d1/d7b/e1000__nvm_8c_a471aabfcc466be3ceb1958fe885b10e5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a471aabfcc466be3ceb1958fe885b10e5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a4e7c937c56f8af64dc6b33974a986276}\label{e1000__nvm_8c_a4e7c937c56f8af64dc6b33974a986276}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_update\_nvm\_checksum\_generic@{e1000\_update\_nvm\_checksum\_generic}}
\index{e1000\_update\_nvm\_checksum\_generic@{e1000\_update\_nvm\_checksum\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_update\_nvm\_checksum\_generic()}{e1000\_update\_nvm\_checksum\_generic()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+update\+\_\+nvm\+\_\+checksum\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw }\end{DoxyParamCaption})}

e1000\+\_\+update\+\_\+nvm\+\_\+checksum\+\_\+generic -\/ Update EEPROM checksum @hw\+: pointer to the HW structure

Updates the EEPROM checksum by reading/adding each word of the EEPROM up to the checksum. Then calculates the EEPROM checksum and writes the value to the EEPROM. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l01235}{1235}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01144}{NVM\+\_\+\+CHECKSUM\+\_\+\+REG}}, \mbox{\hyperlink{e1000__defines_8h_source_l01180}{NVM\+\_\+\+SUM}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, \mbox{\hyperlink{e1000__hw_8h_source_l00801}{e1000\+\_\+nvm\+\_\+operations\+::read}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00807}{e1000\+\_\+nvm\+\_\+operations\+::write}}.



Referenced by \mbox{\hyperlink{e1000__80003es2lan_8c_source_l00139}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+80003es2lan()}}, \mbox{\hyperlink{e1000__82540_8c_source_l00118}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82540()}}, \mbox{\hyperlink{e1000__82541_8c_source_l00129}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82541()}}, \mbox{\hyperlink{e1000__82542_8c_source_l00075}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82542()}}, \mbox{\hyperlink{e1000__82543_8c_source_l00168}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82543()}}, \mbox{\hyperlink{e1000__82575_8c_source_l00441}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82575()}}, \mbox{\hyperlink{e1000__82571_8c_source_l00711}{e1000\+\_\+update\+\_\+nvm\+\_\+checksum\+\_\+82571()}}, \mbox{\hyperlink{e1000__ich8lan_8c_source_l04241}{e1000\+\_\+update\+\_\+nvm\+\_\+checksum\+\_\+ich8lan()}}, and \mbox{\hyperlink{e1000__ich8lan_8c_source_l04079}{e1000\+\_\+update\+\_\+nvm\+\_\+checksum\+\_\+spt()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a4e7c937c56f8af64dc6b33974a986276_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_ae3402541b253b31da66c2be503f2389a}\label{e1000__nvm_8c_ae3402541b253b31da66c2be503f2389a}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_validate\_nvm\_checksum\_generic@{e1000\_validate\_nvm\_checksum\_generic}}
\index{e1000\_validate\_nvm\_checksum\_generic@{e1000\_validate\_nvm\_checksum\_generic}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_validate\_nvm\_checksum\_generic()}{e1000\_validate\_nvm\_checksum\_generic()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+validate\+\_\+nvm\+\_\+checksum\+\_\+generic (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw }\end{DoxyParamCaption})}

e1000\+\_\+validate\+\_\+nvm\+\_\+checksum\+\_\+generic -\/ Validate EEPROM checksum @hw\+: pointer to the HW structure

Calculates the EEPROM checksum by reading/adding each word of the EEPROM and then verifies that the sum of the EEPROM is equal to 0x\+BABA. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l01202}{1202}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__defines_8h_source_l00710}{E1000\+\_\+\+ERR\+\_\+\+NVM}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01144}{NVM\+\_\+\+CHECKSUM\+\_\+\+REG}}, \mbox{\hyperlink{e1000__defines_8h_source_l01180}{NVM\+\_\+\+SUM}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00801}{e1000\+\_\+nvm\+\_\+operations\+::read}}.



Referenced by \mbox{\hyperlink{e1000__80003es2lan_8c_source_l00139}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+80003es2lan()}}, \mbox{\hyperlink{e1000__82540_8c_source_l00118}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82540()}}, \mbox{\hyperlink{e1000__82541_8c_source_l00129}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82541()}}, \mbox{\hyperlink{e1000__82542_8c_source_l00075}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82542()}}, \mbox{\hyperlink{e1000__82543_8c_source_l00168}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82543()}}, \mbox{\hyperlink{e1000__82575_8c_source_l00441}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82575()}}, \mbox{\hyperlink{e1000__82571_8c_source_l00772}{e1000\+\_\+validate\+\_\+nvm\+\_\+checksum\+\_\+82571()}}, \mbox{\hyperlink{e1000__i210_8c_source_l00454}{e1000\+\_\+validate\+\_\+nvm\+\_\+checksum\+\_\+i210()}}, and \mbox{\hyperlink{e1000__ich8lan_8c_source_l04391}{e1000\+\_\+validate\+\_\+nvm\+\_\+checksum\+\_\+ich8lan()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_ae3402541b253b31da66c2be503f2389a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_aad165fffde2e76d322943e418e9a7920}\label{e1000__nvm_8c_aad165fffde2e76d322943e418e9a7920}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_write\_nvm\_microwire@{e1000\_write\_nvm\_microwire}}
\index{e1000\_write\_nvm\_microwire@{e1000\_write\_nvm\_microwire}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_write\_nvm\_microwire()}{e1000\_write\_nvm\_microwire()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+write\+\_\+nvm\+\_\+microwire (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{offset,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{words,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$}]{data }\end{DoxyParamCaption})}

e1000\+\_\+write\+\_\+nvm\+\_\+microwire -\/ Writes EEPROM using microwire @hw\+: pointer to the HW structure @offset\+: offset within the EEPROM to be written to @words\+: number of words to write @data\+: 16 bit word(s) to be written to the EEPROM

Writes data to EEPROM at offset using microwire interface.

If e1000\+\_\+update\+\_\+nvm\+\_\+checksum is not called after this function , the EEPROM will most likely contain an invalid checksum. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00691}{691}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__hw_8h_source_l00800}{e1000\+\_\+nvm\+\_\+operations\+::acquire}}, \mbox{\hyperlink{e1000__hw_8h_source_l00898}{e1000\+\_\+nvm\+\_\+info\+::address\+\_\+bits}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__regs_8h_source_l00042}{E1000\+\_\+\+EECD}}, \mbox{\hyperlink{e1000__defines_8h_source_l01037}{E1000\+\_\+\+EECD\+\_\+\+DO}}, \mbox{\hyperlink{e1000__defines_8h_source_l00710}{E1000\+\_\+\+ERR\+\_\+\+NVM}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00191}{E1000\+\_\+\+READ\+\_\+\+REG}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00389}{e1000\+\_\+ready\+\_\+nvm\+\_\+eeprom()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00155}{e1000\+\_\+shift\+\_\+out\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00303}{e1000\+\_\+standby\+\_\+nvm()}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01199}{NVM\+\_\+\+EWDS\+\_\+\+OPCODE\+\_\+\+MICROWIRE}}, \mbox{\hyperlink{e1000__defines_8h_source_l01198}{NVM\+\_\+\+EWEN\+\_\+\+OPCODE\+\_\+\+MICROWIRE}}, \mbox{\hyperlink{e1000__defines_8h_source_l01196}{NVM\+\_\+\+WRITE\+\_\+\+OPCODE\+\_\+\+MICROWIRE}}, \mbox{\hyperlink{e1000__hw_8h_source_l00899}{e1000\+\_\+nvm\+\_\+info\+::opcode\+\_\+bits}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, \mbox{\hyperlink{e1000__hw_8h_source_l00802}{e1000\+\_\+nvm\+\_\+operations\+::release}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00101}{usec\+\_\+delay}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00896}{e1000\+\_\+nvm\+\_\+info\+::word\+\_\+size}}.



Referenced by \mbox{\hyperlink{e1000__82540_8c_source_l00118}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82540()}}, \mbox{\hyperlink{e1000__82541_8c_source_l00129}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82541()}}, \mbox{\hyperlink{e1000__82542_8c_source_l00075}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82542()}}, and \mbox{\hyperlink{e1000__82543_8c_source_l00168}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82543()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_aad165fffde2e76d322943e418e9a7920_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_aad165fffde2e76d322943e418e9a7920_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a5261c4d513480fdab42dae202eaebc98}\label{e1000__nvm_8c_a5261c4d513480fdab42dae202eaebc98}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_write\_nvm\_spi@{e1000\_write\_nvm\_spi}}
\index{e1000\_write\_nvm\_spi@{e1000\_write\_nvm\_spi}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_write\_nvm\_spi()}{e1000\_write\_nvm\_spi()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+write\+\_\+nvm\+\_\+spi (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{offset,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}}}]{words,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$}]{data }\end{DoxyParamCaption})}

e1000\+\_\+write\+\_\+nvm\+\_\+spi -\/ Write to EEPROM using SPI @hw\+: pointer to the HW structure @offset\+: offset within the EEPROM to be written to @words\+: number of words to write @data\+: 16 bit word(s) to be written to the EEPROM

Writes data to EEPROM at offset using SPI interface.

If e1000\+\_\+update\+\_\+nvm\+\_\+checksum is not called after this function , the EEPROM will most likely contain an invalid checksum. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l00611}{611}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__hw_8h_source_l00800}{e1000\+\_\+nvm\+\_\+operations\+::acquire}}, \mbox{\hyperlink{e1000__hw_8h_source_l00898}{e1000\+\_\+nvm\+\_\+info\+::address\+\_\+bits}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00115}{DEBUGFUNC}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00109}{DEBUGOUT}}, \mbox{\hyperlink{e1000__defines_8h_source_l00710}{E1000\+\_\+\+ERR\+\_\+\+NVM}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00389}{e1000\+\_\+ready\+\_\+nvm\+\_\+eeprom()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00155}{e1000\+\_\+shift\+\_\+out\+\_\+eec\+\_\+bits()}}, \mbox{\hyperlink{e1000__nvm_8c_source_l00303}{e1000\+\_\+standby\+\_\+nvm()}}, \mbox{\hyperlink{e1000__osdep_8h_source_l00103}{msec\+\_\+delay}}, \mbox{\hyperlink{e1000__hw_8h_source_l01031}{e1000\+\_\+hw\+::nvm}}, \mbox{\hyperlink{e1000__defines_8h_source_l01205}{NVM\+\_\+\+A8\+\_\+\+OPCODE\+\_\+\+SPI}}, \mbox{\hyperlink{e1000__defines_8h_source_l01206}{NVM\+\_\+\+WREN\+\_\+\+OPCODE\+\_\+\+SPI}}, \mbox{\hyperlink{e1000__defines_8h_source_l01204}{NVM\+\_\+\+WRITE\+\_\+\+OPCODE\+\_\+\+SPI}}, \mbox{\hyperlink{e1000__hw_8h_source_l00899}{e1000\+\_\+nvm\+\_\+info\+::opcode\+\_\+bits}}, \mbox{\hyperlink{e1000__hw_8h_source_l00889}{e1000\+\_\+nvm\+\_\+info\+::ops}}, \mbox{\hyperlink{e1000__hw_8h_source_l00900}{e1000\+\_\+nvm\+\_\+info\+::page\+\_\+size}}, \mbox{\hyperlink{e1000__hw_8h_source_l00802}{e1000\+\_\+nvm\+\_\+operations\+::release}}, and \mbox{\hyperlink{e1000__hw_8h_source_l00896}{e1000\+\_\+nvm\+\_\+info\+::word\+\_\+size}}.



Referenced by \mbox{\hyperlink{e1000__82541_8c_source_l00129}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82541()}}, \mbox{\hyperlink{e1000__82575_8c_source_l00441}{e1000\+\_\+init\+\_\+nvm\+\_\+params\+\_\+82575()}}, \mbox{\hyperlink{e1000__80003es2lan_8c_source_l00544}{e1000\+\_\+write\+\_\+nvm\+\_\+80003es2lan()}}, and \mbox{\hyperlink{e1000__82571_8c_source_l00678}{e1000\+\_\+write\+\_\+nvm\+\_\+82571()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a5261c4d513480fdab42dae202eaebc98_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d7b/e1000__nvm_8c_a5261c4d513480fdab42dae202eaebc98_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{e1000__nvm_8c_a1c912d8c3a05a42ec80fce72602ea390}\label{e1000__nvm_8c_a1c912d8c3a05a42ec80fce72602ea390}} 
\index{e1000\_nvm.c@{e1000\_nvm.c}!e1000\_write\_pba\_raw@{e1000\_write\_pba\_raw}}
\index{e1000\_write\_pba\_raw@{e1000\_write\_pba\_raw}!e1000\_nvm.c@{e1000\_nvm.c}}
\doxysubsubsection{\texorpdfstring{e1000\_write\_pba\_raw()}{e1000\_write\_pba\_raw()}}
{\footnotesize\ttfamily \mbox{\hyperlink{e1000__osdep_8h_ae9b1af5c037e57a98884758875d3a7c4}{s32}} e1000\+\_\+write\+\_\+pba\+\_\+raw (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structe1000__hw}{e1000\+\_\+hw}} $\ast$}]{hw,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_ace9d960e74685e2cd84b36132dbbf8aa}{u16}} $\ast$}]{eeprom\+\_\+buf,  }\item[{\mbox{\hyperlink{e1000__osdep_8h_afaa62991928fb9fb18ff0db62a040aba}{u32}}}]{eeprom\+\_\+buf\+\_\+size,  }\item[{struct \mbox{\hyperlink{structe1000__pba}{e1000\+\_\+pba}} $\ast$}]{pba }\end{DoxyParamCaption})}

e1000\+\_\+write\+\_\+pba\+\_\+raw @hw\+: pointer to the HW structure @eeprom\+\_\+buf\+: optional pointer to EEPROM image @eeprom\+\_\+buf\+\_\+size\+: size of EEPROM image in words @pba\+: pointer to PBA structure

Writes PBA to EEPROM image when eeprom\+\_\+buf is not NULL. Writes PBA to physical EEPROM device when eeprom\+\_\+buf is NULL. 

Definition at line \mbox{\hyperlink{e1000__nvm_8c_source_l01059}{1059}} of file \mbox{\hyperlink{e1000__nvm_8c_source}{e1000\+\_\+nvm.\+c}}.



References \mbox{\hyperlink{e1000__defines_8h_source_l00713}{E1000\+\_\+\+ERR\+\_\+\+PARAM}}, \mbox{\hyperlink{e1000__defines_8h_source_l00709}{E1000\+\_\+\+SUCCESS}}, \mbox{\hyperlink{e1000__api_8c_source_l01358}{e1000\+\_\+write\+\_\+nvm()}}, \mbox{\hyperlink{e1000__defines_8h_source_l01183}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+0}}, \mbox{\hyperlink{e1000__defines_8h_source_l01184}{NVM\+\_\+\+PBA\+\_\+\+OFFSET\+\_\+1}}, \mbox{\hyperlink{e1000__defines_8h_source_l01185}{NVM\+\_\+\+PBA\+\_\+\+PTR\+\_\+\+GUARD}}, \mbox{\hyperlink{e1000__nvm_8h_source_l00041}{e1000\+\_\+pba\+::pba\+\_\+block}}, and \mbox{\hyperlink{e1000__nvm_8h_source_l00040}{e1000\+\_\+pba\+::word}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=343pt]{d1/d7b/e1000__nvm_8c_a1c912d8c3a05a42ec80fce72602ea390_cgraph}
\end{center}
\end{figure}
