summaryrefslogtreecommitdiff
path: root/port/pusb3/freertos/usb_glue_dc_phytium.c
blob: 0e2f99491966e53f36e38438f69640ce23559c6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "usbd_core.h"
#include "ftypes.h"
#include "fparameters.h"

void usb_sys_mem_init(void);
void usb_sys_mem_deinit(void);
void usb_dc_setup_pusb3_interrupt(u32 id);
void usb_dc_revoke_pusb3_interrupt(u32 id);

extern u8 usb_otg_is_active(void);
extern void usb_dc_setup_pusb3_dev_interrupt(u32 id);

void usb_dc_low_level_init(void)
{
    usb_sys_mem_init();

    if (usb_otg_is_active()) {
        /* OTG IRQ already installed by usb_otg_init.
         * Only install the DC IRQ here. */
        usb_dc_setup_pusb3_dev_interrupt(FUSB_ID_0);
    } else {
        usb_dc_setup_pusb3_interrupt(FUSB_ID_0);
    }
}

void usb_dc_low_level_deinit(void)
{
    usb_dc_revoke_pusb3_interrupt(FUSB_ID_0);
    usb_sys_mem_deinit();
}

__WEAK void USBOTG_IRQHandler(uint8_t busid)
{
}

__WEAK void USBD_IRQHandler(uint8_t busid)
{
}