[FE training-materials-updates] Complete the I2C section
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Thu Sep 26 15:51:21 CEST 2013
Repository : git://git.free-electrons.com/training-materials.git
On branch : kernel-ng
Link : http://git.free-electrons.com/training-materials/commit/?id=dd22250875cd4654bfd06e26075baa28ec77d7e7
>---------------------------------------------------------------
commit dd22250875cd4654bfd06e26075baa28ec77d7e7
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date: Thu Sep 26 15:50:56 2013 +0200
Complete the I2C section
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>---------------------------------------------------------------
dd22250875cd4654bfd06e26075baa28ec77d7e7
slides/kernel-i2c/kernel-i2c.tex | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/slides/kernel-i2c/kernel-i2c.tex b/slides/kernel-i2c/kernel-i2c.tex
index 22b0d5f..b10bb71 100644
--- a/slides/kernel-i2c/kernel-i2c.tex
+++ b/slides/kernel-i2c/kernel-i2c.tex
@@ -348,3 +348,40 @@ error = i2c_transfer(client->adapter, msg, 2);
\end{itemize}
\end{itemize}
\end{frame}
\ No newline at end of file
+
+\begin{frame}{I2C functionality}
+ \begin{itemize}
+ \item Not all I2C controllers support all functionalities.
+ \item The I2C controller drivers therefore tell the I2C core which
+ functionalities they support.
+ \item An I2C device driver must check that the functionalities they
+ need are provided by the I2C controller in use on the system.
+ \item The \code{i2c_check_functionality()} function allows to make
+ such a check.
+ \item Examples of functionalities: \code{I2C_FUNC_I2C} to be able to
+ use the raw I2C functions, \code{I2C_FUNC_SMBUS_BYTE_DATA} to be
+ able to use SMBus commands to write a command and read/write one
+ byte of data.
+ \item See \code{include/uapi/linux/i2c.h} for the full list of
+ existing functionalities.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{References}
+ \begin{itemize}
+ \item \url{http://en.wikipedia.org/wiki/I2C}, general presentation
+ of the I2C protocol
+ \item \code{Documentation/i2c/}, details about the Linux support for I2C
+ \begin{itemize}
+ \item \code{writing-clients}, how to write I2C device drivers
+ \item \code{instantiating-devices}, how to instantiate devices
+ \item \code{smbus-protocol}, details on the SMBus functions
+ \item \code{functionality}, how the functionality mechanism works
+ \item and many more documentation files
+ \end{itemize}
+ \item
+ \url{http://free-electrons.com/pub/video/2012/elce/elce-2012-anders-board-bringup-i2c.webm},
+ excellent talk {\em You, me and I2C} from David Anders at ELCE
+ 2012.
+ \end{itemize}
+\end{frame}
\ No newline at end of file
More information about the training-materials-updates
mailing list