From 205d7e38865c5650cd2cf5728ceb30912ac0bef2 Mon Sep 17 00:00:00 2001 From: Miquel Raynal Date: Mon, 12 Jul 2021 20:11:16 +0200 Subject: [PATCH] kernel: i2c-comm: Explain why the I2C bus needs pull-ups Signed-off-by: Miquel Raynal --- 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 c42921646..4d5ee0e97 100644 --- a/labs/kernel-i2c-communication/kernel-i2c-communication.tex +++ b/labs/kernel-i2c-communication/kernel-i2c-communication.tex @@ -136,8 +136,11 @@ \section{Add pinctrl properties to the Device Tree} \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