M480 BSP V3.05.006
The Board Support Package for M480 Series
config.h
Go to the documentation of this file.
1/**************************************************************************/
10#ifndef _USBH_CONFIG_H_
11#define _USBH_CONFIG_H_
12
14
15/*----------------------------------------------------------------------------------------*/
16/* Hardware settings */
17/*----------------------------------------------------------------------------------------*/
18#define HCLK_MHZ 192 /* used for loop-delay. must be larger than
19 true HCLK clock MHz */
20
21#define ENABLE_OHCI_IRQ() NVIC_EnableIRQ(USBH_IRQn)
22#define DISABLE_OHCI_IRQ() NVIC_DisableIRQ(USBH_IRQn)
23#define ENABLE_EHCI_IRQ() NVIC_EnableIRQ(HSUSBH_IRQn)
24#define DISABLE_EHCI_IRQ() NVIC_DisableIRQ(HSUSBH_IRQn)
25
26#define ENABLE_OHCI /* Enable OHCI host controller */
27#define ENABLE_EHCI /* Enable EHCI host controller */
28
29#define EHCI_PORT_CNT 1 /* Number of EHCI roothub ports */
30#define OHCI_PORT_CNT 2 /* Number of OHCI roothub ports */
31#define OHCI_PER_PORT_POWER /* OHCI root hub per port powered */
32
33#define OHCI_ISO_DELAY 4 /* preserved number frames while scheduling
34 OHCI isochronous transfer */
35
36#define EHCI_ISO_DELAY 2 /* preserved number of frames while
37 scheduling EHCI isochronous transfer */
38
39#define EHCI_ISO_RCLM_RANGE 32 /* When inspecting activated iTD/siTD,
40 unconditionally reclaim iTD/isTD scheduled
41 in just elapsed EHCI_ISO_RCLM_RANGE ms. */
42
43#define MAX_DESC_BUFF_SIZE 512 /* To hold the configuration descriptor, USB
44 core will allocate a buffer with this size
45 for each connected device. USB core does
46 not release it until device disconnected. */
47
48/*----------------------------------------------------------------------------------------*/
49/* Memory allocation settings */
50/*----------------------------------------------------------------------------------------*/
51
52#define STATIC_MEMORY_ALLOC 0 /* pre-allocate static memory blocks. No dynamic memory aloocation.
53 But the maximum number of connected devices and transfers are
54 limited. */
55
56#define MAX_UDEV_DRIVER 8
57#define MAX_ALT_PER_IFACE 8
58#define MAX_EP_PER_IFACE 6
59#define MAX_HUB_DEVICE 8
61/* Host controller hardware transfer descriptors memory pool. ED/TD/ITD of OHCI and QH/QTD of EHCI
62 are all allocated from this pool. Allocated unit size is determined by MEM_POOL_UNIT_SIZE.
63 May allocate one or more units depend on hardware descriptor type. */
64
65#define MEM_POOL_UNIT_SIZE 64
66#define MEM_POOL_UNIT_NUM 256
68/*----------------------------------------------------------------------------------------*/
69/* Re-defined staff for various compiler */
70/*----------------------------------------------------------------------------------------*/
71#ifdef __ICCARM__
72#define __inline inline
73#endif
74
75
76/*----------------------------------------------------------------------------------------*/
77/* Debug settings */
78/*----------------------------------------------------------------------------------------*/
79#define ENABLE_ERROR_MSG /* enable debug messages */
80#define ENABLE_DEBUG_MSG /* enable debug messages */
81//#define ENABLE_VERBOSE_DEBUG /* verbos debug messages */
82//#define DUMP_DESCRIPTOR /* dump descriptors */
83
84#ifdef ENABLE_ERROR_MSG
85#define USB_error printf
86#else
87#define USB_error(...)
88#endif
89
90#ifdef ENABLE_DEBUG_MSG
91#define USB_debug printf
92#ifdef ENABLE_VERBOSE_DEBUG
93#define USB_vdebug printf
94#else
95#define USB_vdebug(...)
96#endif
97#else
98#define USB_debug(...)
99#define USB_vdebug(...)
100#endif
101
102
104
105#endif /* _USBH_CONFIG_H_ */
106
107/*** (C) COPYRIGHT 2018 Nuvoton Technology Corp. ***/
108