I2C1 bus frequency at 400 kHz?

Skip to first unread message

Karl Karpfen

Jun 14, 2016, 8:41:18 AM6/14/16
to BeagleBoard

according to the TRM of AM335x the I2C bus frequency can be 100 kHz or 400 kHz. But when I have a look into the StarterWare I2C examples, only 100 kHz are used (for EEPROM and PMIC).

Is there a special reason for this? Or is it just a limitation of the example sources and BBB hardware in general can run with 400 kHz?


Gerald Coley

Jun 14, 2016, 9:05:44 AM6/14/16
to beagl...@googlegroups.com
BeagleBone Black under Linux, runs at 400KHz.


For more options, visit http://beagleboard.org/discuss
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/ac29f2e1-42f1-4b53-86cf-69c73643c804%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Mark Lazarewicz

Jun 14, 2016, 12:36:29 PM6/14/16
to beagl...@googlegroups.com
Find the register that sets the frequency in the TRM  and read and examine the clocking used for I2C.  Typically it's a divider from the CPU clock which maybe set in a register. Make sure the divider value is a binary multiple of the divided clock. If it is change the StarterWare line of code to use your new divider. If it's not a multiple you have to Change the main clock so it is and divide to 400 kHz. Follow the I2C init code examination of all registers the code reference in the TRM and make sure it makes sense . Usually the TRM gives a brief explanation of steps needed to do to . Compare steps to code 

Reply all
Reply to author
0 new messages