Skip to content
Snippets Groups Projects
Commit 0a4f88b9 authored by Valentin Longchamp's avatar Valentin Longchamp Committed by York Sun
Browse files

KM: define CONFIG_SYS_I2C_INIT_BOARD only for concerned board


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: default avatarValentin Longchamp <valentin.longchamp@keymile.com>
parent 7c3d6a29
No related branches found
No related tags found
No related merge requests found
...@@ -24,10 +24,6 @@ ...@@ -24,10 +24,6 @@
#include "common.h" #include "common.h"
#include <i2c.h> #include <i2c.h>
#if !defined(CONFIG_MPC83xx)
static void i2c_write_start_seq(void);
#endif
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
/* /*
...@@ -78,7 +74,6 @@ int set_km_env(void) ...@@ -78,7 +74,6 @@ int set_km_env(void)
} }
#if defined(CONFIG_SYS_I2C_INIT_BOARD) #if defined(CONFIG_SYS_I2C_INIT_BOARD)
#if !defined(CONFIG_MPC83xx)
static void i2c_write_start_seq(void) static void i2c_write_start_seq(void)
{ {
set_sda(1); set_sda(1);
...@@ -101,21 +96,6 @@ static void i2c_write_start_seq(void) ...@@ -101,21 +96,6 @@ static void i2c_write_start_seq(void)
*/ */
int i2c_make_abort(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 scl_state = 0;
int sda_state = 0; int sda_state = 0;
int i = 0; int i = 0;
...@@ -148,13 +128,8 @@ int i2c_make_abort(void) ...@@ -148,13 +128,8 @@ int i2c_make_abort(void)
set_sda(1); set_sda(1);
get_sda(); get_sda();
#if defined(CONFIG_HARD_I2C)
/* Set the PortPins back to use for I2C */
setports(0);
#endif
return ret; return ret;
} }
#endif
/** /**
* i2c_init_board - reset i2c bus. When the board is powercycled during a * i2c_init_board - reset i2c bus. When the board is powercycled during a
......
...@@ -63,8 +63,6 @@ ...@@ -63,8 +63,6 @@
#define CONFIG_LOADS_ECHO #define CONFIG_LOADS_ECHO
#define CONFIG_SYS_LOADS_BAUD_CHANGE #define CONFIG_SYS_LOADS_BAUD_CHANGE
#define CONFIG_SYS_I2C_INIT_BOARD
/* Support the IVM EEprom */ /* Support the IVM EEprom */
#define CONFIG_SYS_IVM_EEPROM_ADR 0x50 #define CONFIG_SYS_IVM_EEPROM_ADR 0x50
#define CONFIG_SYS_IVM_EEPROM_MAX_LEN 0x400 #define CONFIG_SYS_IVM_EEPROM_MAX_LEN 0x400
......
...@@ -176,10 +176,9 @@ ...@@ -176,10 +176,9 @@
#undef CONFIG_I2C_MVTWSI #undef CONFIG_I2C_MVTWSI
#define CONFIG_SYS_I2C #define CONFIG_SYS_I2C
#define CONFIG_SYS_I2C_SOFT /* I2C bit-banged */ #define CONFIG_SYS_I2C_SOFT /* I2C bit-banged */
#define CONFIG_SYS_I2C_INIT_BOARD
#define CONFIG_KIRKWOOD_GPIO /* Enable GPIO Support */ #define CONFIG_KIRKWOOD_GPIO /* Enable GPIO Support */
#if defined(CONFIG_SYS_I2C_SOFT)
#define CONFIG_SYS_NUM_I2C_BUSES 6 #define CONFIG_SYS_NUM_I2C_BUSES 6
#define CONFIG_SYS_I2C_MAX_HOPS 1 #define CONFIG_SYS_I2C_MAX_HOPS 1
#define CONFIG_SYS_I2C_BUSES { {0, {I2C_NULL_HOP} }, \ #define CONFIG_SYS_I2C_BUSES { {0, {I2C_NULL_HOP} }, \
...@@ -214,7 +213,6 @@ int get_scl(void); ...@@ -214,7 +213,6 @@ int get_scl(void);
#define CONFIG_SYS_I2C_SOFT_SLAVE 0x0 #define CONFIG_SYS_I2C_SOFT_SLAVE 0x0
#define CONFIG_SYS_I2C_SOFT_SPEED 100000 #define CONFIG_SYS_I2C_SOFT_SPEED 100000
#endif
/* EEprom support 24C128, 24C256 valid for environment eeprom */ /* EEprom support 24C128, 24C256 valid for environment eeprom */
#define CONFIG_SYS_I2C_MULTI_EEPROMS #define CONFIG_SYS_I2C_MULTI_EEPROMS
......
...@@ -227,6 +227,7 @@ ...@@ -227,6 +227,7 @@
/* enable I2C and select the hardware/software driver */ /* enable I2C and select the hardware/software driver */
#define CONFIG_SYS_I2C #define CONFIG_SYS_I2C
#define CONFIG_SYS_I2C_SOFT /* I2C bit-banged */ #define CONFIG_SYS_I2C_SOFT /* I2C bit-banged */
#define CONFIG_SYS_I2C_INIT_BOARD
#define CONFIG_SYS_NUM_I2C_BUSES 3 #define CONFIG_SYS_NUM_I2C_BUSES 3
#define CONFIG_SYS_I2C_MAX_HOPS 1 #define CONFIG_SYS_I2C_MAX_HOPS 1
#define CONFIG_SYS_I2C_SOFT_SPEED 50000 #define CONFIG_SYS_I2C_SOFT_SPEED 50000
...@@ -237,6 +238,7 @@ ...@@ -237,6 +238,7 @@
{0, {{I2C_MUX_PCA9542, 0x70, 1} } } } {0, {{I2C_MUX_PCA9542, 0x70, 1} } } }
#define CONFIG_KM_IVM_BUS 1 /* I2C2 (Mux-Port 1)*/ #define CONFIG_KM_IVM_BUS 1 /* I2C2 (Mux-Port 1)*/
#define CONFIG_KM_I2C_ABORT
/* /*
* Software (bit-bang) I2C driver configuration * Software (bit-bang) I2C driver configuration
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment