diff options
author | Heiko Schocher | 2008-10-15 02:39:47 -0500 |
---|---|---|
committer | Wolfgang Denk | 2008-10-18 14:54:02 -0500 |
commit | 67b23a322848d828a5e45c0567b72762bfde7abf (patch) | |
tree | 8dc26375504482eaa0e9600a6a52a6bb047dccf3 /README | |
parent | c24853644ddd2dd2e4246b5854a93e6254a14092 (diff) | |
download | u-boot-67b23a322848d828a5e45c0567b72762bfde7abf.tar.gz u-boot-67b23a322848d828a5e45c0567b72762bfde7abf.tar.xz u-boot-67b23a322848d828a5e45c0567b72762bfde7abf.zip |
I2C: adding new "i2c bus" Command to the I2C Subsystem.
With this Command it is possible to add new I2C Busses,
which are behind 1 .. n I2C Muxes. Details see README.
Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'README')
-rw-r--r-- | README | 47 |
1 files changed, 47 insertions, 0 deletions
@@ -1429,6 +1429,53 @@ The following options need to be configured: | |||
1429 | Define this option if you want to use Freescale's I2C driver in | 1429 | Define this option if you want to use Freescale's I2C driver in |
1430 | drivers/i2c/fsl_i2c.c. | 1430 | drivers/i2c/fsl_i2c.c. |
1431 | 1431 | ||
1432 | CONFIG_I2C_MUX | ||
1433 | |||
1434 | Define this option if you have I2C devices reached over 1 .. n | ||
1435 | I2C Muxes like the pca9544a. This option addes a new I2C | ||
1436 | Command "i2c bus [muxtype:muxaddr:muxchannel]" which adds a | ||
1437 | new I2C Bus to the existing I2C Busses. If you select the | ||
1438 | new Bus with "i2c dev", u-bbot sends first the commandos for | ||
1439 | the muxes to activate this new "bus". | ||
1440 | |||
1441 | CONFIG_I2C_MULTI_BUS must be also defined, to use this | ||
1442 | feature! | ||
1443 | |||
1444 | Example: | ||
1445 | Adding a new I2C Bus reached over 2 pca9544a muxes | ||
1446 | The First mux with address 70 and channel 6 | ||
1447 | The Second mux with address 71 and channel 4 | ||
1448 | |||
1449 | => i2c bus pca9544a:70:6:pca9544a:71:4 | ||
1450 | |||
1451 | Use the "i2c bus" command without parameter, to get a list | ||
1452 | of I2C Busses with muxes: | ||
1453 | |||
1454 | => i2c bus | ||
1455 | Busses reached over muxes: | ||
1456 | Bus ID: 2 | ||
1457 | reached over Mux(es): | ||
1458 | pca9544a@70 ch: 4 | ||
1459 | Bus ID: 3 | ||
1460 | reached over Mux(es): | ||
1461 | pca9544a@70 ch: 6 | ||
1462 | pca9544a@71 ch: 4 | ||
1463 | => | ||
1464 | |||
1465 | If you now switch to the new I2C Bus 3 with "i2c dev 3" | ||
1466 | u-boot sends First the Commando to the mux@70 to enable | ||
1467 | channel 6, and then the Commando to the mux@71 to enable | ||
1468 | the channel 4. | ||
1469 | |||
1470 | After that, you can use the "normal" i2c commands as | ||
1471 | usual, to communicate with your I2C devices behind | ||
1472 | the 2 muxes. | ||
1473 | |||
1474 | This option is actually implemented for the bitbanging | ||
1475 | algorithm in common/soft_i2c.c and for the Hardware I2C | ||
1476 | Bus on the MPC8260. But it should be not so difficult | ||
1477 | to add this option to other architectures. | ||
1478 | |||
1432 | 1479 | ||
1433 | - SPI Support: CONFIG_SPI | 1480 | - SPI Support: CONFIG_SPI |
1434 | 1481 | ||