This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux ARM GPIO don't control

GPIO_113、GPIO_114 don't control :
my kernel Log is:
[    0.000000] LY:::panther_init,gpio_get_value(113):ret=0
[    0.000000] LY:::panther_init,gpio_get_value(114):ret=0
[    0.000000] LY:::panther_init,gpio_get_value(18):ret=1
[    0.000000] LY:::panther_init,gpio_get_value(19):ret=1

[    2.837341] LY:::gpio_keys_setup_key,button->gpio=18
[    2.842529] LY:::gpio_keys_setup_key,gpio_request:error=0
[    2.848144] LY:::gpio_keys_setup_key,gpio_direction_input:error=0
[    2.854492] LY:::gpio_keys_setup_key,gpio_to_irq:irq=178
[    2.860107] LY:::gpio_keys_setup_key,button->gpio=19
[    2.865264] LY:::gpio_keys_setup_key,gpio_request:error=0
[    2.870910] LY:::gpio_keys_setup_key,gpio_direction_input:error=0
[    2.877258] LY:::gpio_keys_setup_key,gpio_to_irq:irq=179
[    2.882812] LY:::gpio_keys_setup_key,button->gpio=113
[    2.888061] LY:::gpio_keys_setup_key,gpio_request:error=0
[    2.893707] LY:::gpio_keys_setup_key,gpio_direction_input:error=0
[    2.900024] LY:::gpio_keys_setup_key,gpio_to_irq:irq=273
[    2.905578] LY:::gpio_keys_setup_key,button->gpio=114
[    2.910858] LY:::gpio_keys_setup_key,gpio_request:error=0
[    2.916473] LY:::gpio_keys_setup_key,gpio_direction_input:error=0
[    2.922821] LY:::gpio_keys_setup_key,gpio_to_irq:irq=274
[    2.928771] input: gpio-keys as /devices/platform/gpio-keys/input/
input0
[    2.936065] LY:2:gpio_keys_report_event,gpio_get_value:value=1
[    2.942138]
LY:::gpio_keys_report_event,gpio_keys_report_event:state=0,type=0,code=102,­gpio=18
[    2.951141] LY:2:gpio_keys_report_event,gpio_get_value:value=1
[    2.957214]
LY:::gpio_keys_report_event,gpio_keys_report_event:state=0,type=0,code=158,­gpio=19
[    2.966186] LY:2:gpio_keys_report_event,gpio_get_value:value=0
[    2.972259]
LY:::gpio_keys_report_event,gpio_keys_report_event:state=1,type=0,code=115,­gpio=113
[    2.981353] LY:2:gpio_keys_report_event,gpio_get_value:value=0
[    2.987426]
LY:::gpio_keys_report_event,gpio_keys_report_event:state=1,type=0,code=114,­gpio=114
GPIO_18、GPIO_19默认情况下获取到的电平为高,但GPIO_113、GPIO_114在内核驱动里所获取到的电平为低(用
gpio_get_value函数获取),但在硬件电路上表笔测到的GPIO113、GPIO_114为高,已经将CAM驱动的配置Disabled掉
防止csi2_dx1/csi2_dy0的影响,而且硬件电路中没确定没有使用GPIO113/114的情况。

cat /proc/interrutpts
178:          5        GPIO  home
179:          5        GPIO  back
273:          0        GPIO  sound_plus
274:          0        GPIO  sound_minus
当按按键后发现GPIO_113/114没有变化。

GPIO18/19/113/114的使用如下:
static struct gpio_keys_button gpio_buttons[] = {

        {
                .code                   = KEY_HOME,
                .gpio                   = 18,
                .desc                   = "home",
                .active_low             = true,
        },
        {
                .code                   = KEY_BACK,
                .gpio                   = 19,
                .desc                   = "back",
                .active_low             = true,
        },
        {
                .code                   = KEY_VOLUMEUP,
                .gpio                   = 113,
                .desc                   = "sound_plus",
                .active_low             = true,
        },
        {
                .code                   = KEY_VOLUMEDOWN,
                .gpio                   = 114,
                .desc                   = "sound_minus",
                .active_low             = true,
        },

};

HOME/BACK的功能用GPIO_18/19已经实现。