Включить пробуждение GPIO в Embedded Linux

Я пытаюсь включить событие пробуждения для GPIO во встроенном Linux, после некоторого поиска я понял, как это сделать, но когда я пытаюсь это сделать:

echo enabled > /sys/class/gpio/gpio<n>/power/wakeup

я получил

write error: Invalid argument

Означает ли это, что он не поддерживается оборудованием? или мне нужно что-то включить в ядре?

Редактировать:

Просто для протокола: sysfs GPIO включен и работает нормально, я могу читать/записывать значения GPIO, но я не могу включить событие пробуждения, я читал ядро ​​documentation и там написано:

«Входы часто могут использоваться как сигналы IRQ, часто запускаемые по фронту, но иногда по уровню. Такие IRQ можно настроить как события пробуждения системы, чтобы вывести систему из состояния низкого энергопотребления».

Итак, мне интересно, нужно ли настраивать события пробуждения для GPIO в ядре? и если аппаратное обеспечение не поддерживает это, почему у меня есть файл пробуждения в sysfs/class/gpio/gpio#/power/wakeup?


person iabdalkader    schedule 09.07.2012    source источник
comment
Это, вероятно, очень зависит от оборудования. Какое оборудование вы используете?   -  person fvu    schedule 09.07.2012
comment
Плата OLinuxino iMX233 с процессором ARM926J   -  person iabdalkader    schedule 09.07.2012


Ответы (1)


Убедитесь, что ваш драйвер GPIO, который может быть специфичным для вашей платы, поддерживает функцию пробуждения.

person A.G.    schedule 09.07.2012
comment
Любые намеки на то, что я должен искать? - person iabdalkader; 09.07.2012
comment
Сделайте lsmod и найдите, какой модуль GPIO вы используете. Драйверы GPIO находятся в папке drivers/gpio в исходном коде ядра. - person eepp; 09.07.2012
comment
Если вы можете читать/записывать значения GPIO, это означает, что загружен правильный драйвер, но вы должны проверить исходный код этого драйвера, поддерживается ли функция пробуждения. - person A.G.; 10.07.2012