Пакеты поддержки модулей для ЗОСРВ «Нейтрино» > ARMv7 > BSP для OrangePi PC Allwinner H3 > Описание компонентов > Список компонентов, входящих в состав ППМ > gpio-sunxi



gpio-sunxi

Менеджер ресурсов GPIO для платформ семейства Allwinner Sunxi

Синтаксис:

gpio-sunxi [опции]

Опции:

-v
Вывести расширенную информацию. Чем больше символов v, тем более подробная информация выводится.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

armv7

Описание:

gpio-sunxi управляет ресурсами GPIO для платформ семейства Allwinner Sunxi. За номерами контроллеров GPIO закреплены последовательно порты A, C, D, E, F, G, L.

Присутствует два варианта записи установки пинов:

echo "<gpio_number> <gpio_pin_number> <value|i|o>" > /dev/gpio

echo "P<pin_number> <value|i|o>" > /dev/gpio

Где gpio_number - номер контроллера GPIO; gpio_pin_number - номер пина контроллера GPIO; pin_number - номер пина среди всех контроллеров GPIO.

Для более удобного обращения к пинам GPIO через библиотечные функции в заголовочном файле <hw/sunxi-gpio.h> определены следующие макросы:

SUNXI_GPIO_CNT
Количество GPIO контроллеров (7)
SUNXI_GPIO_BANK_SIZE
Размер GPIO контроллера (32)
SUNXI_GPIO_GET_PIN_NUM(gpio_port, gpio_pin_num)
Получение номера GPIO пина среди всех контроллеров

Обращение к GPIO контроллерам буквенным обозначением:

PIO_PORT_A
gpio0
PIO_PORT_C
gpio1
PIO_PORT_D
gpio2
PIO_PORT_E
gpio3
PIO_PORT_F
gpio4
PIO_PORT_G
gpio5
PIO_PORT_L
gpio6

Примеры:

Чтение состояний и направлений GPIO:

# cat /dev/gpio gpio0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0i 0i 0i 0i 0i 0i 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i gpio1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i gpio2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i gpio3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i gpio4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0o 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i gpio5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0o 0o 0o 0o 0o 0o 0o 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i gpio6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0o 0o 0o 0o 0o 0o 0o 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i 0i

Суффикс i - означает, что вывод в режиме вход. Суффикс o - означает, что вывод в режиме выход.


Caution: Статус "i" не гарантирует режим ввода: пин может быть мультиплексирован на периферию или быть отключен.

Установка пина 1 для GPIO0 (Порт A) в режим выхода:

echo "0 1 o" > /dev/gpio

Установка пина 1 для GPIO2 (Port D) в состояние "высокий":

echo "P65 1" > /dev/gpio

Классификация:

BSP для систем на базе процессора Allwiner H3, драйверы




Предыдущий раздел: перейти