
Hello,
Attached is a patch providing support for multiple I2C buses at the command level. The second part of the patch includes an implementation for the MPC834x CPU and MPC8349EMDS board. Note - this does not include support for 10-bit addresses. That's too profound a change to include here... Hopefully this addresses concerns with my previous attempts.
Overview:
1. Include new 'i2c' command (based on USB implementation) using CONFIG_I2C_CMD_TREE. Note - I opted to not use the last remaining CMD bit in 'include/cmd_confdefs.h'.
2. Allow multiple buses by defining CONFIG_I2C_MULTI_BUS. Note that this is only available under the new 'i2c' command mentioned in bullet 1.
3. Allow by-passing of devices when probing a bus by defining CFG_I2C_MULTI_NOPROBES. This is an array of bus-device pairs that will be skipped by the 'i2c probe' command.
CHANGELOG: Added new 'i2c' master command for all I2C interaction. This is conditionally compiled with CONFIG_I2C_CMD_TREE. New commands added for setting I2C bus speed as well as changing the active bus if the board has more than one bus (conditionally compiled with CONFIG_I2C_MULTI_BUS). Added a list of devices to ignore when probing the buses when more than one bus is present. Updated README.
regards, Ben