From 68708c0f3a94ef2cfd6f5128c826599b6b91bb82 Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Wed, 27 Mar 2024 20:43:11 +0800 Subject: [PATCH] fix aic irq param num and add usbh_init api --- port/ehci/usb_glue_aic.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/port/ehci/usb_glue_aic.c b/port/ehci/usb_glue_aic.c index e986f9f4..0d0db4d6 100644 --- a/port/ehci/usb_glue_aic.c +++ b/port/ehci/usb_glue_aic.c @@ -12,7 +12,7 @@ extern void USBH_IRQHandler(uint8_t busid); -static void aic_ehci_isr(void *arg) +static void aic_ehci_isr(int vector, void *arg) { struct usbh_bus *bus = (struct usbh_bus *)arg; extern void USBH_IRQHandler(uint8_t busid); @@ -139,3 +139,35 @@ void usb_ehci_dcache_clean_invalidate(uintptr_t addr, uint32_t len) { aicos_dcache_clean_invalid_range((size_t *)addr, len); } + +int usbh_init(void) +{ +#if defined(AIC_USING_USB0_HOST) || defined(AIC_USING_USB1_HOST) + int bus_id = 0; +#endif + +#ifdef AIC_USING_USB0_HOST + usbh_initialize(bus_id, USB_HOST0_BASE); + bus_id++; +#endif + +#ifdef AIC_USING_USB1_HOST + usbh_initialize(bus_id, USB_HOST1_BASE); + bus_id++; +#endif + + return 0; +} + +#if defined(KERNEL_RTTHREAD) +#include +#include + +INIT_ENV_EXPORT(usbh_init); + +#if defined (RT_USING_FINSH) +#include + +MSH_CMD_EXPORT_ALIAS(lsusb, lsusb, list usb device); +#endif +#endif \ No newline at end of file