Changes between Initial Version and Version 1 of catalina/DigitalIO


Ignore:
Timestamp:
03/20/2026 05:31:48 PM (3 days ago)
Author:
Ryan Erb
Comment:

start page

Legend:

Unmodified
Added
Removed
Modified
  • catalina/DigitalIO

    v1 v1  
     1[[PageOutline]]
     2
     3= Catalina Digital IO
     4The intent of this page is to provide information about Catalina single board computers general purpose off-board digital IO signals.
     5
     6
     7[=#dio]
     8= DIO and Pin Function Mapping
     9Catalina 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.
     10
     11The 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.
     12
     13See the operating manual "Specifications", "Electrical" section for information on DIO max and min driving strength.
     14
     15''' Note on Termination '''
     16
     17Most of the standard DIO lines below (labeled DIO0,DIO1,DIO2,etc) which are connected to the i.MX95 SoC:
     18 * Operate on 3.3V logic
     19 * Have a 332-ohm series resistor for limiting current.
     20 * Have a 390 pF capacitor for debounce
     21 * Have a ESD TVS Diode
     22 * Have a 4.75k ohm pull up resistor to 3.3
     23 * Have an internal weak pulldown at approximately 30-40k ohm.
     24
     25 
     26Please contact Gateworks support if more information is required about a specific SBC.
     27
     28Catalina DIO Mapping (NOTE: Venice hardware manuals should be used for official pinouts):
     29||= Board =||= Connector^^^1^^^ =||= Primary Function^^^2^^^ =||= IMX8M_PAD =||= U-Boot^^^3^^^ =||= Linux^^^4^^^ =||= Notes ||
     30|| GW920x  || J19.1 || DIO0 || GPIO[3]:DIO[26] || GPIO[3]:DIO[26] || dio0 || ||
     31||         || J19.2 || DIO1 || GPIO[3]:DIO[27] || GPIO[3]:DIO[27] || dio1 || ||
     32
     331. This is the connector pinout.
     342. This is the signal name from the [http://www.gateworks.com/usermanuals ​Catalina hardware manuals]
     353. This is the bank_pin name that can be used in U-Boot (see [wiki:gpio#uboot here])
     364. This is the name provided to Linux via gpio-line-names in the device-tree (see [wiki:gpio#gpiolib here])
     375. 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 [https://trac.gateworks.com/wiki/linux/devicetree#Venice here]
     38
     39Note that all signals (unless noted in notes) are 3.3V tolerant.
     40
     41Note that any GPIO can be used for the following:
     42 - an additional SPI chip-select for those boards that have a SPI bus connector
     43 - a 'bit-banged' PWM (using CPU timers)
     44 - a 'bit-banged' I2C bus (using CPU timers)
     45 - a 'bit-banged' MDIO bus (using CPU timers)
     46
     47=== How to Gain More GPIO or Pinmux
     48
     49Read more about gaining more GPIOs or re-assigning via pinmuxing [https://trac.gateworks.com/wiki/linux/devicetree#Venice here]
     50
     51=== GPIO Mapping Table
     52
     53Please see the generic Linux GPIO conversion here: [wiki:gpio#GPIOmapping]
     54
     55
     56= Useful links
     57 * [wiki:gpio Linux GPIO and GPIO basics]
     58  - [wiki:gpio#gpiolib Linux GPIO usage]
     59  - [wiki:gpio#uboot U-Boot GPIO usage]
     60 * [wiki:linux/pwm Configuring PWM Hardware]
     61 * [wiki:I2C Linux I2C]
     62 * Read more about gaining more GPIOs via pinmuxing [https://trac.gateworks.com/wiki/linux/devicetree#Venice here]