gpio_qmsi: Add get_pending_int API

For AON peripherals on Quark SE C1000, an API is needed
to retrieve the interrupt status after wake up.
This enables the application to know the wake source before
enabling again the interrupts.
Add this API to the gpio as this is a wake event
on Quark SE C1000.

Jira: ZEP-1188

Change-Id: Icc4aa6617bf18402b7e5dc3aab779ec2964e1c5b
Signed-off-by: Julien Delayen <julien.delayen@intel.com>
This commit is contained in:
Julien Delayen 2016-11-03 13:44:34 +00:00 committed by Anas Nashif
commit bd6285a3f1
2 changed files with 32 additions and 0 deletions

View file

@ -399,6 +399,14 @@ static inline int gpio_qmsi_disable_callback(struct device *port,
return 0;
}
static uint32_t gpio_qmsi_get_pending_int(struct device *dev)
{
const struct gpio_qmsi_config *gpio_config = dev->config->config_info;
qm_gpio_t gpio = gpio_config->gpio;
return QM_GPIO[gpio]->gpio_intstatus;
}
static const struct gpio_driver_api api_funcs = {
.config = gpio_qmsi_config,
.write = gpio_qmsi_write,
@ -406,6 +414,7 @@ static const struct gpio_driver_api api_funcs = {
.manage_callback = gpio_qmsi_manage_callback,
.enable_callback = gpio_qmsi_enable_callback,
.disable_callback = gpio_qmsi_disable_callback,
.get_pending_int = gpio_qmsi_get_pending_int,
};
static int gpio_qmsi_init(struct device *port)