I2C on the BCM943362WCD4 EVB

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Having been recently introduced to the Broadcom environment through the generous donation of an eval board, I've been attempting to get the module to talk to an I2C peripheral using the GPIO breakout header.  Unfortunately, however, there seems to be quite a dearth of documentation surrounding this interface.

The eval board itself is labeled as the BCM943362WCD4, and in digging through the WICED 3.1.0 SDK I found a folder containing pictures for various platforms.  Given the way the board was labeled the BCM9WCD4EVAL2 folder appeared to be the closest match, however the "bcm9wcd4eval2.jpg" photo contained therein definitely does not match the board I have in my hands - the GPIO header in the picture goes up to 30 pins, while board I have only goes up to 18.  After some digging, the closest match I can come pu with is the BCM9WCD1EVAL1_P400 eval board, upon which the WCD4 module has been attached.


Therefore, my first suggestion might be to better organize these resources.

After evaluating the schematic and identifying the breakout header labels, I was unable to find anything labeled that suggested which pints to use for I2C.  I therefore turned to grepping the SDK folder for the phrase "I2C" and was ultimately encouraged by the table found in platforms/BCM943362WCD4/platform.h, suggesting that I2C1 was available using pins 11(SCL) and 12(SDA) - great!

My attention then turned to setting up a wiced_i2c_device_t object to pass to wiced_i2c_init, at which point I was promptly confronted with trying to determine the .port attribute of this type definition.  wiced_platform.h defines it as a wiced_i2c_t type, and while wiced_i2c_t seems to be defined in platform.h, there doesn't seem to be a corresponding mapping in platform.c.  In fact, I2C doesn't seem to be addressed at all within platform.c, leading me to believe it's not implemented on this platform.

As such, my somewhat long-winded questions are: 1) is I2C configured and enabled on this platform and, if so, 2) can someone be so kind as to provide example code that illustrates configuring, initializing and interacting with an I2C device using this platform?

0 Likes
5 Replies