* [U-Boot] [PATCH] 9/12 Multiadapter/multibus I2C, configs part 2
@ 2009-02-12 22:28 ksi at koi8.net
2009-02-13 8:20 ` Heiko Schocher
2009-02-16 22:01 ` Wolfgang Denk
0 siblings, 2 replies; 5+ messages in thread
From: ksi at koi8.net @ 2009-02-12 22:28 UTC (permalink / raw)
To: u-boot
Signed-off-by: Sergey Kubushyn <ksi@koi8.net>
---
diff -purN u-boot-i2c.orig/include/configs/MHPC.h u-boot-i2c/include/configs/MHPC.h
--- u-boot-i2c.orig/include/configs/MHPC.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MHPC.h 2009-02-12 10:46:00.000000000 -0800
@@ -72,7 +72,12 @@
/* 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_NEW_I2C
+#define CONFIG_SOFT_I2C /* I2C bit-banged */
+#define I2C_SOFT_DECLARATIONS I2C_SOFT_DEFS
+#define CONFIG_SYS_SOFT_I2C_SPEED 50000
+#define CONFIG_SYS_SOFT_I2C_SLAVE 0xFE
+#define CONFIG_SYS_I2C_ADAPTERS {&soft_i2c_adap[0]}
/*
* Software (bit-bang) I2C driver configuration
*/
@@ -89,8 +94,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 -purN u-boot-i2c.orig/include/configs/MPC8313ERDB.h u-boot-i2c/include/configs/MPC8313ERDB.h
--- u-boot-i2c.orig/include/configs/MPC8313ERDB.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8313ERDB.h 2009-02-12 10:46:00.000000000 -0800
@@ -318,15 +318,17 @@
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
/* I2C */
-#define CONFIG_HARD_I2C /* I2C with hardware support*/
+#define CONFIG_NEW_I2C
+#define CONFIG_SYS_NUM_I2C_ADAPTERS 2
#define CONFIG_FSL_I2C
-#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,0x69}} /* Don't probe these addrs */
-#define CONFIG_SYS_I2C_OFFSET 0x3000
-#define CONFIG_SYS_I2C2_OFFSET 0x3100
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_FSL_I2C2_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0], &fsl_i2c_adap[1]}
+#define CONFIG_SYS_I2C_NOPROBES {{0,0x69}} /* Don't probe these addrs */
/*
* General PCI
diff -purN u-boot-i2c.orig/include/configs/MPC8315ERDB.h u-boot-i2c/include/configs/MPC8315ERDB.h
--- u-boot-i2c.orig/include/configs/MPC8315ERDB.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8315ERDB.h 2009-02-12 10:46:00.000000000 -0800
@@ -272,13 +272,13 @@
#define CONFIG_OF_STDOUT_VIA_ALIAS 1
/* I2C */
-#define CONFIG_HARD_I2C /* I2C with hardware support */
+#define CONFIG_NEW_I2C
#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_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x51} /* Don't probe these addrs */
/*
* Board info - revision and where boot from
diff -purN u-boot-i2c.orig/include/configs/MPC8323ERDB.h u-boot-i2c/include/configs/MPC8323ERDB.h
--- u-boot-i2c.orig/include/configs/MPC8323ERDB.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8323ERDB.h 2009-02-12 10:46:00.000000000 -0800
@@ -313,13 +313,13 @@
#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_NEW_I2C
#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_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x51} /* Don't probe these addrs */
/*
* Config on-board EEPROM
diff -purN u-boot-i2c.orig/include/configs/MPC832XEMDS.h u-boot-i2c/include/configs/MPC832XEMDS.h
--- u-boot-i2c.orig/include/configs/MPC832XEMDS.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC832XEMDS.h 2009-02-12 10:46:00.000000000 -0800
@@ -323,13 +323,13 @@
#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_NEW_I2C
#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_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x51} /* Don't probe these addrs */
/*
* Config on-board RTC
diff -purN u-boot-i2c.orig/include/configs/MPC8349EMDS.h u-boot-i2c/include/configs/MPC8349EMDS.h
--- u-boot-i2c.orig/include/configs/MPC8349EMDS.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8349EMDS.h 2009-02-12 10:46:00.000000000 -0800
@@ -347,16 +347,17 @@
#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_NEW_I2C
+#define CONFIG_SYS_NUM_I2C_ADAPTERS 2
#define CONFIG_FSL_I2C
-#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,0x69}} /* Don't probe these addrs */
-#define CONFIG_SYS_I2C_OFFSET 0x3000
-#define CONFIG_SYS_I2C2_OFFSET 0x3100
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_FSL_I2C2_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0], &fsl_i2c_adap[1]}
+#define CONFIG_SYS_I2C_NOPROBES {{0,0x69}} /* Don't probe these addrs */
/* SPI */
#define CONFIG_MPC8XXX_SPI
diff -purN u-boot-i2c.orig/include/configs/MPC8349ITX.h u-boot-i2c/include/configs/MPC8349ITX.h
--- u-boot-i2c.orig/include/configs/MPC8349ITX.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8349ITX.h 2009-02-12 10:46:00.000000000 -0800
@@ -90,31 +90,29 @@
*/
/* I2C */
-#ifdef CONFIG_HARD_I2C
-
+#define CONFIG_NEW_I2C
+#define CONFIG_SYS_NUM_I2C_ADAPTERS 2
#define CONFIG_FSL_I2C
-#define CONFIG_I2C_MULTI_BUS
-#define CONFIG_I2C_CMD_TREE
-#define CONFIG_SYS_I2C_OFFSET 0x3000
-#define CONFIG_SYS_I2C2_OFFSET 0x3100
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_FSL_I2C2_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0], &fsl_i2c_adap[1]}
+/* Don't probe these addresses: */
+#define CONFIG_SYS_I2C_NOPROBES {{1, CONFIG_SYS_I2C_8574_ADDR1}, \
+ {1, CONFIG_SYS_I2C_8574_ADDR2}, \
+ {1, CONFIG_SYS_I2C_8574A_ADDR1}, \
+ {1, CONFIG_SYS_I2C_8574A_ADDR2}}
#define CONFIG_SYS_SPD_BUS_NUM 1 /* The I2C bus for SPD */
-
#define CONFIG_SYS_I2C_8574_ADDR1 0x20 /* I2C1, PCF8574 */
#define CONFIG_SYS_I2C_8574_ADDR2 0x21 /* I2C1, PCF8574 */
#define CONFIG_SYS_I2C_8574A_ADDR1 0x38 /* I2C1, PCF8574A */
#define CONFIG_SYS_I2C_8574A_ADDR2 0x39 /* I2C1, PCF8574A */
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* I2C0, Board EEPROM */
-#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}, \
- {1, CONFIG_SYS_I2C_8574A_ADDR1}, \
- {1, CONFIG_SYS_I2C_8574A_ADDR2}}
+#define CONFIG_SYS_I2C_RTC_ADDR 0x68 /* I2C1, DS1339 RTC*/
+#define SPD_EEPROM_ADDRESS 0x51 /* I2C1, DDR */
/* Bit definitions for the 8574[A] I2C expander */
#define I2C_8574_REVISION 0x03 /* Board revision, 00=0.0, 01=0.1, 10=1.0 */
#define I2C_8574_CF 0x08 /* 1=Compact flash absent, 0=present */
@@ -122,10 +120,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 */
#ifdef CONFIG_COMPACT_FLASH
diff -purN u-boot-i2c.orig/include/configs/MPC8360EMDS.h u-boot-i2c/include/configs/MPC8360EMDS.h
--- u-boot-i2c.orig/include/configs/MPC8360EMDS.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8360EMDS.h 2009-02-12 10:46:00.000000000 -0800
@@ -348,14 +348,13 @@
#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_NEW_I2C
#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_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x52} /* Don't probe these addrs */
/*
* Config on-board RTC
diff -purN u-boot-i2c.orig/include/configs/MPC8360ERDK.h u-boot-i2c/include/configs/MPC8360ERDK.h
--- u-boot-i2c.orig/include/configs/MPC8360ERDK.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8360ERDK.h 2009-02-12 10:46:00.000000000 -0800
@@ -261,16 +261,17 @@
#define CONFIG_OF_STDOUT_VIA_ALIAS
/* I2C */
-#define CONFIG_HARD_I2C /* I2C with hardware support */
-#undef CONFIG_SOFT_I2C /* I2C bit-banged */
+#define CONFIG_NEW_I2C
+#define CONFIG_SYS_NUM_I2C_ADAPTERS 2
#define CONFIG_FSL_I2C
-#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 {{0x52}} /* Don't probe these addrs */
-#define CONFIG_SYS_I2C_OFFSET 0x3000
-#define CONFIG_SYS_I2C2_OFFSET 0x3100
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_FSL_I2C2_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0], &fsl_i2c_adap[1]}
+#define CONFIG_SYS_I2C_NOPROBES {{0,0x52}} /* Don't probe these addrs */
/*
* General PCI
diff -purN u-boot-i2c.orig/include/configs/MPC837XEMDS.h u-boot-i2c/include/configs/MPC837XEMDS.h
--- u-boot-i2c.orig/include/configs/MPC837XEMDS.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC837XEMDS.h 2009-02-12 10:46:00.000000000 -0800
@@ -320,14 +320,13 @@
#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_NEW_I2C
#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_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x51} /* Don't probe these addrs */
/*
* Config on-board RTC
diff -purN u-boot-i2c.orig/include/configs/MPC837XERDB.h u-boot-i2c/include/configs/MPC837XERDB.h
--- u-boot-i2c.orig/include/configs/MPC837XERDB.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC837XERDB.h 2009-02-12 10:46:00.000000000 -0800
@@ -342,14 +342,13 @@
#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_NEW_I2C
#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_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x51} /* Don't probe these addrs */
/*
* Config on-board RTC
diff -purN u-boot-i2c.orig/include/configs/MPC8536DS.h u-boot-i2c/include/configs/MPC8536DS.h
--- u-boot-i2c.orig/include/configs/MPC8536DS.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8536DS.h 2009-02-12 10:46:00.000000000 -0800
@@ -331,16 +331,17 @@ extern unsigned long get_board_ddr_clk(u
/*
* 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_NEW_I2C
+#define CONFIG_SYS_NUM_I2C_ADAPTERS 2
+#define CONFIG_FSL_I2C
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_FSL_I2C2_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0], &fsl_i2c_adap[1]}
+#define CONFIG_SYS_I2C_NOPROBES {{0,0x29}} /* Don't probe these addrs */
/*
* I2C2 EEPROM
diff -purN u-boot-i2c.orig/include/configs/MPC8540ADS.h u-boot-i2c/include/configs/MPC8540ADS.h
--- u-boot-i2c.orig/include/configs/MPC8540ADS.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8540ADS.h 2009-02-12 10:46:00.000000000 -0800
@@ -299,13 +299,13 @@
/*
* 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_NEW_I2C
+#define CONFIG_FSL_I2C
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x69} /* Don't probe these addrs */
/* RapidIO MMU */
#define CONFIG_SYS_RIO_MEM_VIRT 0xc0000000 /* base address */
diff -purN u-boot-i2c.orig/include/configs/MPC8540EVAL.h u-boot-i2c/include/configs/MPC8540EVAL.h
--- u-boot-i2c.orig/include/configs/MPC8540EVAL.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8540EVAL.h 2009-02-12 10:46:00.000000000 -0800
@@ -195,13 +195,13 @@
/*
* 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_NEW_I2C
+#define CONFIG_FSL_I2C
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x69} /* Don't probe these addrs */
/* General PCI */
#define CONFIG_SYS_PCI_MEM_BASE 0x80000000
diff -purN u-boot-i2c.orig/include/configs/MPC8541CDS.h u-boot-i2c/include/configs/MPC8541CDS.h
--- u-boot-i2c.orig/include/configs/MPC8541CDS.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8541CDS.h 2009-02-12 10:46:00.000000000 -0800
@@ -322,13 +322,13 @@ 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_NEW_I2C
+#define CONFIG_FSL_I2C
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x69} /* Don't probe these addrs */
/* EEPROM */
#define CONFIG_ID_EEPROM
diff -purN u-boot-i2c.orig/include/configs/MPC8544DS.h u-boot-i2c/include/configs/MPC8544DS.h
--- u-boot-i2c.orig/include/configs/MPC8544DS.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8544DS.h 2009-02-12 10:46:00.000000000 -0800
@@ -250,14 +250,14 @@ extern unsigned long get_board_sys_clk(u
#define CONFIG_SYS_64BIT_VSPRINTF 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_NEW_I2C
+#define CONFIG_FSL_I2C
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x69} /* Don't probe these addrs */
#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 -purN u-boot-i2c.orig/include/configs/MPC8548CDS.h u-boot-i2c/include/configs/MPC8548CDS.h
--- u-boot-i2c.orig/include/configs/MPC8548CDS.h 2009-02-12 10:43:41.000000000 -0800
+++ u-boot-i2c/include/configs/MPC8548CDS.h 2009-02-12 10:46:00.000000000 -0800
@@ -343,16 +343,88 @@ extern unsigned long get_clock_freq(void
#define CONFIG_SYS_64BIT_VSPRINTF 1
#define CONFIG_SYS_64BIT_STRTOUL 1
+
+#define CONFIG_NEW_I2C
+#if 1
+#define CONFIG_FSL_I2C
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0]}
+#define CONFIG_SYS_I2C_NOPROBES {0x69} /* Don't probe these addrs */
+#else
/*
- * I2C
+ * Illustrative example with 5 I2C adapters and 7 I2C busses.
+ *
+ * Adapters: 2x FSL_I2C (0 and 1,) SM502 adapter (2,) 2x SOFT_I2C (3 and 4)
+ *
+ * Busses:
+ *
+ * 0: Direct off of FSL_I2C[0]
+ * 1: FSL_I2C[1]->PCA9542(0)->PCA9542(0)
+ * 2: FSL_I2C[1]->PCA9542(0)->PCA9542(1)
+ * 3: FSL_I2C[1]->PCA9542(1)
+ * 4: Direct off of SM502_I2C
+ * 5: Direct off of SOFT_I2C[0]
+ * 6: Direct off of SOFT_I2C[1]
+ *
+ * This might not have sense (it is much more logical to use a single
+ * PCA9544 for 3 busses off of FSL_I2C[1]) but it is just an illustrative
+ * example. SOFT_I2C declarations are totally bogus.
*/
-#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_NUM_I2C_ADAPTERS 5
+#define CONFIG_SYS_NUM_I2C_BUSSES 7
+#define CONFIG_SYS_I2C_MAX_HOPS 2
+
+#define CONFIG_SOFT_I2C
+#define I2C_SOFT_DECLARATIONS I2C_SOFT_DEFS
+
+#define I2C_INIT (printf("init"))
+#define I2C_ACTIVE (printf("active"))
+#define I2C_TRISTATE (printf("tristate"))
+#define I2C_READ (1)
+#define I2C_SDA(bit) (printf("sda: %d", bit))
+#define I2C_SCL(bit) (printf("scl: %d", bit))
+#define I2C_DELAY udelay(2) /* 1/4 I2C clock duration */
+
+#define CONFIG_SYS_SOFT_I2C_SPEED 100000
+#define CONFIG_SYS_SOFT_I2C_SLAVE 0x7f
+
+#define I2C_SOFT_DECLARATIONS2 I2C_SOFT_DEFS
+
+#define I2C_INIT2 (printf("init1"))
+#define I2C_ACTIVE2 (printf("active1"))
+#define I2C_TRISTATE2 (printf("tristate1"))
+#define I2C_READ2 (1)
+#define I2C_SDA2(bit) (printf("sda1: %d", bit))
+#define I2C_SCL2(bit) (printf("scl1: %d", bit))
+#define I2C_DELAY2 udelay(2) /* 1/4 I2C clock duration */
+
+#define CONFIG_SYS_SOFT_I2C2_SPEED 100000
+#define CONFIG_SYS_SOFT_I2C2_SLAVE 0x7f
+
+#define CONFIG_SM502_I2C /* Use SM502 I2C driver */
+#define CONFIG_SYS_SM501_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_SM501_I2C_SLAVE 0x7F /* Adapter #1 */
+#define CONFIG_SYS_SM501_BASEADDR 0x80000000 /* Bogus */
+
+#define CONFIG_FSL_I2C /* Use FSL common I2C driver */
+#define CONFIG_SYS_FSL_I2C_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F /* Adapter #1 */
+#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
+#define CONFIG_SYS_FSL_I2C2_SPEED 400000 /* I2C speed and slave address */
+#define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F /* Adapter #2 */
+#define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100
+#define CONFIG_SYS_I2C_ADAPTERS {&fsl_i2c_adap[0], &fsl_i2c_adap[1], &sm501_i2c_adap, &soft_i2c_adap[0], &soft_i2c_adap[1]}
+#define CONFIG_SYS_I2C_BUSSES { {0, {I2C_NULL_HOP, I2C_NULL_HOP}}, \
+ {1, {{I2C_MUX_PCA9542, 0x70, 0}, {I2C_MUX_PCA9542, 0x71, 0}}}, \
+ {1, {{I2C_MUX_PCA9542, 0x70, 0}, {I2C_MUX_PCA9542, 0x71, 1}}}, \
+ {1, {{I2C_MUX_PCA9542, 0x70, 1}, I2C_NULL_HOP}}, \
+ {2, {I2C_NULL_HOP, I2C_NULL_HOP}}, \
+ {3, {I2C_NULL_HOP, I2C_NULL_HOP}}, \
+ {4, {I2C_NULL_HOP, I2C_NULL_HOP}}}
+#define CONFIG_SYS_I2C_NOPROBES {{0,0x69},{1,0x69}} /* Don't probe these addrs */
+#endif
/* EEPROM */
#define CONFIG_ID_EEPROM
@@ -369,23 +441,23 @@ extern unsigned long get_clock_freq(void
#define CONFIG_SYS_PCI_PHYS 0x80000000 /* 1G PCI TLB */
#define CONFIG_SYS_PCI1_MEM_VIRT 0x80000000
-#define CONFIG_SYS_PCI1_MEM_BUS 0x80000000
+#define CONFIG_SYS_PCI1_MEM_BUS 0x80000000
#define CONFIG_SYS_PCI1_MEM_PHYS 0x80000000
#define CONFIG_SYS_PCI1_MEM_SIZE 0x20000000 /* 512M */
-#define CONFIG_SYS_PCI1_IO_VIRT 0xe2000000
-#define CONFIG_SYS_PCI1_IO_BUS 0x00000000
-#define CONFIG_SYS_PCI1_IO_PHYS 0xe2000000
-#define CONFIG_SYS_PCI1_IO_SIZE 0x00100000 /* 1M */
+#define CONFIG_SYS_PCI1_IO_VIRT 0xe2000000
+#define CONFIG_SYS_PCI1_IO_BUS 0x00000000
+#define CONFIG_SYS_PCI1_IO_PHYS 0xe2000000
+#define CONFIG_SYS_PCI1_IO_SIZE 0x00100000 /* 1M */
#ifdef CONFIG_PCI2
#define CONFIG_SYS_PCI2_MEM_VIRT 0xa0000000
-#define CONFIG_SYS_PCI2_MEM_BUS 0xa0000000
+#define CONFIG_SYS_PCI2_MEM_BUS 0xa0000000
#define CONFIG_SYS_PCI2_MEM_PHYS 0xa0000000
#define CONFIG_SYS_PCI2_MEM_SIZE 0x20000000 /* 512M */
-#define CONFIG_SYS_PCI2_IO_VIRT 0xe2800000
-#define CONFIG_SYS_PCI2_IO_BUS 0x00000000
-#define CONFIG_SYS_PCI2_IO_PHYS 0xe2800000
-#define CONFIG_SYS_PCI2_IO_SIZE 0x00100000 /* 1M */
+#define CONFIG_SYS_PCI2_IO_VIRT 0xe2800000
+#define CONFIG_SYS_PCI2_IO_BUS 0x00000000
+#define CONFIG_SYS_PCI2_IO_PHYS 0xe2800000
+#define CONFIG_SYS_PCI2_IO_SIZE 0x00100000 /* 1M */
#endif
#ifdef CONFIG_PCIE1
@@ -394,7 +466,7 @@ extern unsigned long get_clock_freq(void
#define CONFIG_SYS_PCIE1_MEM_PHYS 0xa0000000
#define CONFIG_SYS_PCIE1_MEM_SIZE 0x20000000 /* 512M */
#define CONFIG_SYS_PCIE1_IO_VIRT 0xe3000000
-#define CONFIG_SYS_PCIE1_IO_BUS 0x00000000
+#define CONFIG_SYS_PCIE1_IO_BUS 0x00000000
#define CONFIG_SYS_PCIE1_IO_PHYS 0xe3000000
#define CONFIG_SYS_PCIE1_IO_SIZE 0x00100000 /* 1M */
#endif
@@ -403,9 +475,9 @@ extern unsigned long get_clock_freq(void
/*
* RapidIO MMU
*/
-#define CONFIG_SYS_RIO_MEM_VIRT 0xC0000000
-#define CONFIG_SYS_RIO_MEM_BUS 0xC0000000
-#define CONFIG_SYS_RIO_MEM_SIZE 0x20000000 /* 512M */
+#define CONFIG_SYS_RIO_MEM_VIRT 0xC0000000
+#define CONFIG_SYS_RIO_MEM_BUS 0xC0000000
+#define CONFIG_SYS_RIO_MEM_SIZE 0x20000000 /* 512M */
#endif
#ifdef CONFIG_LEGACY
@@ -490,8 +562,11 @@ extern unsigned long get_clock_freq(void
*/
#include <config_cmd_default.h>
+#define CONFIG_I2C_CMD_TREE
+
#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
+#define CONFIG_CMD_SDRAM
#define CONFIG_CMD_MII
#define CONFIG_CMD_ELF
#define CONFIG_CMD_IRQ
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] 9/12 Multiadapter/multibus I2C, configs part 2
2009-02-12 22:28 [U-Boot] [PATCH] 9/12 Multiadapter/multibus I2C, configs part 2 ksi at koi8.net
@ 2009-02-13 8:20 ` Heiko Schocher
2009-02-16 22:01 ` Wolfgang Denk
1 sibling, 0 replies; 5+ messages in thread
From: Heiko Schocher @ 2009-02-13 8:20 UTC (permalink / raw)
To: u-boot
Hello ksi,
ksi at koi8.net wrote:
> Signed-off-by: Sergey Kubushyn <ksi@koi8.net>
>
Patch apply with warnings
Applying: 9/12 Multiadapter/multibus I2C, configs part 2
/home/hs/i2c/u-boot-i2c/.git/rebase-apply/patch:181: space before tab in
indent.
{1, CONFIG_SYS_I2C_8574_ADDR2}, \
/home/hs/i2c/u-boot-i2c/.git/rebase-apply/patch:182: space before tab in
indent.
{1, CONFIG_SYS_I2C_8574A_ADDR1}, \
/home/hs/i2c/u-boot-i2c/.git/rebase-apply/patch:183: space before tab in
indent.
{1, CONFIG_SYS_I2C_8574A_ADDR2}}
warning: 3 lines add whitespace errors.
please fix. And can you use git-format-patch -n for creating
patches? Thanks.
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] 9/12 Multiadapter/multibus I2C, configs part 2
2009-02-12 22:28 [U-Boot] [PATCH] 9/12 Multiadapter/multibus I2C, configs part 2 ksi at koi8.net
2009-02-13 8:20 ` Heiko Schocher
@ 2009-02-16 22:01 ` Wolfgang Denk
2009-02-17 20:14 ` ksi at koi8.net
1 sibling, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2009-02-16 22:01 UTC (permalink / raw)
To: u-boot
Dear ksi at koi8.net,
In message <Pine.LNX.4.64ksi.0902121426590.21067@home-gw.koi8.net> you wrote:
> Signed-off-by: Sergey Kubushyn <ksi@koi8.net>
> ---
> diff -purN u-boot-i2c.orig/include/configs/MHPC.h u-boot-i2c/include/configs/MHPC.h
> --- u-boot-i2c.orig/include/configs/MHPC.h 2009-02-12 10:43:41.000000000 -0800
> +++ u-boot-i2c/include/configs/MHPC.h 2009-02-12 10:46:00.000000000 -0800
> @@ -72,7 +72,12 @@
Here again patches are split such that the resutling tree will not be
bisectable.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The trouble with our times is that the future is not what it used to
be. - Paul Valery
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] 9/12 Multiadapter/multibus I2C, configs part 2
2009-02-16 22:01 ` Wolfgang Denk
@ 2009-02-17 20:14 ` ksi at koi8.net
2009-02-19 20:40 ` Wolfgang Denk
0 siblings, 1 reply; 5+ messages in thread
From: ksi at koi8.net @ 2009-02-17 20:14 UTC (permalink / raw)
To: u-boot
On Mon, 16 Feb 2009, Wolfgang Denk wrote:
> Dear ksi at koi8.net,
>
> In message <Pine.LNX.4.64ksi.0902121426590.21067@home-gw.koi8.net> you wrote:
> > Signed-off-by: Sergey Kubushyn <ksi@koi8.net>
> > ---
> > diff -purN u-boot-i2c.orig/include/configs/MHPC.h u-boot-i2c/include/configs/MHPC.h
> > --- u-boot-i2c.orig/include/configs/MHPC.h 2009-02-12 10:43:41.000000000 -0800
> > +++ u-boot-i2c/include/configs/MHPC.h 2009-02-12 10:46:00.000000000 -0800
> > @@ -72,7 +72,12 @@
>
> Here again patches are split such that the resutling tree will not be
> bisectable.
It looks like I didn't get you. Do you want me to make relatively small
changes to 472 config files into 472 separate patches?
---
******************************************************************
* KSI at home KOI8 Net < > The impossible we do immediately. *
* Las Vegas NV, USA < > Miracles require 24-hour notice. *
******************************************************************
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] 9/12 Multiadapter/multibus I2C, configs part 2
2009-02-17 20:14 ` ksi at koi8.net
@ 2009-02-19 20:40 ` Wolfgang Denk
0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Denk @ 2009-02-19 20:40 UTC (permalink / raw)
To: u-boot
Dear ksi at koi8.net,
In message <Pine.LNX.4.64ksi.0902171212360.30222@home-gw.koi8.net> you wrote:
>
> > Here again patches are split such that the resutling tree will not be
> > bisectable.
>
> It looks like I didn't get you. Do you want me to make relatively small
> changes to 472 config files into 472 separate patches?
Being able to bisect means that after each single commit the source
tree has to be in a state that is at least compile clean, even better
actually working.
If you split a set of changes that belong to and depend on each other
into two commits, you will have a situation where the tree doesn't
build after the first (but before the second) commit. This is a PITA
when you use git-bisect to track down bugs in the code, so we try to
avoid it whenever possible.
I don't care how many patches you use (as long as it's a resonable
number and a reasonabel size), but each of them must be bisectable.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Ein weiser Herrscher kann in einem gro?en Land mehr Gutes bewirken
als in einem kleinen - ein dummer Herrscher aber auch viel mehr Un-
fug. Da weise Herrscher seltener sind als dumme, war ich schon immer
gegen gro?e Reiche skeptisch. - Herbert Rosendorfer
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-02-19 20:40 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-12 22:28 [U-Boot] [PATCH] 9/12 Multiadapter/multibus I2C, configs part 2 ksi at koi8.net
2009-02-13 8:20 ` Heiko Schocher
2009-02-16 22:01 ` Wolfgang Denk
2009-02-17 20:14 ` ksi at koi8.net
2009-02-19 20:40 ` Wolfgang Denk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox