@@ -115,11 +115,12 @@ void UHD_Init(void)
115
115
116
116
117
117
/* Load Pad Calibration */
118
- #if defined(__SAMD51__ ) //TODO: verify the right address
119
- pad_transn = (* ((uint32_t * )(NVMCTRL_CBW4 ) // Non-Volatile Memory Controller
118
+ #if defined(__SAMD51__ )
119
+ pad_transn = (* ((uint32_t * )(NVMCTRL_SW0 ) // Non-Volatile Memory Controller
120
120
#else
121
121
pad_transn = (* ((uint32_t * )(NVMCTRL_OTP4 ) // Non-Volatile Memory Controller
122
122
#endif
123
+
123
124
+ (NVM_USB_PAD_TRANSN_POS / 32 ))
124
125
>> (NVM_USB_PAD_TRANSN_POS % 32 ))
125
126
& ((1 << NVM_USB_PAD_TRANSN_SIZE ) - 1 );
@@ -131,8 +132,8 @@ void UHD_Init(void)
131
132
132
133
USB -> HOST .PADCAL .bit .TRANSN = pad_transn ;
133
134
134
- #if defined(__SAMD51__ ) //TODO: verify the right address
135
- pad_transp = (* ((uint32_t * )(NVMCTRL_CBW4 )
135
+ #if defined(__SAMD51__ )
136
+ pad_transp = (* ((uint32_t * )(NVMCTRL_SW0 )
136
137
#else
137
138
pad_transp = (* ((uint32_t * )(NVMCTRL_OTP4 )
138
139
#endif
@@ -147,8 +148,8 @@ void UHD_Init(void)
147
148
148
149
USB -> HOST .PADCAL .bit .TRANSP = pad_transp ;
149
150
150
- #if defined(__SAMD51__ ) //TODO: verify the right address
151
- pad_trim = (* ((uint32_t * )(NVMCTRL_CBW4 )
151
+ #if defined(__SAMD51__ )
152
+ pad_trim = (* ((uint32_t * )(NVMCTRL_SW0 )
152
153
#else
153
154
pad_trim = (* ((uint32_t * )(NVMCTRL_OTP4 )
154
155
#endif
@@ -190,9 +191,16 @@ void UHD_Init(void)
190
191
USB -> HOST .CTRLB .bit .VBUSOK = 1 ;
191
192
192
193
// Configure interrupts
193
- #if defined(__SAMD51__ ) //TODO: verify the right interrupts
194
+ #if defined(__SAMD51__ )
194
195
NVIC_SetPriority ((IRQn_Type )USB_0_IRQn , 0UL );
196
+ NVIC_SetPriority ((IRQn_Type )USB_1_IRQn , 0UL );
197
+ NVIC_SetPriority ((IRQn_Type )USB_2_IRQn , 0UL );
198
+ NVIC_SetPriority ((IRQn_Type )USB_3_IRQn , 0UL );
199
+
195
200
NVIC_EnableIRQ ((IRQn_Type )USB_0_IRQn );
201
+ NVIC_EnableIRQ ((IRQn_Type )USB_1_IRQn );
202
+ NVIC_EnableIRQ ((IRQn_Type )USB_2_IRQn );
203
+ NVIC_EnableIRQ ((IRQn_Type )USB_3_IRQn );
196
204
#else
197
205
NVIC_SetPriority ((IRQn_Type )USB_IRQn , 0UL );
198
206
NVIC_EnableIRQ ((IRQn_Type )USB_IRQn );
0 commit comments