Skip to content

Commit 0aecb28

Browse files
OrhanYigitDurmazUltrawipf
authored andcommitted
remove tusb_config from USB folder and move it to appropriate target folders
1 parent 445ee45 commit 0aecb28

File tree

3 files changed

+240
-0
lines changed

3 files changed

+240
-0
lines changed
File renamed without changes.
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
/*
2+
* The MIT License (MIT)
3+
*
4+
* Copyright (c) 2019 Ha Thach (tinyusb.org)
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included in
14+
* all copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22+
* THE SOFTWARE.
23+
*
24+
*/
25+
26+
#ifndef _TUSB_CONFIG_H_
27+
#define _TUSB_CONFIG_H_
28+
29+
#ifdef __cplusplus
30+
extern "C" {
31+
#endif
32+
33+
//--------------------------------------------------------------------
34+
// COMMON CONFIGURATION
35+
//--------------------------------------------------------------------
36+
37+
// defined by board.mk
38+
39+
#define CFG_TUSB_MCU OPT_MCU_STM32F4 // target config
40+
#ifndef CFG_TUSB_MCU
41+
#error CFG_TUSB_MCU must be defined
42+
#endif
43+
44+
// RHPort number used for device can be defined by board.mk, default to port 0
45+
#ifndef BOARD_DEVICE_RHPORT_NUM
46+
#define BOARD_DEVICE_RHPORT_NUM 0
47+
#endif
48+
49+
// RHPort max operational speed can defined by board.mk
50+
// Default to Highspeed for MCU with internal HighSpeed PHY (can be port specific), otherwise FullSpeed
51+
#ifndef BOARD_DEVICE_RHPORT_SPEED
52+
#if (CFG_TUSB_MCU == OPT_MCU_LPC18XX || CFG_TUSB_MCU == OPT_MCU_LPC43XX || CFG_TUSB_MCU == OPT_MCU_MIMXRT10XX || \
53+
CFG_TUSB_MCU == OPT_MCU_NUC505 || CFG_TUSB_MCU == OPT_MCU_CXD56)
54+
#define BOARD_DEVICE_RHPORT_SPEED OPT_MODE_HIGH_SPEED
55+
#else
56+
#define BOARD_DEVICE_RHPORT_SPEED OPT_MODE_FULL_SPEED
57+
#endif
58+
#endif
59+
60+
// Device mode with rhport and speed defined by board.mk
61+
#define CFG_TUSB_RHPORT0_MODE (OPT_MODE_DEVICE | BOARD_DEVICE_RHPORT_SPEED)
62+
63+
64+
#define CFG_TUSB_OS OPT_OS_FREERTOS
65+
66+
// CFG_TUSB_DEBUG is defined by compiler in DEBUG build
67+
// #define CFG_TUSB_DEBUG 0
68+
69+
/* USB DMA on some MCUs can only access a specific SRAM region with restriction on alignment.
70+
* Tinyusb use follows macros to declare transferring memory so that they can be put
71+
* into those specific section.
72+
* e.g
73+
* - CFG_TUSB_MEM SECTION : __attribute__ (( section(".usb_ram") ))
74+
* - CFG_TUSB_MEM_ALIGN : __attribute__ ((aligned(4)))
75+
*/
76+
#ifndef CFG_TUSB_MEM_SECTION
77+
#define CFG_TUSB_MEM_SECTION
78+
#endif
79+
80+
#ifndef CFG_TUSB_MEM_ALIGN
81+
#define CFG_TUSB_MEM_ALIGN __attribute__ ((aligned(4)))
82+
#endif
83+
84+
//--------------------------------------------------------------------
85+
// DEVICE CONFIGURATION
86+
//--------------------------------------------------------------------
87+
88+
#ifndef CFG_TUD_ENDPOINT0_SIZE
89+
#define CFG_TUD_ENDPOINT0_SIZE 64
90+
#endif
91+
92+
//#define USE_SOF 1 no sof for now
93+
94+
//------------- CLASS -------------//
95+
// Which classes are compiled and available
96+
#define CFG_TUD_CDC 1
97+
#define CFG_TUD_MSC 0
98+
#define CFG_TUD_MIDI 1
99+
#define CFG_TUD_HID 1
100+
#define CFG_TUD_VENDOR 0
101+
#define CFG_TUD_AUDIO 0
102+
#define CFG_TUD_DFU_RT 0
103+
104+
// CDC FIFO size of TX and RX
105+
#define CFG_TUD_CDC_RX_BUFSIZE 512//(TUD_OPT_HIGH_SPEED ? 512 : 64)
106+
#define CFG_TUD_CDC_TX_BUFSIZE 1024//(TUD_OPT_HIGH_SPEED ? 512 : 64)
107+
108+
// MIDI FIFO size of TX and RX
109+
#define CFG_TUD_MIDI_RX_BUFSIZE (TUD_OPT_HIGH_SPEED ? 512 : 64)
110+
#define CFG_TUD_MIDI_TX_BUFSIZE (TUD_OPT_HIGH_SPEED ? 512 : 64)
111+
112+
// MSC Buffer size of Device Mass storage
113+
#define CFG_TUD_MSC_EP_BUFSIZE 512
114+
115+
116+
#ifdef __cplusplus
117+
}
118+
#endif
119+
120+
#endif /* _TUSB_CONFIG_H_ */
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
/*
2+
* The MIT License (MIT)
3+
*
4+
* Copyright (c) 2019 Ha Thach (tinyusb.org)
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included in
14+
* all copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22+
* THE SOFTWARE.
23+
*
24+
*/
25+
26+
#ifndef _TUSB_CONFIG_H_
27+
#define _TUSB_CONFIG_H_
28+
29+
#ifdef __cplusplus
30+
extern "C" {
31+
#endif
32+
33+
//--------------------------------------------------------------------
34+
// COMMON CONFIGURATION
35+
//--------------------------------------------------------------------
36+
37+
// defined by board.mk
38+
39+
#define CFG_TUSB_MCU OPT_MCU_STM32F4 // target config
40+
#ifndef CFG_TUSB_MCU
41+
#error CFG_TUSB_MCU must be defined
42+
#endif
43+
44+
// RHPort number used for device can be defined by board.mk, default to port 0
45+
#ifndef BOARD_DEVICE_RHPORT_NUM
46+
#define BOARD_DEVICE_RHPORT_NUM 0
47+
#endif
48+
49+
// RHPort max operational speed can defined by board.mk
50+
// Default to Highspeed for MCU with internal HighSpeed PHY (can be port specific), otherwise FullSpeed
51+
#ifndef BOARD_DEVICE_RHPORT_SPEED
52+
#if (CFG_TUSB_MCU == OPT_MCU_LPC18XX || CFG_TUSB_MCU == OPT_MCU_LPC43XX || CFG_TUSB_MCU == OPT_MCU_MIMXRT10XX || \
53+
CFG_TUSB_MCU == OPT_MCU_NUC505 || CFG_TUSB_MCU == OPT_MCU_CXD56)
54+
#define BOARD_DEVICE_RHPORT_SPEED OPT_MODE_HIGH_SPEED
55+
#else
56+
#define BOARD_DEVICE_RHPORT_SPEED OPT_MODE_FULL_SPEED
57+
#endif
58+
#endif
59+
60+
// Device mode with rhport and speed defined by board.mk
61+
#define CFG_TUSB_RHPORT0_MODE (OPT_MODE_DEVICE | BOARD_DEVICE_RHPORT_SPEED)
62+
63+
64+
#define CFG_TUSB_OS OPT_OS_FREERTOS
65+
66+
// CFG_TUSB_DEBUG is defined by compiler in DEBUG build
67+
// #define CFG_TUSB_DEBUG 0
68+
69+
/* USB DMA on some MCUs can only access a specific SRAM region with restriction on alignment.
70+
* Tinyusb use follows macros to declare transferring memory so that they can be put
71+
* into those specific section.
72+
* e.g
73+
* - CFG_TUSB_MEM SECTION : __attribute__ (( section(".usb_ram") ))
74+
* - CFG_TUSB_MEM_ALIGN : __attribute__ ((aligned(4)))
75+
*/
76+
#ifndef CFG_TUSB_MEM_SECTION
77+
#define CFG_TUSB_MEM_SECTION
78+
#endif
79+
80+
#ifndef CFG_TUSB_MEM_ALIGN
81+
#define CFG_TUSB_MEM_ALIGN __attribute__ ((aligned(4)))
82+
#endif
83+
84+
//--------------------------------------------------------------------
85+
// DEVICE CONFIGURATION
86+
//--------------------------------------------------------------------
87+
88+
#ifndef CFG_TUD_ENDPOINT0_SIZE
89+
#define CFG_TUD_ENDPOINT0_SIZE 64
90+
#endif
91+
92+
//#define USE_SOF 1 no sof for now
93+
94+
//------------- CLASS -------------//
95+
// Which classes are compiled and available
96+
#define CFG_TUD_CDC 1
97+
#define CFG_TUD_MSC 0
98+
#define CFG_TUD_MIDI 1
99+
#define CFG_TUD_HID 1
100+
#define CFG_TUD_VENDOR 0
101+
#define CFG_TUD_AUDIO 0
102+
#define CFG_TUD_DFU_RT 0
103+
104+
// CDC FIFO size of TX and RX
105+
#define CFG_TUD_CDC_RX_BUFSIZE 512//(TUD_OPT_HIGH_SPEED ? 512 : 64)
106+
#define CFG_TUD_CDC_TX_BUFSIZE 1024//(TUD_OPT_HIGH_SPEED ? 512 : 64)
107+
108+
// MIDI FIFO size of TX and RX
109+
#define CFG_TUD_MIDI_RX_BUFSIZE (TUD_OPT_HIGH_SPEED ? 512 : 64)
110+
#define CFG_TUD_MIDI_TX_BUFSIZE (TUD_OPT_HIGH_SPEED ? 512 : 64)
111+
112+
// MSC Buffer size of Device Mass storage
113+
#define CFG_TUD_MSC_EP_BUFSIZE 512
114+
115+
116+
#ifdef __cplusplus
117+
}
118+
#endif
119+
120+
#endif /* _TUSB_CONFIG_H_ */

0 commit comments

Comments
 (0)