add tud_irq_handler() for all lpc ip3511 (13, 15, 11)

This commit is contained in:
hathach 2020-04-06 18:00:37 +07:00
parent 138965d1d1
commit 06377a341b
9 changed files with 102 additions and 17 deletions

View File

@ -27,6 +27,17 @@
#include "chip.h" #include "chip.h"
#include "../board.h" #include "../board.h"
//--------------------------------------------------------------------+
// Forward USB interrupt events to TinyUSB IRQ Handler
//--------------------------------------------------------------------+
void USB_IRQHandler(void)
{
tud_irq_handler(0);
}
//---------------------------------------------------------------- ----+
// MACRO TYPEDEF CONSTANT ENUM
//--------------------------------------------------------------------+
#define LED_PORT 1 #define LED_PORT 1
#define LED_PIN 24 #define LED_PIN 24
#define LED_STATE_ON 0 #define LED_STATE_ON 0

View File

@ -27,6 +27,17 @@
#include "chip.h" #include "chip.h"
#include "../board.h" #include "../board.h"
//--------------------------------------------------------------------+
// Forward USB interrupt events to TinyUSB IRQ Handler
//--------------------------------------------------------------------+
void USB_IRQHandler(void)
{
tud_irq_handler(0);
}
//--------------------------------------------------------------------+
// MACRO TYPEDEF CONSTANT ENUM
//--------------------------------------------------------------------+
#define LED_PORT 2 #define LED_PORT 2
#define LED_PIN 17 #define LED_PIN 17
#define LED_STATE_ON 0 #define LED_STATE_ON 0

View File

@ -27,6 +27,17 @@
#include "chip.h" #include "chip.h"
#include "../board.h" #include "../board.h"
//--------------------------------------------------------------------+
// Forward USB interrupt events to TinyUSB IRQ Handler
//--------------------------------------------------------------------+
void USB_IRQHandler(void)
{
tud_irq_handler(0);
}
//--------------------------------------------------------------------+
// MACRO TYPEDEF CONSTANT ENUM
//--------------------------------------------------------------------+
#define LED_PORT 0 #define LED_PORT 0
#define LED_PIN 7 #define LED_PIN 7

View File

@ -27,6 +27,17 @@
#include "chip.h" #include "chip.h"
#include "../board.h" #include "../board.h"
//--------------------------------------------------------------------+
// Forward USB interrupt events to TinyUSB IRQ Handler
//--------------------------------------------------------------------+
void USB_IRQHandler(void)
{
tud_irq_handler(0);
}
//--------------------------------------------------------------------+
// MACRO TYPEDEF CONSTANT ENUM
//--------------------------------------------------------------------+
#define LED_PORT 0 #define LED_PORT 0
#define LED_PIN 25 #define LED_PIN 25

View File

@ -27,6 +27,23 @@
#include "chip.h" #include "chip.h"
#include "../board.h" #include "../board.h"
//--------------------------------------------------------------------+
// 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_irq_handler(0);
#endif
}
//--------------------------------------------------------------------+
// MACRO TYPEDEF CONSTANT ENUM
//--------------------------------------------------------------------+
#define LED_PORT 0 #define LED_PORT 0
#define LED_PIN 22 #define LED_PIN 22
#define LED_STATE_ON 1 #define LED_STATE_ON 1
@ -143,20 +160,6 @@ void board_init(void)
#endif #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_irq_handler(0);
#endif
}
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// Board porting API // Board porting API
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+

View File

@ -30,6 +30,17 @@
#include "fsl_power.h" #include "fsl_power.h"
#include "fsl_iocon.h" #include "fsl_iocon.h"
//--------------------------------------------------------------------+
// Forward USB interrupt events to TinyUSB IRQ Handler
//--------------------------------------------------------------------+
void USB0_IRQHandler(void)
{
tud_irq_handler(0);
}
//--------------------------------------------------------------------+
// MACRO TYPEDEF CONSTANT ENUM
//--------------------------------------------------------------------+
#define LED_PORT 0 #define LED_PORT 0
#define LED_PIN 29 #define LED_PIN 29
#define LED_STATE_ON 0 #define LED_STATE_ON 0

View File

@ -30,6 +30,17 @@
#include "fsl_power.h" #include "fsl_power.h"
#include "fsl_iocon.h" #include "fsl_iocon.h"
//--------------------------------------------------------------------+
// Forward USB interrupt events to TinyUSB IRQ Handler
//--------------------------------------------------------------------+
void USB0_IRQHandler(void)
{
tud_irq_handler(0);
}
//--------------------------------------------------------------------+
// MACRO TYPEDEF CONSTANT ENUM
//--------------------------------------------------------------------+
#define LED_PORT 0 #define LED_PORT 0
#define LED_PIN 29 #define LED_PIN 29
#define LED_STATE_ON 0 #define LED_STATE_ON 0

View File

@ -30,6 +30,22 @@
#include "fsl_power.h" #include "fsl_power.h"
#include "fsl_iocon.h" #include "fsl_iocon.h"
//--------------------------------------------------------------------+
// Forward USB interrupt events to TinyUSB IRQ Handler
//--------------------------------------------------------------------+
void USB0_IRQHandler(void)
{
tud_irq_handler(0);
}
void USB1_IRQHandler(void)
{
tud_irq_handler(1);
}
//--------------------------------------------------------------------+
// MACRO TYPEDEF CONSTANT ENUM
//--------------------------------------------------------------------+
#define LED_PORT 1 #define LED_PORT 1
#define LED_PIN 6 #define LED_PIN 6
#define LED_STATE_ON 0 #define LED_STATE_ON 0

View File

@ -49,13 +49,11 @@
// LPC 11Uxx, 13xx, 15xx use lpcopen // LPC 11Uxx, 13xx, 15xx use lpcopen
#include "chip.h" #include "chip.h"
#define DCD_REGS LPC_USB #define DCD_REGS LPC_USB
#define DCD_IRQHandler USB_IRQHandler
#elif CFG_TUSB_MCU == OPT_MCU_LPC51UXX || CFG_TUSB_MCU == OPT_MCU_LPC54XXX || \ #elif CFG_TUSB_MCU == OPT_MCU_LPC51UXX || CFG_TUSB_MCU == OPT_MCU_LPC54XXX || \
CFG_TUSB_MCU == OPT_MCU_LPC55XX // TODO 55xx has dual usb controllers CFG_TUSB_MCU == OPT_MCU_LPC55XX // TODO 55xx has dual usb controllers
#include "fsl_device_registers.h" #include "fsl_device_registers.h"
#define DCD_REGS USB0 #define DCD_REGS USB0
#define DCD_IRQHandler USB0_IRQHandler
#endif #endif
@ -335,8 +333,10 @@ static void process_xfer_isr(uint32_t int_status)
} }
} }
void DCD_IRQHandler(void) void dcd_irq_handler(uint8_t rhport)
{ {
(void) rhport; // TODO support multiple USB on supported mcu such as LPC55s69
uint32_t const cmd_stat = DCD_REGS->DEVCMDSTAT; uint32_t const cmd_stat = DCD_REGS->DEVCMDSTAT;
uint32_t int_status = DCD_REGS->INTSTAT & DCD_REGS->INTEN; uint32_t int_status = DCD_REGS->INTSTAT & DCD_REGS->INTEN;