-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Document interrupts in pciex4_reset=0 mode #3914
Comments
I guess this is a request for extra information in https://datasheets.raspberrypi.com/rp1/rp1-peripherals.pdf ? ping @timg236 in case he's able to provide a quick answer to any of the firmware-related questions. |
The 2712 bootloader doesn't use any interrupts except for the VPU timer. It's all polled, async state-machines because the VPU doesn't have anything else to do except wait for IO :) |
Not really, that's about how firmware maps the interrupts in its RP1 bring-up code, so whoever uses no reset could use the HW. |
Oh, thanks for the fast reply! Will know, yet it would be great if it's explicitly noted in the docs for |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
There is a firmware option
pciex4_reset
that could allow us to not reset the RP1-facing PCIe root complex upon transitioning to the kernel. This keeps RP1 peripherals memory-mapped and their registers are available for access by low-level software such as kernel or bootloader without PCIe or RP1 driver.This works well for using UART, GPIO and similar peripherals on the RP1, but nothing is known about where do interrupts go, and these seem pretty much necessary to work with DWC3 or MACB peripherals in the RP1. Could you please document how are these interrupts configured by the firmware to access peripherals (at least DWC3 cores) or if not, how does the firmware manage to access USB3 storage without DWC3 interrupts. Thank you!
The text was updated successfully, but these errors were encountered: