| .. 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. |
| |
| Return value |
| ------------ |
| |
| If the command succeds the return value $? is set to 0. If an error occurs, the |
| return value $? is set to 1. |