File tree 7 files changed +806
-14
lines changed
src/portable/microchip/samd
7 files changed +806
-14
lines changed Original file line number Diff line number Diff line change 60
60
// Forward USB interrupt events to TinyUSB IRQ Handler
61
61
//--------------------------------------------------------------------+
62
62
void USB_Handler (void ) {
63
+ #if CFG_TUD_ENABLED
63
64
tud_int_handler (0 );
65
+ #endif
66
+
67
+ #if CFG_TUH_ENABLED && !(defined(CFG_TUH_MAX3421 ) && CFG_TUH_MAX3421 )
68
+ tuh_int_handler (0 );
69
+ #endif
64
70
}
65
71
66
72
//--------------------------------------------------------------------+
@@ -140,8 +146,14 @@ void board_init(void) {
140
146
gpio_set_pin_function (PIN_PA19 , PINMUX_PA19F_TCC0_WO3 );
141
147
_gclk_enable_channel (TCC0_GCLK_ID , GCLK_CLKCTRL_GEN_GCLK0_Val );
142
148
143
- #if CFG_TUH_ENABLED && defined(CFG_TUH_MAX3421 ) && CFG_TUH_MAX3421
144
- max3421_init ();
149
+ #if CFG_TUH_ENABLED
150
+ #if defined(CFG_TUH_MAX3421 ) && CFG_TUH_MAX3421
151
+ max3421_init ();
152
+ #else
153
+ // VBUS Power
154
+ gpio_set_pin_direction (PIN_PA28 , GPIO_DIRECTION_OUT );
155
+ gpio_set_pin_level (PIN_PA28 , true);
156
+ #endif
145
157
#endif
146
158
}
147
159
Original file line number Diff line number Diff line change @@ -99,6 +99,7 @@ function(family_configure_example TARGET RTOS)
99
99
family_add_tinyusb(${TARGET} OPT_MCU_SAMD21 ${RTOS} )
100
100
target_sources (${TARGET} -tinyusb PUBLIC
101
101
${TOP} /src/portable/microchip/samd/dcd_samd.c
102
+ ${TOP} /src/portable/microchip/samd/hcd_samd.c
102
103
)
103
104
target_link_libraries (${TARGET} -tinyusb PUBLIC board_${BOARD} )
104
105
Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ LDFLAGS_CLANG +=
23
23
24
24
SRC_C += \
25
25
src/portable/microchip/samd/dcd_samd.c \
26
+ src/portable/microchip/samd/hcd_samd.c \
26
27
${SDK_DIR}/gcc/gcc/startup_samd21.c \
27
28
${SDK_DIR}/gcc/system_samd21.c \
28
29
${SDK_DIR}/hal/src/hal_atomic.c \
Original file line number Diff line number Diff line change 56
56
//--------------------------------------------------------------------+
57
57
// Forward USB interrupt events to TinyUSB IRQ Handler
58
58
//--------------------------------------------------------------------+
59
- void USB_0_Handler (void ) {
59
+ TU_ATTR_ALWAYS_INLINE inline void USB_Any_Handler (void )
60
+ {
61
+ #if CFG_TUD_ENABLED
60
62
tud_int_handler (0 );
61
- }
63
+ #endif
62
64
63
- void USB_1_Handler (void ) {
64
- tud_int_handler (0 );
65
+ #if CFG_TUH_ENABLED && !CFG_TUH_MAX3421
66
+ tuh_int_handler (0 );
67
+ #endif
65
68
}
66
69
67
- void USB_2_Handler (void ) {
68
- tud_int_handler (0 );
69
- }
70
+ void USB_0_Handler (void ) { USB_Any_Handler (); }
70
71
71
- void USB_3_Handler (void ) {
72
- tud_int_handler (0 );
73
- }
72
+ void USB_1_Handler (void ) { USB_Any_Handler (); }
73
+
74
+ void USB_2_Handler (void ) { USB_Any_Handler (); }
75
+
76
+ void USB_3_Handler (void ) { USB_Any_Handler (); }
74
77
75
78
//--------------------------------------------------------------------+
76
79
// Implementation
@@ -138,8 +141,14 @@ void board_init(void) {
138
141
gpio_set_pin_function (PIN_PA24 , PINMUX_PA24H_USB_DM );
139
142
gpio_set_pin_function (PIN_PA25 , PINMUX_PA25H_USB_DP );
140
143
141
- #if CFG_TUH_ENABLED && CFG_TUH_MAX3421
142
- max3421_init ();
144
+ #if CFG_TUH_ENABLED
145
+ #if defined(CFG_TUH_MAX3421 ) && CFG_TUH_MAX3421
146
+ max3421_init ();
147
+ #else
148
+ // VBUS Power
149
+ gpio_set_pin_direction (PIN_PA28 , GPIO_DIRECTION_OUT );
150
+ gpio_set_pin_level (PIN_PA28 , true);
151
+ #endif
143
152
#endif
144
153
}
145
154
Original file line number Diff line number Diff line change @@ -96,6 +96,7 @@ function(family_configure_example TARGET RTOS)
96
96
family_add_tinyusb(${TARGET} OPT_MCU_SAMD51 ${RTOS} )
97
97
target_sources (${TARGET} -tinyusb PUBLIC
98
98
${TOP} /src/portable/microchip/samd/dcd_samd.c
99
+ ${TOP} /src/portable/microchip/samd/hcd_samd.c
99
100
)
100
101
target_link_libraries (${TARGET} -tinyusb PUBLIC board_${BOARD} )
101
102
Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ LDFLAGS_GCC += \
18
18
19
19
SRC_C += \
20
20
src/portable/microchip/samd/dcd_samd.c \
21
+ src/portable/microchip/samd/hcd_samd.c \
21
22
${SDK_DIR}/gcc/gcc/startup_${SAM_FAMILY}.c \
22
23
${SDK_DIR}/gcc/system_${SAM_FAMILY}.c \
23
24
${SDK_DIR}/hpl/gclk/hpl_gclk.c \
You can’t perform that action at this time.
0 commit comments