- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I was pointed to this post from a discussion of long boot times: Wake up time from sleep/deep sleep
You mention in the post that the boot time can be improved by changing the I2C speed from 400 khz to 1MHz, and this would cut down the time a lot.
Two questions:
1. How do you make this change? Is this a matter of changing a value in a CGS file?
For SDK 2.2.1 I see there is a speed setting in the BCM920736 platform directory, but not in the _TAG directory, which is the one I am using. Note that I have a custom board based on the 20736S -- which platform directory should I be using?
2. What is the maximum speed allowed for the EEPROM in the 20736S?
Thanks for your help!
Solved! Go to Solution.
- Labels:
-
Sleep Modes
- Tags:
- i2c speed
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think you change this in i2cm.h using i2cm_setSpeed()
There is some good info on setting this up buried here in this thread: I2C Discussion
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks.. I will look at that thread.
But, I would imagine that can't be used to change the speed used during boot itself?
I could only call that function after I was already running my app.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We will need to talk to the developers when everyone returns from the holiday weekend.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So I think I got it to work by adding
ENTRY "I2C Speed"
{
"Speed" = "1000 KHz"
}
to both the 'mandatory.cgs' and the platform cgs files.
now it is blazing fast.. hope it's not too fast? Can the 20736S handle 1MHz?
It seems to work though.
I think what may have been the issue is that in the transition from 2.1 to 2.2, the entry got dropped from the platform CGS file, and it fell back on the default speed of 100 khz which is a lot slower.
So i think it's addressed, but i wonder if I could get confirmation that 20736S should be OK with 1Mhz speed?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
According to WICED™ Smart Hardware Interfaces, the I2C interface on the part supports both low-speed and fast-mode slave devices, up to a maximum SCL speed of 4000 kbps (if the slave is capable of clock cycle stretching, the maximum SCL speed is limited to 2400 kbps).
The user here seemed to run into issues when trying to run the I2C bus at faster speeds (caused another device on the bus to lock up): i2c clock frequency
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, the question then is whether the integrated eeprom in the module is OK with this speed.
i don't have any other devices on the i2c bus.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes - the EEPROM on the SIP/module can run up to 1MHz.