Встроенный - ключ GPIO не регистрируется - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь сделать пользовательскую кнопку питания на NVIDIA TX2. Кнопка находится на пользовательском плате расширения ввода-вывода, подключенном к порту i2c. У меня есть код для кнопки в дереве устройств:

gpio-custom-keys {
    compatible = "gpio-keys";
    gpio-keys,name = "gpio-keys";

    custompower {
        label = "Custom Power";
        gpios = <&ib_gpio_expander 12 1>;
        linux,code = <KEY_POWER>;
        gpio-key,wakeup;
    };
};

Когда я использую cat / sys / kernel / debug / gpio, он перечисляет плату ввода-вывода, как и положено, но не перечисляет ключ питания, который я сделал. Вот что он показывает:

GPIO 208-223, i2c / 1-0074, tca9539, могут спать:

GPIO 256-319, platform / c2f0000.gpio, tegra-gpio-aon: gpio-272 (| temp_alert) в привет
gpio-298 (| cs_sel_gpio) вне lo
gpio-312 (| Power) в привет
gpio-313 (| Увеличение громкости) в hi
gpio-314 (| уменьшение громкости) в hi
gpio-315 (| wifi-wake-ap) в lo
gpio-316 (| bt_host_wake) в lo

Во втором разделе отображаются устройства на самой материнской плате. Почему мой ключ не регистрируется в i2c / 1-0074, в то время как клавиши включения и регулировки громкости регистрируются.

ДОПОЛНИТЕЛЬНО: я переименовал свой ключевой узел в gpio-custom-keys. Перед этим машина загрузится, а клавиши питания и громкости не будут зарегистрированы. Я в порядке с этим, но пользовательский ключ все еще не регистрировался, переименование узла вернуло ключи по умолчанию.

...