Version 1 (modified by 4 years ago) (diff) | ,
---|
Laguna Digital IO
The intent of this page is to provide information about Laguna single board computers off-board digital IO signals.
DIO Mapping
Laguna baseboards provide digital IO signals to an off-board connector. These DIO's are provided by the Laguna Gateworks System Controller (GSC) which emulates a PCA9555 I2C port expander. Each GPIO controller gets mapped to a range of Linux gpio's by 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 GPIO controllers are mapped. For Laguna this mapping is configured by the laguna board support file which also registers them with the Linux kernel thus there is no need to 'export' them.
The various Laguna product hardware manuals contain a table of what pins on the Digital IO connector routes to what CN3XXX GPIO. For convenience this information is also provided in the table below.
Note that all four DIO signals contain an internal weak pulldown approximately 50kohm.
Laguna GPIO Mapping:
Board | DIO1 | Connector2 | Controller / GPIO3 | Linux gpio 4 | Termination5 | Notes |
---|---|---|---|---|---|---|
GW2388-4 | DIO0 | J9.1 | PCA9555 i2c0-0x23 P1.0 | gpio-108 | 22.1ohm R/C/TVS termination | |
DIO1 | J9.3 | PCA9555 i2c0-0x23 P1.1 | gpio-109 | 22.1ohm R/C/TVS termination | ||
DIO2 | J9.5 | PCA9555 i2c0-0x23 P1.2 | gpio-110 | 22.1ohm R/C/TVS termination | ||
DIO3 | J9.7 | PCA9555 i2c0-0x23 P1.3 | gpio-111 | 22.1ohm R/C/TVS termination | ||
DIO3 | J9.8 | PCA9555 i2c0-0x23 P1.4 | gpio-112 | 22.1ohm R/C/TVS termination | ||
GND | J9.10 | - | - | |||
GW2387 | DIO0 | J2.2 | PCA9555 i2c0-0x23 P1.0 | gpio-108 | 332ohm R/C/TVS termination | |
DIO1 | J2.4 | PCA9555 i2c0-0x23 P1.1 | gpio-109 | 332ohm R/C/TVS termination | ||
DIO2 | J2.6 | PCA9555 i2c0-0x23 P1.2 | gpio-110 | 332ohm R/C/TVS termination | ||
DIO3 | J2.8 | PCA9555 i2c0-0x23 P1.3 | gpio-111 | 332ohm R/C/TVS termination | ||
DIO3 | J2.10 | PCA9555 i2c0-0x23 P1.4 | gpio-112 | 332ohm R/C/TVS termination | ||
GND | J2.9 | - | - | |||
GW2383 | DIO0 | J9.5 | PCA9555 i2c0-0x23 P0.0 | gpio-100 | 332ohm R/C/TVS termination | |
DIO1 | J9.7 | PCA9555 i2c0-0x23 P0.1 | gpio-101 | 332ohm R/C/TVS termination | ||
GPIO0 | J9.6 | CNS3XXX GPIOA-3 | gpio-3 | 22.1ohm R termination | ||
GPIO1 | J9.8 | CNS3XXX GPIOA-8 | gpio-8 | 22.1ohm R termination | ||
GND | J9.9 | - | - | |||
VDD_3P3 | J9.10 | - | - | 1.0A max | ||
GW2382 | DIO0 | J8.5 | PCA9555 i2c0-0x23 P0.0 | gpio-100 | RC/TVS termination | |
DIO1 | J8.7 | PCA9555 i2c0-0x23 P0.1 | gpio-101 | RC/TVS termination | ||
GPIO0 | J8.6 | CNS3XXX GPIOA-3 | gpio-3 | 22.1ohm R termination | ||
GPIO1 | J8.8 | CNS3XXX GPIOA-8 | gpio-8 | 22.1ohm R termination | ||
GND | J9.9 | - | - | |||
VDD_3P3 | J9.10 | - | - | 1.0A max | ||
GW2380 | DIO0 | J4.3 | PCA9555 i2c0-0x23 P0.0 | gpio-100 | 22.1ohm R termination | |
DIO1 | J4.5 | PCA9555 i2c0-0x23 P0.1 | gpio-101 | 22.1ohm R termination | ||
DIO2 | J4.10 | PCA9555 i2c0-0x23 P0.2 | gpio-102 | 22.1ohm R termination | ||
DIO3 | J4.8 | PCA9555 i2c0-0x23 P0.3 | gpio-103 | 22.1ohm R termination | ||
GPIO0 | J8.6 | CNS3XXX GPIOA-3 | gpio-3 | 22.1ohm R termination | ||
GPIO1 | J8.8 | CNS3XXX GPIOA-8 | gpio-8 | 22.1ohm R termination | ||
GND | J4.6 | - | - | |||
VDD_3P3 | J4.1 | - | - | 1.0A max |
- This is the signal name from the Laugna hardware manuals
- This is the connector pinout
- This is the GPIO as seen by the GPIO controller:
- PCA9555 i2c0-0x23 can source/sink approximately 30mA with an internal pull-up of appx 100k
- CN3XXX GPIO can source/sink approximately 10uA with no internal pull-up/down
- This is the gpio mapped in linux accessible via
/sys/class/gpio
. - Electrical termination includes in some cases a series resistor (R), a capacitor to GND (C), and a Transient Voltage Suppression (TVS) diode
Software GPIO Configuration
Please visit this link to find out more information about using GPIO's in Linux
Configuring GPIO Hardware
The CN3XXX GPIO signals do not have the ability to configure their drive strength or other I/O characteristics.