Hi,
I'm using iMX6ULL custom board. In my application, I read data from two AFE4490 and iMX6 reads data registers after the ADC_READY interrupt(pulse width 0.24us). I configured ADC_READY pins as gpio-keys. In ISR, it generates a uevent as below
static void gpio_keys_gpio_work_func(struct work_struct *work)
{
struct gpio_button_data *bdata =container_of(work, struct gpio_button_data, work.work);
char *envp[2];
char state_buf[10];
if (bdata->irq == 36) {
snprintf(state_buf, sizeof(state_buf),"STATE=%s", "1");
envp[0] = state_buf;
envp[1] = NULL;
kobject_uevent_env(&bdata->input->dev.kobj, KOBJ_ONLINE, envp);
}
}
iMX6 generates interrupts on ADC_READY signal.
1. But i'm not getting any events at userspace. What's the issue in the configuration?
2. After 30 minutes, kernel panic occurs due to out of Memory issue. How to clear uevent buffer?
Best Regards
Hi mathew_k_t
one can try to decrease frequency of interrupt signal, make ISR as short as possible
and further debug it using AN4553 Using Open Source Debugging Tools for Linux on i.MX Processors
https://www.nxp.com/docs/en/application-note/AN4553.pdf
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi,
Thank you Igor for your response.
We cannot reduce frequency of interrupt signal, this much samples are necessary for our application.
Could you suggest an idea to clear uevent buffer(to avoid out of memory issue)