|
136 | 136 | #define MICROPY_HW_ENABLE_USB (0) |
137 | 137 | #endif |
138 | 138 |
|
| 139 | +#if MICROPY_HW_ENABLE_USB |
| 140 | +#define MICROPY_HW_USB_CDC (1) |
| 141 | +#define MICROPY_HW_USB_FS (1) |
| 142 | + |
| 143 | +// Select whether TinyUSB or legacy STM stack is used to provide USB. |
| 144 | +#ifndef MICROPY_HW_TINYUSB_STACK |
| 145 | +#define MICROPY_HW_TINYUSB_STACK (0) |
| 146 | +#endif |
| 147 | + |
| 148 | +// Central definition for STM USB stack (when not using TinyUSB) |
| 149 | +#define MICROPY_HW_STM_USB_STACK (MICROPY_HW_ENABLE_USB && !MICROPY_HW_TINYUSB_STACK) |
| 150 | + |
| 151 | +#if MICROPY_HW_TINYUSB_STACK |
| 152 | +#define MICROPY_HW_ENABLE_USBDEV (1) |
| 153 | +#endif |
| 154 | + |
| 155 | +#endif // MICROPY_HW_ENABLE_USB |
| 156 | + |
139 | 157 | // Whether to enable the PA0-PA3 servo driver, exposed as pyb.Servo |
140 | 158 | #ifndef MICROPY_HW_ENABLE_SERVO |
141 | 159 | #define MICROPY_HW_ENABLE_SERVO (0) |
|
256 | 274 | // Windows needs a different PID to distinguish different device configurations. |
257 | 275 | #ifndef MICROPY_HW_USB_VID |
258 | 276 | #define MICROPY_HW_USB_VID (0xf055) |
| 277 | +#define MICROPY_HW_USB_PID (0x9802) |
| 278 | + |
259 | 279 | #define MICROPY_HW_USB_PID_CDC_MSC (0x9800) |
260 | 280 | #define MICROPY_HW_USB_PID_CDC_HID (0x9801) |
261 | 281 | #define MICROPY_HW_USB_PID_CDC (0x9802) |
|
369 | 389 | #endif |
370 | 390 | #define MICROPY_HW_MAX_LPUART (0) |
371 | 391 |
|
| 392 | +#define CFG_TUSB_MCU OPT_MCU_STM32F4 |
| 393 | + |
372 | 394 | // Configuration for STM32F7 series |
373 | 395 | #elif defined(STM32F7) |
374 | 396 |
|
|
384 | 406 | #define MICROPY_HW_MAX_UART (8) |
385 | 407 | #define MICROPY_HW_MAX_LPUART (0) |
386 | 408 |
|
| 409 | +#define CFG_TUSB_MCU OPT_MCU_STM32F7 |
| 410 | + |
387 | 411 | // Configuration for STM32G0 series |
388 | 412 | #elif defined(STM32G0) |
389 | 413 |
|
|
394 | 418 | #define MICROPY_HW_MAX_UART (6) |
395 | 419 | #define MICROPY_HW_MAX_LPUART (2) |
396 | 420 |
|
| 421 | +#define CFG_TUSB_MCU OPT_MCU_STM32G0 |
| 422 | + |
397 | 423 | // Configuration for STM32G4 series |
398 | 424 | #elif defined(STM32G4) |
399 | 425 |
|
|
404 | 430 | #define MICROPY_HW_MAX_UART (5) // UART1-5 + LPUART1 |
405 | 431 | #define MICROPY_HW_MAX_LPUART (1) |
406 | 432 |
|
| 433 | +#define CFG_TUSB_MCU OPT_MCU_STM32G4 |
| 434 | + |
407 | 435 | // Configuration for STM32H5 series |
408 | 436 | #elif defined(STM32H5) |
409 | 437 |
|
|
414 | 442 | #define MICROPY_HW_MAX_UART (12) |
415 | 443 | #define MICROPY_HW_MAX_LPUART (1) |
416 | 444 |
|
| 445 | +#define CFG_TUSB_MCU OPT_MCU_STM32H5 |
| 446 | + |
417 | 447 | // Configuration for STM32H7A3/B3 series |
418 | 448 | #elif defined(STM32H7A3xx) || defined(STM32H7A3xxQ) || \ |
419 | 449 | defined(STM32H7B3xx) || defined(STM32H7B3xxQ) |
|
425 | 455 | #define MICROPY_HW_MAX_UART (10) |
426 | 456 | #define MICROPY_HW_MAX_LPUART (1) |
427 | 457 |
|
| 458 | +#define CFG_TUSB_MCU OPT_MCU_STM32H7 |
| 459 | + |
428 | 460 | // Configuration for STM32H7 series |
429 | 461 | #elif defined(STM32H7) |
430 | 462 |
|
|
435 | 467 | #define MICROPY_HW_MAX_UART (8) |
436 | 468 | #define MICROPY_HW_MAX_LPUART (1) |
437 | 469 |
|
| 470 | +#define CFG_TUSB_MCU OPT_MCU_STM32H7 |
| 471 | + |
438 | 472 | #if defined(MICROPY_HW_ANALOG_SWITCH_PA0) \ |
439 | 473 | || defined(MICROPY_HW_ANALOG_SWITCH_PA1) \ |
440 | 474 | || defined(MICROPY_HW_ANALOG_SWITCH_PC2) \ |
|
454 | 488 | #define MICROPY_HW_MAX_UART (5) |
455 | 489 | #define MICROPY_HW_MAX_LPUART (1) |
456 | 490 |
|
| 491 | +#define CFG_TUSB_MCU OPT_MCU_STM32L0 |
| 492 | + |
457 | 493 | // Configuration for STM32L1 series |
458 | 494 | #elif defined(STM32L1) |
459 | 495 | #define MP_HAL_UNIQUE_ID_ADDRESS (UID_BASE) |
|
464 | 500 | #define MICROPY_HW_MAX_UART (5) |
465 | 501 | #define MICROPY_HW_MAX_LPUART (0) |
466 | 502 |
|
| 503 | +#define CFG_TUSB_MCU OPT_MCU_STM32L1 |
| 504 | + |
467 | 505 | // Configuration for STM32L4 series |
468 | 506 | #elif defined(STM32L4) |
469 | 507 |
|
|
474 | 512 | #define MICROPY_HW_MAX_UART (5) |
475 | 513 | #define MICROPY_HW_MAX_LPUART (1) |
476 | 514 |
|
| 515 | +#define CFG_TUSB_MCU OPT_MCU_STM32L4 |
| 516 | + |
477 | 517 | // Configuration for STM32N6 series |
478 | 518 | #elif defined(STM32N6) |
479 | 519 |
|
|
494 | 534 | #define MICROPY_HW_MAX_UART (1) |
495 | 535 | #define MICROPY_HW_MAX_LPUART (1) |
496 | 536 |
|
| 537 | +#define CFG_TUSB_MCU OPT_MCU_STM32WB |
| 538 | + |
497 | 539 | #ifndef MICROPY_HW_STM32WB_FLASH_SYNCRONISATION |
498 | 540 | #define MICROPY_HW_STM32WB_FLASH_SYNCRONISATION (1) |
499 | 541 | #endif |
|
699 | 741 | #define MICROPY_HW_USB_CDC_NUM (1) |
700 | 742 | #endif |
701 | 743 | #ifndef MICROPY_HW_USB_MSC |
702 | | -#define MICROPY_HW_USB_MSC (MICROPY_HW_ENABLE_USB) |
| 744 | +#define MICROPY_HW_USB_MSC (MICROPY_HW_STM_USB_STACK) |
703 | 745 | #endif |
704 | 746 | #ifndef MICROPY_HW_USB_HID |
705 | | -#define MICROPY_HW_USB_HID (MICROPY_HW_ENABLE_USB) |
| 747 | +#define MICROPY_HW_USB_HID (MICROPY_HW_STM_USB_STACK) |
706 | 748 | #endif |
707 | 749 |
|
708 | 750 | // Pin definition header file |
|
0 commit comments