|
127 | 127 | #define MICROPY_HW_ENABLE_USB (0) |
128 | 128 | #endif |
129 | 129 |
|
| 130 | +#if MICROPY_HW_ENABLE_USB |
| 131 | +#define MICROPY_HW_ENABLE_USBDEV (1) |
| 132 | +#define MICROPY_HW_USB_CDC (1) |
| 133 | +#define MICROPY_HW_USB_FS (1) |
| 134 | + |
| 135 | +// Select whether TinyUSB or legacy STM stack is used to provide USB. |
| 136 | +#ifndef MICROPY_HW_TINYUSB_STACK |
| 137 | +#define MICROPY_HW_TINYUSB_STACK (MICROPY_PREVIEW_VERSION_2) |
| 138 | +#endif |
| 139 | + |
| 140 | +// Support machine.USBDevice (only available with TinyUSB) |
| 141 | +#ifndef MICROPY_HW_ENABLE_USB_RUNTIME_DEVICE |
| 142 | +#define MICROPY_HW_ENABLE_USB_RUNTIME_DEVICE (MICROPY_HW_TINYUSB_STACK) |
| 143 | +#endif |
| 144 | +#endif // MICROPY_HW_ENABLE_USB |
| 145 | + |
130 | 146 | // Whether to enable the PA0-PA3 servo driver, exposed as pyb.Servo |
131 | 147 | #ifndef MICROPY_HW_ENABLE_SERVO |
132 | 148 | #define MICROPY_HW_ENABLE_SERVO (0) |
|
247 | 263 | // Windows needs a different PID to distinguish different device configurations. |
248 | 264 | #ifndef MICROPY_HW_USB_VID |
249 | 265 | #define MICROPY_HW_USB_VID (0xf055) |
| 266 | +#define MICROPY_HW_USB_PID (0x9802) |
| 267 | + |
250 | 268 | #define MICROPY_HW_USB_PID_CDC_MSC (0x9800) |
251 | 269 | #define MICROPY_HW_USB_PID_CDC_HID (0x9801) |
252 | 270 | #define MICROPY_HW_USB_PID_CDC (0x9802) |
|
360 | 378 | #endif |
361 | 379 | #define MICROPY_HW_MAX_LPUART (0) |
362 | 380 |
|
| 381 | +#define CFG_TUSB_MCU OPT_MCU_STM32F4 |
| 382 | + |
363 | 383 | // Configuration for STM32F7 series |
364 | 384 | #elif defined(STM32F7) |
365 | 385 |
|
|
375 | 395 | #define MICROPY_HW_MAX_UART (8) |
376 | 396 | #define MICROPY_HW_MAX_LPUART (0) |
377 | 397 |
|
| 398 | +#define CFG_TUSB_MCU OPT_MCU_STM32F7 |
| 399 | + |
378 | 400 | // Configuration for STM32G0 series |
379 | 401 | #elif defined(STM32G0) |
380 | 402 |
|
|
385 | 407 | #define MICROPY_HW_MAX_UART (6) |
386 | 408 | #define MICROPY_HW_MAX_LPUART (2) |
387 | 409 |
|
| 410 | +#define CFG_TUSB_MCU OPT_MCU_STM32G0 |
| 411 | + |
388 | 412 | // Configuration for STM32G4 series |
389 | 413 | #elif defined(STM32G4) |
390 | 414 |
|
|
395 | 419 | #define MICROPY_HW_MAX_UART (5) // UART1-5 + LPUART1 |
396 | 420 | #define MICROPY_HW_MAX_LPUART (1) |
397 | 421 |
|
| 422 | +#define CFG_TUSB_MCU OPT_MCU_STM32G4 |
| 423 | + |
398 | 424 | // Configuration for STM32H5 series |
399 | 425 | #elif defined(STM32H5) |
400 | 426 |
|
|
405 | 431 | #define MICROPY_HW_MAX_UART (12) |
406 | 432 | #define MICROPY_HW_MAX_LPUART (1) |
407 | 433 |
|
| 434 | +#define CFG_TUSB_MCU OPT_MCU_STM32H5 |
| 435 | + |
408 | 436 | // Configuration for STM32H7A3/B3 series |
409 | 437 | #elif defined(STM32H7A3xx) || defined(STM32H7A3xxQ) || \ |
410 | 438 | defined(STM32H7B3xx) || defined(STM32H7B3xxQ) |
|
416 | 444 | #define MICROPY_HW_MAX_UART (10) |
417 | 445 | #define MICROPY_HW_MAX_LPUART (1) |
418 | 446 |
|
| 447 | +#define CFG_TUSB_MCU OPT_MCU_STM32H7 |
| 448 | + |
419 | 449 | // Configuration for STM32H7 series |
420 | 450 | #elif defined(STM32H7) |
421 | 451 |
|
|
426 | 456 | #define MICROPY_HW_MAX_UART (8) |
427 | 457 | #define MICROPY_HW_MAX_LPUART (1) |
428 | 458 |
|
| 459 | +#define CFG_TUSB_MCU OPT_MCU_STM32H7 |
| 460 | + |
429 | 461 | #if defined(MICROPY_HW_ANALOG_SWITCH_PA0) \ |
430 | 462 | || defined(MICROPY_HW_ANALOG_SWITCH_PA1) \ |
431 | 463 | || defined(MICROPY_HW_ANALOG_SWITCH_PC2) \ |
|
445 | 477 | #define MICROPY_HW_MAX_UART (5) |
446 | 478 | #define MICROPY_HW_MAX_LPUART (1) |
447 | 479 |
|
| 480 | +#define CFG_TUSB_MCU OPT_MCU_STM32L0 |
| 481 | + |
448 | 482 | // Configuration for STM32L1 series |
449 | 483 | #elif defined(STM32L1) |
450 | 484 | #define MP_HAL_UNIQUE_ID_ADDRESS (UID_BASE) |
|
455 | 489 | #define MICROPY_HW_MAX_UART (5) |
456 | 490 | #define MICROPY_HW_MAX_LPUART (0) |
457 | 491 |
|
| 492 | +#define CFG_TUSB_MCU OPT_MCU_STM32L1 |
| 493 | + |
458 | 494 | // Configuration for STM32L4 series |
459 | 495 | #elif defined(STM32L4) |
460 | 496 |
|
|
465 | 501 | #define MICROPY_HW_MAX_UART (5) |
466 | 502 | #define MICROPY_HW_MAX_LPUART (1) |
467 | 503 |
|
| 504 | +#define CFG_TUSB_MCU OPT_MCU_STM32L4 |
| 505 | + |
468 | 506 | // Configuration for STM32WB series |
469 | 507 | #elif defined(STM32WB) |
470 | 508 |
|
|
475 | 513 | #define MICROPY_HW_MAX_UART (1) |
476 | 514 | #define MICROPY_HW_MAX_LPUART (1) |
477 | 515 |
|
| 516 | +#define CFG_TUSB_MCU OPT_MCU_STM32WB |
| 517 | + |
478 | 518 | #ifndef MICROPY_HW_STM32WB_FLASH_SYNCRONISATION |
479 | 519 | #define MICROPY_HW_STM32WB_FLASH_SYNCRONISATION (1) |
480 | 520 | #endif |
|
666 | 706 | #define MICROPY_HW_USB_CDC_NUM (1) |
667 | 707 | #endif |
668 | 708 | #ifndef MICROPY_HW_USB_MSC |
669 | | -#define MICROPY_HW_USB_MSC (MICROPY_HW_ENABLE_USB) |
| 709 | +#define MICROPY_HW_USB_MSC (MICROPY_HW_ENABLE_USB && !MICROPY_HW_TINYUSB_STACK) |
670 | 710 | #endif |
671 | 711 | #ifndef MICROPY_HW_USB_HID |
672 | | -#define MICROPY_HW_USB_HID (MICROPY_HW_ENABLE_USB) |
| 712 | +#define MICROPY_HW_USB_HID (MICROPY_HW_ENABLE_USB && !MICROPY_HW_TINYUSB_STACK) |
673 | 713 | #endif |
674 | 714 |
|
675 | 715 | // Pin definition header file |
|
0 commit comments