[bootlin/training-materials updates] master: kernel: i2c-comm: Explain why the I2C bus needs pull-ups (60330924)

Miquel Raynal miquel.raynal at bootlin.com
Mon Jul 12 20:11:16 CEST 2021


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/60330924f91df547ee5bea4c5b1d78fff6ed12d3

>---------------------------------------------------------------

commit 60330924f91df547ee5bea4c5b1d78fff6ed12d3
Author: Miquel Raynal <miquel.raynal at bootlin.com>
Date:   Mon Jul 12 20:11:16 2021 +0200

    kernel: i2c-comm: Explain why the I2C bus needs pull-ups
    
    Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>


>---------------------------------------------------------------

60330924f91df547ee5bea4c5b1d78fff6ed12d3
 labs/kernel-i2c-communication/kernel-i2c-communication.tex | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/labs/kernel-i2c-communication/kernel-i2c-communication.tex b/labs/kernel-i2c-communication/kernel-i2c-communication.tex
index c4292164..4d5ee0e9 100644
--- a/labs/kernel-i2c-communication/kernel-i2c-communication.tex
+++ b/labs/kernel-i2c-communication/kernel-i2c-communication.tex
@@ -136,8 +136,11 @@ Here are details about the values:
 \item \ksym{MUX_MODE2} corresponds to muxing mode 2, as explained in the
       datasheet.
 \item \ksym{PIN_INPUT_PULLUP} puts the pin in pull-up mode (remember
-      that our pins support both pull-up and pull-down). It seems to
-      be needed for I2C bus operation.
+      that our pins support both pull-up and pull-down). By design, an
+      I2C line is never actively driven high, devices either pull the
+      line low or let it floating. As we plug our device directly on the
+      bus without more analog electronics, we need to enable the
+      internal pull-up.
 \end{itemize}
 
 Now that pin muxing settings have been explained, edit your board




More information about the training-materials-updates mailing list