-
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
drivers: interrupt_controller: Add driver for NXP's irqsteer #62776
drivers: interrupt_controller: Add driver for NXP's irqsteer #62776
Conversation
d2f5b78
to
99c015a
Compare
Will keep this as a draft until MIMX8QM6 support is added + HAL changes are merged. |
863b0e9
to
5bddfd3
Compare
The following west manifest projects have been modified in this Pull Request:
Note: This message is automatically posted and updated by the Manifest GitHub Action. |
5bddfd3
to
30ac677
Compare
Since forcing all of the i.MX8 DSP-based boards to use the IRQ_STEER driver would break SOF (Sound Open Firmware) (because of the fact that XTOS is yet to be deprecated on these boards), I can't make the switch to it yet. To better understand how the driver can be used, you may find an example of a DTS + the necessary configurations (for i.MX8MP) below:
|
30ac677
to
9830498
Compare
1279402
to
e34ed06
Compare
V2 changes:
|
@LaurentiuM1234 thanks this looks good to me! We need to sort out nxp hal dependencies and we are good to merge! |
Also please sort out twister run failures:
https://github.com/zephyrproject-rtos/zephyr/actions/runs/6929546819/job/18847501991?pr=62776 |
e34ed06
to
a531c56
Compare
Sorry for the slip-up. This should be fixed now. |
@@ -0,0 +1,15 @@ | |||
description: i.MX IRQ_STEER master | |||
|
|||
compatible: "nxp,irqsteer-master" |
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.
Where is this new binding being used.
#size-cells = <0>; | ||
|
||
clic: interrupt-controller@0 { | ||
compatible = "cdns,xtensa-core-intc"; |
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.
Looks like no SoC is using nxp,irqsteer-intc
compatible, can you clarify who will use the new interrupt controller driver
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.
i.MX8QM, QXP and MP. We can't enable it at the moment as it would break SOF. See example above of how enabling it would look like on MP.
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.
Sorry I don't see the example. I am trying to understand why this driver is needed if no one is using it.
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.
Because it's going to become a requirement later on when we switch SOF to using Zephyr native drivers on QM, QXP, and MP. I've decided to introduce the driver right now (despite knowing we can't enable it on any of said platforms ATM) instead of later on as it has no dependencies and it would ease the review process and save us some time.
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.
@mmahadevan108 there was also a discussion here, about enabling UART interrupts on i.MX8MP, which will use irq-steer.
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.
@iuliana-prodan , thank you for pointing this PR. Can we add the UART work you mentioned as a separate commit as part of this PR?
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.
@mmahadevan108, not yet.
@LaurentiuM1234 checked this and "We can't enable the IRQ_STEER driver on any of the i.MX8 boards w/o fully switching to the Zephyr native drivers as this will lead to some awkward scenarios on SOF side."
See all his answer here.
Please update |
e3169e2
a531c56
to
e3169e2
Compare
Bump up hal_nxp revision to contain the IRQ_STEER-related changes. Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This commit introduces a new interrupt controller driver used for NXP's IRQ_STEER IP. Apart from introducing the driver itself, this commit contains the following changes: 1) Switch i.MX8MP to using the XTENSA core interrupt controller instead of the dummy irqsteer one. * this is required because the binding for the irqsteer driver is no longer a dummy one (since it's being used by the irqsteer driver). As such, to avoid having problems, switch to using another dummy binding. 2) Modify the irqsteer dummy binding such that it serves the IRQ_STEER driver's needs. Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This patch series adds a new interrupt controller driver used for NXP's irqsteer IP.
This patch series also includes the switch to using the new IRQ_STEER driver for NXP_ADSP_IMX8M SoC.