1 /*
2  * Copyright (c) 2006-2021, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2024-04-12     shelton      first version
9  */
10 
11 #ifndef __USB_CONFIG_H__
12 #define __USB_CONFIG_H__
13 
14 #include <rtthread.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 /* usb irqhandler */
21 #define USB_IRQHandler                  USBFS_L_CAN1_RX0_IRQHandler
22 
23 /**
24   * @brief usb endpoint number
25   */
26 #define USB_EPT_MAX_NUM                 8
27 
28 /**
29   * @brief auto malloc usb endpoint buffer
30   */
31 #define USB_EPT_AUTO_MALLOC_BUFFER
32 
33 #ifndef USB_EPT_AUTO_MALLOC_BUFFER
34 #define EPT0_TX_ADDR                    0x40
35 #define EPT0_RX_ADDR                    0x80
36 #define EPT1_TX_ADDR                    0xC0
37 #define EPT1_RX_ADDR                    0x100
38 #define EPT2_TX_ADDR                    0x140
39 #define EPT2_RX_ADDR                    0x180
40 #define EPT3_TX_ADDR                    0x00
41 #define EPT3_RX_ADDR                    0x00
42 #define EPT4_TX_ADDR                    0x00
43 #define EPT4_RX_ADDR                    0x00
44 #define EPT5_TX_ADDR                    0x00
45 #define EPT5_RX_ADDR                    0x00
46 #define EPT6_TX_ADDR                    0x00
47 #define EPT6_RX_ADDR                    0x00
48 #define EPT7_TX_ADDR                    0x00
49 #define EPT7_RX_ADDR                    0x00
50 #endif
51 
52 /**
53   * @brief usb low power wakeup handler enable
54   */
55 #define USB_LOW_POWER_WAKUP
56 
57 #if defined(BSP_USING_USBD)
58 #define USBD_CONFIG                                                 \
59     {                                                               \
60         .name = "usbd",                                             \
61         .irqn = USBFS_L_CAN1_RX0_IRQn,                              \
62     }
63 #endif /* BSP_USING_USBD */
64 
65 #ifdef __cplusplus
66 }
67 #endif
68 
69 #endif
70