Quellcode durchsuchen

moving irq to bsp for lpc17/40

hathach vor 6 Jahren
Ursprung
Commit
f5d737aa7e

+ 0 - 3
hw/bsp/ea4088qs/board.mk

@@ -17,9 +17,6 @@ MCU_DIR = hw/mcu/nxp/lpcopen/lpc40xx/lpc_chip_40xx
 # All source paths should be relative to the top level.
 LD_FILE = hw/bsp/ea4088qs/lpc4088.ld
 
-# TODO remove later
-SRC_C += src/portable/$(VENDOR)/$(CHIP_FAMILY)/hal_$(CHIP_FAMILY).c
-
 SRC_C += \
 	$(MCU_DIR)/../gcc/cr_startup_lpc40xx.c \
 	$(MCU_DIR)/src/chip_17xx_40xx.c \

+ 15 - 0
hw/bsp/ea4088qs/ea4088qs.c

@@ -113,6 +113,21 @@ void board_init(void)
   LPC_USB->StCtrl = 0x3;
 }
 
+//--------------------------------------------------------------------+
+// USB Interrupt Handler
+//--------------------------------------------------------------------+
+void USB_IRQHandler(void)
+{
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_HOST
+    tuh_isr(0);
+  #endif
+
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_DEVICE
+    tud_isr(0);
+  #endif
+}
+
+
 //--------------------------------------------------------------------+
 // Board porting API
 //--------------------------------------------------------------------+

+ 4 - 4
hw/bsp/ea4357/ea4357.c

@@ -235,22 +235,22 @@ void board_init(void)
 //--------------------------------------------------------------------+
 void USB0_IRQHandler(void)
 {
-  #if TUSB_OPT_HOST_ENABLED
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_HOST
     tuh_isr(0);
   #endif
 
-  #if TUSB_OPT_DEVICE_ENABLED
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_DEVICE
     tud_isr(0);
   #endif
 }
 
 void USB1_IRQHandler(void)
 {
-  #if TUSB_OPT_HOST_ENABLED
+  #if CFG_TUSB_RHPORT1_MODE & OPT_MODE_HOST
     tuh_isr(1);
   #endif
 
-  #if TUSB_OPT_DEVICE_ENABLED
+  #if CFG_TUSB_RHPORT1_MODE & OPT_MODE_DEVICE
     tud_isr(1);
   #endif
 }

+ 0 - 3
hw/bsp/lpcxpresso1769/board.mk

@@ -17,9 +17,6 @@ MCU_DIR = hw/mcu/nxp/lpcopen/lpc175x_6x/lpc_chip_175x_6x
 # All source paths should be relative to the top level.
 LD_FILE = hw/bsp/lpcxpresso1769/lpc1769.ld
 
-# TODO remove later
-SRC_C += src/portable/$(VENDOR)/$(CHIP_FAMILY)/hal_$(CHIP_FAMILY).c
-
 SRC_C += \
 	$(MCU_DIR)/../gcc/cr_startup_lpc175x_6x.c \
 	$(MCU_DIR)/src/chip_17xx_40xx.c \

+ 14 - 0
hw/bsp/lpcxpresso1769/lpcxpresso1769.c

@@ -143,6 +143,20 @@ void board_init(void)
 #endif
 }
 
+//--------------------------------------------------------------------+
+// USB Interrupt Handler
+//--------------------------------------------------------------------+
+void USB_IRQHandler(void)
+{
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_HOST
+    tuh_isr(0);
+  #endif
+
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_DEVICE
+    tud_isr(0);
+  #endif
+}
+
 //--------------------------------------------------------------------+
 // Board porting API
 //--------------------------------------------------------------------+

+ 4 - 5
hw/bsp/mbed1768/board.mk

@@ -17,9 +17,6 @@ MCU_DIR = hw/mcu/nxp/lpcopen/lpc175x_6x/lpc_chip_175x_6x
 # All source paths should be relative to the top level.
 LD_FILE = hw/bsp/mbed1768/lpc1768.ld
 
-# TODO remove later
-SRC_C += src/portable/$(VENDOR)/$(CHIP_FAMILY)/hal_$(CHIP_FAMILY).c
-
 SRC_C += \
 	$(MCU_DIR)/../gcc/cr_startup_lpc175x_6x.c \
 	$(MCU_DIR)/src/chip_17xx_40xx.c \
@@ -44,5 +41,7 @@ FREERTOS_PORT = ARM_CM3
 JLINK_DEVICE = LPC1768
 JLINK_IF = swd
 
-# flash using jlink
-flash: flash-jlink
+# flash using pyocd 
+flash: $(BUILD)/$(BOARD)-firmware.hex
+	pyocd flash -t lpc1768 $<
+

+ 14 - 0
hw/bsp/mbed1768/mbed1768.c

@@ -135,6 +135,20 @@ void board_init(void)
 #endif
 }
 
+//--------------------------------------------------------------------+
+// USB Interrupt Handler
+//--------------------------------------------------------------------+
+void USB_IRQHandler(void)
+{
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_HOST
+    tuh_isr(0);
+  #endif
+
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_DEVICE
+    tud_isr(0);
+  #endif
+}
+
 //--------------------------------------------------------------------+
 // Board porting API
 //--------------------------------------------------------------------+

+ 4 - 5
hw/bsp/mcb1800/mcb1800.c

@@ -177,26 +177,25 @@ void board_init(void)
 //--------------------------------------------------------------------+
 void USB0_IRQHandler(void)
 {
-  #if TUSB_OPT_HOST_ENABLED
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_HOST
     tuh_isr(0);
   #endif
 
-  #if TUSB_OPT_DEVICE_ENABLED
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_DEVICE
     tud_isr(0);
   #endif
 }
 
 void USB1_IRQHandler(void)
 {
-  #if TUSB_OPT_HOST_ENABLED
+  #if CFG_TUSB_RHPORT1_MODE & OPT_MODE_HOST
     tuh_isr(1);
   #endif
 
-  #if TUSB_OPT_DEVICE_ENABLED
+  #if CFG_TUSB_RHPORT1_MODE & OPT_MODE_DEVICE
     tud_isr(1);
   #endif
 }
-
 //--------------------------------------------------------------------+
 // Board porting API
 //--------------------------------------------------------------------+

+ 25 - 0
hw/bsp/mimxrt1064_evk/mimxrt1064_evk.c

@@ -118,6 +118,31 @@ void board_init(void)
 //  CLOCK_EnableUsbhs1Clock(kCLOCK_Usb480M, 480000000U);
 }
 
+//--------------------------------------------------------------------+
+// USB Interrupt Handler
+//--------------------------------------------------------------------+
+void USB0_IRQHandler(void)
+{
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_HOST
+    tuh_isr(0);
+  #endif
+
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_DEVICE
+    tud_isr(0);
+  #endif
+}
+
+void USB1_IRQHandler(void)
+{
+  #if CFG_TUSB_RHPORT1_MODE & OPT_MODE_HOST
+    tuh_isr(1);
+  #endif
+
+  #if CFG_TUSB_RHPORT1_MODE & OPT_MODE_DEVICE
+    tud_isr(1);
+  #endif
+}
+
 //--------------------------------------------------------------------+
 // Board porting API
 //--------------------------------------------------------------------+

+ 4 - 4
hw/bsp/ngx4330/ngx4330.c

@@ -224,22 +224,22 @@ void board_init(void)
 //--------------------------------------------------------------------+
 void USB0_IRQHandler(void)
 {
-  #if TUSB_OPT_HOST_ENABLED
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_HOST
     tuh_isr(0);
   #endif
 
-  #if TUSB_OPT_DEVICE_ENABLED
+  #if CFG_TUSB_RHPORT0_MODE & OPT_MODE_DEVICE
     tud_isr(0);
   #endif
 }
 
 void USB1_IRQHandler(void)
 {
-  #if TUSB_OPT_HOST_ENABLED
+  #if CFG_TUSB_RHPORT1_MODE & OPT_MODE_HOST
     tuh_isr(1);
   #endif
 
-  #if TUSB_OPT_DEVICE_ENABLED
+  #if CFG_TUSB_RHPORT1_MODE & OPT_MODE_DEVICE
     tud_isr(1);
   #endif
 }

+ 3 - 0
src/device/dcd.h

@@ -88,6 +88,9 @@ typedef struct TU_ATTR_ALIGNED(4)
 // Initialize controller to device mode
 void dcd_init       (uint8_t rhport);
 
+// Interrupt Handler
+void dcd_isr        (uint8_t rhport);
+
 // Enable device interrupt
 void dcd_int_enable (uint8_t rhport);
 

+ 3 - 18
src/portable/nxp/lpc17_40/hal_lpc17_40.c → src/portable/nxp/lpc17_40/hcd_lpc17_40.c

@@ -1,7 +1,7 @@
 /* 
  * The MIT License (MIT)
  *
- * Copyright (c) 2019 Ha Thach (tinyusb.org)
+ * Copyright (c) 2019, Ha Thach (tinyusb.org)
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -24,27 +24,12 @@
  * This file is part of the TinyUSB stack.
  */
 
-#include "common/tusb_common.h"
+#include "tusb_option.h"
 
 #if (CFG_TUSB_MCU == OPT_MCU_LPC175X_6X || CFG_TUSB_MCU == OPT_MCU_LPC40XX)
 
 #include "chip.h"
 
-extern void hcd_isr(uint8_t hostid);
-extern void dcd_isr(uint8_t rhport);
-
-void USB_IRQHandler(void)
-{
-  #if TUSB_OPT_HOST_ENABLED
-    hcd_isr(0);
-  #endif
-
-  #if TUSB_OPT_DEVICE_ENABLED
-    dcd_isr(0);
-  #endif
-}
-
-//FIXME move later
 void hcd_int_enable(uint8_t rhport)
 {
   (void) rhport;
@@ -57,5 +42,5 @@ void hcd_int_disable(uint8_t rhport)
   NVIC_DisableIRQ(USB_IRQn);
 }
 
-
 #endif
+

+ 0 - 70
src/portable/nxp/lpc18_43/hal_lpc18_43.c

@@ -1,70 +0,0 @@
-/* 
- * The MIT License (MIT)
- *
- * Copyright (c) 2019 Ha Thach (tinyusb.org)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- *
- * This file is part of the TinyUSB stack.
- */
-
-#include "tusb.h"
-
-#if (CFG_TUSB_MCU == OPT_MCU_LPC18XX || CFG_TUSB_MCU == OPT_MCU_LPC43XX || CFG_TUSB_MCU == OPT_MCU_RT10XX)
-
-#include "chip.h"
-
-extern void dcd_isr(uint8_t rhport);
-extern void hcd_isr(uint8_t hostid);
-
-#if CFG_TUSB_RHPORT0_MODE
-#if CFG_TUSB_MCU == OPT_MCU_RT10XX
-void USB_OTG1_IRQHandler(void)
-#else
-void USB0_IRQHandler(void)
-#endif
-{
-  #if TUSB_OPT_HOST_ENABLED
-    hcd_isr(0);
-  #endif
-
-  #if TUSB_OPT_DEVICE_ENABLED
-    dcd_isr(0);
-  #endif
-}
-#endif
-
-#if CFG_TUSB_RHPORT1_MODE
-#if CFG_TUSB_MCU == OPT_MCU_RT10XX
-void USB_OTG2_IRQHandler(void)
-#else
-void USB1_IRQHandler(void)
-#endif
-{
-  #if TUSB_OPT_HOST_ENABLED
-    hcd_isr(1);
-  #endif
-
-  #if TUSB_OPT_DEVICE_ENABLED
-    dcd_isr(1);
-  #endif
-}
-#endif
-
-#endif

+ 1 - 1
test/test/device/usbd/test_usbd.c

@@ -1,7 +1,7 @@
 /* 
  * The MIT License (MIT)
  *
- * Copyright (c) 2019 hathach for Adafruit Industries
+ * Copyright (c) 2019, Ha Thach (tinyusb.org)
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal