wiki:catalina/DigitalIO

Catalina Digital IO

The intent of this page is to provide information about Catalina single board computers general purpose off-board digital IO signals.

DIO and Pin Function Mapping

Catalina baseboards provide multiple digital IO signals to a connector. The IMX95 has multiple GPIO blocks having 32 GPIO's each which typically get mapped to gpio 0 - through gpio 159 in the Linux kernel. Note that this mapping is not guaranteed to stay the same across kernel versions - you can look at the debugfs /sys/kernel/debug/gpio file to see where the IMX8MM GPIO controller is mapped.

The various Catalina product hardware manuals contain a table of what pins on the Digital IO connector routes to what CPU GPIO. In some cases these signals can be pinmux'd internally to other functions as indicated in the table.

See the operating manual "Specifications", "Electrical" section for information on DIO max and min driving strength.

Note on Termination

Most of the standard DIO lines below (labeled DIO0,DIO1,DIO2,etc) which are connected to the i.MX95 SoC:

  • Operate on 3.3V logic
  • Have a 332-ohm series resistor for limiting current.
  • Have a 390 pF capacitor for debounce
  • Have a ESD TVS Diode
  • Have a 4.75k ohm pull up resistor to 3.3
  • Have an internal weak pulldown at approximately 30-40k ohm.

Please contact Gateworks support if more information is required about a specific SBC.

Catalina DIO Mapping (NOTE: Venice hardware manuals should be used for official pinouts):

Board Connector1 Primary Function2 IMX8M_PAD U-Boot3 Linux4 Notes
GW920x J19.1 DIO0 GPIO[3]:DIO[26] GPIO[3]:DIO[26] dio0
J19.2 DIO1 GPIO[3]:DIO[27] GPIO[3]:DIO[27] dio1
  1. This is the connector pinout.
  2. This is the signal name from the Catalina hardware manuals
  3. This is the bank_pin name that can be used in U-Boot (see here)
  4. This is the name provided to Linux via gpio-line-names in the device-tree (see here)
  5. Any of the above pin function assignments can be altered by changing the device-tree to change the pinmux which is also where you can specify drive strength, pull-up, pull-down etc. Read more about gaining more GPIOs via pinmuxing here

Note that all signals (unless noted in notes) are 3.3V tolerant.

Note that any GPIO can be used for the following:

  • an additional SPI chip-select for those boards that have a SPI bus connector
  • a 'bit-banged' PWM (using CPU timers)
  • a 'bit-banged' I2C bus (using CPU timers)
  • a 'bit-banged' MDIO bus (using CPU timers)

How to Gain More GPIO or Pinmux

Read more about gaining more GPIOs or re-assigning via pinmuxing here

GPIO Mapping Table

Please see the generic Linux GPIO conversion here: gpio

Useful links

Last modified 3 days ago Last modified on 03/20/2026 05:31:48 PM
Note: See TracWiki for help on using the wiki.