| .. SPDX-License-Identifier: GPL-2.0+: | |
| .. index:: | |
| single: gpio (command) | |
| 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. |