| 1 | [[PageOutline]] |
| 2 | |
| 3 | = Newport Digital IO |
| 4 | The intent of this page is to provide information about Newport single board computers off-board digital IO signals. |
| 5 | |
| 6 | == DIO Mapping |
| 7 | 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. |
| 8 | |
| 9 | 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. |
| 10 | |
| 11 | Note that all four DIO signals contain an internal weak pulldown approximately 50kohm. |
| 12 | |
| 13 | Newport GPIO Mapping: |
| 14 | ||= Board =||= DIO^^^1^^^ =||= Connector^^^2^^^ =||= CN80XX GPIO^^^3^^^ =||= Linux gpio ^^^4^^^ =||= Termination^^^5^^^ || Notes^^^6^^^ =|| |
| 15 | || GW640x || DIO0 || J15.1 || GPIO_24 || gpio-464 || RC/TVS termination || || |
| 16 | || || DIO1 || J15.2 || GPIO_25 || gpio-465 || RC/TVS termination || || |
| 17 | || || DIO2 || J15.3 || GPIO_26 || gpio-466 || RC/TVS termination || || |
| 18 | || || DIO3 || J15.4 || GPIO_27 || gpio-467 || RC/TVS termination || build option exists to route to a 0-5V ADC || |
| 19 | || || GND || J15.5 || - || - || || || |
| 20 | |||| |
| 21 | || GW630x || DIO0 || J13.1 || GPIO_24 || gpio-464 || RC/TVS termination || || |
| 22 | || || DIO1 || J13.2 || GPIO_25 || gpio-465 || RC/TVS termination || || |
| 23 | || || DIO2 || J13.3 || GPIO_26 || gpio-466 || RC/TVS termination || || |
| 24 | || || DIO3 || J13.4 || GPIO_27 || gpio-467 || RC/TVS termination || build option exists to route to a 0-5V ADC || |
| 25 | || || GND || J13.5 || - || - || || || |
| 26 | |||| |
| 27 | || GW620x || DIO0 || J10.1 || GPIO_24 || gpio-464 || RC/TVS termination || || |
| 28 | || || DIO1 || J10.2 || GPIO_25 || gpio-465 || RC/TVS termination || || |
| 29 | || || DIO2 || J10.3 || GPIO_26 || gpio-466 || RC/TVS termination || build option exists to route to a 0-5V ADC || |
| 30 | || || DIO3 || J10.4 || GPIO_27 || gpio-467 || RC/TVS termination || build option exists to route to GSC User PB or Tamper || |
| 31 | || || GND || J10.5 || - || - || || || |
| 32 | || || VDD_3P3 || J10.6 || - || - || - || 1.0Amax; build option exists to route to VDD_5P0 || |
| 33 | |||| |
| 34 | || GW610x || DIO0 || J10.19 || GPIO_24 || gpio-464 || R termination || || |
| 35 | || || DIO1 || J10.20 || GPIO_25 || gpio-465 || R termination || || |
| 36 | || || DIO2 || J10.17 || GPIO_26 || gpio-466 || R termination || || |
| 37 | || || DIO3 || J10.18 || GPIO_27 || gpio-467 || R termination || || |
| 38 | || || GND || J10.2/4/6 || - || - || || || |
| 39 | || || VDD_3P3 || J10.1/3 || - || - || || 1.0A max || |
| 40 | || || VDD_5P0 || J10.5 || - || - || || 1.0A max || |
| 41 | 1. This is the signal name from the Newport hardware manuals |
| 42 | 2. This is the connector pinout |
| 43 | 3. This is the GPIO as seen by the CN80XX |
| 44 | 4. This is the gpio mapped in linux accessible via {{{/sys/class/gpio}}}. Note that you will have to manually export these (see [wiki:gpio]) |
| 45 | 5. Electrical termination includes an internal ~50kohm weak pull-down as well as the following if specified: |
| 46 | * '''RC''' consists of a 330ohm series current limit resistor and a 390pF cap to GND |
| 47 | * '''R''' consists of a 330ohm series current limit resistor |
| 48 | * '''TVS''' consists of a 5V-3.5PF IEC6100042 Transient Voltage Suppression diode |
| 49 | 6. Build options if specified requires a Gateworks Special - contacts sales@gateworks.com for details |
| 50 | |
| 51 | |
| 52 | = Software GPIO Configuration |
| 53 | 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). |
| 54 | |
| 55 | Please visit this link to find out more information about using GPIO's in Linux |
| 56 | * [wiki:gpio GPIO basics and Linux configuration] |
| 57 | |
| 58 | |
| 59 | = Configuring GPIO Hardware |
| 60 | The CN80XX GPIO signals do not have the ability to configure their drive strength or other I/O characteristics. |