Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
Управление GPIO из Linux
vgovseychuk
Добавлено 21.01.2016 11:24
0
Сообщение: 1
vgovseychuk
0

Пункты: 107
Регистрация: 20.01.2016
Добрый день!

Меня интересует возможность управления gpio из linux.
По идее GPIO сначала нужно экспортировать, но как узнать, какой пин нужно экспортировать? Например, я хочу вывести 1 на 28-ой пин 3-его порта. При этом не хочется помнить, что GPIO3.28 - это включение питания USB.
Нельзя ли как-то дать понять системе, например через dts, что этот пин занят юзером и дать к нему доступ сразу, задав к тому же прерывания от этого пина или дефолтное состояние?

Ну и код dts для примера. Led-ы работают сразу через /sys/class/leds , а вот gpio нет.
Код

gpio {
compatible = "mygpio";
pinctrl-names = "default";
pinctrl-0 = <&gpio_pins_3V3>;
gpio_USBHOST_VCCEN {
label = "usbvccen";
gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&leds_pins>;
power {/* POWER */
label = "power";
gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
status {/* ACT */
label = "status";
gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
};

Спасибо!
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.01.2016 12:54 Сообщение: 2
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Нельзя ли как-то дать понять системе, например через dts, что этот пин занят юзером


думаю что без этого gpio работать просто не будет, т.е. ответ тут не можно а нужно. Какая у вас плата ?
Спуститься к концу Подняться к началу
Персональная информация
vgovseychuk
Добавлено 21.01.2016 13:09 Сообщение: 3
vgovseychuk
0

Пункты: 107
Регистрация: 20.01.2016
Плата кастомная. Вопрос тут скорее в повышении удобства использования GPIO. Можно ли, допустим, назвать пин UsbOnGpio, и потом с ним работать из линукса, не экспортируя его каждый раз и не вспоминая, что же такое у нас GPIO125 ?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.01.2016 13:35 Сообщение: 4
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Можно ли, допустим, назвать пин UsbOnGpio, и потом с ним работать из линукса


не слышал про такое и сомневаюсь что появится когда-нибуть - интерфейс в sysfs универсальный и не зависит от конкретной реализации - там достачно номера, а внутри ядра

Цитата

При этом не хочется помнить, что GPIO3.28 - это включение питания USB.


это и не надо помнить - пин прописан в DTS, в драйверах используются именованные переменные.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux