-
Notifications
You must be signed in to change notification settings - Fork 7.3k
drivers: uhc: implement UHC shim driver for NXP KHCI and EHCI controller #77973
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
base: main
Are you sure you want to change the base?
drivers: uhc: implement UHC shim driver for NXP KHCI and EHCI controller #77973
Conversation
The following west manifest projects have changed revision in this Pull Request:
⛔ DNM label due to: 1 project with PR revision Note: This message is automatically posted and updated by the Manifest GitHub Action. |
96b82c7
to
9d544e0
Compare
Any plans to enable 1170 and 1180 as well? |
9d544e0
to
ec3466f
Compare
After this basic NXP UHC controller driver merges, I think next step is implementing the host stack. Because the host stack is not ready, so supporting more platforms does not make much sense. |
f5b85c1
to
e029aff
Compare
Hi @jfischer-no In the NXP host controller driver, there is one task function that process the interrupt of the controller and the transfers by using the |
e029aff
to
291ad32
Compare
drivers/usb/uhc/Kconfig.mcux
Outdated
default y | ||
depends on DT_HAS_NXP_UHC_EHCI_ENABLED | ||
select EVENTS | ||
select NOCACHE_MEMORY if ARCH_HAS_NOCACHE_MEMORY_SUPPORT |
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.
select NOCACHE_MEMORY if CPU_HAS_DCACHE
? I see it is different in drivers/usb/udc/Kconfig.mcux
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.
Updated.
@MarkWangChinese Do you want to wait for #86920 or get this PR in and remove the bounce buffers afterwards? |
1438a47
1438a47
to
cea054b
Compare
Thanks @jfischer-no @tmon-nordic I rebase the pr and add one new commit that resolve the isr conflict between KHCI/EHCI host and device driver because the same IP support both host and device function. If both the device and host driver is enabled for the same IP instance, need to use the DYNAMIC_INTERRUPTS. Please help to review. |
cea054b
to
797f1ef
Compare
@MarkWangChinese Please fix style issues reported by compliance checks. |
797f1ef
to
d8d68ab
Compare
It is based on SDK USB Host controller driver. Support NXP EHCI, KHCI, OHCI and IP3516HS controllers. Signed-off-by: Mark Wang <yichang.wang@nxp.com>
…5s28 add uhc related items to dts. add clock initialization add BM4 if CONFIG_USB_UHC_NXP_KHCI is enabled add pin mux update board related CMakeLists.txt update sdk-ng CMake to include NXP controller drivers update west.yml to contain the hal_nxp pr Signed-off-by: Mark Wang <yichang.wang@nxp.com>
add uhc related items to dts. Signed-off-by: Mark Wang <yichang.wang@nxp.com>
Because the same IP supports both device and host, so use DYNAMIC_INTERRUPTS for KHCI and EHCI if both device and host are enabled. Signed-off-by: Mark Wang <yichang.wang@nxp.com>
d8d68ab
to
debd1a2
Compare
Fixed. |
Enablet the NXP MCUX UHC drivers.
Add uhc support for frdm_k22f, rt1060, lpc55s69 and lpc55s28. frdm_k22f supports the KHCI controller, rt1060 supports the EHCI controller, lpc55s69 and lpc55s28 support the OHCI and IP3516HS controller.