[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