-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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: renesas: ra: Handle interrupt numbers generation for Renesas RA series #78952
base: main
Are you sure you want to change the base?
Conversation
Add the map_renesas_ra_irq to handle interrupt number for Renesas RA series to avoid full of interrupt ID Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
Update interrupt for Renesas RA8 series, to use with dts python script. The target is to handle the interrupt ID allocation in build time Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
This update is to adapt the change for handling interrupt id allocation Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
This update is to adapt the change for handling interrupt id allocation Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
This update is to adapt the change for handling interrupt id allocation Signed-off-by: Tran Van Quy <quy.tran.pz@renesas.com>
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.
As discussed at length in #75946 and at the arch meeting, interrupt maps in the devicetree shall be used for mapping interrupts. I see there is some precedence with the map_arm_gic_irq_type
fn, but as the TODO just above the function suggests, this should be moved to the devicetree as well.
@bjarki-andreasen: We aware the discussion in #75946.
Thank you so much. |
The effect in the Zephyr ecosystem will not be felt heavily by this addition specifically, it will be felt when others want to do the same. The A platform, redefining what an IRQ number is, how IRQs are modeled in the devicetree, how the isr table is generated, which is different from all other platforms, is not scalable. The solution in this PR, is not scalable. The learning curve for any OS is already high, now users need to learn how each platform implements and manages interrupts? The fact is that we have a solution for interrupt mapping, which supports all platforms, including this one. It may not be perfectly tailored to the RA (I believe it is fine), but that is the case for any standard. |
This PR updates interrupt number for Renesas RA boards (for current supported boards, RA2L1 will be supported later) to avoid full of interrupt ID.
(related to PR #78579).
We will add
map_renesas_ra_irq
function ingen_defines.py
script to intervene in the generation of the device tree during build.Only nodes with
status = "okay";
will have their interrupt IDs generated as valid numbers indevicetree_generated.h
. The others will be assigned interrupt IDs with the unspecified value (0xff).This will help conserve the interrupt IDs allocated in
isr_table.c
.