From: Simon Glass <sjg@chromium.org>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Tom Rini <trini@konsulko.com>, Heiko Schocher <hs@denx.de>,
Simon Glass <sjg@chromium.org>
Subject: [PATCH 13/20] i2c: Drop reference to SYS_I2C_INIT_BOARD
Date: Thu, 18 Jul 2024 18:36:04 +0100 [thread overview]
Message-ID: <20240718173611.4014274-14-sjg@chromium.org> (raw)
In-Reply-To: <20240718173611.4014274-1-sjg@chromium.org>
This is not now used by any boards, so drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
doc/I2C_Edge_Conditions | 10 ++++------
drivers/i2c/soft_i2c.c | 11 -----------
2 files changed, 4 insertions(+), 17 deletions(-)
diff --git a/doc/I2C_Edge_Conditions b/doc/I2C_Edge_Conditions
index f4a99687011..9ccb21c5092 100644
--- a/doc/I2C_Edge_Conditions
+++ b/doc/I2C_Edge_Conditions
@@ -31,12 +31,10 @@ Notes
!!!THIS IS AN UNDOCUMENTED I2C BUS BUG, NOT A AMCC 4xx BUG!!!
This reset edge condition could possibly be present in every I2C
-controller and device available. For boards where a I2C bus reset
-function can be implemented a i2c_init_board() function should be
-provided and enabled by #define'ing CONFIG_SYS_I2C_INIT_BOARD in your
-board's config file. Note that this is NOT necessary when using the
-bit-banging I2C driver (common/soft_i2c.c) as this already includes
-the I2C bus reset sequence.
+controller and device available.
+
+Note that this problem does not happen when using the bit-banging I2C driver
+(common/soft_i2c.c) as this already includes the I2C bus reset sequence.
Many thanks to Bill Hunter for finding this serious BUG.
diff --git a/drivers/i2c/soft_i2c.c b/drivers/i2c/soft_i2c.c
index 1f2afc65e8b..6b2bff03f13 100644
--- a/drivers/i2c/soft_i2c.c
+++ b/drivers/i2c/soft_i2c.c
@@ -108,16 +108,13 @@ DECLARE_GLOBAL_DATA_PTR;
/*-----------------------------------------------------------------------
* Local functions
*/
-#if !defined(CONFIG_SYS_I2C_INIT_BOARD)
static void send_reset (void);
-#endif
static void send_start (void);
static void send_stop (void);
static void send_ack (int);
static int write_byte (uchar byte);
static uchar read_byte (int);
-#if !defined(CONFIG_SYS_I2C_INIT_BOARD)
/*-----------------------------------------------------------------------
* Send a reset sequence consisting of 9 clocks with the data signal high
* to clock any confused device back into an idle state. Also send a
@@ -145,7 +142,6 @@ static void send_reset(void)
send_stop();
I2C_TRISTATE;
}
-#endif
/*-----------------------------------------------------------------------
* START: High -> Low on SDA while SCL is High
@@ -278,12 +274,6 @@ static uchar read_byte(int ack)
*/
static void soft_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr)
{
-#if defined(CONFIG_SYS_I2C_INIT_BOARD)
- /* call board specific i2c bus reset routine before accessing the */
- /* environment, which might be in a chip on that bus. For details */
- /* about this problem see doc/I2C_Edge_Conditions. */
- i2c_init_board();
-#else
/*
* WARNING: Do NOT save speed in a static variable: if the
* I2C routines are called before RAM is initialized (to read
@@ -291,7 +281,6 @@ static void soft_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr)
* system will crash.
*/
send_reset ();
-#endif
}
/*-----------------------------------------------------------------------
--
2.34.1
next prev parent reply other threads:[~2024-07-18 17:38 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-18 17:35 [PATCH 00/20] i2c: Chip away at some old code Simon Glass
2024-07-18 17:35 ` [PATCH 01/20] arm: Remove pg_wcom boards Simon Glass
2024-07-19 8:50 ` Anatolij Gustschin
2024-07-19 19:20 ` Anatolij Gustschin
2024-07-18 17:35 ` [PATCH 02/20] i2c: Remove board_i2c_init() Simon Glass
2024-07-18 17:35 ` [PATCH 03/20] i2c: Remove IC2_xxx enum Simon Glass
2024-07-18 17:35 ` [PATCH 04/20] i2c: Remove CFG_I2C_MULTI_BUS Simon Glass
2024-07-18 17:35 ` [PATCH 05/20] mips: malta: Drop CMD_DATE Simon Glass
2024-07-18 17:35 ` [PATCH 06/20] armv8: ls2085a: " Simon Glass
2024-07-18 17:35 ` [PATCH 07/20] mx28 / mx51: " Simon Glass
2024-07-18 17:35 ` [PATCH 08/20] MPC837XERDB: ethernut5: work_92105: " Simon Glass
2024-07-18 17:36 ` [PATCH 09/20] rtc: Drop CFG_SYS_RTC_BUS_NUM Simon Glass
2024-07-18 17:36 ` [PATCH 10/20] date: Drop the legacy I2C code Simon Glass
2024-07-18 17:36 ` [PATCH 11/20] keymile: Remove use of legacy I2C Simon Glass
2024-07-19 23:36 ` Anatolij Gustschin
2024-07-22 4:10 ` Heiko Schocher
2024-07-18 17:36 ` [PATCH 12/20] i2c: mxc: pg_wcom: Drop legacy I2c Simon Glass
2024-07-18 17:36 ` Simon Glass [this message]
2024-07-18 17:36 ` [PATCH 14/20] octeon: Drop OCTEON_I2C_FDT dead code Simon Glass
2024-07-18 17:36 ` [PATCH 15/20] i2c: Remove I2C_SET_BUS() Simon Glass
2024-07-18 17:36 ` [PATCH 16/20] i2c: Remove I2C_GET_BUS() Simon Glass
2024-07-18 17:36 ` [PATCH 17/20] i2c: Drop CFG_SYS_MAX_I2C_BUS Simon Glass
2024-07-18 17:36 ` [PATCH 18/20] i2c: Drop i2c_get_bus_num_fdt() and i2c_reset_port_fdt() Simon Glass
2024-07-18 17:36 ` [PATCH 19/20] i2c: Remove CFG_SYS_I2C_MAX_HOPS Simon Glass
2024-07-18 17:36 ` [PATCH 20/20] i2c: Remove CFG_SYS_I2C_DIRECT_BUS Simon Glass
2024-08-09 18:37 ` [PATCH 00/20] i2c: Chip away at some old code Simon Glass
2024-08-09 18:56 ` Tom Rini
2024-08-09 19:58 ` Anatolij Gustschin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240718173611.4014274-14-sjg@chromium.org \
--to=sjg@chromium.org \
--cc=hs@denx.de \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.