gpio command

Synopsis

gpio <input|set|clear|toggle> <pin>
gpio read <name> <pin>
gpio status [-a] [<bank>|<pin>]

The gpio command is used to access General Purpose Inputs/Outputs.

gpio input

Switch the GPIO pin to input mode.

gpio set

Switch the GPIO pin to output mode and set the signal to 1.

gpio clear

Switch the GPIO pin to output mode and set the signal to 0.

gpio toggle

Switch the GPIO pin to output mode and reverse the signal state.

gpio read

Read the signal state of the GPIO pin and save it in environment variable name.

gpio status

Display the status of one or multiple GPIOs. By default only claimed GPIOs are displayed. gpio status command output fields are:

<name>: <function>: <value> [x] <label>

function can take the following values:

output

pin configured in gpio output, value indicates the pin’s level

input

pin configured in gpio input, value indicates the pin’s level

func

pin configured in alternate function, followed by label which shows pinmuxing label.

unused

pin not configured

[x] or [ ] indicate respectively if the gpio is used or not.

label shows the gpio label.

Parameters

-a

Display GPIOs irrespective of being claimed.

bank

Name of a bank of GPIOs to be displayed.

pin

Name of a single GPIO to be displayed or manipulated.

Examples

Switch the status of a GPIO:

=> gpio set a5
gpio: pin a5 (gpio 133) value is 1
=> gpio clear a5
gpio: pin a5 (gpio 133) value is 0
=> gpio toggle a5
gpio: pin a5 (gpio 133) value is 1
=> gpio read myvar a5
gpio: pin a5 (gpio 133) value is 1
=> echo $myvar
1
=> gpio toggle a5
gpio: pin a5 (gpio 133) value is 0
=> gpio read myvar a5
gpio: pin a5 (gpio 133) value is 0
=> echo $myvar
0

Show the GPIO status:

=> gpio status
Bank GPIOA:
GPIOA1: func rgmii-0
GPIOA2: func rgmii-0
GPIOA7: func rgmii-0
GPIOA10: output: 0 [x] hdmi-transmitter@39.reset-gpios
GPIOA13: output: 1 [x] red.gpios

Bank GPIOB:
GPIOB0: func rgmii-0
GPIOB1: func rgmii-0
GPIOB2: func uart4-0
GPIOB7: input: 0 [x] mmc@58005000.cd-gpios
GPIOB11: func rgmii-0

Configuration

The gpio command is only available if CONFIG_CMD_GPIO=y. The gpio read command is only available if CONFIG_CMD_GPIO_READ=y.

Return value

If the command succeds the return value $? is set to 0. If an error occurs, the return value $? is set to 1.