change tusb_init(), tusb_rhport_init() to use init struct for expandability

This commit is contained in:
hathach
2024-10-11 12:58:18 +07:00
parent a4fb8354e4
commit 92602b9de3
46 changed files with 348 additions and 80 deletions

View File

@@ -68,7 +68,12 @@ int main(void) {
freertos_init_task();
#else
// init device stack on configured roothub port
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
tusb_rhport_init_t dev_init = {
.rhport = BOARD_TUD_RHPORT,
.role = TUSB_ROLE_DEVICE,
.speed = TUSB_SPEED_AUTO
};
tusb_init(&dev_init);
if (board_init_after_tusb) {
board_init_after_tusb();
@@ -319,7 +324,12 @@ void usb_device_task(void *param) {
// init device stack on configured roothub port
// This should be called after scheduler/kernel is started.
// Otherwise, it could cause kernel issue since USB IRQ handler does use RTOS queue API.
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
tusb_rhport_init_t dev_init = {
.rhport = BOARD_TUD_RHPORT,
.role = TUSB_ROLE_DEVICE,
.speed = TUSB_SPEED_AUTO
};
tusb_init(&dev_init);
if (board_init_after_tusb) {
board_init_after_tusb();