[[PageOutline]] = Newport Digital IO The intent of this page is to provide information about Newport single board computers off-board digital IO signals. == DIO Mapping Newport baseboards provide 4 digital IO signals to an off-board connector. The CN81XX has a single GPIO blocks having 48 GPIO's. Note that only 32 of these are accessible on the CN80XX used on Newport boards. 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. The various Newport product hardware manuals contain a table of what pins on the Digital IO connector routes to what CN80XX 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. See Operating manual "Specifications", "Electrical" section for information on DIO max and min driving strength. PWM is not supported by the CN80XX SOC. Newport GPIO Mapping: ||= Board =||= DIO^^^1^^^ =||= Connector^^^2^^^ =||= CN80XX GPIO^^^3^^^ =||= Linux sysfsgpio ^^^4^^^ =||= Termination^^^5^^^ =||= Notes^^^6^^^ =|| || GW640x || DIO0 || J15.1 || GPIO_24 || gpio-488 || RC/TVS termination[[BR]]4.75k pull-up on GW640x-C+ || || || || DIO1 || J15.2 || GPIO_25 || gpio-489 || RC/TVS termination[[BR]]4.75k pull-up on GW640x-C+ || || || || DIO2 || J15.3 || GPIO_26 || gpio-490 || RC/TVS termination[[BR]]4.75k pull-up on GW640x-C+ || || || || DIO3 || J15.4 || GPIO_27 || gpio-491 || RC/TVS termination[[BR]]4.75k pull-up on GW640x-C+ || build option exists to route to a 0-5V ADC to GSC A13 || || || GND || J15.5 || - || - || || || || || VDD_3P3 || J4.1 || - || - || || 1.0Amax || || || VDD_5P0 || J3.1 || - || - || || 1.0Amax || |||| || GW630x || DIO0 || J13.1 || GPIO_24 || gpio-488 || RC/TVS termination[[BR]]4.75k pull-up on GW630x-E+ || || || || DIO1 || J13.2 || GPIO_25 || gpio-489 || RC/TVS termination[[BR]]4.75k pull-up on GW630x-E+ || || || || DIO2 || J13.3 || GPIO_26 || gpio-490 || RC/TVS termination[[BR]]4.75k pull-up on GW630x-E+ || || || || DIO3 || J13.4 || GPIO_27 || gpio-491 || RC/TVS termination[[BR]]4.75k pull-up on GW630x-E+ || build option exists to route to a 0-5V ADC to GSC A13 || || || GND || J13.5 || - || - || || || || || VDD_3P3 || J7.1 || - || - || || 1.0Amax || || || VDD_5P0 || J6.1 || - || - || || 1.0Amax || |||| || GW620x || DIO0 || J10.1 || GPIO_24 || gpio-488 || RC/TVS termination[[BR]]4.75k pull-up on GW620x-B+ || || || || DIO1 || J10.2 || GPIO_25 || gpio-489 || RC/TVS termination[[BR]]4.75k pull-up on GW620x-B+ || || || || DIO2 || J10.3 || GPIO_26 || gpio-490 || RC/TVS termination[[BR]]4.75k pull-up on GW620x-B+ || build option exists to route to a 0-5V ADC GSC A13 || || || DIO3 || J10.4 || GPIO_27 || gpio-491 || RC/TVS termination[[BR]]4.75k pull-up on GW620x-B+ || build option exists to route to GSC User PB or Tamper || || || GND || J10.5 || - || - || || || || || VDD_3P3 || J10.6 || - || - || - || 1.0Amax; build option exists to route to VDD_5P0 || || || VDD_5P0 || J12.1 || - || - || - || 1.0Amax; shared with FAN || |||| || GW610x || DIO0 || J10.19 || GPIO_24 || gpio-488 || R termination || || || || DIO1 || J10.20 || GPIO_25 || gpio-489 || R termination || || || || DIO2 || J10.17 || GPIO_26 || gpio-490 || R termination || || || || DIO3 || J10.18 || GPIO_27 || gpio-491 || R termination || || || || GND || J10.2/4/6 || - || - || || || || || VDD_3P3 || J10.1/3 || - || - || || 1.0A max || || || VDD_5P0 || J10.5 || - || - || || 1.0A max || 1. This is the signal name from the ​Newport hardware manuals 2. This is the connector pinout 3. This is the GPIO as seen by the CN80XX 4. This is the gpio mapped in linux accessible via the {{{sysfsgpio}}} interface at {{{/sys/class/gpio}}}. Note that you will have to manually export these (see [wiki:gpio]) 5. Electrical termination includes an internal ~50kohm weak pull-down as well as the following if specified: * '''RC''' consists of a 330ohm series current limit resistor and a 390pF cap to GND * '''R''' consists of a 330ohm series current limit resistor * '''TVS''' consists of a 5V-3.5PF IEC6100042 Transient Voltage Suppression diode 6. Build options if specified requires a Gateworks Special - contacts sales@gateworks.com for details = Software GPIO Configuration Each CN80XX GPIO can be pin-muxed to a variety of functions internal to the SoC including software controlled GPIO function (default), clock outputs, PTP (packet timestamp) outputs, UART TX/RX/DTR/RTS, SATA activity LED, additional SPI chip selects. For more detail on this, consult the [http://github.com/Gateworks/bdk-newport Cavium Board Diagnostics Kit source code] and/or the Cavium CN80XX Hardware Manual (obtained from Cavium under NDA). Please visit this link to find out more information about using GPIO's in Linux * [wiki:gpio GPIO basics and Linux configuration] = Configuring GPIO Hardware The CN80XX GPIO signals do not have the ability to configure their drive strength or other I/O characteristics.