dongs
Posts: 3
Joined: Thu Feb 23, 2017 12:20 pm

Completely baffled at decision to use I2C I/O expander on CM

Thu Feb 23, 2017 12:28 pm

Pretty much as the title says.

For the last week or so, I've been trying to think of any reason why GPIO46/47 would be turned into I2C bus and connected to GPIO expander on CM3, instead of.. using them the same way they were being used before, like it was on CM1.

Why was this done? It would be nice if someone who was actually involved in "designing" this feature contribute an answer.

It doesn't really affect my design in any way, I'm just curious why unnecessary complicate something that already worked.


dongs
Posts: 3
Joined: Thu Feb 23, 2017 12:20 pm

Re: Completely baffled at decision to use I2C I/O expander o

Thu Feb 23, 2017 1:00 pm

GadgetUK wrote:Take a look at the following

viewtopic.php?f=98&t=172527
That explains a... roundabout solution to a problem introduced by this change, but does not specify the reason for the change. Thanks for the link, tho.

gregeric
Posts: 1511
Joined: Mon Nov 28, 2011 10:08 am

Re: Completely baffled at decision to use I2C I/O expander o

Thu Feb 23, 2017 1:10 pm

Unlike the 2835, the 2836 & 2837 do not have an internal regulator for Vcore. I guess the one in the original VC4 die wasn't up to the job of supplying four cores, so 2836/7 have to use an external part. The one they have chosen is controlled via I2C, so in theory two more GPIOs must be used, in addition to the ones dedicated to HDMI HotPlug detect & EMMC disable.

With the Pi3 having SDIO WiFi/BT, there simply aren't enough spare GPIOs to accomodate the two for the Vcore SMPS, and the power & activity LEDs, so they cunningly put them on an IO expander.

Seems to make perfect sense to do the same for the CM3, allowing fuller use of GPIO for the end user's design.

What puzzles me slightly is why they didn't bring out the unused GPIOs of the expander onto the edge connector (there are unused contacts). That means you cannot create a Pi3 clone out of a CM3 (but why would you want to, just buy a 3B). I guess those edge connector pins are reserved for the next SoC's whizz bang feature.
Last edited by gregeric on Thu Feb 23, 2017 5:11 pm, edited 1 time in total.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5074
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Completely baffled at decision to use I2C I/O expander o

Thu Feb 23, 2017 1:14 pm

Beaten it by gregeric.

The cm3 also has a requirement to talk to an smps - an i2qc device.
When there are no spare gpios on the SoC, but there are a couple of infrequently used gpios, then moving those to an i2c expander and running both devices from the two SoC lines as an I2C bus is a very sensible solution.

The latest firmware is now bit banging the i2c bus to the smps and expander, so i2c0 is available again if you're not using the camera or display.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
Please don't send PMs asking for support - use the forum.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

aBUGSworstnightmare
Posts: 660
Joined: Tue Jun 30, 2015 1:35 pm

Re: Completely baffled at decision to use I2C I/O expander o

Thu Feb 23, 2017 1:15 pm

Having the unused I/O from the I2C GPIO expander chip available would be a good feature!

dongs
Posts: 3
Joined: Thu Feb 23, 2017 12:20 pm

Re: Completely baffled at decision to use I2C I/O expander o

Thu Feb 23, 2017 1:21 pm

6by9 wrote:The cm3 also has a requirement to talk to an smps - an i2qc device.
With the Pi3 having SDIO WiFi/BT, there simply aren't enough spare GPIOs to accomodate the two for the Vcore SMPS, so they cunningly put the HDMI & EMMC GPIOs on an IO expander, along with a couple of others.
This would have been obvious and avoided this question if... you know.. actual schematics to the hardware had been made available, instead of some gimped "reduced" stuff.
aBUGSworstnightmare wrote:Having the unused I/O from the I2C GPIO expander chip available would be a good feature!
Not the thread to discuss this, most certainly.

gregeric
Posts: 1511
Joined: Mon Nov 28, 2011 10:08 am

Re: Completely baffled at decision to use I2C I/O expander o

Thu Feb 23, 2017 1:51 pm

dongs wrote:This would have been obvious and avoided this question if... you know.. actual schematics to the hardware had been made available, instead of some gimped "reduced" stuff.

Code: Select all

raspi-gpio get
will show the state of play on any Pi. But it does help to have hung out here a bit n picked up snippets of info.

Return to “Compute Module”

Who is online

Users browsing this forum: No registered users and 3 guests