]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
i2c: Drop reference to SYS_I2C_INIT_BOARD
authorSimon Glass <sjg@chromium.org>
Sun, 11 Aug 2024 14:50:40 +0000 (08:50 -0600)
committerHeiko Schocher <hs@denx.de>
Tue, 13 Aug 2024 04:14:36 +0000 (06:14 +0200)
This is not now used by any boards, so drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
doc/I2C_Edge_Conditions
drivers/i2c/soft_i2c.c

index f4a996870110d32aa815fdc913ceda8e5d20d901..9ccb21c5092329c6bc26f7c72974279035daee8e 100644 (file)
@@ -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.
index 89ddf8210637cb10f97f4cce311cdab23b1129bd..79f7a3205022afebfe736c1995af4386371d99a4 100644 (file)
@@ -107,16 +107,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
@@ -144,7 +141,6 @@ static void send_reset(void)
        send_stop();
        I2C_TRISTATE;
 }
-#endif
 
 /*-----------------------------------------------------------------------
  * START: High -> Low on SDA while SCL is High
@@ -277,12 +273,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
@@ -290,7 +280,6 @@ static void soft_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr)
         * system will crash.
         */
        send_reset ();
-#endif
 }
 
 /*-----------------------------------------------------------------------