-
Notifications
You must be signed in to change notification settings - Fork 7.3k
driver: gpio: update gpio_mcux.c driver #89020
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
driver: gpio: update gpio_mcux.c driver #89020
Conversation
GPIO interrupts do not work on MCXA, MCXA has ICR register but feature FSL_FEATURE_GPIO_HAS_INTERRUPT_CHANNEL_SELECT value is 0, can't use this feature to support ICR. So adjust feature judgment to adapt to mcxa156. Signed-off-by: Neil Chen <[email protected]>
#if (defined(FSL_FEATURE_GPIO_HAS_INTERRUPT_CHANNEL_SELECT) && \ | ||
FSL_FEATURE_GPIO_HAS_INTERRUPT_CHANNEL_SELECT) | ||
#if (defined(FSL_FEATURE_PORT_HAS_NO_INTERRUPT) && FSL_FEATURE_PORT_HAS_NO_INTERRUPT) || \ | ||
(!defined(FSL_FEATURE_SOC_PORT_COUNT)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the logic seems not correct. use to be FSL_FEATURE_GPIO_HAS_INTERRUPT_CHANNEL_SELECT but now FSL_FEATURE_PORT_HAS_NO_INTERRUPT, this could impact other platform
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi hake, as my comment in this PR, cannot use FSL_FEATURE_GPIO_HAS_INTERRUPT_CHANNEL_SELECT to judge if ICR register exist. This feature only use to judge if bitfield IRQS exist in ICR register. So suggest to use feature FSL_FEATURE_PORT_HAS_NO_INTERRUPT to do this judgment. This judgment is also used in our sdk, it can work fine. the comment you mentioned that this may impact other platform need to be considered, I tested the boards(frdmmcxn947,frdmmcxn236,frdmmcxa156,frdmmcxa153) I have, all can work fine. Could you help do some tests on other platform?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please take a look at #88979. this avoid such potential issue
@NeilChen93 can you enable |
Hi Hake, OK. I will do this update recently. |
I opened a similar pull request yesterday: #88979. Is this pull a follow up on mine? Duplicate perhaps? If duplicate and this is the pull that is going to fix the issue, then I am OK with mine being closed. |
@NeilChen93 I think @robertinant pr is much better. |
Hi hake, OK, I will close this PR. |
GPIO interrupts do not work on MCXA, MCXA has ICR register but feature FSL_FEATURE_GPIO_HAS_INTERRUPT_CHANNEL_SELECT value is 0, can't use this feature to support ICR. So adjust feature judgment to adapt to mcxa156.