diff options
Diffstat (limited to 'include')
227 files changed, 1448 insertions, 1154 deletions
| diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index 77260a8d2..77e06fb4f 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -69,6 +69,9 @@ typedef struct global_data {  #ifdef CONFIG_TRACE  	void		*trace_buff;	/* The trace buffer */  #endif +#if defined(CONFIG_SYS_I2C) +	int		cur_i2c_bus;	/* current used i2c bus */ +#endif  	struct arch_global_data arch;	/* architecture-specific data */  } gd_t;  #endif diff --git a/include/configs/A3000.h b/include/configs/A3000.h index 6c204db0a..90a21768e 100644 --- a/include/configs/A3000.h +++ b/include/configs/A3000.h @@ -70,8 +70,8 @@   * PCI stuff   *-----------------------------------------------------------------------   */ -#define CONFIG_HARD_I2C		1		/* To enable I2C support	*/ -#undef	CONFIG_SOFT_I2C				/* I2C bit-banged		*/ +#define CONFIG_HARD_I2C		1		/* To enable I2C support */ +#undef	CONFIG_SYS_I2C_SOFT			/* I2C bit-banged */  #define CONFIG_SYS_I2C_SPEED		400000		/* I2C speed and slave address	*/  #define CONFIG_SYS_I2C_SLAVE		0x7F diff --git a/include/configs/APC405.h b/include/configs/APC405.h index 82245c458..37bcac32c 100644 --- a/include/configs/APC405.h +++ b/include/configs/APC405.h @@ -290,10 +290,11 @@  /*   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08 */  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1	/* Bytes of address */ diff --git a/include/configs/ASH405.h b/include/configs/ASH405.h index 233bc68ab..54de96674 100644 --- a/include/configs/ASH405.h +++ b/include/configs/ASH405.h @@ -231,10 +231,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h index ad1bd7eb7..09043435b 100644 --- a/include/configs/B4860QDS.h +++ b/include/configs/B4860QDS.h @@ -443,14 +443,14 @@ unsigned long get_board_ddr_clk(void);  #define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed in Hz */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x118000 -#define CONFIG_SYS_I2C2_OFFSET		0x119000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL		/* Use FSL common I2C driver */ +#define CONFIG_SYS_FSL_I2C_SPEED	400000	/* I2C speed in Hz */ +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_SPEED	400000	/* I2C speed in Hz */ +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x118000 +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x119000  /*   * RTC configuration diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h index b6a879058..948394edd 100644 --- a/include/configs/BSC9131RDB.h +++ b/include/configs/BSC9131RDB.h @@ -259,13 +259,11 @@ extern unsigned long get_sdram_size(void);  #define CONFIG_FIT  #define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */ -#define CONFIG_FSL_I2C			/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C			/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED		400000 /* I2C speed and slave address*/ -#define CONFIG_SYS_I2C_OFFSET		0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000  /* I2C EEPROM */  #define CONFIG_CMD_EEPROM diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h index e8e2c6f24..1ab689158 100644 --- a/include/configs/BSC9132QDS.h +++ b/include/configs/BSC9132QDS.h @@ -435,15 +435,14 @@ combinations. this should be removed later  #define CONFIG_FIT  #define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */ -#define CONFIG_FSL_I2C			/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C			/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED		400800 /* I2C speed and slave address*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400800 /* I2C speed and slave address*/ +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_SPEED	400800 /* I2C speed and slave address*/ +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /* I2C EEPROM */  #define CONFIG_ID_EEPROM diff --git a/include/configs/CANBT.h b/include/configs/CANBT.h index 66e379078..40471b78a 100644 --- a/include/configs/CANBT.h +++ b/include/configs/CANBT.h @@ -164,13 +164,14 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC08) for environment   */ -#define CONFIG_HARD_I2C			/* I2C with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F -#define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/ -#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* bytes of address		*/ +#define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08	*/ +#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* bytes of address	*/  /* mask of address bits that overflow into the "EEPROM chip address"	*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW	0x07 diff --git a/include/configs/CATcenter.h b/include/configs/CATcenter.h index d6fca13a9..3906863f0 100644 --- a/include/configs/CATcenter.h +++ b/include/configs/CATcenter.h @@ -389,10 +389,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/CMS700.h b/include/configs/CMS700.h index e7609a75e..323eac3fb 100644 --- a/include/configs/CMS700.h +++ b/include/configs/CMS700.h @@ -210,10 +210,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/CPCI2DP.h b/include/configs/CPCI2DP.h index 0f9827441..bd9fd6ee7 100644 --- a/include/configs/CPCI2DP.h +++ b/include/configs/CPCI2DP.h @@ -195,10 +195,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/CPCI405.h b/include/configs/CPCI405.h index c6fa22a63..94ef16e06 100644 --- a/include/configs/CPCI405.h +++ b/include/configs/CPCI405.h @@ -244,10 +244,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC08) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/CPCI4052.h b/include/configs/CPCI4052.h index f43660ebe..8383c1935 100644 --- a/include/configs/CPCI4052.h +++ b/include/configs/CPCI4052.h @@ -271,10 +271,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/CPCI405AB.h b/include/configs/CPCI405AB.h index dbf0662b5..ec9f5aec4 100644 --- a/include/configs/CPCI405AB.h +++ b/include/configs/CPCI405AB.h @@ -247,10 +247,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC32) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC32		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2	/* Bytes of address		*/ diff --git a/include/configs/CPCI405DT.h b/include/configs/CPCI405DT.h index e5a962ae2..ba926abdc 100644 --- a/include/configs/CPCI405DT.h +++ b/include/configs/CPCI405DT.h @@ -266,10 +266,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/CPCIISER4.h b/include/configs/CPCIISER4.h index 2a89efe19..dc4df2945 100644 --- a/include/configs/CPCIISER4.h +++ b/include/configs/CPCIISER4.h @@ -180,10 +180,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC08) for environment   */ -#define CONFIG_HARD_I2C			/* I2C with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/CPU86.h b/include/configs/CPU86.h index b11262690..a85a418fb 100644 --- a/include/configs/CPU86.h +++ b/include/configs/CPU86.h @@ -113,10 +113,11 @@  /*-----------------------------------------------------------------------   * I2C/EEPROM/RTC configuration   */ -#define	CONFIG_SOFT_I2C			/* Software I2C support enabled	*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT			/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE -# define CONFIG_SYS_I2C_SPEED		50000 -# define CONFIG_SYS_I2C_SLAVE		0xFE  /*   * Software (bit-bang) I2C driver configuration   */ diff --git a/include/configs/CPU87.h b/include/configs/CPU87.h index bbd0022f7..7bbcb77af 100644 --- a/include/configs/CPU87.h +++ b/include/configs/CPU87.h @@ -117,10 +117,11 @@  /*-----------------------------------------------------------------------   * I2C/EEPROM/RTC configuration   */ -#define CONFIG_SOFT_I2C			/* Software I2C support enabled */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE -# define CONFIG_SYS_I2C_SPEED		50000 -# define CONFIG_SYS_I2C_SLAVE		0xFE  /*   * Software (bit-bang) I2C driver configuration   */ diff --git a/include/configs/CRAYL1.h b/include/configs/CRAYL1.h index a19b43188..fa3efabea 100644 --- a/include/configs/CRAYL1.h +++ b/include/configs/CRAYL1.h @@ -60,11 +60,12 @@   #define CONFIG_SERVERIP         10.0.0.1   #define CONFIG_ETHADDR          00:40:a6:80:14:5   */ -#define CONFIG_HARD_I2C         1		/* hardware support for i2c */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0  #define CONFIG_SDRAM_BANK0		1 -#define CONFIG_SYS_I2C_SPEED		    400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		    0x7F +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		    400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		    0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR     0x57  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1  #define CONFIG_IDENT_STRING     "Cray L1" diff --git a/include/configs/DP405.h b/include/configs/DP405.h index 9254796cf..872a2b440 100644 --- a/include/configs/DP405.h +++ b/include/configs/DP405.h @@ -162,10 +162,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/DU405.h b/include/configs/DU405.h index b6825d5ad..5b9e0d2f4 100644 --- a/include/configs/DU405.h +++ b/include/configs/DU405.h @@ -181,10 +181,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC08) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/DU440.h b/include/configs/DU440.h index 9b338535d..08271132d 100644 --- a/include/configs/DU440.h +++ b/include/configs/DU440.h @@ -157,19 +157,20 @@  /*   * I2C   */ -#define CONFIG_HARD_I2C		1	/* I2C with hardware support    */ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged	        */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address  */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_I2C_MULTI_BUS    1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F +#define CONFIG_SYS_I2C_PPC4XX_CH1 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_1		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_1		0x7F  #define CONFIG_SYS_SPD_BUS_NUM         0  #define IIC1_MCP3021_ADDR	0x4d  #define IIC1_USB2507_ADDR	0x2c -#ifdef CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_NOPROBES        {{1, IIC1_USB2507_ADDR}} -#endif +#define CONFIG_SYS_I2C_NOPROBES		{ {1, IIC1_USB2507_ADDR} } +  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x54  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 diff --git a/include/configs/G2000.h b/include/configs/G2000.h index 1edd6df7c..5a74abcd4 100644 --- a/include/configs/G2000.h +++ b/include/configs/G2000.h @@ -282,10 +282,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT24WC08		*/  /* CAT24WC08/16... */ diff --git a/include/configs/GEN860T.h b/include/configs/GEN860T.h index 2962c915a..06c0e50c9 100644 --- a/include/configs/GEN860T.h +++ b/include/configs/GEN860T.h @@ -142,26 +142,33 @@  /*   * Enable I2C and select the hardware/software driver   */ -#define CONFIG_HARD_I2C		1				/* CPM based I2C			*/ -#undef	CONFIG_SOFT_I2C						/* Bit-banged I2C			*/ +#define CONFIG_HARD_I2C		1		/* CPM based I2C */ +#undef	CONFIG_SYS_I2C_SOFT			/* Bit-banged I2C */  #ifdef CONFIG_HARD_I2C -#define	CONFIG_SYS_I2C_SPEED		100000			/* clock speed in Hz		*/ -#define CONFIG_SYS_I2C_SLAVE		0xFE			/* I2C slave address		*/ +#define	CONFIG_SYS_I2C_SPEED		100000	/* clock speed in Hz */ +#define CONFIG_SYS_I2C_SLAVE		0xFE	/* I2C slave address */  #endif -#ifdef CONFIG_SOFT_I2C -#define PB_SCL				0x00000020		/* PB 26					*/ -#define PB_SDA				0x00000010		/* PB 27					*/ -#define I2C_INIT			(immr->im_cpm.cp_pbdir |=  PB_SCL) -#define I2C_ACTIVE			(immr->im_cpm.cp_pbdir |=  PB_SDA) -#define I2C_TRISTATE		(immr->im_cpm.cp_pbdir &= ~PB_SDA) -#define I2C_READ			((immr->im_cpm.cp_pbdat & PB_SDA) != 0) -#define I2C_SDA(bit)		if(bit) immr->im_cpm.cp_pbdat |=  PB_SDA; \ -								else    immr->im_cpm.cp_pbdat &= ~PB_SDA -#define I2C_SCL(bit)		if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \ -								else    immr->im_cpm.cp_pbdat &= ~PB_SCL -#define I2C_DELAY			udelay(5)		/* 1/4 I2C clock duration	*/ +#ifdef CONFIG_SYS_I2C_SOFT +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE +#define PB_SCL		0x00000020		/* PB 26 */ +#define PB_SDA		0x00000010		/* PB 27 */ +#define I2C_INIT	(immr->im_cpm.cp_pbdir |=  PB_SCL) +#define I2C_ACTIVE	(immr->im_cpm.cp_pbdir |=  PB_SDA) +#define I2C_TRISTATE	(immr->im_cpm.cp_pbdir &= ~PB_SDA) +#define I2C_READ	((immr->im_cpm.cp_pbdat & PB_SDA) != 0) +#define I2C_SDA(bit)	if (bit) \ +				immr->im_cpm.cp_pbdat |=  PB_SDA; \ +			else \ +				immr->im_cpm.cp_pbdat &= ~PB_SDA +#define I2C_SCL(bit)	if (bit) \ +				immr->im_cpm.cp_pbdat |=  PB_SCL; \ +			else \ +				immr->im_cpm.cp_pbdat &= ~PB_SCL +#define I2C_DELAY	udelay(5) /* 1/4 I2C clock duration */  #endif  /* diff --git a/include/configs/HH405.h b/include/configs/HH405.h index 943d6ddd9..d20ca7787 100644 --- a/include/configs/HH405.h +++ b/include/configs/HH405.h @@ -318,14 +318,15 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0  #if 0 /* test-only */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #else -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address */ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000  #endif -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT24WC08		*/  #define CONFIG_SYS_EEPROM_WREN         1 diff --git a/include/configs/HIDDEN_DRAGON.h b/include/configs/HIDDEN_DRAGON.h index c1d3f1052..ddeccb086 100644 --- a/include/configs/HIDDEN_DRAGON.h +++ b/include/configs/HIDDEN_DRAGON.h @@ -153,12 +153,15 @@   * configuration items that the driver uses to drive the port pins.   */  #define CONFIG_HARD_I2C		1		/* To enable I2C support	*/ -#undef	CONFIG_SOFT_I2C				/* I2C bit-banged		*/ +#undef	CONFIG_SYS_I2C_SOFT			/* I2C bit-banged */  #define CONFIG_SYS_I2C_SPEED		400000		/* I2C speed and slave address	*/  #define CONFIG_SYS_I2C_SLAVE		0x7F -#ifdef CONFIG_SOFT_I2C +#ifdef CONFIG_SYS_I2C_SOFT  #error "Soft I2C is not configured properly.  Please review!" +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  #define I2C_PORT		3		/* Port A=0, B=1, C=2, D=3 */  #define I2C_ACTIVE		(iop->pdir |=  0x00010000)  #define I2C_TRISTATE		(iop->pdir &= ~0x00010000) @@ -168,7 +171,7 @@  #define I2C_SCL(bit)		if(bit) iop->pdat |=  0x00020000; \  				else	iop->pdat &= ~0x00020000  #define I2C_DELAY		udelay(5)	/* 1/4 I2C clock duration */ -#endif /* CONFIG_SOFT_I2C */ +#endif /* CONFIG_SYS_I2C_SOFT */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x57		/* EEPROM IS24C02		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1		/* Bytes of address		*/ diff --git a/include/configs/HUB405.h b/include/configs/HUB405.h index 30effc3d7..cf796bf2d 100644 --- a/include/configs/HUB405.h +++ b/include/configs/HUB405.h @@ -230,10 +230,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/HWW1U1A.h b/include/configs/HWW1U1A.h index 8c217562a..5aaa9767e 100644 --- a/include/configs/HWW1U1A.h +++ b/include/configs/HWW1U1A.h @@ -202,16 +202,16 @@  /* -------------------------------------------------------------------- */  /* Generic FreeScale hardware I2C support */ -#define CONFIG_HARD_I2C -#define CONFIG_FSL_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x29} }  #define CONFIG_CMD_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_OFFSET  0x3000 -#define CONFIG_SYS_I2C2_OFFSET 0x3100 - -/* I2C bus configuration */ -#define CONFIG_SYS_I2C_SPEED 400000 -#define CONFIG_SYS_I2C_SLAVE 0x7F  /* DDR2 SO-RDIMM SPD EEPROM is at I2C0-0x51 */  #define CONFIG_SYS_SPD_BUS_NUM 0 diff --git a/include/configs/ICU862.h b/include/configs/ICU862.h index 48a05d52f..40d0d7cab 100644 --- a/include/configs/ICU862.h +++ b/include/configs/ICU862.h @@ -90,12 +90,10 @@  #define CONFIG_DOS_PARTITION  /* enable I2C and select the hardware/software driver */ -#undef  CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ -# define CONFIG_SYS_I2C_SPEED		50000 -# define CONFIG_SYS_I2C_SLAVE		0xFE -# define CONFIG_SYS_I2C_EEPROM_ADDR	0x50 -# define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -117,6 +115,9 @@  #define	CONFIG_RTC_MPC8xx		/* use internal RTC of MPC8xx	*/ +#define CONFIG_SYS_I2C_EEPROM_ADDR	0x50 +#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address */ +  /*   * Command line configuration. diff --git a/include/configs/IDS8247.h b/include/configs/IDS8247.h index c7409debe..590abc30d 100644 --- a/include/configs/IDS8247.h +++ b/include/configs/IDS8247.h @@ -57,11 +57,10 @@  #define CONFIG_MISC_INIT_R	1  /* enable I2C and select the hardware/software driver */ -#undef  CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F - +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	400000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F  /*   * Software (bit-bang) I2C driver configuration   */ diff --git a/include/configs/IP860.h b/include/configs/IP860.h index 1247181b5..c852ca998 100644 --- a/include/configs/IP860.h +++ b/include/configs/IP860.h @@ -46,8 +46,10 @@  /* enable I2C and select the hardware/software driver */ -#undef  CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -64,9 +66,6 @@  			else    immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(5)	/* 1/4 I2C clock duration */ - -# define CONFIG_SYS_I2C_SPEED		50000 -# define CONFIG_SYS_I2C_SLAVE		0xFE  # define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM X24C16		*/  # define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* bytes of address		*/  /* mask of address bits that overflow into the "EEPROM chip address"    */ diff --git a/include/configs/IPHASE4539.h b/include/configs/IPHASE4539.h index bcc007c4d..cbc8b5bbc 100644 --- a/include/configs/IPHASE4539.h +++ b/include/configs/IPHASE4539.h @@ -94,15 +94,13 @@   * If the software driver is chosen, there are some additional   * configuration items that the driver uses to drive the port pins.   */ -#undef  CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F - +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	400000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F  /*   * Software (bit-bang) I2C driver configuration   */ -#ifdef CONFIG_SOFT_I2C  #define I2C_PORT	3		/* Port A=0, B=1, C=2, D=3 */  #define I2C_ACTIVE	(iop->pdir |=  0x00010000)  #define I2C_TRISTATE	(iop->pdir &= ~0x00010000) @@ -112,7 +110,6 @@  #define I2C_SCL(bit)	if(bit) iop->pdat |=  0x00020000; \  			else    iop->pdat &= ~0x00020000  #define I2C_DELAY	udelay(5)	/* 1/4 I2C clock duration */ -#endif /* CONFIG_SOFT_I2C */  /* diff --git a/include/configs/JSE.h b/include/configs/JSE.h index c855c7f02..6439d99bf 100644 --- a/include/configs/JSE.h +++ b/include/configs/JSE.h @@ -194,11 +194,11 @@  #define CONFIG_SYS_HZ		1000		/* decrementer freq: 1 ms ticks */ -#define CONFIG_HARD_I2C		1	/* I2C with hardware support	*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  /*----------------------------------------------------------------------- diff --git a/include/configs/KAREF.h b/include/configs/KAREF.h index d7377a8e9..2cbb6eeb9 100644 --- a/include/configs/KAREF.h +++ b/include/configs/KAREF.h @@ -117,14 +117,15 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_HARD_I2C	      1		     /* I2C hardware support	*/ -#undef	CONFIG_SOFT_I2C			     /* I2C !bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED	      400000	     /* I2C speed 400kHz	*/ -#define CONFIG_SYS_I2C_SLAVE	      0x7F	     /* I2C slave address	*/ -#define CONFIG_SYS_I2C_NOPROBES      {0x69}	     /* Don't probe these addrs */ -#define CONFIG_I2C_BUS1	      1		     /* Include i2c bus 1 supp	*/ - +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0 400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0 0x7F +#define CONFIG_SYS_I2C_PPC4XX_CH1 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_1 400000 /* I2C speed 400kHz */ +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_1 0x7F +#define CONFIG_SYS_I2C_NOPROBES { { 0, 0x69} } /* Don't probe these addrs */  /*-----------------------------------------------------------------------   * Environment diff --git a/include/configs/KUP4K.h b/include/configs/KUP4K.h index 68451baf7..ef51e35df 100644 --- a/include/configs/KUP4K.h +++ b/include/configs/KUP4K.h @@ -90,13 +90,11 @@  /*   * enable I2C and select the hardware/software driver   */ -#undef	CONFIG_HARD_I2C		/* I2C with hardware support	*/ -#define	CONFIG_SOFT_I2C		/* I2C bit-banged		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	93000	/* 93 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE -#define CONFIG_SYS_I2C_SPEED	93000	/* 93 kHz is supposed to work */ -#define CONFIG_SYS_I2C_SLAVE	0xFE - -#ifdef CONFIG_SOFT_I2C  /*   * Software (bit-bang) I2C driver configuration   */ @@ -112,7 +110,6 @@  #define I2C_SCL(bit)	if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  			else    immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(2)	/* 1/4 I2C clock duration */ -#endif	/* CONFIG_SOFT_I2C */  /*-----------------------------------------------------------------------   * I2C Configuration diff --git a/include/configs/KUP4X.h b/include/configs/KUP4X.h index 8af1269a4..6da07e7d0 100644 --- a/include/configs/KUP4X.h +++ b/include/configs/KUP4X.h @@ -98,13 +98,13 @@  /*   * enable I2C and select the hardware/software driver   */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define	CONFIG_SOFT_I2C         1	/* I2C bit-banged		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		93000	/* 93 kHz is supposed to work	*/ -#define CONFIG_SYS_I2C_SLAVE		0xFE +#ifdef CONFIG_SYS_I2C_SOFT +#define CONFIG_SYS_I2C_SOFT_SPEED	93000	/* 93 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE -#ifdef CONFIG_SOFT_I2C  /*   * Software (bit-bang) I2C driver configuration   */ @@ -120,7 +120,7 @@  #define I2C_SCL(bit)	if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  			else    immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(2)	/* 1/4 I2C clock duration */ -#endif	/* CONFIG_SOFT_I2C */ +#endif	/* CONFIG_SYS_I2C_SOFT */  /*----------------------------------------------------------------------- diff --git a/include/configs/M5208EVBE.h b/include/configs/M5208EVBE.h index df9ba5ea3..fe901ce6c 100644 --- a/include/configs/M5208EVBE.h +++ b/include/configs/M5208EVBE.h @@ -66,12 +66,11 @@  #undef CONFIG_MCFPIT  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C			/* I2C with hw support */ -#undef CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x58000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x58000  #define CONFIG_SYS_IMMR			CONFIG_SYS_MBAR  #define CONFIG_BOOTDELAY		1	/* autoboot after 5 seconds */ diff --git a/include/configs/M52277EVB.h b/include/configs/M52277EVB.h index 4acac6c44..1d10f7f2a 100644 --- a/include/configs/M52277EVB.h +++ b/include/configs/M52277EVB.h @@ -129,12 +129,11 @@  #undef CONFIG_MCFPIT  /* I2c */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged               */ -#define CONFIG_SYS_I2C_SPEED		80000	/* I2C speed and slave address  */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x58000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x58000  #define CONFIG_SYS_IMMR			CONFIG_SYS_MBAR  /* DSPI and Serial Flash */ diff --git a/include/configs/M5235EVB.h b/include/configs/M5235EVB.h index 1b80f8293..aaaaa41a1 100644 --- a/include/configs/M5235EVB.h +++ b/include/configs/M5235EVB.h @@ -83,12 +83,11 @@  #undef CONFIG_MCFPIT  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C		/* I2C with hw support */ -#undef CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x00000300 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_i2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x00000300  #define CONFIG_SYS_IMMR		CONFIG_SYS_MBAR  #define CONFIG_SYS_I2C_PINMUX_REG	(gpio->par_qspi)  #define CONFIG_SYS_I2C_PINMUX_CLR	~(GPIO_PAR_FECI2C_SCL_MASK | GPIO_PAR_FECI2C_SDA_MASK) diff --git a/include/configs/M5253DEMO.h b/include/configs/M5253DEMO.h index bf37fdf14..83122cf59 100644 --- a/include/configs/M5253DEMO.h +++ b/include/configs/M5253DEMO.h @@ -97,11 +97,11 @@ TABILITY or FITNESS FO04-2007 Freescale Semiconductor, Inc.  #define CONFIG_HOSTNAME		M5253DEMO  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C		/* I2C with hw support */ -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x00000280 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x00000280  #define CONFIG_SYS_IMMR		CONFIG_SYS_MBAR  #define CONFIG_SYS_I2C_PINMUX_REG	(*(u32 *) (CONFIG_SYS_MBAR+0x19C))  #define CONFIG_SYS_I2C_PINMUX_CLR	(0xFFFFE7FF) diff --git a/include/configs/M5271EVB.h b/include/configs/M5271EVB.h index fa43231c4..a77cb2497 100644 --- a/include/configs/M5271EVB.h +++ b/include/configs/M5271EVB.h @@ -93,12 +93,11 @@  #endif  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C		/* I2C with hw support */ -#undef CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x00000300 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x00000300  #define CONFIG_SYS_IMMR		CONFIG_SYS_MBAR  #define CONFIG_BOOTDELAY	1	/* autoboot after 1 seconds */ diff --git a/include/configs/M5275EVB.h b/include/configs/M5275EVB.h index 2b99ee9f1..bacee0a8f 100644 --- a/include/configs/M5275EVB.h +++ b/include/configs/M5275EVB.h @@ -93,12 +93,11 @@  #endif  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C		/* I2C with hw support */ -#undef CONFIG_SOFT_I2C -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x00000300 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x00000300  #define CONFIG_SYS_IMMR		CONFIG_SYS_MBAR  #define CONFIG_SYS_I2C_PINMUX_REG	(gpio_reg->par_feci2c)  #define CONFIG_SYS_I2C_PINMUX_CLR	(0xFFF0) diff --git a/include/configs/M53017EVB.h b/include/configs/M53017EVB.h index a98ded257..0ced19648 100644 --- a/include/configs/M53017EVB.h +++ b/include/configs/M53017EVB.h @@ -85,12 +85,11 @@  #undef CONFIG_MCFPIT  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C			/* I2C with hw support */ -#undef CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x58000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x58000  #define CONFIG_SYS_IMMR			CONFIG_SYS_MBAR  #define CONFIG_BOOTDELAY		1	/* autoboot after 5 seconds */ diff --git a/include/configs/M5329EVB.h b/include/configs/M5329EVB.h index d5d3bc48c..86b06f4f1 100644 --- a/include/configs/M5329EVB.h +++ b/include/configs/M5329EVB.h @@ -79,12 +79,11 @@  #undef CONFIG_MCFPIT  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C			/* I2C with hw support */ -#undef CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x58000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x58000  #define CONFIG_SYS_IMMR		CONFIG_SYS_MBAR  #define CONFIG_BOOTDELAY	1	/* autoboot after 5 seconds */ diff --git a/include/configs/M5373EVB.h b/include/configs/M5373EVB.h index 8657382c8..cca76097d 100644 --- a/include/configs/M5373EVB.h +++ b/include/configs/M5373EVB.h @@ -79,12 +79,11 @@  #undef CONFIG_MCFPIT  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C		/* I2C with hw support */ -#undef CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x58000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x58000  #define CONFIG_SYS_IMMR		CONFIG_SYS_MBAR  #define CONFIG_BOOTDELAY	1	/* autoboot after 5 seconds */ diff --git a/include/configs/M54418TWR.h b/include/configs/M54418TWR.h index aa95de2a6..bc264276d 100644 --- a/include/configs/M54418TWR.h +++ b/include/configs/M54418TWR.h @@ -197,9 +197,9 @@  #undef CONFIG_MCFPIT  /* I2c */ -#undef CONFIG_FSL_I2C +#undef CONFIG_SYS_FSL_I2C  #undef CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ +#undef	CONFIG_SYS_I2C_SOFT	/* I2C bit-banged */  /* I2C speed and slave address  */  #define CONFIG_SYS_I2C_SPEED		80000  #define CONFIG_SYS_I2C_SLAVE		0x7F diff --git a/include/configs/M54451EVB.h b/include/configs/M54451EVB.h index 720e888f6..72ad8366f 100644 --- a/include/configs/M54451EVB.h +++ b/include/configs/M54451EVB.h @@ -140,12 +140,11 @@  #undef CONFIG_MCFPIT  /* I2c */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged               */ -#define CONFIG_SYS_I2C_SPEED		80000	/* I2C speed and slave address  */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x58000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x58000  #define CONFIG_SYS_IMMR			CONFIG_SYS_MBAR  /* DSPI and Serial Flash */ diff --git a/include/configs/M54455EVB.h b/include/configs/M54455EVB.h index 03dafd544..3dc87d6f6 100644 --- a/include/configs/M54455EVB.h +++ b/include/configs/M54455EVB.h @@ -173,12 +173,11 @@  #undef CONFIG_MCFPIT  /* I2c */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged               */ -#define CONFIG_SYS_I2C_SPEED		80000	/* I2C speed and slave address  */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x58000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSLI2C_OFFSET	0x58000  #define CONFIG_SYS_IMMR		CONFIG_SYS_MBAR  /* DSPI and Serial Flash */ diff --git a/include/configs/M5475EVB.h b/include/configs/M5475EVB.h index b5bf1c7f9..dc38219c1 100644 --- a/include/configs/M5475EVB.h +++ b/include/configs/M5475EVB.h @@ -104,12 +104,11 @@  #endif  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C		/* I2C with hw support */ -#undef CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x00008F00 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x00008F00  #define CONFIG_SYS_IMMR		CONFIG_SYS_MBAR  /* PCI */ diff --git a/include/configs/M5485EVB.h b/include/configs/M5485EVB.h index 3924936a5..0307f19ad 100644 --- a/include/configs/M5485EVB.h +++ b/include/configs/M5485EVB.h @@ -101,12 +101,11 @@  #endif  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C		/* I2C with hw support */ -#undef CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x00008F00 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x00008F00  #define CONFIG_SYS_IMMR		CONFIG_SYS_MBAR  /* PCI */ diff --git a/include/configs/MERGERBOX.h b/include/configs/MERGERBOX.h index 6119159e4..ad9c77e1c 100644 --- a/include/configs/MERGERBOX.h +++ b/include/configs/MERGERBOX.h @@ -211,13 +211,14 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS 1  /* I2C */ -#define CONFIG_HARD_I2C -#define CONFIG_FSL_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED		120000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /*   * General PCI diff --git a/include/configs/METROBOX.h b/include/configs/METROBOX.h index b98a4c481..1e5003241 100644 --- a/include/configs/METROBOX.h +++ b/include/configs/METROBOX.h @@ -179,14 +179,15 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_HARD_I2C	      1		     /* I2C hardware support	*/ -#undef	CONFIG_SOFT_I2C			     /* I2C !bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED	      400000	     /* I2C speed 400kHz	*/ -#define CONFIG_SYS_I2C_SLAVE	      0x7F	     /* I2C slave address	*/ -#define CONFIG_SYS_I2C_NOPROBES      {0x69}	     /* Don't probe these addrs */ -#define CONFIG_I2C_BUS1	      1		     /* Include i2c bus 1 supp	*/ - +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0 400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0 0x7F +#define CONFIG_SYS_I2C_PPC4XX_CH1 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_1 400000 /* I2C speed 400kHz */ +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_1 0x7F +#define CONFIG_SYS_I2C_NOPROBES { { 0, 0x69} } /* Don't probe these addrs */  /*-----------------------------------------------------------------------   * Environment diff --git a/include/configs/MHPC.h b/include/configs/MHPC.h index 65efe78f3..75eef20e5 100644 --- a/include/configs/MHPC.h +++ b/include/configs/MHPC.h @@ -57,8 +57,10 @@  #undef	CONFIG_UCODE_PATCH  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -75,8 +77,6 @@  			else	immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(5)	/* 1/4 I2C clock duration */ -#define CONFIG_SYS_I2C_SPEED			50000 -#define CONFIG_SYS_I2C_SLAVE			0xFE  #define CONFIG_SYS_I2C_EEPROM_ADDR		0x50	/* EEPROM X24C04		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1	/* bytes of address		*/  /* mask of address bits that overflow into the "EEPROM chip address"	*/ diff --git a/include/configs/MIP405.h b/include/configs/MIP405.h index 9185e77ad..c535dbeaa 100644 --- a/include/configs/MIP405.h +++ b/include/configs/MIP405.h @@ -82,10 +82,11 @@   * The Atmel EEPROM uses 16Bit addressing.   ***************************************************************/ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		50000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		50000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x53	/* EEPROM 24C128/256		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2	/* Bytes of address		*/ diff --git a/include/configs/MPC8308RDB.h b/include/configs/MPC8308RDB.h index 09961a4eb..d315729b8 100644 --- a/include/configs/MPC8308RDB.h +++ b/include/configs/MPC8308RDB.h @@ -334,14 +334,15 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#define CONFIG_FSL_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED	400000 /* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x51} } /* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x51} }  /*   * SPI on header J8 diff --git a/include/configs/MPC8313ERDB.h b/include/configs/MPC8313ERDB.h index 674018204..6c6ce58fb 100644 --- a/include/configs/MPC8313ERDB.h +++ b/include/configs/MPC8313ERDB.h @@ -387,14 +387,15 @@  #define CONFIG_SYS_HUSH_PARSER  /* I2C */ -#define CONFIG_HARD_I2C			/* I2C with hardware support*/ -#define CONFIG_FSL_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x69} } /* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /*   * General PCI diff --git a/include/configs/MPC8315ERDB.h b/include/configs/MPC8315ERDB.h index 882ae73e0..fef19d4b5 100644 --- a/include/configs/MPC8315ERDB.h +++ b/include/configs/MPC8315ERDB.h @@ -331,13 +331,12 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#define CONFIG_FSL_I2C -#define CONFIG_SYS_I2C_SPEED		400000 /* I2C speed and slave addr */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES		{0x51} /* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x51} }  /*   * Board info - revision and where boot from diff --git a/include/configs/MPC8323ERDB.h b/include/configs/MPC8323ERDB.h index ac4c25396..d5db65df1 100644 --- a/include/configs/MPC8323ERDB.h +++ b/include/configs/MPC8323ERDB.h @@ -233,13 +233,12 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_FSL_I2C -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x51}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x51} }  /*   * Config on-board EEPROM diff --git a/include/configs/MPC832XEMDS.h b/include/configs/MPC832XEMDS.h index fa8e75250..32e05af8a 100644 --- a/include/configs/MPC832XEMDS.h +++ b/include/configs/MPC832XEMDS.h @@ -313,13 +313,12 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_FSL_I2C -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x51}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x51} }  /*   * Config on-board RTC diff --git a/include/configs/MPC8349EMDS.h b/include/configs/MPC8349EMDS.h index 9ec2f7192..432db72da 100644 --- a/include/configs/MPC8349EMDS.h +++ b/include/configs/MPC8349EMDS.h @@ -338,15 +338,15 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_FSL_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x69} }	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /* SPI */  #define CONFIG_MPC8XXX_SPI diff --git a/include/configs/MPC8349ITX.h b/include/configs/MPC8349ITX.h index f9949a800..c3a577f40 100644 --- a/include/configs/MPC8349ITX.h +++ b/include/configs/MPC8349ITX.h @@ -74,7 +74,7 @@  #define CONFIG_PCI  #define CONFIG_RTC_DS1337 -#define CONFIG_HARD_I2C +#define CONFIG_SYS_I2C  #define CONFIG_TSEC_ENET		/* TSEC Ethernet support */  /* @@ -82,12 +82,15 @@   */  /* I2C */ -#ifdef CONFIG_HARD_I2C +#ifdef CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 -#define CONFIG_FSL_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100  #define CONFIG_SYS_SPD_BUS_NUM		1	/* The I2C bus for SPD */  #define CONFIG_SYS_RTC_BUS_NUM		1	/* The I2C bus for RTC */ @@ -99,9 +102,6 @@  #define CONFIG_SYS_I2C_RTC_ADDR		0x68	/* I2C1, DS1339 RTC*/  #define SPD_EEPROM_ADDRESS		0x51	/* I2C1, DDR */ -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -  /* Don't probe these addresses: */  #define CONFIG_SYS_I2C_NOPROBES	{ {1, CONFIG_SYS_I2C_8574_ADDR1}, \  				 {1, CONFIG_SYS_I2C_8574_ADDR2}, \ @@ -115,8 +115,6 @@  #define I2C_8574_PCI66		0x20	/* 0=33MHz PCI, 1=66MHz PCI */  #define I2C_8574_FLASHSIDE	0x40	/* 0=Reset vector from U4, 1=from U7*/ -#undef CONFIG_SOFT_I2C -  #endif  /* Compact Flash */ @@ -183,7 +181,7 @@  #define CONFIG_VERY_BIG_RAM  #define CONFIG_MAX_MEM_MAPPED   ((phys_size_t)256 << 20) -#ifdef CONFIG_HARD_I2C +#ifdef CONFIG_SYS_I2C  #define CONFIG_SPD_EEPROM		/* use SPD EEPROM for DDR setup*/  #endif @@ -529,7 +527,7 @@ boards, we say we have two, but don't display a message if we find only one. */  	#define CONFIG_CMD_PCI  #endif -#ifdef CONFIG_HARD_I2C +#ifdef CONFIG_SYS_I2C  	#define CONFIG_CMD_I2C  #endif diff --git a/include/configs/MPC8360EMDS.h b/include/configs/MPC8360EMDS.h index dfd2a50c6..7c4f3ef8f 100644 --- a/include/configs/MPC8360EMDS.h +++ b/include/configs/MPC8360EMDS.h @@ -410,14 +410,12 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_FSL_I2C -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x52} /* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET 0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x52} }  /*   * Config on-board RTC diff --git a/include/configs/MPC8360ERDK.h b/include/configs/MPC8360ERDK.h index 2c194087a..1973447a2 100644 --- a/include/configs/MPC8360ERDK.h +++ b/include/configs/MPC8360ERDK.h @@ -284,15 +284,15 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_FSL_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x52} } /* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x52} }  /*   * General PCI diff --git a/include/configs/MPC837XEMDS.h b/include/configs/MPC837XEMDS.h index ab61d214d..51688a76b 100644 --- a/include/configs/MPC837XEMDS.h +++ b/include/configs/MPC837XEMDS.h @@ -328,14 +328,12 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_FSL_I2C -#define CONFIG_SYS_I2C_SPEED	400000 /* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x51} /* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x51} }  /*   * Config on-board RTC diff --git a/include/configs/MPC837XERDB.h b/include/configs/MPC837XERDB.h index 1529a090e..a5fe220b1 100644 --- a/include/configs/MPC837XERDB.h +++ b/include/configs/MPC837XERDB.h @@ -354,14 +354,12 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS 1  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_FSL_I2C -#define CONFIG_SYS_I2C_SPEED	400000 /* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x51} /* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x51} }  /*   * Config on-board RTC diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h index 5349857eb..8ff2c3a4f 100644 --- a/include/configs/MPC8536DS.h +++ b/include/configs/MPC8536DS.h @@ -418,15 +418,15 @@  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES	{{0, 0x29}}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x29} }  /*   * I2C2 EEPROM diff --git a/include/configs/MPC8540ADS.h b/include/configs/MPC8540ADS.h index c80b6b2fd..acd37a01a 100644 --- a/include/configs/MPC8540ADS.h +++ b/include/configs/MPC8540ADS.h @@ -244,13 +244,12 @@  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES        {0x69}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /* RapidIO MMU */  #define CONFIG_SYS_RIO_MEM_VIRT	0xc0000000	/* base address */ diff --git a/include/configs/MPC8541CDS.h b/include/configs/MPC8541CDS.h index da7a3cbb4..61775d2c2 100644 --- a/include/configs/MPC8541CDS.h +++ b/include/configs/MPC8541CDS.h @@ -267,13 +267,12 @@ extern unsigned long get_clock_freq(void);  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES        {0x69}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /* EEPROM */  #define CONFIG_ID_EEPROM diff --git a/include/configs/MPC8544DS.h b/include/configs/MPC8544DS.h index ef8bf97f6..2a5e5d4ed 100644 --- a/include/configs/MPC8544DS.h +++ b/include/configs/MPC8544DS.h @@ -216,14 +216,13 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x57 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x69}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3100  /*   * General PCI diff --git a/include/configs/MPC8548CDS.h b/include/configs/MPC8548CDS.h index 84bd3af1a..8deb241c3 100644 --- a/include/configs/MPC8548CDS.h +++ b/include/configs/MPC8548CDS.h @@ -342,13 +342,12 @@ extern unsigned long get_clock_freq(void);  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x69}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /* EEPROM */  #define CONFIG_ID_EEPROM diff --git a/include/configs/MPC8555CDS.h b/include/configs/MPC8555CDS.h index eb4e620d8..1ec3797e7 100644 --- a/include/configs/MPC8555CDS.h +++ b/include/configs/MPC8555CDS.h @@ -265,13 +265,12 @@ extern unsigned long get_clock_freq(void);  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES        {0x69}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /* EEPROM */  #define CONFIG_ID_EEPROM diff --git a/include/configs/MPC8560ADS.h b/include/configs/MPC8560ADS.h index d4a557b67..49f6a3533 100644 --- a/include/configs/MPC8560ADS.h +++ b/include/configs/MPC8560ADS.h @@ -238,13 +238,12 @@  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES        {0x69}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /* RapidIO MMU */  #define CONFIG_SYS_RIO_MEM_VIRT	0xc0000000	/* base address */ diff --git a/include/configs/MPC8568MDS.h b/include/configs/MPC8568MDS.h index 21ce7b912..2d5e8c0b7 100644 --- a/include/configs/MPC8568MDS.h +++ b/include/configs/MPC8568MDS.h @@ -250,16 +250,16 @@ extern unsigned long get_clock_freq(void);  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x52 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES        {{0,0x69}}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100  /*   * General PCI diff --git a/include/configs/MPC8569MDS.h b/include/configs/MPC8569MDS.h index 7f7cd20d7..c35fd2bdb 100644 --- a/include/configs/MPC8569MDS.h +++ b/include/configs/MPC8569MDS.h @@ -286,15 +286,15 @@ extern unsigned long get_clock_freq(void);  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{{0,0x69}}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /*   * I2C2 EEPROM diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h index e9da73632..05d887050 100644 --- a/include/configs/MPC8572DS.h +++ b/include/configs/MPC8572DS.h @@ -415,16 +415,16 @@  #define CONFIG_FIT_VERBOSE	1 /* enable fit_format_{error,warning}() */  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x29} }  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x57 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES	{{0,0x29}}/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100  /*   * I2C2 EEPROM diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h index f791e7682..1553a746c 100644 --- a/include/configs/MPC8610HPCD.h +++ b/include/configs/MPC8610HPCD.h @@ -252,13 +252,12 @@  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x69}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /*   * General PCI diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h index 89049d0f6..6ca6f6b80 100644 --- a/include/configs/MPC8641HPCN.h +++ b/include/configs/MPC8641HPCN.h @@ -282,13 +282,12 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x69}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /*   * RapidIO MMU diff --git a/include/configs/MVBLM7.h b/include/configs/MVBLM7.h index bb5a4fc5e..044a1bc2c 100644 --- a/include/configs/MVBLM7.h +++ b/include/configs/MVBLM7.h @@ -28,7 +28,6 @@  #define CONFIG_PCI  #define CONFIG_PCI_INDIRECT_BRIDGE  #define CONFIG_PCI_SKIP_HOST_BRIDGE -#define CONFIG_HARD_I2C  #define CONFIG_TSEC_ENET  #define CONFIG_MPC8XXX_SPI  #define CONFIG_HARD_SPI @@ -36,13 +35,14 @@  #define CONFIG_MISC_INIT_R  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 - -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	100000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	100000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /*   * DDR Setup diff --git a/include/configs/OCRTC.h b/include/configs/OCRTC.h index be2ecf464..c91961351 100644 --- a/include/configs/OCRTC.h +++ b/include/configs/OCRTC.h @@ -201,10 +201,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC08) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/ORSG.h b/include/configs/ORSG.h index fb0b89db9..56d251cea 100644 --- a/include/configs/ORSG.h +++ b/include/configs/ORSG.h @@ -197,10 +197,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC08) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h index 3fe410821..ba3f7c282 100644 --- a/include/configs/P1010RDB.h +++ b/include/configs/P1010RDB.h @@ -473,15 +473,15 @@ extern unsigned long get_sdram_size(void);  #define CONFIG_FIT  #define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */ -#define CONFIG_FSL_I2C			/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C			/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED		400000 /* I2C speed and slave address*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 +/* I2C */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /* I2C EEPROM */  #undef CONFIG_ID_EEPROM diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h index 0391a96a5..d1ce9fdc8 100644 --- a/include/configs/P1022DS.h +++ b/include/configs/P1022DS.h @@ -358,15 +358,15 @@  #define CONFIG_FIT_VERBOSE  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED		400000 -#define CONFIG_SYS_I2C_EEPROM_ADDR	0x57 -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  #define CONFIG_SYS_I2C_NOPROBES		{{0, 0x29}} -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100  /*   * I2C2 EEPROM diff --git a/include/configs/P1023RDB.h b/include/configs/P1023RDB.h index 6b7579baf..cd6d20c72 100644 --- a/include/configs/P1023RDB.h +++ b/include/configs/P1023RDB.h @@ -188,13 +188,14 @@ extern unsigned long get_clock_freq(void);  #define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /*   * I2C2 EEPROM diff --git a/include/configs/P1023RDS.h b/include/configs/P1023RDS.h index 3ebec6b59..a8202c67f 100644 --- a/include/configs/P1023RDS.h +++ b/include/configs/P1023RDS.h @@ -297,15 +297,15 @@ extern unsigned long get_clock_freq(void);  #define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x51 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100  /*   * I2C2 EEPROM diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h index 447cd98da..adaed564f 100644 --- a/include/configs/P1_P2_RDB.h +++ b/include/configs/P1_P2_RDB.h @@ -351,16 +351,15 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);  #define CONFIG_FIT_VERBOSE	1 /* enable fit_format_{error,warning}() */  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES	{{0,0x29}}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x29} }  /*   * I2C2 EEPROM diff --git a/include/configs/P2020COME.h b/include/configs/P2020COME.h index d1c9b2481..08d1c2591 100644 --- a/include/configs/P2020COME.h +++ b/include/configs/P2020COME.h @@ -209,16 +209,15 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);  #define CONFIG_FIT_VERBOSE		1  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#undef  CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED		400000  /* I2C speed and slave address*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  #define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x29} } -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100  /*   * I2C2 EEPROM diff --git a/include/configs/P2020DS.h b/include/configs/P2020DS.h index 9df116e26..b5078cdb5 100644 --- a/include/configs/P2020DS.h +++ b/include/configs/P2020DS.h @@ -371,15 +371,16 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x57 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES	{{0,0x29}}/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x29} }  /*   * I2C2 EEPROM diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h index 43387d749..9814ca201 100644 --- a/include/configs/P2041RDB.h +++ b/include/configs/P2041RDB.h @@ -351,14 +351,14 @@ unsigned long get_board_sys_clk(unsigned long dummy);  #define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED		400000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x118000 -#define CONFIG_SYS_I2C2_OFFSET		0x118100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /*   * RapidIO diff --git a/include/configs/PCI405.h b/include/configs/PCI405.h index 626a5463b..a71a5219c 100644 --- a/include/configs/PCI405.h +++ b/include/configs/PCI405.h @@ -193,10 +193,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/PIP405.h b/include/configs/PIP405.h index 036fec8cd..2251ca611 100644 --- a/include/configs/PIP405.h +++ b/include/configs/PIP405.h @@ -71,10 +71,11 @@   * EEPROM of the SDRAM   * The Atmel EEPROM uses 16Bit addressing.   ***************************************************************/ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		50000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		50000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x53  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2 diff --git a/include/configs/PLU405.h b/include/configs/PLU405.h index 75c092685..3c31cfb01 100644 --- a/include/configs/PLU405.h +++ b/include/configs/PLU405.h @@ -265,10 +265,11 @@  /*   * I2C EEPROM (24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM 24WC16 */  #define CONFIG_SYS_EEPROM_WREN         1 diff --git a/include/configs/PM826.h b/include/configs/PM826.h index 2c4aa2fd6..b466513ea 100644 --- a/include/configs/PM826.h +++ b/include/configs/PM826.h @@ -41,10 +41,10 @@  	"bootm"  /* enable I2C and select the hardware/software driver */ -#undef  CONFIG_HARD_I2C -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ -# define CONFIG_SYS_I2C_SPEED		50000 -# define CONFIG_SYS_I2C_SLAVE		0xFE +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ diff --git a/include/configs/PM828.h b/include/configs/PM828.h index dbf980126..cb68c41ba 100644 --- a/include/configs/PM828.h +++ b/include/configs/PM828.h @@ -41,10 +41,10 @@  	"bootm"  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ -# define CONFIG_SYS_I2C_SPEED		50000 -# define CONFIG_SYS_I2C_SLAVE		0xFE +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ diff --git a/include/configs/PMC405.h b/include/configs/PMC405.h index fbee0930d..67a96d29d 100644 --- a/include/configs/PMC405.h +++ b/include/configs/PMC405.h @@ -223,10 +223,11 @@  /*   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000 /* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT24W16 */  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address */ diff --git a/include/configs/PMC405DE.h b/include/configs/PMC405DE.h index 22b1177ac..531e95612 100644 --- a/include/configs/PMC405DE.h +++ b/include/configs/PMC405DE.h @@ -201,10 +201,11 @@  /*   * I2C EEPROM (24W16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000 /* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM 24W16	*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address */ diff --git a/include/configs/PMC440.h b/include/configs/PMC440.h index 1b81861ac..a54c099ce 100644 --- a/include/configs/PMC440.h +++ b/include/configs/PMC440.h @@ -212,13 +212,14 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_HARD_I2C		1	/* I2C with hardware support    */ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged               */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address  */ -#define CONFIG_SYS_I2C_SLAVE		0x7F - -#define CONFIG_I2C_MULTI_BUS	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F +#define CONFIG_SYS_I2C_PPC4XX_CH1 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_1		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_1		0x7F  #define CONFIG_SYS_I2C_MULTI_EEPROMS diff --git a/include/configs/PPChameleonEVB.h b/include/configs/PPChameleonEVB.h index 1aaa8b0ae..cd9eb4b10 100644 --- a/include/configs/PPChameleonEVB.h +++ b/include/configs/PPChameleonEVB.h @@ -406,10 +406,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/R360MPI.h b/include/configs/R360MPI.h index 9ab524f4b..efe699538 100644 --- a/include/configs/R360MPI.h +++ b/include/configs/R360MPI.h @@ -81,10 +81,13 @@  #define	CONFIG_RTC_MPC8xx		/* use internal RTC of MPC8xx	*/  #define CONFIG_HARD_I2C		1	/* To I2C with hardware support */ -#undef CONFIG_SORT_I2C			/* To I2C with software support */ +#undef CONFIG_SYS_I2C_SOFT		/* To I2C with software support */  #define CONFIG_SYS_I2C_SPEED		4700	/* I2C speed and slave address */  #define CONFIG_SYS_I2C_SLAVE		0x7F +#if defined(CONFIG_SYS_I2C_SOFT) +#define CONFIG_SYS_SYS_I2C_SOFT_SPEED	4700 /* I2C speed and slave address */ +#define CONFIG_SYS_SYS_I2C_SOFT_SLAVE	0x7F  /*   * Software (bit-bang) I2C driver configuration   */ @@ -100,6 +103,7 @@  #define I2C_SCL(bit)		if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  				else    immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY		udelay(50) +#endif /* #define(CONFIG_SYS_I2C_SOFT) */  #define CONFIG_SYS_I2C_LCD_ADDR	0x8	/* LCD Control */  #define CONFIG_SYS_I2C_KEY_ADDR	0x9	/* Keyboard coprocessor */ diff --git a/include/configs/RPXClassic.h b/include/configs/RPXClassic.h index b0b0c91e4..6ba8a02bc 100644 --- a/include/configs/RPXClassic.h +++ b/include/configs/RPXClassic.h @@ -132,14 +132,16 @@   * I2C Configuration   *-----------------------------------------------------------------------------   */ -#define CONFIG_I2C              1 -#define CONFIG_SYS_I2C_SPEED           50000 -#define CONFIG_SYS_I2C_SLAVE           0x34 +#define CONFIG_SYS_I2C_SPEED		50000 +#define CONFIG_SYS_I2C_SLAVE		0x34  /* enable I2C and select the hardware/software driver */  #define CONFIG_HARD_I2C		1	/* I2C with hardware support	*/ -#undef  CONFIG_SOFT_I2C			/* I2C bit-banged		*/ +#undef  CONFIG_SYS_I2C_SOFT		/* I2C bit-banged		*/ + +#if defined(CONFIG_SYS_I2C_SOFT) +#define CONFIG_SYS_I2C			1  /*   * Software (bit-bang) I2C driver configuration   */ @@ -154,8 +156,10 @@  #define I2C_DELAY	udelay(5)	/* 1/4 I2C clock duration */ -# define CONFIG_SYS_I2C_SPEED		50000 -# define CONFIG_SYS_I2C_SLAVE		0x34 +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x34 +#endif +  # define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM X24C16		*/  # define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* bytes of address		*/  /* mask of address bits that overflow into the "EEPROM chip address"    */ diff --git a/include/configs/RPXlite.h b/include/configs/RPXlite.h index 28132566d..ada7e145c 100644 --- a/include/configs/RPXlite.h +++ b/include/configs/RPXlite.h @@ -46,6 +46,36 @@  #undef	CONFIG_SYS_LOADS_BAUD_CHANGE		/* don't allow baudrate change	*/  #define CONFIG_BZIP2		/* Include support for bzip2 compressed images  */ + +/* enable I2C and select the hardware/software driver */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	40000	/* 40 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE +/* Software (bit-bang) I2C driver configuration */ +#define PB_SCL		0x00000020	/* PB 26 */ +#define PB_SDA		0x00000010	/* PB 27 */ + +#define I2C_INIT	(immr->im_cpm.cp_pbdir |=  PB_SCL) +#define I2C_ACTIVE	(immr->im_cpm.cp_pbdir |=  PB_SDA) +#define I2C_TRISTATE	(immr->im_cpm.cp_pbdir &= ~PB_SDA) +#define I2C_READ	((immr->im_cpm.cp_pbdat & PB_SDA) != 0) +#define I2C_SDA(bit)	if (bit) \ +				immr->im_cpm.cp_pbdat |=  PB_SDA; \ +			else \ +				immr->im_cpm.cp_pbdat &= ~PB_SDA +#define I2C_SCL(bit)	if (bit) \ +				immr->im_cpm.cp_pbdat |=  PB_SCL; \ +			else \ +				immr->im_cpm.cp_pbdat &= ~PB_SCL +#define I2C_DELAY	udelay(5)	/* 1/4 I2C clock duration */ + +/* M41T11 Serial Access Timekeeper(R) SRAM */ +#define CONFIG_RTC_M41T11 1 +#define CONFIG_SYS_I2C_RTC_ADDR 0x68 +/* play along with the linux driver */ +#define CONFIG_SYS_M41T11_BASE_YEAR 1900 +  #undef	CONFIG_WATCHDOG			/* watchdog disabled		*/  /* diff --git a/include/configs/RRvision.h b/include/configs/RRvision.h index 61ada9573..06273a2ae 100644 --- a/include/configs/RRvision.h +++ b/include/configs/RRvision.h @@ -106,13 +106,10 @@  #endif  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define	CONFIG_SOFT_I2C			/* I2C bit-banged		*/ - -# define CONFIG_SYS_I2C_SPEED		50000	/* 50 kHz is supposed to work	*/ -# define CONFIG_SYS_I2C_SLAVE		0xFE - -#ifdef CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -128,7 +125,6 @@  #define I2C_SCL(bit)	if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  			else    immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(1)	/* 1/4 I2C clock duration */ -#endif	/* CONFIG_SOFT_I2C */  /* diff --git a/include/configs/SIMPC8313.h b/include/configs/SIMPC8313.h index f5d613587..3448ef35a 100644 --- a/include/configs/SIMPC8313.h +++ b/include/configs/SIMPC8313.h @@ -229,14 +229,15 @@  #define CONFIG_SYS_HUSH_PARSER  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#define CONFIG_FSL_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x69} } /* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /*   * General PCI diff --git a/include/configs/SXNI855T.h b/include/configs/SXNI855T.h index dfb142675..e2b05de38 100644 --- a/include/configs/SXNI855T.h +++ b/include/configs/SXNI855T.h @@ -104,7 +104,10 @@  #define	CONFIG_RTC_DS1306		/* Dallas 1306 real time clock	*/ -#define	CONFIG_SOFT_I2C			/* I2C bit-banged		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -121,8 +124,6 @@  			else    immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(5)	/* 1/4 I2C clock duration */ -# define CONFIG_SYS_I2C_SPEED		50000 -# define CONFIG_SYS_I2C_SLAVE		0xFE  # define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* Atmel 24C64			*/  # define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2	/* two byte address		*/ diff --git a/include/configs/Sandpoint8240.h b/include/configs/Sandpoint8240.h index c5e033926..ed8a32f7d 100644 --- a/include/configs/Sandpoint8240.h +++ b/include/configs/Sandpoint8240.h @@ -186,13 +186,16 @@   * If the software driver is chosen, there are some additional   * configuration items that the driver uses to drive the port pins.   */ -#define CONFIG_HARD_I2C		1		/* To enable I2C support	*/ -#undef  CONFIG_SOFT_I2C				/* I2C bit-banged		*/ -#define CONFIG_SYS_I2C_SPEED		400000		/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_HARD_I2C		1		/* To enable I2C support */ +#undef  CONFIG_SYS_I2C_SOFT +#define CONFIG_SYS_I2C_SLAVE	0x7F +#define CONFIG_SYS_I2C_SPEED	400000 -#ifdef CONFIG_SOFT_I2C +#ifdef CONFIG_SYS_I2C_SOFT  #error "Soft I2C is not configured properly.  Please review!" +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  #define I2C_PORT		3               /* Port A=0, B=1, C=2, D=3 */  #define I2C_ACTIVE		(iop->pdir |=  0x00010000)  #define I2C_TRISTATE		(iop->pdir &= ~0x00010000) @@ -202,7 +205,7 @@  #define I2C_SCL(bit)		if(bit) iop->pdat |=  0x00020000; \  				else    iop->pdat &= ~0x00020000  #define I2C_DELAY		udelay(5)	/* 1/4 I2C clock duration */ -#endif /* CONFIG_SOFT_I2C */ +#endif /* CONFIG_SYS_I2C_SOFT */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x57		/* EEPROM IS24C02		*/ diff --git a/include/configs/Sandpoint8245.h b/include/configs/Sandpoint8245.h index e1692dc0b..97e896824 100644 --- a/include/configs/Sandpoint8245.h +++ b/include/configs/Sandpoint8245.h @@ -156,13 +156,16 @@   * If the software driver is chosen, there are some additional   * configuration items that the driver uses to drive the port pins.   */ -#define CONFIG_HARD_I2C		1		/* To enable I2C support	*/ -#undef  CONFIG_SOFT_I2C				/* I2C bit-banged		*/ -#define CONFIG_SYS_I2C_SPEED		400000		/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_HARD_I2C		1		/* To enable I2C support */ +#undef  CONFIG_SYS_I2C_SOFT +#define CONFIG_SYS_I2C_SPEED	400000 +#define CONFIG_SYS_I2C_SLAVE	0x7F -#ifdef CONFIG_SOFT_I2C +#ifdef CONFIG_SYS_I2C_SOFT  #error "Soft I2C is not configured properly.  Please review!" +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  #define I2C_PORT		3               /* Port A=0, B=1, C=2, D=3 */  #define I2C_ACTIVE		(iop->pdir |=  0x00010000)  #define I2C_TRISTATE		(iop->pdir &= ~0x00010000) @@ -172,7 +175,7 @@  #define I2C_SCL(bit)		if(bit) iop->pdat |=  0x00020000; \  				else    iop->pdat &= ~0x00020000  #define I2C_DELAY		udelay(5)	/* 1/4 I2C clock duration */ -#endif /* CONFIG_SOFT_I2C */ +#endif /* CONFIG_SYS_I2C_SOFT */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x57		/* EEPROM IS24C02		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1		/* Bytes of address		*/ diff --git a/include/configs/TASREG.h b/include/configs/TASREG.h index 494ed078f..bce4176f9 100644 --- a/include/configs/TASREG.h +++ b/include/configs/TASREG.h @@ -120,19 +120,11 @@  /*-----------------------------------------------------------------------   * I2C   */ -#define	CONFIG_SOFT_I2C -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC32		*/ -#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2	/* Bytes of address		*/ -/* mask of address bits that overflow into the "EEPROM chip address"	*/ -#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW	0x01 -#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5	/* The Catalyst CAT24WC32 has	*/ -					/* 32 byte page write mode using*/ -					/* last 5 bits of the address	*/ -#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	10   /* and takes up to 10 msec */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	100000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F -#if defined (CONFIG_SOFT_I2C)  #if 0 /* push-pull */  #define	SDA	        0x00800000  #define	SCL	        0x00000008 @@ -166,7 +158,17 @@  #define	I2C_ACTIVE	{DIR1|=SDA;}  #define	I2C_TRISTATE    {DIR1&=~SDA;}  #endif -#endif + +#define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC32	*/ +#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2	/* Bytes of address	*/ +/* mask of address bits that overflow into the "EEPROM chip address"	*/ +#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW	0x01 +/* + * The Catalyst CAT24WC32 has 32 byte page write mode using + * last 5 bits of the address + */ +#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5 +#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */  /*-----------------------------------------------------------------------   * Definitions for initial stack pointer and data area (in DPRAM) diff --git a/include/configs/TK885D.h b/include/configs/TK885D.h index 39c39ee8c..7f2b84299 100644 --- a/include/configs/TK885D.h +++ b/include/configs/TK885D.h @@ -88,13 +88,10 @@  #undef	CONFIG_CAN_DRIVER		/* CAN Driver support disabled	*/  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ - -#define CONFIG_SYS_I2C_SPEED		93000	/* 93 kHz is supposed to work	*/ -#define CONFIG_SYS_I2C_SLAVE		0xFE - -#ifdef CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT			/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	93000	/* 93 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -110,7 +107,6 @@  #define I2C_SCL(bit)	if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  			else	immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(2)	/* 1/4 I2C clock duration */ -#endif	/* CONFIG_SOFT_I2C */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50		/* EEPROM AT24C??	*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2		/* two byte address	*/ diff --git a/include/configs/TOP5200.h b/include/configs/TOP5200.h index 3c7addbb5..00056a33d 100644 --- a/include/configs/TOP5200.h +++ b/include/configs/TOP5200.h @@ -184,10 +184,13 @@  #define CONFIG_ENV_OVERWRITE  #define CONFIG_MISC_INIT_R -#undef	CONFIG_HARD_I2C			/* I2C with hardware support */ -#define	CONFIG_SOFT_I2C		1	/* I2C with softwate support */ +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ -#if defined (CONFIG_SOFT_I2C) +#if defined(CONFIG_SYS_I2C_SOFT) +#  define CONFIG_SYS_I2C +#  define CONFIG_SYS_I2C_SOFT_SPEED	100000 +#  define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F +/**/  #  define SDA0			0x40  #  define SCL0			0x80  #  define GPIOE0		*((volatile uchar*)(CONFIG_SYS_MBAR+0x0c00)) @@ -202,8 +205,7 @@  #  define I2C_DELAY		{udelay(5);}  #  define I2C_ACTIVE	{DDR0|=SDA0;}  #  define I2C_TRISTATE	{DDR0&=~SDA0;} -#  define CONFIG_SYS_I2C_SPEED		100000 -#  define CONFIG_SYS_I2C_SLAVE		0x7F +  #define CONFIG_SYS_I2C_EEPROM_ADDR 0x57  #define CONFIG_SYS_I2C_FACT_ADDR	0x57  #endif diff --git a/include/configs/TOP860.h b/include/configs/TOP860.h index c2210503a..5c5ce84ff 100644 --- a/include/configs/TOP860.h +++ b/include/configs/TOP860.h @@ -143,7 +143,6 @@   * Environment handler   * only the first 6k in EEPROM are available for user. Of that we use 256b   */ -#define	CONFIG_SOFT_I2C  #define CONFIG_ENV_IS_IN_EEPROM	1	/* turn on EEPROM env feature */  #define CONFIG_ENV_OFFSET		0x1000  #define CONFIG_ENV_SIZE		0x0700 @@ -154,13 +153,15 @@  #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2  #define CONFIG_SYS_EEPROM_SIZE 0x2000 -#define	CONFIG_SYS_I2C_SPEED	100000 -#define	CONFIG_SYS_I2C_SLAVE	0xFE  #define	CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 12  #define CONFIG_ENV_OVERWRITE  #define CONFIG_MISC_INIT_R -#if defined (CONFIG_SOFT_I2C) +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	100000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE +/**/  #define	SDA	0x00010  #define	SCL	0x00020  #define __I2C_DIR	immr->im_cpm.cp_pbdir @@ -177,7 +178,6 @@  #define	I2C_DELAY	{ udelay(5); }  #define	I2C_ACTIVE	{ __I2C_DIR |= SDA; }  #define	I2C_TRISTATE	{ __I2C_DIR &= ~SDA; } -#endif  #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200, 230400 } diff --git a/include/configs/TQM8260.h b/include/configs/TQM8260.h index 006d53d34..1b02cbbca 100644 --- a/include/configs/TQM8260.h +++ b/include/configs/TQM8260.h @@ -73,10 +73,10 @@  #define CONFIG_BOOTCOMMAND	"run flash_self"  /* enable I2C and select the hardware/software driver */ -#undef  CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	400000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F  /*   * Software (bit-bang) I2C driver configuration diff --git a/include/configs/TQM8272.h b/include/configs/TQM8272.h index c5b64b245..3f586fbbc 100644 --- a/include/configs/TQM8272.h +++ b/include/configs/TQM8272.h @@ -81,11 +81,10 @@  #if CONFIG_I2C  /* enable I2C and select the hardware/software driver */ -#undef  CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F - +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	400000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F  /*   * Software (bit-bang) I2C driver configuration   */ @@ -119,8 +118,9 @@  #define CONFIG_SYS_DTT_HYSTERESIS	3  #else +#undef CONFIG_SYS_I2C  #undef CONFIG_HARD_I2C -#undef CONFIG_SOFT_I2C +#undef CONFIG_SYS_I2C_SOFT  #endif  /* diff --git a/include/configs/TQM834x.h b/include/configs/TQM834x.h index 8eb217c5d..07b5acb97 100644 --- a/include/configs/TQM834x.h +++ b/include/configs/TQM834x.h @@ -171,12 +171,11 @@  /*   * I2C   */ -#define CONFIG_HARD_I2C			/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_FSL_I2C -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed: 400KHz */ -#define CONFIG_SYS_I2C_SLAVE		0x7F	/* slave address */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000  /* I2C EEPROM, configuration for onboard EEPROMs 24C256 and 24C32 */  #define CONFIG_SYS_I2C_EEPROM_ADDR		0x50	/* 1010000x */ diff --git a/include/configs/TQM855M.h b/include/configs/TQM855M.h index a893316ef..37e3541d6 100644 --- a/include/configs/TQM855M.h +++ b/include/configs/TQM855M.h @@ -77,13 +77,10 @@  #undef	CONFIG_CAN_DRIVER		/* CAN Driver support disabled	*/  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define	CONFIG_SOFT_I2C         1	/* I2C bit-banged		*/ - -#define CONFIG_SYS_I2C_SPEED		93000	/* 93 kHz is supposed to work	*/ -#define CONFIG_SYS_I2C_SLAVE		0xFE - -#ifdef CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	93000	/* 93 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -99,7 +96,6 @@  #define I2C_SCL(bit)	if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  			else    immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(2)	/* 1/4 I2C clock duration */ -#endif	/* CONFIG_SOFT_I2C */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50		/* EEPROM AT24C64	*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2		/* two byte address	*/ diff --git a/include/configs/TQM866M.h b/include/configs/TQM866M.h index f28aa16c0..9cf263cff 100644 --- a/include/configs/TQM866M.h +++ b/include/configs/TQM866M.h @@ -91,13 +91,11 @@  #undef	CONFIG_CAN_DRIVER		/* CAN Driver support disabled	*/  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT			/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	93000	/* 93 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE -#define CONFIG_SYS_I2C_SPEED		93000	/* 93 kHz is supposed to work	*/ -#define CONFIG_SYS_I2C_SLAVE		0xFE - -#ifdef CONFIG_SOFT_I2C  /*   * Software (bit-bang) I2C driver configuration   */ @@ -113,7 +111,6 @@  #define I2C_SCL(bit)	if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  			else	immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(2)	/* 1/4 I2C clock duration */ -#endif	/* CONFIG_SOFT_I2C */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50		/* EEPROM AT24C256	*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2		/* two byte address	*/ diff --git a/include/configs/TQM885D.h b/include/configs/TQM885D.h index e6b1e35d5..1f52efcf5 100644 --- a/include/configs/TQM885D.h +++ b/include/configs/TQM885D.h @@ -85,13 +85,10 @@  #undef	CONFIG_CAN_DRIVER		/* CAN Driver support disabled	*/  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ - -#define CONFIG_SYS_I2C_SPEED		93000	/* 93 kHz is supposed to work	*/ -#define CONFIG_SYS_I2C_SLAVE		0xFE - -#ifdef CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT			/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	93000	/* 93 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -107,7 +104,6 @@  #define I2C_SCL(bit)	if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  			else	immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(2)	/* 1/4 I2C clock duration */ -#endif	/* CONFIG_SOFT_I2C */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50		/* EEPROM AT24C??	*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2		/* two byte address	*/ diff --git a/include/configs/VOH405.h b/include/configs/VOH405.h index 6316fb566..a1dad2b5b 100644 --- a/include/configs/VOH405.h +++ b/include/configs/VOH405.h @@ -264,10 +264,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT24WC08		*/  #define CONFIG_SYS_EEPROM_WREN         1 diff --git a/include/configs/VOM405.h b/include/configs/VOM405.h index f3bd423b4..5daf17586 100644 --- a/include/configs/VOM405.h +++ b/include/configs/VOM405.h @@ -189,10 +189,11 @@  /*   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/W7OLMC.h b/include/configs/W7OLMC.h index f388047ee..51cfcf6e2 100644 --- a/include/configs/W7OLMC.h +++ b/include/configs/W7OLMC.h @@ -263,10 +263,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC08) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1	/* Bytes of address		*/ diff --git a/include/configs/W7OLMG.h b/include/configs/W7OLMG.h index dba456108..6769c0d80 100644 --- a/include/configs/W7OLMG.h +++ b/include/configs/W7OLMG.h @@ -270,10 +270,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (ATMEL 24C04N)   */ -#define CONFIG_HARD_I2C		1		/* Hardware assisted I2C	*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000		/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50		/* EEPROM ATMEL 24C04N		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1		/* Bytes of address		*/ diff --git a/include/configs/WUH405.h b/include/configs/WUH405.h index df4652153..f38d90ee3 100644 --- a/include/configs/WUH405.h +++ b/include/configs/WUH405.h @@ -228,10 +228,11 @@  /*-----------------------------------------------------------------------   * I2C EEPROM (CAT24WC16) for environment   */ -#define CONFIG_HARD_I2C			/* I2c with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* EEPROM CAT28WC08		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1	/* Bytes of address		*/ diff --git a/include/configs/acadia.h b/include/configs/acadia.h index 88c4aee15..f79706e1d 100644 --- a/include/configs/acadia.h +++ b/include/configs/acadia.h @@ -190,7 +190,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000		/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	(0xa8>>1) diff --git a/include/configs/alpr.h b/include/configs/alpr.h index b9b4e9af9..5431b098c 100644 --- a/include/configs/alpr.h +++ b/include/configs/alpr.h @@ -105,12 +105,12 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_HARD_I2C		1	/* I2C with hardware support	*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x69}	/* Don't probe these addrs	*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F +#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x69} }	/* Don't probe these addrs */  /*-----------------------------------------------------------------------   * I2C EEPROM (PCF8594C) diff --git a/include/configs/amcc-common.h b/include/configs/amcc-common.h index 72f75aae6..580d079ed 100644 --- a/include/configs/amcc-common.h +++ b/include/configs/amcc-common.h @@ -29,9 +29,10 @@  /*   * I2C   */ -#define CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  /*   * Ethernet/EMAC/PHY diff --git a/include/configs/aria.h b/include/configs/aria.h index c9d090e00..68f25ea38 100644 --- a/include/configs/aria.h +++ b/include/configs/aria.h @@ -355,7 +355,6 @@  /* I2C */  #define CONFIG_HARD_I2C			/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C			/* so disable bit-banged I2C */  #define CONFIG_I2C_MULTI_BUS  /* I2C speed and slave address */ diff --git a/include/configs/astro_mcf5373l.h b/include/configs/astro_mcf5373l.h index 1124f0a29..ed9400e4c 100644 --- a/include/configs/astro_mcf5373l.h +++ b/include/configs/astro_mcf5373l.h @@ -100,12 +100,11 @@  #undef CONFIG_MCFPIT  /* I2C */ -#define CONFIG_FSL_I2C -#define CONFIG_HARD_I2C			/* I2C with hw support */ -#undef CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		80000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x58000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	80000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x58000  #define CONFIG_SYS_IMMR			CONFIG_SYS_MBAR  /* diff --git a/include/configs/bamboo.h b/include/configs/bamboo.h index e585efe4d..5336f6910 100644 --- a/include/configs/bamboo.h +++ b/include/configs/bamboo.h @@ -206,7 +206,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	(0xa8>>1) diff --git a/include/configs/beaver.h b/include/configs/beaver.h index 628d5d3db..801caca24 100644 --- a/include/configs/beaver.h +++ b/include/configs/beaver.h @@ -41,12 +41,11 @@  #define CONFIG_BOARD_EARLY_INIT_F  /* I2C */ -#define CONFIG_TEGRA_I2C +#define CONFIG_SYS_I2C_TEGRA  #define CONFIG_SYS_I2C_INIT_BOARD -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_MAX_I2C_BUS		TEGRA_I2C_NUM_CONTROLLERS  #define CONFIG_SYS_I2C_SPEED		100000  #define CONFIG_CMD_I2C +#define CONFIG_SYS_I2C  /* SD/MMC */  #define CONFIG_MMC diff --git a/include/configs/bf533-ezkit.h b/include/configs/bf533-ezkit.h index c1a5ecda7..beab1271a 100644 --- a/include/configs/bf533-ezkit.h +++ b/include/configs/bf533-ezkit.h @@ -94,10 +94,15 @@  /*   * I2C Settings   */ -#define CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C_SOFT +#ifdef CONFIG_SYS_I2C_SOFT +#define CONFIG_SYS_I2C  #define CONFIG_SOFT_I2C_GPIO_SCL GPIO_PF0  #define CONFIG_SOFT_I2C_GPIO_SDA GPIO_PF1 - +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0 +#define I2C_DELAY              udelay(5)       /* 1/4 I2C clock duration */ +#endif  /*   * Misc Settings diff --git a/include/configs/bf533-stamp.h b/include/configs/bf533-stamp.h index e3344e9e8..7144c6319 100644 --- a/include/configs/bf533-stamp.h +++ b/include/configs/bf533-stamp.h @@ -14,7 +14,6 @@  #define CONFIG_BFIN_CPU             bf533-0.3  #define CONFIG_BFIN_BOOT_MODE       BFIN_BOOT_BYPASS -  /*   * Clock Settings   *	CCLK = (CLKIN * VCO_MULT) / CCLK_DIV @@ -38,7 +37,6 @@  /* Values can range from 1-15						*/  #define CONFIG_SCLK_DIV			6 /* note: 1.2 boards can go faster */ -  /*   * Memory Settings   */ @@ -74,6 +72,42 @@  /* #define CONFIG_ETHADDR	02:80:ad:20:31:b8 */ +/* I2C */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0 +/* + * Software (bit-bang) I2C driver configuration + */ +#define PF_SCL			PF3 +#define PF_SDA			PF2 +#define I2C_INIT		(*pFIO_DIR |=  PF_SCL); asm("ssync;") +#define I2C_ACTIVE		(*pFIO_DIR |=  PF_SDA); \ +				*pFIO_INEN &= ~PF_SDA; asm("ssync;") +#define I2C_TRISTATE		(*pFIO_DIR &= ~PF_SDA); \ +				*pFIO_INEN |= PF_SDA; asm("ssync;") +#define I2C_READ		((volatile)(*pFIO_FLAG_D & PF_SDA) != 0); \ +				asm("ssync;") +#define I2C_SDA(bit)	if (bit) { \ +				*pFIO_FLAG_S = PF_SDA; \ +				asm("ssync;"); \ +				} \ +			else	{ \ +				*pFIO_FLAG_C = PF_SDA; \ +				asm("ssync;"); \ +				} +#define I2C_SCL(bit)	if (bit) { \ +				*pFIO_FLAG_S = PF_SCL; \ +				asm("ssync;"); \ +				} \ +			else	{ \ +				*pFIO_FLAG_C = PF_SCL; \ +				asm("ssync;"); \ +				} +#define I2C_DELAY		udelay(5)	/* 1/4 I2C clock duration */ + +  /*   * Flash Settings   */ @@ -84,7 +118,6 @@  #define CONFIG_SYS_MAX_FLASH_BANKS	1  #define CONFIG_SYS_MAX_FLASH_SECT	67 -  /*   * SPI Settings   */ @@ -132,10 +165,15 @@  /*   * I2C Settings   */ -#define CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C_SOFT +#ifdef CONFIG_SYS_I2C_SOFT +#define CONFIG_SYS_I2C  #define CONFIG_SOFT_I2C_GPIO_SCL GPIO_PF3  #define CONFIG_SOFT_I2C_GPIO_SDA GPIO_PF2 - +#define I2C_DELAY		udelay(5)	/* 1/4 I2C clock duration */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0 +#endif  /*   * Compact Flash / IDE / ATA Settings diff --git a/include/configs/bf561-ezkit.h b/include/configs/bf561-ezkit.h index 6ee1e4c86..404039ac2 100644 --- a/include/configs/bf561-ezkit.h +++ b/include/configs/bf561-ezkit.h @@ -88,10 +88,14 @@  /*   * I2C Settings   */ -#define CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C_SOFT +#ifdef CONFIG_SYS_I2C_SOFT  #define CONFIG_SOFT_I2C_GPIO_SCL GPIO_PF0  #define CONFIG_SOFT_I2C_GPIO_SDA GPIO_PF1 - +#define I2C_DELAY		udelay(5)	/* 1/4 I2C clock duration */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0 +#endif  /*   * Misc Settings diff --git a/include/configs/bfin_adi_common.h b/include/configs/bfin_adi_common.h index e1a6fe305..08ccce0b9 100644 --- a/include/configs/bfin_adi_common.h +++ b/include/configs/bfin_adi_common.h @@ -71,7 +71,7 @@  # ifdef CONFIG_SPI_FLASH  #  define CONFIG_CMD_SF  # endif -# if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C) +# if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C_SOFT)  #  define CONFIG_CMD_I2C  #  define CONFIG_SOFT_I2C_READ_REPEATED_START  # endif @@ -299,7 +299,7 @@  /*   * I2C Settings   */ -#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C) +#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C_SOFT)  # ifndef CONFIG_SYS_I2C_SPEED  #  define CONFIG_SYS_I2C_SPEED 50000  # endif diff --git a/include/configs/blackstamp.h b/include/configs/blackstamp.h index 83ad659cd..7d8227503 100644 --- a/include/configs/blackstamp.h +++ b/include/configs/blackstamp.h @@ -40,7 +40,6 @@  #define SHARED_RESOURCES	1  /* Is I2C bit-banged? */ -#undef CONFIG_SOFT_I2  /*   * Clock Settings @@ -115,7 +114,7 @@  # undef CONFIG_CMD_NET  #endif -#ifdef CONFIG_SOFT_I2C +#ifdef CONFIG_SYS_I2C_SOFT  # define CONFIG_CMD_I2C  #endif @@ -204,11 +203,11 @@   * Note these pins are arbitrarily chosen because we aren't using   * them yet. You can (and probably should) change these values!   */ -#ifdef CONFIG_SOFT_I2C +#ifdef CONFIG_SYS_I2C_SOFT  #define CONFIG_SOFT_I2C_GPIO_SCL GPIO_PF9  #define CONFIG_SOFT_I2C_GPIO_SDA GPIO_PF8 -#define CONFIG_SYS_I2C_SPEED		50000 -#define CONFIG_SYS_I2C_SLAVE		0xFE +#define CONFIG_SYS_SOFT_I2C_SPEED	50000 +#define CONFIG_SYS_SOFT_I2C_SLAVE	0xFE  #endif  /* diff --git a/include/configs/blackvme.h b/include/configs/blackvme.h index 523c4e409..cd37f9adb 100644 --- a/include/configs/blackvme.h +++ b/include/configs/blackvme.h @@ -224,7 +224,7 @@   * Soft I2C settings (BF561 does not have hard I2C)   * PF12,13 on SPI connector 0.   */ -#ifdef CONFIG_SOFT_I2C +#ifdef CONFIG_SYS_I2C_SOFT  # define CONFIG_CMD_I2C  # define CONFIG_SOFT_I2C_GPIO_SCL	GPIO_PF12  # define CONFIG_SOFT_I2C_GPIO_SDA	GPIO_PF13 diff --git a/include/configs/bluestone.h b/include/configs/bluestone.h index 5ea6f46be..33e04963e 100644 --- a/include/configs/bluestone.h +++ b/include/configs/bluestone.h @@ -109,7 +109,7 @@  /*   * I2C   */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed            */ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR		0x54  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1 diff --git a/include/configs/bubinga.h b/include/configs/bubinga.h index b02f86207..9301fccbd 100644 --- a/include/configs/bubinga.h +++ b/include/configs/bubinga.h @@ -118,9 +118,9 @@   * I2C stuff   *-----------------------------------------------------------------------   */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 -#define CONFIG_SYS_I2C_NOPROBES	{ 0x69 }	/* avoid i2c probe hangup (why?) */ +#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x69} }	/* avoid i2c probe hangup (?) */  #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	6	/* 24C02 requires 5ms delay */  #if defined(CONFIG_CMD_EEPROM) diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h index 4353a8cb2..f6faeec06 100644 --- a/include/configs/canyonlands.h +++ b/include/configs/canyonlands.h @@ -316,7 +316,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed			*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR		(0xa8>>1) diff --git a/include/configs/cardhu.h b/include/configs/cardhu.h index 142d20b5c..4abb03ea5 100644 --- a/include/configs/cardhu.h +++ b/include/configs/cardhu.h @@ -40,12 +40,13 @@  #define CONFIG_BOARD_EARLY_INIT_F  /* I2C */ -#define CONFIG_TEGRA_I2C +#define CONFIG_SYS_I2C_TEGRA  #define CONFIG_SYS_I2C_INIT_BOARD  #define CONFIG_I2C_MULTI_BUS  #define CONFIG_SYS_MAX_I2C_BUS		TEGRA_I2C_NUM_CONTROLLERS  #define CONFIG_SYS_I2C_SPEED		100000  #define CONFIG_CMD_I2C +#define CONFIG_SYS_I2C  /* SD/MMC */  #define CONFIG_MMC diff --git a/include/configs/controlcenterd.h b/include/configs/controlcenterd.h index cdd79f076..c6aad01db 100644 --- a/include/configs/controlcenterd.h +++ b/include/configs/controlcenterd.h @@ -192,15 +192,14 @@  /*   * I2C   */ -#define CONFIG_HARD_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_CMD_I2C - -#define CONFIG_FSL_I2C -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 -#define CONFIG_SYS_I2C_SPEED		400000 -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /* Probing DP501 I2C-Bridge will hang */  #define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x30}, {0, 0x37}, {0, 0x3a}, \  					  {0, 0x3b}, {0, 0x50} } diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h index a85680f10..c0591c527 100644 --- a/include/configs/corenet_ds.h +++ b/include/configs/corenet_ds.h @@ -346,14 +346,14 @@  #define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x118000 -#define CONFIG_SYS_I2C2_OFFSET		0x118100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x118000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x118100  /*   * RapidIO diff --git a/include/configs/cpuat91.h b/include/configs/cpuat91.h index 4a7c4fc28..c56fdd751 100644 --- a/include/configs/cpuat91.h +++ b/include/configs/cpuat91.h @@ -76,7 +76,6 @@  #define CONFIG_USART_ID		0/* ignored in arm */  #undef CONFIG_HARD_I2C -#undef CONFIG_SOFT_I2C  #define AT91_PIN_SDA			(1<<25)  #define AT91_PIN_SCL			(1<<26) @@ -123,7 +122,7 @@  #undef CONFIG_CMD_NFS  #undef CONFIG_CMD_DHCP -#ifdef CONFIG_SOFT_I2C +#ifdef CONFIG_SYS_I2C_SOFT  #define CONFIG_CMD_EEPROM  #define CONFIG_CMD_I2C  #endif diff --git a/include/configs/csb272.h b/include/configs/csb272.h index 663b8cbd4..49a144fd3 100644 --- a/include/configs/csb272.h +++ b/include/configs/csb272.h @@ -159,10 +159,11 @@   * I2C configuration   *   */ -#define CONFIG_HARD_I2C		1	/* I2C with hardware support	*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed			*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F	/* I2C slave address		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F	/* I2C slave address */  /*   * MII PHY configuration diff --git a/include/configs/csb472.h b/include/configs/csb472.h index 6f7dc1856..7705a5dda 100644 --- a/include/configs/csb472.h +++ b/include/configs/csb472.h @@ -158,10 +158,11 @@   * I2C configuration   *   */ -#define CONFIG_HARD_I2C		1	/* I2C with hardware support	*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed			*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F	/* I2C slave address		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F	/* I2C slave address */  /*   * MII PHY configuration diff --git a/include/configs/dalmore.h b/include/configs/dalmore.h index b6e01617c..145e7ac92 100644 --- a/include/configs/dalmore.h +++ b/include/configs/dalmore.h @@ -43,12 +43,13 @@  #define CONFIG_BOARD_EARLY_INIT_F  /* I2C */ -#define CONFIG_TEGRA_I2C +#define CONFIG_SYS_I2C_TEGRA  #define CONFIG_SYS_I2C_INIT_BOARD  #define CONFIG_I2C_MULTI_BUS  #define CONFIG_SYS_MAX_I2C_BUS		TEGRA_I2C_NUM_CONTROLLERS  #define CONFIG_SYS_I2C_SPEED		100000  #define CONFIG_CMD_I2C +#define CONFIG_SYS_I2C  /* SD/MMC */  #define CONFIG_MMC diff --git a/include/configs/debris.h b/include/configs/debris.h index 660cceebd..c9fb8d78c 100644 --- a/include/configs/debris.h +++ b/include/configs/debris.h @@ -257,12 +257,15 @@   * configuration items that the driver uses to drive the port pins.   */  #define CONFIG_HARD_I2C		1		/* To enable I2C support	*/ -#undef  CONFIG_SOFT_I2C				/* I2C bit-banged		*/ +#undef  CONFIG_SYS_I2C_SOFT			/* I2C bit-banged */  #define CONFIG_SYS_I2C_SPEED		400000		/* I2C speed and slave address	*/  #define CONFIG_SYS_I2C_SLAVE		0x7F -#ifdef CONFIG_SOFT_I2C +#ifdef CONFIG_SYS_I2C_SOFT  #error "Soft I2C is not configured properly.  Please review!" +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F  #define I2C_PORT		3               /* Port A=0, B=1, C=2, D=3 */  #define I2C_ACTIVE		(iop->pdir |=  0x00010000)  #define I2C_TRISTATE		(iop->pdir &= ~0x00010000) @@ -272,7 +275,7 @@  #define I2C_SCL(bit)		if(bit) iop->pdat |=  0x00020000; \  				else    iop->pdat &= ~0x00020000  #define I2C_DELAY		udelay(5)	/* 1/4 I2C clock duration */ -#endif /* CONFIG_SOFT_I2C */ +#endif /* CONFIG_SYS_I2C_SOFT */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x57		/* EEPROM IS24C02		*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1		/* Bytes of address		*/ diff --git a/include/configs/dlvision-10g.h b/include/configs/dlvision-10g.h index 84af89578..17391cddc 100644 --- a/include/configs/dlvision-10g.h +++ b/include/configs/dlvision-10g.h @@ -98,7 +98,7 @@  /*   * I2C stuff   */ -#define CONFIG_SYS_I2C_SPEED		100000 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000  /* Temp sensor/hwmon/dtt */  #define CONFIG_DTT_LM63		1	/* National LM63	*/ diff --git a/include/configs/dlvision.h b/include/configs/dlvision.h index d5bf73558..27471284a 100644 --- a/include/configs/dlvision.h +++ b/include/configs/dlvision.h @@ -91,7 +91,7 @@  /*   * I2C stuff   */ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000  /*   * FLASH organization diff --git a/include/configs/eXalion.h b/include/configs/eXalion.h index 6d9e2ad96..c2d04a21c 100644 --- a/include/configs/eXalion.h +++ b/include/configs/eXalion.h @@ -208,7 +208,7 @@   * configuration items that the driver uses to drive the port pins.   */  #define CONFIG_HARD_I2C		1	/* To enable I2C support	*/ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged		*/ +#undef	CONFIG_SYS_I2C_SOFT		/* I2C bit-banged		*/  #define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/  #define CONFIG_SYS_I2C_SLAVE		0x7F diff --git a/include/configs/eb_cpu5282.h b/include/configs/eb_cpu5282.h index 84cf9d74f..08ba883f4 100644 --- a/include/configs/eb_cpu5282.h +++ b/include/configs/eb_cpu5282.h @@ -246,14 +246,14 @@   * I2C   */ -#define CONFIG_HARD_I2C -#define CONFIG_FSL_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL -#define CONFIG_SYS_I2C_OFFSET		0x00000300 +#define CONFIG_SYS_FSL_I2C_OFFSET	0x00000300  #define CONFIG_SYS_IMMR			CONFIG_SYS_MBAR -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		0 +#define CONFIG_SYS_FSL_I2C_SPEED	100000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0  #ifdef CONFIG_CMD_DATE  #define CONFIG_RTC_DS1338 diff --git a/include/configs/eb_cpux9k2.h b/include/configs/eb_cpux9k2.h index a768ef3a3..247e37b6d 100644 --- a/include/configs/eb_cpux9k2.h +++ b/include/configs/eb_cpux9k2.h @@ -207,11 +207,10 @@   * I2C-Bus   */ -#define CONFIG_SYS_I2C_SPEED		50000 -#define CONFIG_SYS_I2C_SLAVE		0 		/* not used */ - -#ifndef CONFIG_HARD_I2C -#define CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0  /* Software  I2C driver configuration */ @@ -235,9 +234,7 @@  	else							\  		writel(ATMEL_PMX_AA_TWCK, &pio->pioa.codr); -#define I2C_DELAY	udelay(2500000/CONFIG_SYS_I2C_SPEED) - -#endif	/* CONFIG_HARD_I2C */ +#define I2C_DELAY	udelay(2500000/CONFIG_SYS_I2C_SOFT_SPEED)  /* I2C-RTC */ diff --git a/include/configs/ebony.h b/include/configs/ebony.h index 800af7276..47014f9e3 100644 --- a/include/configs/ebony.h +++ b/include/configs/ebony.h @@ -122,7 +122,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	(0xa8>>1) diff --git a/include/configs/ep8260.h b/include/configs/ep8260.h index 5fdc46aa2..aba339223 100644 --- a/include/configs/ep8260.h +++ b/include/configs/ep8260.h @@ -211,15 +211,18 @@   * If the software driver is chosen, there are some additional   * configuration items that the driver uses to drive the port pins.   */ -#undef  CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +  #define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C_SLAVE		0x7F	/* This is for HARD, must go */  /*   * Software (bit-bang) I2C driver configuration   */ -#ifdef CONFIG_SOFT_I2C +#ifdef CONFIG_SYS_I2C_SOFT +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  #define I2C_PORT	3		/* Port A=0, B=1, C=2, D=3 */  #define I2C_ACTIVE	(iop->pdir |=  0x00010000)  #define I2C_TRISTATE	(iop->pdir &= ~0x00010000) @@ -229,7 +232,7 @@  #define I2C_SCL(bit)	if(bit) iop->pdat |=  0x00020000; \  			else    iop->pdat &= ~0x00020000  #define I2C_DELAY	udelay(5)	/* 1/4 I2C clock duration */ -#endif /* CONFIG_SOFT_I2C */ +#endif /* CONFIG_SYS_I2C_SOFT */  /* #define CONFIG_RTC_DS174x */ diff --git a/include/configs/ethernut5.h b/include/configs/ethernut5.h index 3cf27edcd..adf14be36 100644 --- a/include/configs/ethernut5.h +++ b/include/configs/ethernut5.h @@ -194,10 +194,12 @@  /* I2C */  #define CONFIG_SYS_MAX_I2C_BUS	1 -#define CONFIG_SYS_I2C_SLAVE	0 -#define CONFIG_SYS_I2C_SPEED	100000 -#define CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT			/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	100000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0 +  #define I2C_SOFT_DECLARATIONS  #define GPIO_I2C_SCL		AT91_PIO_PORTA, 24 diff --git a/include/configs/gdppc440etx.h b/include/configs/gdppc440etx.h index c95cb00e9..cfb2a7271 100644 --- a/include/configs/gdppc440etx.h +++ b/include/configs/gdppc440etx.h @@ -129,7 +129,7 @@  /*   * I2C   */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed+slave address*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  /*   * Default environment variables diff --git a/include/configs/ibf-dsp561.h b/include/configs/ibf-dsp561.h index 294af735d..529175512 100644 --- a/include/configs/ibf-dsp561.h +++ b/include/configs/ibf-dsp561.h @@ -105,11 +105,11 @@  /*   * I2C Settings   */ -#define CONFIG_SOFT_I2C		1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */  #define CONFIG_SOFT_I2C_GPIO_SCL GPIO_PF0  #define CONFIG_SOFT_I2C_GPIO_SDA GPIO_PF1 -  /*   * Misc Settings   */ diff --git a/include/configs/icon.h b/include/configs/icon.h index fd8d56fe4..eafcf5aea 100644 --- a/include/configs/icon.h +++ b/include/configs/icon.h @@ -104,9 +104,8 @@  /*   * I2C   */ -#define CONFIG_SYS_I2C_SPEED	100000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0	100000 -#define CONFIG_I2C_MULTI_BUS  #define CONFIG_SYS_SPD_BUS_NUM	0	/* The I2C bus for SPD		*/  #define CONFIG_SYS_I2C_MULTI_EEPROMS diff --git a/include/configs/intip.h b/include/configs/intip.h index fed0c3c23..d3d7a441b 100644 --- a/include/configs/intip.h +++ b/include/configs/intip.h @@ -215,7 +215,7 @@  /*   * I2C   */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed */ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR		(0xa8>>1) diff --git a/include/configs/io.h b/include/configs/io.h index af01ae25b..33743e61a 100644 --- a/include/configs/io.h +++ b/include/configs/io.h @@ -98,7 +98,7 @@  /*   * I2C stuff   */ -#define CONFIG_SYS_I2C_SPEED		100000 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000  /* Temp sensor/hwmon/dtt */  #define CONFIG_DTT_LM63		1	/* National LM63	*/ diff --git a/include/configs/io64.h b/include/configs/io64.h index 274625dbd..dcd1b82e2 100644 --- a/include/configs/io64.h +++ b/include/configs/io64.h @@ -324,7 +324,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0	400000  #define CONFIG_PCA9698		1	/* NXP PCA9698 */ diff --git a/include/configs/iocon.h b/include/configs/iocon.h index bae525026..32d9050ad 100644 --- a/include/configs/iocon.h +++ b/include/configs/iocon.h @@ -94,11 +94,11 @@  /*   * I2C stuff   */ -#define CONFIG_SYS_I2C_SPEED		400000 - -/* enable I2C and select the hardware/software driver */ -#undef  CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  /*   * Software (bit-bang) I2C driver configuration diff --git a/include/configs/katmai.h b/include/configs/katmai.h index 10871e834..ca0df2d0c 100644 --- a/include/configs/katmai.h +++ b/include/configs/katmai.h @@ -103,9 +103,8 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 -#define CONFIG_I2C_MULTI_BUS  #define CONFIG_SYS_SPD_BUS_NUM		0	/* The I2C bus for SPD		*/  #define IIC0_BOOTPROM_ADDR	0x50 diff --git a/include/configs/kilauea.h b/include/configs/kilauea.h index 613654c51..bd3bbb79a 100644 --- a/include/configs/kilauea.h +++ b/include/configs/kilauea.h @@ -369,7 +369,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x52	/* I2C boot EEPROM (24C02BN)	*/  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1	/* Bytes of address		*/ diff --git a/include/configs/km/keymile-common.h b/include/configs/km/keymile-common.h index d0e4b3fd4..a82987d6a 100644 --- a/include/configs/km/keymile-common.h +++ b/include/configs/km/keymile-common.h @@ -62,10 +62,7 @@  #define CONFIG_LOADS_ECHO  #define CONFIG_SYS_LOADS_BAUD_CHANGE -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_MAX_I2C_BUS		1  #define CONFIG_SYS_I2C_INIT_BOARD -#define CONFIG_I2C_MUX  /* Support the IVM EEprom */  #define	CONFIG_SYS_IVM_EEPROM_ADR	0x50 diff --git a/include/configs/km/km83xx-common.h b/include/configs/km/km83xx-common.h index 6b3a4cca3..0ff866a89 100644 --- a/include/configs/km/km83xx-common.h +++ b/include/configs/km/km83xx-common.h @@ -201,11 +201,23 @@  #endif /* CFG_SYS_RAMBOOT */  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#define CONFIG_FSL_I2C -#define CONFIG_SYS_I2C_SPEED	200000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_NUM_I2C_BUSES	4 +#define CONFIG_SYS_I2C_MAX_HOPS		1 +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	200000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_I2C_OFFSET		0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	200000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_BUSES	{{0, {I2C_NULL_HOP} }, \ +		{0, {{I2C_MUX_PCA9547, 0x70, 2} } }, \ +		{0, {{I2C_MUX_PCA9547, 0x70, 1} } }, \ +		{1, {I2C_NULL_HOP} } } + +#define CONFIG_KM_IVM_BUS		2	/* I2C2 (Mux-Port 1)*/  /* I2C SYSMON (LM75, AD7414 is almost compatible) */  #define CONFIG_DTT_LM75		/* ON Semi's LM75 */ @@ -213,7 +225,7 @@  #define CONFIG_SYS_DTT_MAX_TEMP	70  #define CONFIG_SYS_DTT_LOW_TEMP	-30  #define CONFIG_SYS_DTT_HYSTERESIS	3 -#define CONFIG_SYS_DTT_BUS_NUM		(CONFIG_SYS_MAX_I2C_BUS) +#define CONFIG_SYS_DTT_BUS_NUM		1  #if defined(CONFIG_CMD_NAND)  #define CONFIG_NAND_KMETER1 @@ -309,7 +321,6 @@  #define CONFIG_EXTRA_ENV_SETTINGS \  	CONFIG_KM_DEF_ENV						\  	CONFIG_KM_DEF_ARCH						\ -	"EEprom_ivm=pca9547:70:9\0"					\  	"newenv="							\  		"prot off 0xF00C0000 +0x40000 && "			\  		"era 0xF00C0000 +0x40000\0"				\ diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h index 97bdeba15..e0368cb89 100644 --- a/include/configs/km/km_arm.h +++ b/include/configs/km/km_arm.h @@ -42,7 +42,6 @@  #define CONFIG_CMD_NAND  #define CONFIG_CMD_SF -#define CONFIG_SOFT_I2C		/* I2C bit-banged	*/  /* SPI NOR Flash default params, used by sf commands */  #define CONFIG_SF_DEFAULT_SPEED		8100000 @@ -171,8 +170,23 @@  /*   * I2C related stuff   */ +#undef CONFIG_I2C_MVTWSI +#define CONFIG_SYS_I2C +#define	CONFIG_SYS_I2C_SOFT	/* I2C bit-banged	*/ +  #define	CONFIG_KIRKWOOD_GPIO		/* Enable GPIO Support */ -#if defined(CONFIG_SOFT_I2C) +#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} }, \ +					{0, {{I2C_MUX_PCA9547, 0x70, 1} } }, \ +					{0, {{I2C_MUX_PCA9547, 0x70, 2} } }, \ +					{0, {{I2C_MUX_PCA9547, 0x70, 3} } }, \ +					{0, {{I2C_MUX_PCA9547, 0x70, 4} } }, \ +					{0, {{I2C_MUX_PCA9547, 0x70, 5} } }, \ +				} +  #ifndef __ASSEMBLY__  #include <asm/arch-kirkwood/gpio.h>  extern void __set_direction(unsigned pin, int high); @@ -195,6 +209,8 @@ int get_scl(void);  #define I2C_DELAY	udelay(1)  #define I2C_SOFT_DECLARATIONS +#define	CONFIG_SYS_I2C_SOFT_SLAVE	0x0 +#define	CONFIG_SYS_I2C_SOFT_SPEED	100000  #endif  /* EEprom support 24C128, 24C256 valid for environment eeprom */ @@ -224,7 +240,7 @@ int get_scl(void);  #define CONFIG_SYS_EEPROM_WREN  #define CONFIG_ENV_OFFSET		0x0 /* no bracets! */  #define CONFIG_ENV_SIZE			(0x2000 - CONFIG_ENV_OFFSET) -#define CONFIG_I2C_ENV_EEPROM_BUS	KM_ENV_BUS "\0" +#define CONFIG_I2C_ENV_EEPROM_BUS	KM_ENV_BUS  #define CONFIG_ENV_OFFSET_REDUND	0x2000 /* no bracets! */  #define CONFIG_ENV_SIZE_REDUND		(CONFIG_ENV_SIZE)  #endif @@ -263,7 +279,8 @@ int get_scl(void);  #else  #define CONFIG_KM_NEW_ENV						\  	"newenv=setenv addr 0x100000 && "				\ -		"i2c dev 1; mw.b ${addr} 0 4 && "			\ +		"i2c dev " __stringify(CONFIG_I2C_ENV_EEPROM_BUS) "; "  \ +		"mw.b ${addr} 0 4 && "					\  		"eeprom write " __stringify(CONFIG_SYS_DEF_EEPROM_ADDR)	\  		" ${addr} " __stringify(CONFIG_ENV_OFFSET) " 4 && "	\  		"eeprom write " __stringify(CONFIG_SYS_DEF_EEPROM_ADDR)	\ @@ -277,7 +294,6 @@ int get_scl(void);  	CONFIG_KM_DEF_ENV						\  	CONFIG_KM_NEW_ENV						\  	"arch=arm\0"							\ -	"EEprom_ivm=" KM_IVM_BUS "\0"					\  	""  #if defined(CONFIG_SYS_NO_FLASH) diff --git a/include/configs/km82xx.h b/include/configs/km82xx.h index b087cdb24..b23cb9627 100644 --- a/include/configs/km82xx.h +++ b/include/configs/km82xx.h @@ -196,7 +196,6 @@  #define	CONFIG_EXTRA_ENV_SETTINGS					\  	CONFIG_KM_BOARD_EXTRA_ENV					\  	CONFIG_KM_DEF_ENV						\ -	"EEprom_ivm=pca9544a:70:4 \0"					\  	"unlock=yes\0"							\  	"newenv="							\  		"prot off 0xFE0C0000 +0x40000 && "			\ @@ -226,10 +225,18 @@  #endif /* CONFIG_ENV_IS_IN_FLASH */  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define	CONFIG_SOFT_I2C			/* I2C bit-banged		*/ -#define CONFIG_SYS_I2C_SPEED		50000	/* I2C speed */ -#define CONFIG_SYS_I2C_SLAVE		0x7F	/* I2C slave address */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_NUM_I2C_BUSES	3 +#define CONFIG_SYS_I2C_MAX_HOPS		1 +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SPEED		CONFIG_SYS_I2C_SOFT_SPEED +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F +#define CONFIG_SYS_I2C_BUSES	{{0, {I2C_NULL_HOP} }, \ +			{0, {{I2C_MUX_PCA9542, 0x70, 0} } }, \ +			{0, {{I2C_MUX_PCA9542, 0x70, 1} } } } + +#define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/  /*   * Software (bit-bang) I2C driver configuration @@ -266,7 +273,7 @@ int get_scl(void);  #define CONFIG_SYS_DTT_MAX_TEMP	70  #define CONFIG_SYS_DTT_LOW_TEMP	-30  #define CONFIG_SYS_DTT_HYSTERESIS	3 -#define CONFIG_SYS_DTT_BUS_NUM		(CONFIG_SYS_MAX_I2C_BUS) +#define CONFIG_SYS_DTT_BUS_NUM		2  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1 diff --git a/include/configs/km_kirkwood.h b/include/configs/km_kirkwood.h index 68d1bf6c6..0e6073c64 100644 --- a/include/configs/km_kirkwood.h +++ b/include/configs/km_kirkwood.h @@ -26,18 +26,18 @@  #define CONFIG_IDENT_STRING		"\nKeymile Kirkwood"  #define CONFIG_HOSTNAME			km_kirkwood  #define CONFIG_KM_DISABLE_PCIE -#define KM_IVM_BUS			"pca9544a:70:9"	/* I2C2 (Mux-Port 1)*/ +#define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/  /* KM_KIRKWOOD_PCI */  #elif defined(CONFIG_KM_KIRKWOOD_PCI)  #define CONFIG_IDENT_STRING		"\nKeymile Kirkwood PCI"  #define CONFIG_HOSTNAME			km_kirkwood_pci -#define KM_IVM_BUS			"pca9544a:70:9"	/* I2C2 (Mux-Port 1)*/ +#define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/  #define CONFIG_KM_FPGA_CONFIG  /* KM_NUSA */  #elif defined(CONFIG_KM_NUSA) -#define KM_IVM_BUS			"pca9547:70:9"	/* I2C2 (Mux-Port 1)*/ +#define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/  #define CONFIG_IDENT_STRING		"\nKeymile NUSA"  #define CONFIG_HOSTNAME			kmnusa  #undef CONFIG_SYS_KWD_CONFIG @@ -53,7 +53,7 @@  #elif defined(CONFIG_KM_MGCOGE3UN)  #define CONFIG_IDENT_STRING		"\nKeymile COGE3UN"  #define CONFIG_HOSTNAME			mgcoge3un -#define KM_IVM_BUS			"pca9547:70:9" /* I2C2 (Mux-Port 1)*/ +#define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/  #undef CONFIG_SYS_KWD_CONFIG  #define CONFIG_SYS_KWD_CONFIG \  		$(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage-memphis.cfg @@ -65,7 +65,7 @@  /* KMCOGE5UN */  #elif defined(CONFIG_KM_COGE5UN)  #define CONFIG_IDENT_STRING		"\nKeymile COGE5UN" -#define KM_IVM_BUS			"pca9547:70:9"	/* I2C2 (Mux-Port 1)*/ +#define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/  #undef	CONFIG_SYS_KWD_CONFIG  #define CONFIG_SYS_KWD_CONFIG \  		$(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage_256M8_1.cfg @@ -79,12 +79,12 @@  #elif defined(CONFIG_KM_PORTL2)  #define CONFIG_IDENT_STRING		"\nKeymile Port-L2"  #define CONFIG_HOSTNAME			portl2 -#define KM_IVM_BUS			"pca9544a:70:9" /* I2C2 (Mux-Port 1)*/ +#define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/  #define CONFIG_KM_PIGGY4_88E6061  /* KM_SUV31 */  #elif defined(CONFIG_KM_SUV31) -#define KM_IVM_BUS			"pca9547:70:9"	/* I2C2 (Mux-Port 1)*/ +#define CONFIG_KM_IVM_BUS		1	/* I2C2 (Mux-Port 1)*/  #define CONFIG_IDENT_STRING		"\nKeymile SUV31"  #define CONFIG_HOSTNAME			kmsuv31  #define CONFIG_KM_ENV_IS_IN_SPI_NOR @@ -98,7 +98,7 @@  #include "km/km_arm.h"  #ifndef CONFIG_KM_ENV_IS_IN_SPI_NOR -#define KM_ENV_BUS	"pca9544a:70:d"	/* I2C2 (Mux-Port 5)*/ +#define KM_ENV_BUS	5	/* I2C2 (Mux-Port 5)*/  #endif  #if defined(CONFIG_KM_PIGGY4_88E6352) diff --git a/include/configs/korat.h b/include/configs/korat.h index 3410733ed..7c7a30517 100644 --- a/include/configs/korat.h +++ b/include/configs/korat.h @@ -142,11 +142,11 @@  /*   * I2C   */ -#define CONFIG_HARD_I2C		1	/* I2C with hardware support	*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	(0xa8>>1) diff --git a/include/configs/luan.h b/include/configs/luan.h index 37111acdf..8ecdf8049 100644 --- a/include/configs/luan.h +++ b/include/configs/luan.h @@ -118,7 +118,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	(0xa8>>1) diff --git a/include/configs/lwmon.h b/include/configs/lwmon.h index a1cee6832..459c047b7 100644 --- a/include/configs/lwmon.h +++ b/include/configs/lwmon.h @@ -130,13 +130,10 @@  #undef	CONFIG_STATUS_LED		/* Status LED disabled		*/  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define	CONFIG_SOFT_I2C         1	/* I2C bit-banged		*/ - -#define CONFIG_SYS_I2C_SPEED		93000	/* 93 kHz is supposed to work	*/ -#define CONFIG_SYS_I2C_SLAVE		0xFE - -#ifdef CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	93000	/* 93 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -152,7 +149,6 @@  #define I2C_SCL(bit)	if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  			else    immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(2)	/* 1/4 I2C clock duration */ -#endif	/* CONFIG_SOFT_I2C */  #define CONFIG_RTC_PCF8563		/* use Philips PCF8563 RTC	*/ diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h index e2c436ff9..8f5eb956a 100644 --- a/include/configs/lwmon5.h +++ b/include/configs/lwmon5.h @@ -285,11 +285,11 @@  /*   * I2C   */ -#define CONFIG_HARD_I2C				/* I2C with hardware support	*/ -#undef	CONFIG_SOFT_I2C				/* I2C bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000		/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_RTC_ADDR	0x51	/* RTC				*/  #define CONFIG_SYS_I2C_EEPROM_CPU_ADDR	0x52	/* EEPROM          (CPU Modul)	*/ diff --git a/include/configs/makalu.h b/include/configs/makalu.h index 520ab8c98..e7ed917f8 100644 --- a/include/configs/makalu.h +++ b/include/configs/makalu.h @@ -185,7 +185,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	6	/* 24C02 requires 5ms delay */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x52	/* I2C boot EEPROM (24C02BN)	*/ diff --git a/include/configs/mecp5123.h b/include/configs/mecp5123.h index 9a483e744..b48872b26 100644 --- a/include/configs/mecp5123.h +++ b/include/configs/mecp5123.h @@ -250,7 +250,6 @@  /* I2C */  #define CONFIG_HARD_I2C			/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C			/* so disable bit-banged I2C */  #define CONFIG_I2C_MULTI_BUS  #define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed */  #define CONFIG_SYS_I2C_SLAVE		0x7F	/* slave address */ diff --git a/include/configs/mpc5121ads.h b/include/configs/mpc5121ads.h index 1ad023b90..85ae3671f 100644 --- a/include/configs/mpc5121ads.h +++ b/include/configs/mpc5121ads.h @@ -344,7 +344,6 @@  /* I2C */  #define CONFIG_HARD_I2C			/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C			/* so disable bit-banged I2C */  #define CONFIG_I2C_MULTI_BUS  #define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address */  #define CONFIG_SYS_I2C_SLAVE		0x7F diff --git a/include/configs/mpc8308_p1m.h b/include/configs/mpc8308_p1m.h index 3927250ba..6875cf4c5 100644 --- a/include/configs/mpc8308_p1m.h +++ b/include/configs/mpc8308_p1m.h @@ -311,13 +311,14 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#define CONFIG_FSL_I2C -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED	400000 /* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /*   * General PCI diff --git a/include/configs/mpq101.h b/include/configs/mpq101.h index 2ab2f8ff1..55d93da59 100644 --- a/include/configs/mpq101.h +++ b/include/configs/mpq101.h @@ -205,13 +205,15 @@  /*   * I2C buses and peripherals   */ -#define CONFIG_FSL_I2C         /* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C        /* I2C with hardware support*/ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C_SPEED   400000 /* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE   0x7f -#define CONFIG_SYS_I2C_OFFSET  0x3000 -#define CONFIG_SYS_I2C2_OFFSET 0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /* I2C RTC - M41T81 */  #define CONFIG_RTC_M41T62 diff --git a/include/configs/neo.h b/include/configs/neo.h index fede8b8b6..5abb8b1a7 100644 --- a/include/configs/neo.h +++ b/include/configs/neo.h @@ -101,7 +101,7 @@  /*   * I2C stuff   */ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000  /* RTC */  #define CONFIG_RTC_DS1337 diff --git a/include/configs/nhk8815.h b/include/configs/nhk8815.h index 1453285f6..0997f4985 100644 --- a/include/configs/nhk8815.h +++ b/include/configs/nhk8815.h @@ -93,8 +93,11 @@  #ifndef __ASSEMBLY__  #include <asm/arch/gpio.h>  #define CONFIG_CMD_I2C -#define CONFIG_SOFT_I2C -#define CONFIG_SYS_I2C_SPEED	400000 +#define CONFIG_SYS_I2C +#define	CONFIG_SYS_I2C_SOFT	1	/* I2C bit-banged	*/ +#define I2C_SOFT_DEFS +#define CONFIG_SYS_I2C_SOFT_SPEED	400000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F  #define __SDA			63  #define __SCL			62  #define I2C_SDA(x)		nmk_gpio_set(__SDA, x) diff --git a/include/configs/ocotea.h b/include/configs/ocotea.h index 14d00abc6..60ee8da55 100644 --- a/include/configs/ocotea.h +++ b/include/configs/ocotea.h @@ -135,7 +135,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	(0xa8>>1) diff --git a/include/configs/otc570.h b/include/configs/otc570.h index 76b078fa7..543209cb9 100644 --- a/include/configs/otc570.h +++ b/include/configs/otc570.h @@ -99,14 +99,13 @@  /* RTC and I2C stuff */  #define CONFIG_RTC_DS1338  #define CONFIG_SYS_I2C_RTC_ADDR		0x68 -#undef CONFIG_HARD_I2C -#define CONFIG_SOFT_I2C -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#ifdef CONFIG_SOFT_I2C -# define CONFIG_I2C_CMD_TREE -# define CONFIG_I2C_MULTI_BUS +#define CONFIG_SYS_I2C +#define	CONFIG_SYS_I2C_SOFT	/* I2C bit-banged	*/ +#ifdef CONFIG_SYS_I2C_SOFT +#define CONFIG_SYS_I2C_SOFT_SPEED	100000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F +  /* Configure data and clock pins for pio */  # define I2C_INIT { \  	at91_set_pio_output(AT91_PIO_PORTB, 4, 0); \ @@ -124,7 +123,7 @@  /* Set clock pin */  # define I2C_SCL(bit)		at91_set_pio_value(AT91_PIO_PORTB, 5, bit)  # define I2C_DELAY		udelay(2) /* 1/4 I2C clock duration */ -#endif /* CONFIG_SOFT_I2C */ +#endif /* CONFIG_SYS_I2C_SOFT */  /*   * BOOTP options diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h index a061610ac..1b0be23dd 100644 --- a/include/configs/p1_p2_rdb_pc.h +++ b/include/configs/p1_p2_rdb_pc.h @@ -518,17 +518,16 @@  #define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */  /* I2C */ -#define CONFIG_FSL_I2C			/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C			/* I2C with hardware support */ -#undef CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C spd and slave address */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x29} }  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x52 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES		{{0, 0x29}} /* Don't probe this addr */ -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100  #define CONFIG_SYS_SPD_BUS_NUM		1 /* For rom_loc and flash bank */  /* diff --git a/include/configs/p3p440.h b/include/configs/p3p440.h index 09d0e2342..c4c50932c 100644 --- a/include/configs/p3p440.h +++ b/include/configs/p3p440.h @@ -81,12 +81,12 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_HARD_I2C		1	/* I2C with hardware support	*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x69}	/* Don't probe these addrs	*/ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F +#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x69} }	/* Don't probe these addrs */  /*-----------------------------------------------------------------------   * I2C RTC diff --git a/include/configs/pcs440ep.h b/include/configs/pcs440ep.h index e4eaa66eb..5de8e98ac 100644 --- a/include/configs/pcs440ep.h +++ b/include/configs/pcs440ep.h @@ -123,11 +123,11 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_HARD_I2C		1	    /* I2C with hardware support	*/ -#undef	CONFIG_SOFT_I2C			    /* I2C bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	(0xa4>>1)  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 diff --git a/include/configs/pdnb3.h b/include/configs/pdnb3.h index 0a17abc49..c66401006 100644 --- a/include/configs/pdnb3.h +++ b/include/configs/pdnb3.h @@ -265,12 +265,10 @@   */  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define	CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ - -#define CONFIG_SYS_I2C_SPEED		83000	/* 83 kHz is supposed to work	*/ -#define CONFIG_SYS_I2C_SLAVE		0xFE - +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	83000	/* 83 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ diff --git a/include/configs/quad100hd.h b/include/configs/quad100hd.h index 451a61dd3..a51f2d4fa 100644 --- a/include/configs/quad100hd.h +++ b/include/configs/quad100hd.h @@ -136,11 +136,11 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_HARD_I2C		1		/* I2C with hardware support	*/ -#undef	CONFIG_SOFT_I2C				/* I2C bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000		/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50		/* base address */  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2		/* bytes of address */ diff --git a/include/configs/redwood.h b/include/configs/redwood.h index 5ba47bf99..c8bd02e71 100644 --- a/include/configs/redwood.h +++ b/include/configs/redwood.h @@ -94,13 +94,13 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed			*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define IIC0_BOOTPROM_ADDR	0x50  #define IIC0_ALT_BOOTPROM_ADDR	0x54  /* Don't probe these addrs */ -#define CONFIG_SYS_I2C_NOPROBES	{0x50, 0x52, 0x53, 0x54} +#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x50}, {0, 0x52}, {0, 0x53}, {0, 0x54} }  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2	/* Bytes of address		*/ diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h index b4c8e40d5..d0fafd713 100644 --- a/include/configs/s5p_goni.h +++ b/include/configs/s5p_goni.h @@ -210,8 +210,10 @@  #define CONFIG_SOFT_I2C_GPIO_SCL s5pc110_gpio_get_nr(j4, 3)  #define CONFIG_SOFT_I2C_GPIO_SDA s5pc110_gpio_get_nr(j4, 0) -#define CONFIG_SOFT_I2C	1 -#define CONFIG_SYS_I2C_SPEED	50000 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F  #define CONFIG_I2C_MULTI_BUS  #define CONFIG_SYS_MAX_I2C_BUS	7  #define CONFIG_USB_GADGET diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h index eab81e7fe..97a4008e3 100644 --- a/include/configs/s5pc210_universal.h +++ b/include/configs/s5pc210_universal.h @@ -234,9 +234,11 @@  #define CONFIG_SOFT_I2C_GPIO_SCL exynos4_gpio_part1_get_nr(b, 7)  #define CONFIG_SOFT_I2C_GPIO_SDA exynos4_gpio_part1_get_nr(b, 6) -#define CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0  #define CONFIG_SOFT_I2C_READ_REPEATED_START -#define CONFIG_SYS_I2C_SPEED	50000  #define CONFIG_I2C_MULTI_BUS  #define CONFIG_SYS_MAX_I2C_BUS	7 diff --git a/include/configs/sacsng.h b/include/configs/sacsng.h index df20abb68..d63d0c4f5 100644 --- a/include/configs/sacsng.h +++ b/include/configs/sacsng.h @@ -280,15 +280,13 @@   * If the software driver is chosen, there are some additional   * configuration items that the driver uses to drive the port pins.   */ -#undef  CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define CONFIG_SOFT_I2C		1	/* I2C bit-banged		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F - +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	400000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F  /*   * Software (bit-bang) I2C driver configuration   */ -#ifdef CONFIG_SOFT_I2C  #define I2C_PORT	3		/* Port A=0, B=1, C=2, D=3 */  #define I2C_ACTIVE	(iop->pdir |=  0x00010000)  #define I2C_TRISTATE	(iop->pdir &= ~0x00010000) @@ -298,7 +296,6 @@  #define I2C_SCL(bit)	if(bit) iop->pdat |=  0x00020000; \  			else    iop->pdat &= ~0x00020000  #define I2C_DELAY	udelay(20)	/* 1/4 I2C clock duration */ -#endif /* CONFIG_SOFT_I2C */  /* Define this to reserve an entire FLASH sector for   * environment variables. Otherwise, the environment will be diff --git a/include/configs/sbc405.h b/include/configs/sbc405.h index 7a20d4d84..072f97e60 100644 --- a/include/configs/sbc405.h +++ b/include/configs/sbc405.h @@ -152,11 +152,11 @@  #define CONFIG_SYS_RX_ETH_BUFFER	16	/* use 16 rx buffer on 405 emac */ -#define CONFIG_HARD_I2C		1	/* I2C with hardware support	*/ -#undef  CONFIG_SOFT_I2C			/* I2C bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  /*-----------------------------------------------------------------------   * PCI stuff diff --git a/include/configs/sbc8349.h b/include/configs/sbc8349.h index afa587eeb..6f912ed2c 100644 --- a/include/configs/sbc8349.h +++ b/include/configs/sbc8349.h @@ -288,15 +288,15 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS	1  /* I2C */ -#define CONFIG_HARD_I2C			/* I2C with hardware support*/ -#undef CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_FSL_I2C -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{0x69}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C1_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 -#define CONFIG_SYS_I2C_OFFSET	CONFIG_SYS_I2C2_OFFSET +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69}, {1, 0x69} }  /* could also use CONFIG_I2C_MULTI_BUS and CONFIG_SYS_SPD_BUS_NUM... */  /* TSEC */ diff --git a/include/configs/sbc8548.h b/include/configs/sbc8548.h index 3aae95e34..84be5246b 100644 --- a/include/configs/sbc8548.h +++ b/include/configs/sbc8548.h @@ -428,13 +428,12 @@  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000  /*   * General PCI diff --git a/include/configs/sbc8641d.h b/include/configs/sbc8641d.h index d740cfec8..cf97db94c 100644 --- a/include/configs/sbc8641d.h +++ b/include/configs/sbc8641d.h @@ -273,13 +273,12 @@  /*   * I2C   */ -#define	CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define	CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_NOPROBES        {0x69}	/* Don't probe these addrs */ -#define CONFIG_SYS_I2C_OFFSET		0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /*   * RapidIO MMU diff --git a/include/configs/sc3.h b/include/configs/sc3.h index 8508c22e0..a96ffbcec 100644 --- a/include/configs/sc3.h +++ b/include/configs/sc3.h @@ -230,16 +230,16 @@   * IIC stuff   *-----------------------------------------------------------------------   */ -#define  CONFIG_HARD_I2C		/* I2C with hardware support	*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ +#define  CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0  #define I2C_INIT  #define I2C_ACTIVE 0  #define I2C_TRISTATE 0 -#define CONFIG_SYS_I2C_SPEED		100000	/* use the standard 100kHz speed */ -#define CONFIG_SYS_I2C_SLAVE		0x7F		/* mask valid bits */ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		100000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F	/* mask valid bits */  #define CONFIG_RTC_DS1337  #define CONFIG_SYS_I2C_RTC_ADDR 0x68 diff --git a/include/configs/seaboard.h b/include/configs/seaboard.h index c7718579c..2a24ef3c6 100644 --- a/include/configs/seaboard.h +++ b/include/configs/seaboard.h @@ -41,12 +41,11 @@  #define CONFIG_BOARD_LATE_INIT		/* Make sure LCD init is complete */  /* I2C */ -#define CONFIG_TEGRA_I2C +#define CONFIG_SYS_I2C_TEGRA  #define CONFIG_SYS_I2C_INIT_BOARD -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_MAX_I2C_BUS		4  #define CONFIG_SYS_I2C_SPEED		100000  #define CONFIG_CMD_I2C +#define CONFIG_SYS_I2C  /* SD/MMC */  #define CONFIG_MMC diff --git a/include/configs/sequoia.h b/include/configs/sequoia.h index 44ed7556d..d2dedac4e 100644 --- a/include/configs/sequoia.h +++ b/include/configs/sequoia.h @@ -219,7 +219,7 @@  /*   * I2C   */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	(0xa8>>1) diff --git a/include/configs/snapper9260.h b/include/configs/snapper9260.h index 383d1ce01..17eb5f245 100644 --- a/include/configs/snapper9260.h +++ b/include/configs/snapper9260.h @@ -90,11 +90,11 @@  #define CONFIG_SYS_PROMPT		"Snapper> "  /* I2C - Bit-bashed */ -#define CONFIG_SOFT_I2C -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	100000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F  #define CONFIG_SOFT_I2C_READ_REPEATED_START -#define CONFIG_I2C_MULTI_BUS  #define I2C_INIT do {							\  		at91_set_gpio_output(AT91_PIN_PA23, 1);			\  		at91_set_gpio_output(AT91_PIN_PA24, 1);			\ diff --git a/include/configs/socrates.h b/include/configs/socrates.h index f5fe550a0..e73f9c174 100644 --- a/include/configs/socrates.h +++ b/include/configs/socrates.h @@ -219,15 +219,14 @@  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged		*/ -#define CONFIG_SYS_I2C_SPEED		102124	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000 - -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_I2C2_OFFSET		0x3100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	102124 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	102124 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /* I2C RTC */  #define CONFIG_RTC_RX8025		/* Use Epson rx8025 rtc via i2c	*/ diff --git a/include/configs/spc1920.h b/include/configs/spc1920.h index 6d905dee2..564f3645c 100644 --- a/include/configs/spc1920.h +++ b/include/configs/spc1920.h @@ -194,13 +194,10 @@   */  #if defined(CONFIG_CMD_I2C)  /* enable I2C and select the hardware/software driver */ -#undef CONFIG_HARD_I2C                 /* I2C with hardware support    */ -#define CONFIG_SOFT_I2C                1       /* I2C bit-banged               */ - -#define CONFIG_SYS_I2C_SPEED          93000   /* 93 kHz is supposed to work   */ -#define CONFIG_SYS_I2C_SLAVE          0xFE - -#ifdef CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	93000	/* 93 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -216,7 +213,6 @@  #define I2C_SCL(bit)   if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  		       else    immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY      udelay(2)       /* 1/4 I2C clock duration */ -#endif /* CONFIG_SOFT_I2C */  #endif  /*----------------------------------------------------------------------- diff --git a/include/configs/stxgp3.h b/include/configs/stxgp3.h index 80b46a003..c7689a729 100644 --- a/include/configs/stxgp3.h +++ b/include/configs/stxgp3.h @@ -162,18 +162,18 @@  /*   * I2C   */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +  #if 0  #define CONFIG_SYS_I2C_NOPROBES        {0x00}  /* Don't probe these addrs */  #else  /* I did the 'if 0' so we could keep the syntax above if ever needed. */  #undef CONFIG_SYS_I2C_NOPROBES  #endif -#define CONFIG_SYS_I2C_OFFSET		0x3000  /* RapdIO Map configuration, mapped 1:1.  */ diff --git a/include/configs/stxssa.h b/include/configs/stxssa.h index fc0252339..f5f7f5434 100644 --- a/include/configs/stxssa.h +++ b/include/configs/stxssa.h @@ -182,13 +182,12 @@  /*   * I2C   */ -#define CONFIG_FSL_I2C			/* Use FSL common I2C driver */ -#define  CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000  #undef CONFIG_SYS_I2C_NOPROBES -#define CONFIG_SYS_I2C_OFFSET		0x3000  /* I2C RTC */  #define CONFIG_RTC_DS1337		/* This is really a DS1339 RTC	*/ diff --git a/include/configs/t3corp.h b/include/configs/t3corp.h index ce65e39da..9ab99244c 100644 --- a/include/configs/t3corp.h +++ b/include/configs/t3corp.h @@ -306,7 +306,7 @@  /*   * I2C   */ -#define CONFIG_SYS_I2C_SPEED			400000	/* I2C speed */ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0			400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR		(0xa8>>1) diff --git a/include/configs/t4qds.h b/include/configs/t4qds.h index 0344d0d97..1ed53dbbb 100644 --- a/include/configs/t4qds.h +++ b/include/configs/t4qds.h @@ -429,14 +429,15 @@ unsigned long get_board_ddr_clk(void);  #define CONFIG_FIT_VERBOSE	/* enable fit_format_{error,warning}() */  /* I2C */ -#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C		/* I2C with hardware support */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED		100000	/* I2C speed */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x118000 -#define CONFIG_SYS_I2C2_OFFSET		0x118100 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	100000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x118000 +#define CONFIG_SYS_FSL_I2C2_SPEED	100000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x118100 +  #define I2C_MUX_PCA_ADDR_PRI		0x77 /* I2C bus multiplexer,primary */  #define I2C_MUX_PCA_ADDR_SEC		0x76 /* I2C bus multiplexer,secondary */ diff --git a/include/configs/taihu.h b/include/configs/taihu.h index ac8e57a93..e8d191e7f 100644 --- a/include/configs/taihu.h +++ b/include/configs/taihu.h @@ -122,9 +122,9 @@   * I2C stuff   *-----------------------------------------------------------------------   */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 -#define CONFIG_SYS_I2C_NOPROBES	{ 0x69 } /* avoid i2c probe hangup (why?) */ +#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x69} } /* avoid i2c probe hangup (?) */  #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	6 /* 24C02 requires 5ms delay */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* I2C boot EEPROM (24C02W)	*/ diff --git a/include/configs/taishan.h b/include/configs/taishan.h index 6dbed7d2d..3dbfc6ad1 100644 --- a/include/configs/taishan.h +++ b/include/configs/taishan.h @@ -120,7 +120,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #undef CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50 diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h index 21ca4bbd4..a3242fe61 100644 --- a/include/configs/tegra-common-post.h +++ b/include/configs/tegra-common-post.h @@ -149,8 +149,8 @@  #endif  /* remove I2C support */ -#ifdef CONFIG_TEGRA_I2C -#undef CONFIG_TEGRA_I2C +#ifdef CONFIG_SYS_I2C_TEGRA +#undef CONFIG_SYS_I2C_TEGRA  #endif  #ifdef CONFIG_CMD_I2C  #undef CONFIG_CMD_I2C diff --git a/include/configs/top9000.h b/include/configs/top9000.h index ba5b6071d..65dabde54 100644 --- a/include/configs/top9000.h +++ b/include/configs/top9000.h @@ -185,11 +185,12 @@  #define CONFIG_CMD_USB  /* I2C support must always be enabled */ -#define CONFIG_SOFT_I2C  #define CONFIG_CMD_I2C -#define CONFIG_SYS_I2C_SPEED		400000 -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_I2C_MULTI_BUS +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	400000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7F +  #define I2C0_PORT			AT91_PIO_PORTA  #define SDA0_PIN			23  #define SCL0_PIN			24 diff --git a/include/configs/trats.h b/include/configs/trats.h index 465ade6f0..9b6aac96e 100644 --- a/include/configs/trats.h +++ b/include/configs/trats.h @@ -259,10 +259,12 @@  #define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_SYS_LOAD_ADDR - GENERATED_GBL_DATA_SIZE)  #define CONFIG_SYS_CACHELINE_SIZE       32 -#define CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	50000 +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  #define CONFIG_SOFT_I2C_READ_REPEATED_START  #define CONFIG_SYS_I2C_INIT_BOARD -#define CONFIG_SYS_I2C_SPEED	50000  #define CONFIG_I2C_MULTI_BUS  #define CONFIG_SOFT_I2C_MULTI_BUS  #define CONFIG_SYS_MAX_I2C_BUS	15 diff --git a/include/configs/trimslice.h b/include/configs/trimslice.h index 9567cc6e9..8e03f6f4c 100644 --- a/include/configs/trimslice.h +++ b/include/configs/trimslice.h @@ -38,12 +38,11 @@  #define CONFIG_CMD_SF  /* I2C */ -#define CONFIG_TEGRA_I2C +#define CONFIG_SYS_I2C_TEGRA  #define CONFIG_SYS_I2C_INIT_BOARD -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_MAX_I2C_BUS		4  #define CONFIG_SYS_I2C_SPEED		100000  #define CONFIG_CMD_I2C +#define CONFIG_SYS_I2C  /* SD/MMC */  #define CONFIG_MMC diff --git a/include/configs/u8500_href.h b/include/configs/u8500_href.h index 8277f8d38..0c97ab189 100644 --- a/include/configs/u8500_href.h +++ b/include/configs/u8500_href.h @@ -150,7 +150,6 @@   */  #define CONFIG_U8500_I2C  #undef	CONFIG_HARD_I2C			/* I2C with hardware support */ -#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */  #define CONFIG_I2C_MULTI_BUS  #define CONFIG_SYS_I2C_SPEED		100000  #define CONFIG_SYS_I2C_SLAVE		0	/* slave addr of controller */ diff --git a/include/configs/uc100.h b/include/configs/uc100.h index 43acf2667..8bf7353bc 100644 --- a/include/configs/uc100.h +++ b/include/configs/uc100.h @@ -448,13 +448,10 @@   */  /* enable I2C and select the hardware/software driver */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define	CONFIG_SOFT_I2C         1	/* I2C bit-banged		*/ - -#define CONFIG_SYS_I2C_SPEED		93000	/* 93 kHz is supposed to work	*/ -#define CONFIG_SYS_I2C_SLAVE		0xFE - -#ifdef CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	93000 /* 93 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0xFE  /*   * Software (bit-bang) I2C driver configuration   */ @@ -470,7 +467,6 @@  #define I2C_SCL(bit)	if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \  			else    immr->im_cpm.cp_pbdat &= ~PB_SCL  #define I2C_DELAY	udelay(2)	/* 1/4 I2C clock duration */ -#endif	/* CONFIG_SOFT_I2C */  /*-----------------------------------------------------------------------   * I2C EEPROM (24C164) diff --git a/include/configs/utx8245.h b/include/configs/utx8245.h index 308840927..bf044456c 100644 --- a/include/configs/utx8245.h +++ b/include/configs/utx8245.h @@ -219,8 +219,7 @@ protect on ${u-boot_startaddr} ${u-boot_endaddr}"   *------------------------------------------------------------------*/  #if 1  #define CONFIG_HARD_I2C		1		/* To enable I2C support	*/ -#undef  CONFIG_SOFT_I2C				/* I2C bit-banged		*/ -#define CONFIG_SYS_I2C_SPEED		400000		/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_SPEED		400000  #define CONFIG_SYS_I2C_SLAVE		0x7F  #endif diff --git a/include/configs/vct.h b/include/configs/vct.h index 8258ccd81..85a6c1113 100644 --- a/include/configs/vct.h +++ b/include/configs/vct.h @@ -232,11 +232,10 @@  /*   * I2C/EEPROM   */ -#undef	CONFIG_HARD_I2C			/* I2C with hardware support	*/ -#define	CONFIG_SOFT_I2C			/* I2C bit-banged		*/ - -#define CONFIG_SYS_I2C_SPEED		83000	/* 83 kHz is supposed to work	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7f +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT		/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	83000	/* 83 kHz is supposed to work */ +#define CONFIG_SYS_I2C_SOFT_SLAVE	0x7f  /*   * Software (bit-bang) I2C driver configuration @@ -324,7 +323,7 @@ int vct_gpio_get(int pin);  #undef CONFIG_CMD_USB  #undef CONFIG_SMC911X -#undef CONFIG_SOFT_I2C +#undef CONFIG_SYS_I2C_SOFT  #undef CONFIG_SOURCE  #undef CONFIG_SYS_LONGHELP  #undef CONFIG_TIMESTAMP diff --git a/include/configs/vf610twr.h b/include/configs/vf610twr.h index 223321c6d..5a7a06637 100644 --- a/include/configs/vf610twr.h +++ b/include/configs/vf610twr.h @@ -68,6 +68,13 @@  #define CONFIG_PHYLIB  #define CONFIG_PHY_MICREL +/* I2C Configs */ +#define CONFIG_CMD_I2C +#define CONFIG_HARD_I2C +#define CONFIG_I2C_MXC +#define CONFIG_SYS_I2C_BASE		I2C0_BASE_ADDR +#define CONFIG_SYS_I2C_SPEED		100000 +  #define CONFIG_BOOTDELAY		3  #define CONFIG_LOADADDR			0x82000000 diff --git a/include/configs/vl_ma2sc.h b/include/configs/vl_ma2sc.h index 817d36f17..e171ae4c4 100644 --- a/include/configs/vl_ma2sc.h +++ b/include/configs/vl_ma2sc.h @@ -131,10 +131,12 @@  #define CONFIG_SYS_I2C_SLAVE			0		/* not used */  #ifndef CONFIG_HARD_I2C -#define CONFIG_SOFT_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_SOFT			/* I2C bit-banged */ +#define CONFIG_SYS_I2C_SOFT_SPEED	CONFIG_SYS_I2C_SPEED +#define CONFIG_SYS_I2C_SOFT_SLAVE	CONFIG_SYS_I2C_SLAVE  /* Software  I2C driver configuration */ -  #define I2C_DELAY	udelay(2500000/CONFIG_SYS_I2C_SPEED)  #define AT91_PIN_SDA	(1<<4)		/* AT91C_PIO_PB4 */ diff --git a/include/configs/vme8349.h b/include/configs/vme8349.h index 0cd838e19..b450ab5e1 100644 --- a/include/configs/vme8349.h +++ b/include/configs/vme8349.h @@ -221,17 +221,15 @@  #define CONFIG_OF_STDOUT_VIA_ALIAS  /* I2C */ -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_HARD_I2C		/* I2C with hardware support*/ -#undef CONFIG_SOFT_I2C		/* I2C bit-banged */ -#define CONFIG_FSL_I2C -#define CONFIG_I2C_CMD_TREE -#define CONFIG_SYS_I2C_SPEED	400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE	0x7F -#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x69} } /* Don't probe these addrs */ -#define CONFIG_SYS_I2C1_OFFSET	0x3000 -#define CONFIG_SYS_I2C2_OFFSET	0x3100 -#define CONFIG_SYS_I2C_OFFSET	CONFIG_SYS_I2C1_OFFSET +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /* could also use CONFIG_I2C_MULTI_BUS and CONFIG_SYS_SPD_BUS_NUM... */  #define CONFIG_SYS_I2C_8574_ADDR2       0x20    /* I2C1, PCF8574 */ diff --git a/include/configs/walnut.h b/include/configs/walnut.h index e24295cf1..b23824bd0 100644 --- a/include/configs/walnut.h +++ b/include/configs/walnut.h @@ -79,7 +79,7 @@   * I2C stuff   *-----------------------------------------------------------------------   */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	(0xa8>>1) diff --git a/include/configs/whistler.h b/include/configs/whistler.h index ed3eda1f0..d5c7e3bbd 100644 --- a/include/configs/whistler.h +++ b/include/configs/whistler.h @@ -30,12 +30,11 @@  #define CONFIG_BOARD_EARLY_INIT_F  /* I2C */ -#define CONFIG_TEGRA_I2C +#define CONFIG_SYS_I2C_TEGRA  #define CONFIG_SYS_I2C_INIT_BOARD -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_SYS_MAX_I2C_BUS		4  #define CONFIG_SYS_I2C_SPEED		100000  #define CONFIG_CMD_I2C +#define CONFIG_SYS_I2C  /* SD/MMC */  #define CONFIG_MMC diff --git a/include/configs/xpedite1000.h b/include/configs/xpedite1000.h index 28af3cba5..ea270509c 100644 --- a/include/configs/xpedite1000.h +++ b/include/configs/xpedite1000.h @@ -129,11 +129,11 @@ extern void out32(unsigned int, unsigned long);  /*   * I2C   */ -#define CONFIG_HARD_I2C			1	/* I2C with hardware support */ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7f -#define CONFIG_I2C_MULTI_BUS +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7f  /* I2C EEPROM */  #define CONFIG_SYS_I2C_EEPROM_ADDR		0x50 diff --git a/include/configs/xpedite517x.h b/include/configs/xpedite517x.h index 51bdd095e..97ce3eb54 100644 --- a/include/configs/xpedite517x.h +++ b/include/configs/xpedite517x.h @@ -242,13 +242,14 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);  /*   * I2C   */ -#define CONFIG_FSL_I2C				/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C				/* I2C with hardware support */ -#define CONFIG_SYS_I2C_SPEED		100000	/* M41T00 only supports 100 KHz */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 -#define CONFIG_I2C_MULTI_BUS +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	100000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	100000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /* PEX8518 slave I2C interface */  #define CONFIG_SYS_I2C_PEX8518_ADDR	0x70 diff --git a/include/configs/xpedite520x.h b/include/configs/xpedite520x.h index c20935dfc..372135a89 100644 --- a/include/configs/xpedite520x.h +++ b/include/configs/xpedite520x.h @@ -204,13 +204,14 @@  /*   * I2C   */ -#define CONFIG_FSL_I2C				/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C				/* I2C with hardware support */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 -#define CONFIG_I2C_MULTI_BUS +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /* I2C EEPROM */  #define CONFIG_SYS_I2C_EEPROM_ADDR		0x50 diff --git a/include/configs/xpedite537x.h b/include/configs/xpedite537x.h index 6cf35f310..31330eaa3 100644 --- a/include/configs/xpedite537x.h +++ b/include/configs/xpedite537x.h @@ -242,13 +242,15 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);  /*   * I2C   */ -#define CONFIG_FSL_I2C				/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C				/* I2C with hardware support */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 -#define CONFIG_I2C_MULTI_BUS +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100 +#define CONFIG_SYS_I2C_NOPROBES		{ {0, 0x69} }  /* PEX8518 slave I2C interface */  #define CONFIG_SYS_I2C_PEX8518_ADDR	0x70 diff --git a/include/configs/xpedite550x.h b/include/configs/xpedite550x.h index 5a4125193..340d4be4c 100644 --- a/include/configs/xpedite550x.h +++ b/include/configs/xpedite550x.h @@ -234,13 +234,14 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);  /*   * I2C   */ -#define CONFIG_FSL_I2C				/* Use FSL common I2C driver */ -#define CONFIG_HARD_I2C				/* I2C with hardware support */ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address */ -#define CONFIG_SYS_I2C_SLAVE		0x7F -#define CONFIG_SYS_I2C_OFFSET		0x3000 -#define CONFIG_SYS_I2C2_OFFSET		0x3100 -#define CONFIG_I2C_MULTI_BUS +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_FSL +#define CONFIG_SYS_FSL_I2C_SPEED	400000 +#define CONFIG_SYS_FSL_I2C_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C_OFFSET	0x3000 +#define CONFIG_SYS_FSL_I2C2_SPEED	400000 +#define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F +#define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100  /* I2C DS7505 temperature sensor */  #define CONFIG_DTT_LM75 diff --git a/include/configs/yosemite.h b/include/configs/yosemite.h index 2c1de321b..4d3abf08b 100644 --- a/include/configs/yosemite.h +++ b/include/configs/yosemite.h @@ -121,7 +121,7 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define CONFIG_SYS_I2C_MULTI_EEPROMS  #define CONFIG_SYS_I2C_EEPROM_ADDR	(0xa8>>1) diff --git a/include/configs/yucca.h b/include/configs/yucca.h index e3b0840ce..5d584fbad 100644 --- a/include/configs/yucca.h +++ b/include/configs/yucca.h @@ -104,13 +104,13 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_SYS_I2C_SPEED		400000	/* I2C speed and slave address	*/ +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000  #define IIC0_BOOTPROM_ADDR	0x50  #define IIC0_ALT_BOOTPROM_ADDR	0x54  /* Don't probe these addrs */ -#define CONFIG_SYS_I2C_NOPROBES	{0x50, 0x52, 0x53, 0x54} +#define CONFIG_SYS_I2C_NOPROBES	{ {0, 0x50}, {0, 0x52}, {0, 0x53}, {0, 0x54} }  /* #if defined(CONFIG_CMD_EEPROM) */  /* #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50 */	/* I2C boot EEPROM		*/ diff --git a/include/configs/zeus.h b/include/configs/zeus.h index 04448d626..386f9deb7 100644 --- a/include/configs/zeus.h +++ b/include/configs/zeus.h @@ -152,11 +152,11 @@  /*-----------------------------------------------------------------------   * I2C   *----------------------------------------------------------------------*/ -#define CONFIG_HARD_I2C		1		/* I2C with hardware support	*/ -#undef	CONFIG_SOFT_I2C				/* I2C bit-banged		*/ -#define CONFIG_PPC4XX_I2C		/* use PPC4xx driver		*/ -#define CONFIG_SYS_I2C_SPEED		400000		/* I2C speed and slave address	*/ -#define CONFIG_SYS_I2C_SLAVE		0x7F +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_PPC4XX +#define CONFIG_SYS_I2C_PPC4XX_CH0 +#define CONFIG_SYS_I2C_PPC4XX_SPEED_0		400000 +#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0		0x7F  /* these are for the ST M24C02 2kbit serial i2c eeprom */  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50		/* base address */ diff --git a/include/fdtdec.h b/include/fdtdec.h index f2ac13bee..6bf83bf7c 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -84,6 +84,7 @@ enum fdt_compat_id {  	COMPAT_MAXIM_98095_CODEC,	/* MAX98095 Codec */  	COMPAT_INFINEON_SLB9635_TPM,	/* Infineon SLB9635 TPM */  	COMPAT_INFINEON_SLB9645_TPM,	/* Infineon SLB9645 TPM */ +	COMPAT_SAMSUNG_EXYNOS5_I2C,	/* Exynos5 High Speed I2C Controller */  	COMPAT_COUNT,  }; diff --git a/include/i2c.h b/include/i2c.h index bbea29b47..d8674efe5 100644 --- a/include/i2c.h +++ b/include/i2c.h @@ -1,4 +1,8 @@  /* + * Copyright (C) 2009 Sergey Kubushyn <ksi@koi8.net> + * Copyright (C) 2009 - 2013 Heiko Schocher <hs@denx.de> + * Changes for multibus/multiadapter I2C support. + *   * (C) Copyright 2001   * Gerald Van Baren, Custom IDEAS, vanbaren@cideas.com.   * @@ -30,16 +34,14 @@   */  #define I2C_RXTX_LEN	128	/* maximum tx/rx buffer length */ -#ifdef	CONFIG_I2C_MULTI_BUS -#define	MAX_I2C_BUS			2 -#define	I2C_MULTI_BUS			1 +#if !defined(CONFIG_SYS_I2C_MAX_HOPS) +/* no muxes used bus = i2c adapters */ +#define CONFIG_SYS_I2C_DIRECT_BUS	1 +#define CONFIG_SYS_I2C_MAX_HOPS		0 +#define CONFIG_SYS_NUM_I2C_BUSES	ll_entry_count(struct i2c_adapter, i2c)  #else -#define	MAX_I2C_BUS			1 -#define	I2C_MULTI_BUS			0 -#endif - -#if !defined(CONFIG_SYS_MAX_I2C_BUS) -#define CONFIG_SYS_MAX_I2C_BUS		MAX_I2C_BUS +/* we use i2c muxes */ +#undef CONFIG_SYS_I2C_DIRECT_BUS  #endif  /* define the I2C bus number for RTC and DTT if not already done */ @@ -53,6 +55,88 @@  #define CONFIG_SYS_SPD_BUS_NUM		0  #endif +struct i2c_adapter { +	void		(*init)(struct i2c_adapter *adap, int speed, +				int slaveaddr); +	int		(*probe)(struct i2c_adapter *adap, uint8_t chip); +	int		(*read)(struct i2c_adapter *adap, uint8_t chip, +				uint addr, int alen, uint8_t *buffer, +				int len); +	int		(*write)(struct i2c_adapter *adap, uint8_t chip, +				uint addr, int alen, uint8_t *buffer, +				int len); +	uint		(*set_bus_speed)(struct i2c_adapter *adap, +				uint speed); +	int		speed; +	int		slaveaddr; +	int		init_done; +	int		hwadapnr; +	char		*name; +}; + +#define U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ +		_set_speed, _speed, _slaveaddr, _hwadapnr, _name) \ +	{ \ +		.init		=	_init, \ +		.probe		=	_probe, \ +		.read		=	_read, \ +		.write		=	_write, \ +		.set_bus_speed	=	_set_speed, \ +		.speed		=	_speed, \ +		.slaveaddr	=	_slaveaddr, \ +		.init_done	=	0, \ +		.hwadapnr	=	_hwadapnr, \ +		.name		=	#_name \ +}; + +#define U_BOOT_I2C_ADAP_COMPLETE(_name, _init, _probe, _read, _write, \ +			_set_speed, _speed, _slaveaddr, _hwadapnr) \ +	ll_entry_declare(struct i2c_adapter, _name, i2c) = \ +	U_BOOT_I2C_MKENT_COMPLETE(_init, _probe, _read, _write, \ +		 _set_speed, _speed, _slaveaddr, _hwadapnr, _name); + +struct i2c_adapter *i2c_get_adapter(int index); + +#ifndef CONFIG_SYS_I2C_DIRECT_BUS +struct i2c_mux { +	int	id; +	char	name[16]; +}; + +struct i2c_next_hop { +	struct i2c_mux		mux; +	uint8_t		chip; +	uint8_t		channel; +}; + +struct i2c_bus_hose { +	int	adapter; +	struct i2c_next_hop	next_hop[CONFIG_SYS_I2C_MAX_HOPS]; +}; +#define I2C_NULL_HOP	{{-1, ""}, 0, 0} +extern struct i2c_bus_hose	i2c_bus[]; + +#define I2C_ADAPTER(bus)	i2c_bus[bus].adapter +#else +#define I2C_ADAPTER(bus)	bus +#endif +#define	I2C_BUS			gd->cur_i2c_bus + +#define	I2C_ADAP_NR(bus)	i2c_get_adapter(I2C_ADAPTER(bus)) +#define	I2C_ADAP		I2C_ADAP_NR(gd->cur_i2c_bus) +#define I2C_ADAP_HWNR		(I2C_ADAP->hwadapnr) + +#ifndef CONFIG_SYS_I2C_DIRECT_BUS +#define I2C_MUX_PCA9540_ID	1 +#define I2C_MUX_PCA9540		{I2C_MUX_PCA9540_ID, "PCA9540B"} +#define I2C_MUX_PCA9542_ID	2 +#define I2C_MUX_PCA9542		{I2C_MUX_PCA9542_ID, "PCA9542A"} +#define I2C_MUX_PCA9544_ID	3 +#define I2C_MUX_PCA9544		{I2C_MUX_PCA9544_ID, "PCA9544A"} +#define I2C_MUX_PCA9547_ID	4 +#define I2C_MUX_PCA9547		{I2C_MUX_PCA9547_ID, "PCA9547A"} +#endif +  #ifndef I2C_SOFT_DECLARATIONS  # if defined(CONFIG_MPC8260)  #  define I2C_SOFT_DECLARATIONS volatile ioport_t *iop = ioport_addr((immap_t *)CONFIG_SYS_IMMR, I2C_PORT); @@ -97,26 +181,103 @@ void i2c_init_board(void);  void i2c_board_late_init(void);  #endif -#if defined(CONFIG_I2C_MUX) +#ifdef CONFIG_SYS_I2C +/* + * i2c_get_bus_num: + * + *  Returns index of currently active I2C bus.  Zero-based. + */ +unsigned int i2c_get_bus_num(void); + +/* + * i2c_set_bus_num: + * + *  Change the active I2C bus.  Subsequent read/write calls will + *  go to this one. + * + *	bus - bus index, zero based + * + *	Returns: 0 on success, not 0 on failure + * + */ +int i2c_set_bus_num(unsigned int bus); + +/* + * i2c_init_all(): + * + * Initializes all I2C adapters in the system. All i2c_adap structures must + * be initialized beforehead with function pointers and data, including + * speed and slaveaddr. Returns 0 on success, non-0 on failure. + */ +void i2c_init_all(void); + +/* + * Probe the given I2C chip address.  Returns 0 if a chip responded, + * not 0 on failure. + */ +int i2c_probe(uint8_t chip); + +/* + * Read/Write interface: + *   chip:    I2C chip address, range 0..127 + *   addr:    Memory (register) address within the chip + *   alen:    Number of bytes to use for addr (typically 1, 2 for larger + *              memories, 0 for register type devices with only one + *              register) + *   buffer:  Where to read/write the data + *   len:     How many bytes to read/write + * + *   Returns: 0 on success, not 0 on failure + */ +int i2c_read(uint8_t chip, unsigned int addr, int alen, +				uint8_t *buffer, int len); + +int i2c_write(uint8_t chip, unsigned int addr, int alen, +				uint8_t *buffer, int len); -typedef struct _mux { -	uchar	chip; -	uchar	channel; -	char	*name; -	struct _mux	*next; -} I2C_MUX; +/* + * Utility routines to read/write registers. + */ +uint8_t i2c_reg_read(uint8_t addr, uint8_t reg); -typedef struct _mux_device { -	int	busid; -	I2C_MUX	*mux;	/* List of muxes, to reach the device */ -	struct _mux_device	*next; -} I2C_MUX_DEVICE; +void i2c_reg_write(uint8_t addr, uint8_t reg, uint8_t val); -I2C_MUX_DEVICE	*i2c_mux_search_device(int id); -I2C_MUX_DEVICE *i2c_mux_ident_muxstring (uchar *buf); -int i2x_mux_select_mux(int bus); -int i2c_mux_ident_muxstring_f (uchar *buf); +/* + * i2c_set_bus_speed: + * + *  Change the speed of the active I2C bus + * + *	speed - bus speed in Hz + * + *	Returns: new bus speed + * + */ +unsigned int i2c_set_bus_speed(unsigned int speed); + +/* + * i2c_get_bus_speed: + * + *  Returns speed of currently active I2C bus in Hz + */ + +unsigned int i2c_get_bus_speed(void); + +/* + * i2c_reloc_fixup: + * + * Adjusts I2C pointers after U-Boot is relocated to DRAM + */ +void i2c_reloc_fixup(void); +#if defined(CONFIG_SYS_I2C_SOFT) +void i2c_soft_init(void); +void i2c_soft_active(void); +void i2c_soft_tristate(void); +int i2c_soft_read(void); +void i2c_soft_sda(int bit); +void i2c_soft_scl(int bit); +void i2c_soft_delay(void);  #endif +#else  /*   * Probe the given I2C chip address.  Returns 0 if a chip responded, @@ -219,6 +380,21 @@ int i2c_set_bus_speed(unsigned int);   */  unsigned int i2c_get_bus_speed(void); +#endif /* CONFIG_SYS_I2C */ + +/* + * only for backwardcompatibility, should go away if we switched + * completely to new multibus support. + */ +#if defined(CONFIG_SYS_I2C) || defined(CONFIG_I2C_MULTI_BUS) +# if !defined(CONFIG_SYS_MAX_I2C_BUS) +#  define CONFIG_SYS_MAX_I2C_BUS		2 +# endif +# define I2C_MULTI_BUS				0 +#else +# define CONFIG_SYS_MAX_I2C_BUS		1 +# define I2C_MULTI_BUS				0 +#endif  /* NOTE: These two functions MUST be always_inline to avoid code growth! */  static inline unsigned int I2C_GET_BUS(void) __attribute__((always_inline)); |