-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
dts: unable to access the interrupt controller in interrupts-extended
#66682
Comments
Isn't this related to what @bjarki-trackunit explained on this weeks architecture working group call? |
Not really sure what's discussed in the meeting, is there a pointer to that? |
|
Hi, this is in fact part of that PR, there are a few commits which update gen_defines.py and add the required macros to get the interrupt controller as specified by the devicetree section 2.4.1 See the additions to devicetree.h (DT_INTC(node_id) etc.) :) |
Just had a look at the (updated) RFC, seems like I could have sit back and relax! |
agreed, I will split it into its own PR shortly :) |
Is your enhancement proposal related to a problem? Please describe.
As things stand today, there is no way for a driver to know it's parent interrupt controller if it is specified in the
interrupts-extended
instead of theinterrupt-parent
property.For example, we can get the interrupt controller of a
uart
node can easily:zephyr/dts/riscv/virt.dtsi
Lines 27 to 34 in 6e678e3
with:
but there's no way to get the interrupt controller for the following node:
zephyr/dts/riscv/virt.dtsi
Lines 165 to 183 in 6e678e3
Even though the devicetree has all the info about the hardware, the application has no way to tap to those info. Having such ability would be able to simplify the generation of the lookup table for multi-level interrupt controllers, see
multilevel_irq.c
.Describe the solution you'd like
Output the interrupt controller node(s) in the
interrupts-extended
properties, alongside with theinterrupt number
andpriority
if available.Additional context
The text was updated successfully, but these errors were encountered: