]> git.sur5r.net Git - u-boot/commitdiff
KM: define CONFIG_SYS_I2C_INIT_BOARD only for concerned board
authorValentin Longchamp <valentin.longchamp@keymile.com>
Fri, 18 Oct 2013 09:47:17 +0000 (11:47 +0200)
committerYork Sun <yorksun@freescale.com>
Thu, 24 Oct 2013 16:35:33 +0000 (09:35 -0700)
This must be defined for all the keymile boards that use the common
i2c_abort function that is used to "reset" the I2C bus. These are
currently km82xx and km_arm boards.

The  km83xx boards use other functions and thus do not need this.

This patch removes the CONFIG_SYS_I2C_INIT_BOARD from keymile-common.h
and defines it for km_arm.h and km82xx.h.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
board/keymile/common/common.c
include/configs/km/keymile-common.h
include/configs/km/km_arm.h
include/configs/km82xx.h

index 136b2dee12a2f07caa85fd6ea781b8699691d3a9..3d7b05661a56d99cfe8e95cba3d866316b213304 100644 (file)
 #include "common.h"
 #include <i2c.h>
 
-#if !defined(CONFIG_MPC83xx)
-static void i2c_write_start_seq(void);
-#endif
-
 DECLARE_GLOBAL_DATA_PTR;
 
 /*
@@ -78,7 +74,6 @@ int set_km_env(void)
 }
 
 #if defined(CONFIG_SYS_I2C_INIT_BOARD)
-#if !defined(CONFIG_MPC83xx)
 static void i2c_write_start_seq(void)
 {
        set_sda(1);
@@ -101,21 +96,6 @@ static void i2c_write_start_seq(void)
  */
 int i2c_make_abort(void)
 {
-
-#if defined(CONFIG_HARD_I2C) && !defined(MACH_TYPE_KM_KIRKWOOD)
-       immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
-       i2c8260_t *i2c  = (i2c8260_t *)&immap->im_i2c;
-
-       /*
-        * disable I2C controller first, otherwhise it thinks we want to
-        * talk to the slave port...
-        */
-       clrbits_8(&i2c->i2c_i2mod, 0x01);
-
-       /* Set the PortPins to GPIO */
-       setports(1);
-#endif
-
        int     scl_state = 0;
        int     sda_state = 0;
        int     i = 0;
@@ -148,13 +128,8 @@ int i2c_make_abort(void)
        set_sda(1);
        get_sda();
 
-#if defined(CONFIG_HARD_I2C)
-       /* Set the PortPins back to use for I2C */
-       setports(0);
-#endif
        return ret;
 }
-#endif
 
 /**
  * i2c_init_board - reset i2c bus. When the board is powercycled during a
index 2524cebcd18161475ea9b39c66140f3a90162ddd..f62fdf6bddfba13f5a06ce7eca22ef73a75f2f9b 100644 (file)
@@ -63,8 +63,6 @@
 #define CONFIG_LOADS_ECHO
 #define CONFIG_SYS_LOADS_BAUD_CHANGE
 
-#define CONFIG_SYS_I2C_INIT_BOARD
-
 /* Support the IVM EEprom */
 #define        CONFIG_SYS_IVM_EEPROM_ADR       0x50
 #define CONFIG_SYS_IVM_EEPROM_MAX_LEN  0x400
index 75b625090120d6e10520ea572bbb4a278f66ed31..36c2fba9e60b639b3097a6e845b5e9ae56255c09 100644 (file)
 #undef CONFIG_I2C_MVTWSI
 #define CONFIG_SYS_I2C
 #define        CONFIG_SYS_I2C_SOFT     /* I2C bit-banged       */
+#define CONFIG_SYS_I2C_INIT_BOARD
 
 #define        CONFIG_KIRKWOOD_GPIO            /* Enable GPIO Support */
-#if defined(CONFIG_SYS_I2C_SOFT)
-
 #define CONFIG_SYS_NUM_I2C_BUSES       6
 #define CONFIG_SYS_I2C_MAX_HOPS                1
 #define CONFIG_SYS_I2C_BUSES   {       {0, {I2C_NULL_HOP} }, \
@@ -214,7 +213,6 @@ int get_scl(void);
 
 #define        CONFIG_SYS_I2C_SOFT_SLAVE       0x0
 #define        CONFIG_SYS_I2C_SOFT_SPEED       100000
-#endif
 
 /* EEprom support 24C128, 24C256 valid for environment eeprom */
 #define CONFIG_SYS_I2C_MULTI_EEPROMS
index 986c65f1e6639eda3ae0b4c35e8406a91bbf7385..029c348285202404fe57054a3baf16b387c06c48 100644 (file)
 /* enable I2C and select the hardware/software driver */
 #define CONFIG_SYS_I2C
 #define CONFIG_SYS_I2C_SOFT            /* I2C bit-banged */
+#define CONFIG_SYS_I2C_INIT_BOARD
 #define CONFIG_SYS_NUM_I2C_BUSES       3
 #define CONFIG_SYS_I2C_MAX_HOPS                1
 #define CONFIG_SYS_I2C_SOFT_SPEED      50000
                        {0, {{I2C_MUX_PCA9542, 0x70, 1} } } }
 
 #define CONFIG_KM_IVM_BUS              1       /* I2C2 (Mux-Port 1)*/
+#define CONFIG_KM_I2C_ABORT
 
 /*
  * Software (bit-bang) I2C driver configuration