2022-08-02 12:20:32 +00:00
|
|
|
.. SPDX-License-Identifier: GPL-2.0+:
|
|
|
|
|
2024-01-14 13:53:13 +00:00
|
|
|
.. index::
|
|
|
|
single: gpio (command)
|
|
|
|
|
2022-08-02 12:20:32 +00:00
|
|
|
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.
|
2022-08-30 14:56:28 +00:00
|
|
|
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
|
|
|
|
----------
|
2022-08-02 12:20:32 +00:00
|
|
|
|
|
|
|
-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
|
|
|
|
|
2022-08-30 14:56:28 +00:00
|
|
|
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
|
|
|
|
|
2022-08-02 12:20:32 +00:00
|
|
|
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.
|