/
HummingBoard Pro/Base GPIOs

HummingBoard Pro/Base GPIOs

Description

[HB GPIO] GPIO, or General-Purpose Input/Output is a mechanism that allows a computing board to provide electrical contacts for signalling to a wide range of external devices. These pins allow commerical and hobbyist projects to do things like communicate with a “breakout board”, or individual physical modules – like a motor.

GPIO interfaces are different than other capabilities on a circuit board (like LVDS or the RTC integration) in that they provide a non-specific electrical interface. While these other interfaces have a set specification and set capability for an intended use (connecting to an LCD panel or a real-time clock, in the cited examples respectively) GPIO pins are used at the developer’s discretion. You could connect a motor. Or a temperature sensor. Or a lock solenoid. Or any one of millions of other device combinations for bringing information into the system – or sending information out from the HummingBoard device.

 

Pin header schematics

26 pin header

GPIO Header Pinout

Header Pin

Signal

Pad Name

GPIO Name

Linux GPIO Number (*)

Header Pin

Signal

Pad Name

GPIO Name

Linux GPIO Number (*)

J2 [pin 1]

3.3V

-

-

-

J2 [pin 2]

5V

-

-

-

J2 [pin 3]

I2C_SDA

EIM_D18

GPIO3_IO18

82

J2 [pin 4]

5V

-

-

-

J2 [pin 5]

I2C_SCL

EIM_D17

GPIO3_IO17

81

J2 [pin 6]

GND

-

-

-

J2 [pin 7]

GPIO 1

GPIO_1

GPIO1_IO01

1

J2 [pin 8]

UART TX

-

-

-

J2 [pin 9]

GND

-

-

-

J2 [pin 10]

UART RX

-

-

-

J2 [pin 11]

GPIO 73

EIM_DA9

GPIO3_IO09

73

J2 [pin 12]

GPIO 72

EIM_DA8

GPIO3_IO08

72

J2 [pin 13]

GPIO 71

EIM_DA7

GPIO3_IO07

71

J2 [pin 14]

GND

-

-

-

J2 [pin 15]

GPIO 70

EIM_DA6

GPIO3_IO06

70

J2 [pin 16]

GPIO 194

SD3_CMD

GPIO7_IO02

194

J2 [pin 17]

3.3V

-

-

-

J2 [pin 18]

GPIO 195

SD3_CLK

GPIO7_IO03

195

J2 [pin 19]

SPI_MOSI

EIM_CS1

GPIO2_IO24

56

J2 [pin 20]

GND

-

-

-

J2 [pin 21]

SPI_MISO

EIM_OE

GPIO2_IO25

57

J2 [pin 22]

GPIO 67

EIM_DA3

GPIO3_IO03

67

J2 [pin 23]

SPI_SCLK

EIM_CS0

GPIO2_IO23

55

J2 [pin 24]

ECSPI2_SS0

EIM_RW

GPIO2_IO26

58

J2 [pin 25]

GND

-

-

-

J2 [pin 26]

ECSPI2_SS1

EIM_LBA

GPIO2_IO27

59

 

Pins 16 and 18 are actually SD3_CMD and SD3_CLK signals that can be muxed to support flex can TX/RX interface (i.e. those can be connected to an external CAN).
(*) SPI and I2C can also be muxed to be GPIO

Serial UART port access

The UART port for debug can be accessed on the 26 pin header as follows –

Pin 6/9/14/20/25 GND
Pin 1 3.3V
Pin 8 buffered i.MX6 UART TX – pulled up to 3.3v
Pin 10 buffered i.MX6 UART RX – pulled up to 3.3v
Notice that the pin number starts as pin #1 on the edge of the board, towards the micro-USB connector; then number #2 is the one towards the corner of the board.
Accessing GPIO from Linux user space

General

Please have a look at WiringX, which also supports the Hummingboard:

http://wiringx.org/

Manual

  • The external GPIOs are available under the /sys/class/gpio folder in Linux.

  • To control on the GPIO pins you need to calculate the GPIO number XX (*) and run the commands below:

Get the current list of reserved GPIO

mount -t debugfs none /sys/kernel/debug cat /sys/kernel/debug/gpio

Reserve GPIO pin

# Export GPIO XX echo XX > /sys/class/gpio/export

Set GPIO pin Direction

echo "out" > /sys/class/gpio/gpioXX/direction # or echo "in" > /sys/class/gpio/gpioXX/direction

Set the value of an output pin

Get the value of an input pin

Free GPIO pin

 

To calculate the GPIO number XX:
XX = linux gpio number = (gpio_bank - 1) * 32 + gpio_bit

Example: To calculate the GPIO number of pin header J2 [pin 12] Pad Name GPIO3_IO08

GPIO Bank = 3, GPIO bit = 8

XX = (3 - 1) * 32 + 8 = 72

You can take the GPIO Number from the above table (*)

External Links and References

 

Related content

HummingBoard Gate Quick Start Guide
HummingBoard Gate Quick Start Guide
More like this
HummingBoard CBi Quick Start Guide
HummingBoard CBi Quick Start Guide
Read with this
HummingBoard Edge/Gate GPIOs
HummingBoard Edge/Gate GPIOs
More like this
HummingBoard Pro Quick Start Guide
HummingBoard Pro Quick Start Guide
Read with this
HummingBoard Edge/Gate/CBi GPIO Pins Control
HummingBoard Edge/Gate/CBi GPIO Pins Control
More like this
HummingBoard CBi RS485 and CANBus pin mapping
HummingBoard CBi RS485 and CANBus pin mapping
Read with this

SolidRun Ltd.