Changes between Version 60 and Version 61 of gsc


Ignore:
Timestamp:
08/26/2020 08:18:47 PM (4 years ago)
Author:
Tim Harvey
Comment:

removed dead link

Legend:

Unmodified
Added
Removed
Modified
  • gsc

    v60 v61  
    443443  * please see [#IRQ_GPIO_CHANGE here] regarding un-terminated inputs causing spurious GPIO_CHANGE events
    444444
    445 The [#inputdriver gsc-input kernel driver] will produce Linux Input events for the above interrupts.
     445The gpio-keys kernel driver will produce Linux Input events for the above interrupts.
    446446
    447447In addition, the user pushbutton state is available on a GPIO in case you need to do anything more flexible than the above built-in interrupt functionality:
     
    451451|| Laguna   || GW2387/GW2388/GW2391 || i2c/0-0023 pca9555 gpio0 || gpio100 ||
    452452
    453 An example of when you would want to use the pushbutton gpio is if you want to do something like determine if the user pushbutton has been held for a certain amount of time. This type of event is not available via the GSC interrupts and thus the [#inputdriver gsc-input kernel driver] because it involves starting a timer on a button-down event and counting the time expired before any button-up event occurs.
     453An example of when you would want to use the pushbutton gpio is if you want to do something like determine if the user pushbutton has been held for a certain amount of time. This type of event is not available via the GSC interrupts because it involves starting a timer on a button-down event and counting the time expired before any button-up event occurs.
    454454
    455455The Linux kernel gpio-keys and gpio-keys-polled (and OpenWrt [wiki:OpenWrt/gpio#button-hotplug-gw gpio-button-hotplug]) drivers can be used to create Linux Input events from pushbuttons connected to GPIO's however if you want this functionality, you can use the gsc-input driver which is already enabled in the Gateworks BSP's. Note that the gpio-keys/gpio-keys-polled/gpio-button-hotplug drivers use the pushbutton gpio in a kernel driver therefore you can not export the gpio to userspace, where-as the gsc-input driver uses GSC interrupts for its information and therefore does not take control over the gpio.
     
    457457BSP Specific Notes:
    458458 * OpenWrt:
    459   - the [#inputdriver gsc-input kernel driver] can be used to catch the built-in interrupts which can be produced by various pushbutton events
    460459  - the [wiki:OpenWrt/gpio#button-hotplug-gw gpio-button-hotplug] driver is enabled uses the pushbutton GPIO therefore it must be disabled if you want to export it for userspace access. Most likely you can get the functionality you need by using the [=#button-hotplug-gw OpenWrt button-hotplug-gw] package.
    461460   - The [wiki:OpenWrt/gpio#button-hotplug-gw gpio-button-hotplug] out-of-tree driver is an OpenWrt custom driver that takes the place of the in-kernel gpio-keys (KEYBOARD_GPIO) and gpio_keys_polled (KEYBOARD_GPIO_POLLED) drivers and instead of emiting linux input events it emits uevent messages to the button subsystem which tie into the OpenWrt hotplug daemon.
     
    466465  - see also http://wiki.openwrt.org/doc/howto/hardware.button
    467466 * Yocto:
    468   - the [#inputdriver gsc-input kernel driver] can be used to catch the built-in interrupts which can be produced by various pushbutton events
     467  - the gsc-input kernel driver can be used to catch the built-in interrupts which can be produced by various pushbutton events
    469468 * Android:
    470   - the [#inputdriver gsc-input kernel driver] can be used to catch the built-in interrupts which can be produced by various pushbutton events. There is also a key-layout file that maps these events to Android keys.
     469  - the gsc-input kernel driver can be used to catch the built-in interrupts which can be produced by various pushbutton events. There is also a key-layout file that maps these events to Android keys.
    471470
    472471In Summary you have a few options for performing actions based on user pushbutton events depending on your needs and BSP.