Posts: 1
Joined: Thu May 10, 2018 6:59 am

Compute Module GPIO

Thu May 10, 2018 7:07 am


I need foolowing interfaces simulteanous on CM3:
- 2x SPI
- 2x I2C
- 2x RX/TX
- I2S
- and one GPIO

First question: are the Bank 0 and Bank 1 physically different GPIO?

If not, I want to use following GPIO:
- Bank 0 SDA0, SCL0
- Bank 0 SDA1, SCL1
- Bank 0 SPI0 (with SPI0_CE0_N)
- Bank 0 TXD0, RXD0
- Bank 1 (ALT5) TXD1, RXD1
- Bank 1 (ALT4) SPI2 (withSPI2_CE0N)
- Bank 1 TE0 as standard GPIO

Is this correct?


User avatar
Posts: 13916
Joined: Thu Jul 05, 2012 5:09 pm
Location: UK

Re: Compute Module GPIO

Thu May 10, 2018 9:07 am

The compute module (like all Pi models) has 54 GPIO. The difference with other Pi models is that they are all physically accessible on the compute module.

The Broadcom numbering is GPIO0 to GPIO53.

I suggest you assign the functions according to that numbering. If you have to use the same number twice you have a conflict.

Posts: 5
Joined: Wed May 09, 2018 1:47 pm

Re: Compute Module GPIO

Thu May 10, 2018 3:33 pm

All gpios are physically different however bank0 and 1 can be configured for different logic levels ( bank 0 = GPIO0 to GPIO27, bank1=GPIO28-45). Using pin 40 to supply VCC for bank 0 and pin 42 for bank 1, on our hardware we just tie these to 3V3. Other than setting logic levels the banks are virtually irrelevant.

From a quick glance i cant see why you cant configure everything you need.

Side note: the GPIO registers however are not grouped by banks. For example, there are two registers for GPIO output set, 0 = pin 0-31 and 1 = pin 32-53. :)

Return to “Compute Module”