|
250 | 250 | #error "Old USBD_xxx configuration option used, renamed to MICROPY_HW_USB_xxx" |
251 | 251 | #endif |
252 | 252 |
|
| 253 | +// Select whether TinyUSB or legacy STM stack is used to provide USB. |
| 254 | +#ifndef MICROPY_HW_TINYUSB_STACK |
| 255 | +#define MICROPY_HW_TINYUSB_STACK (0) |
| 256 | +#endif |
| 257 | + |
| 258 | +// Central definition for STM USB stack (when not using TinyUSB) |
| 259 | +#define MICROPY_HW_STM_USB_STACK (MICROPY_HW_ENABLE_USB && !MICROPY_HW_TINYUSB_STACK) |
| 260 | + |
| 261 | +#if MICROPY_HW_TINYUSB_STACK |
| 262 | +#ifndef MICROPY_HW_ENABLE_USBDEV |
| 263 | +#define MICROPY_HW_ENABLE_USBDEV (1) |
| 264 | +#endif |
| 265 | + |
| 266 | +#ifndef MICROPY_HW_USB_CDC |
| 267 | +#define MICROPY_HW_USB_CDC (1) |
| 268 | +#endif |
| 269 | + |
| 270 | +#ifndef MICROPY_HW_ENABLE_USB_RUNTIME_DEVICE |
| 271 | +#define MICROPY_HW_ENABLE_USB_RUNTIME_DEVICE (1) // Support machine.USBDevice |
| 272 | +#endif |
| 273 | +#endif |
| 274 | + |
| 275 | +// Configure maximum number of CDC VCP interfaces, and whether MSC/HID are supported |
| 276 | +#ifndef MICROPY_HW_USB_CDC_NUM |
| 277 | +#define MICROPY_HW_USB_CDC_NUM (1) |
| 278 | +#endif |
| 279 | +#ifndef MICROPY_HW_USB_MSC |
| 280 | +#define MICROPY_HW_USB_MSC (MICROPY_HW_STM_USB_STACK) |
| 281 | +#endif |
| 282 | +#ifndef MICROPY_HW_USB_HID |
| 283 | +#define MICROPY_HW_USB_HID (MICROPY_HW_STM_USB_STACK) |
| 284 | +#endif |
| 285 | + |
253 | 286 | // Default VID and PID values to use for the USB device. If MICROPY_HW_USB_VID |
254 | 287 | // is defined by a board then all needed PID options must also be defined. The |
255 | 288 | // VID and PID can also be set dynamically in pyb.usb_mode(). |
256 | 289 | // Windows needs a different PID to distinguish different device configurations. |
257 | 290 | #ifndef MICROPY_HW_USB_VID |
258 | 291 | #define MICROPY_HW_USB_VID (0xf055) |
| 292 | + |
| 293 | +// USB PID for TinyUSB Stack. |
| 294 | +#define MICROPY_HW_USB_PID (0x9802) |
| 295 | + |
| 296 | +// USB PID table for STM USB stack. |
259 | 297 | #define MICROPY_HW_USB_PID_CDC_MSC (0x9800) |
260 | 298 | #define MICROPY_HW_USB_PID_CDC_HID (0x9801) |
261 | 299 | #define MICROPY_HW_USB_PID_CDC (0x9802) |
|
369 | 407 | #endif |
370 | 408 | #define MICROPY_HW_MAX_LPUART (0) |
371 | 409 |
|
| 410 | +#define CFG_TUSB_MCU OPT_MCU_STM32F4 |
| 411 | + |
372 | 412 | // Configuration for STM32F7 series |
373 | 413 | #elif defined(STM32F7) |
374 | 414 |
|
|
384 | 424 | #define MICROPY_HW_MAX_UART (8) |
385 | 425 | #define MICROPY_HW_MAX_LPUART (0) |
386 | 426 |
|
| 427 | +#define CFG_TUSB_MCU OPT_MCU_STM32F7 |
| 428 | + |
387 | 429 | // Configuration for STM32G0 series |
388 | 430 | #elif defined(STM32G0) |
389 | 431 |
|
|
394 | 436 | #define MICROPY_HW_MAX_UART (6) |
395 | 437 | #define MICROPY_HW_MAX_LPUART (2) |
396 | 438 |
|
| 439 | +#define CFG_TUSB_MCU OPT_MCU_STM32G0 |
| 440 | + |
397 | 441 | // Configuration for STM32G4 series |
398 | 442 | #elif defined(STM32G4) |
399 | 443 |
|
|
404 | 448 | #define MICROPY_HW_MAX_UART (5) // UART1-5 + LPUART1 |
405 | 449 | #define MICROPY_HW_MAX_LPUART (1) |
406 | 450 |
|
| 451 | +#define CFG_TUSB_MCU OPT_MCU_STM32G4 |
| 452 | + |
407 | 453 | // Configuration for STM32H5 series |
408 | 454 | #elif defined(STM32H5) |
409 | 455 |
|
|
414 | 460 | #define MICROPY_HW_MAX_UART (12) |
415 | 461 | #define MICROPY_HW_MAX_LPUART (1) |
416 | 462 |
|
| 463 | +#define CFG_TUSB_MCU OPT_MCU_STM32H5 |
| 464 | + |
417 | 465 | // Configuration for STM32H7A3/B3 series |
418 | 466 | #elif defined(STM32H7A3xx) || defined(STM32H7A3xxQ) || \ |
419 | 467 | defined(STM32H7B3xx) || defined(STM32H7B3xxQ) |
|
425 | 473 | #define MICROPY_HW_MAX_UART (10) |
426 | 474 | #define MICROPY_HW_MAX_LPUART (1) |
427 | 475 |
|
| 476 | +#define CFG_TUSB_MCU OPT_MCU_STM32H7 |
| 477 | + |
428 | 478 | // Configuration for STM32H7 series |
429 | 479 | #elif defined(STM32H7) |
430 | 480 |
|
|
435 | 485 | #define MICROPY_HW_MAX_UART (8) |
436 | 486 | #define MICROPY_HW_MAX_LPUART (1) |
437 | 487 |
|
| 488 | +#define CFG_TUSB_MCU OPT_MCU_STM32H7 |
| 489 | + |
438 | 490 | #if defined(MICROPY_HW_ANALOG_SWITCH_PA0) \ |
439 | 491 | || defined(MICROPY_HW_ANALOG_SWITCH_PA1) \ |
440 | 492 | || defined(MICROPY_HW_ANALOG_SWITCH_PC2) \ |
|
454 | 506 | #define MICROPY_HW_MAX_UART (5) |
455 | 507 | #define MICROPY_HW_MAX_LPUART (1) |
456 | 508 |
|
| 509 | +#define CFG_TUSB_MCU OPT_MCU_STM32L0 |
| 510 | + |
457 | 511 | // Configuration for STM32L1 series |
458 | 512 | #elif defined(STM32L1) |
459 | 513 | #define MP_HAL_UNIQUE_ID_ADDRESS (UID_BASE) |
|
464 | 518 | #define MICROPY_HW_MAX_UART (5) |
465 | 519 | #define MICROPY_HW_MAX_LPUART (0) |
466 | 520 |
|
| 521 | +#define CFG_TUSB_MCU OPT_MCU_STM32L1 |
| 522 | + |
467 | 523 | // Configuration for STM32L4 series |
468 | 524 | #elif defined(STM32L4) |
469 | 525 |
|
|
474 | 530 | #define MICROPY_HW_MAX_UART (5) |
475 | 531 | #define MICROPY_HW_MAX_LPUART (1) |
476 | 532 |
|
| 533 | +#define CFG_TUSB_MCU OPT_MCU_STM32L4 |
| 534 | + |
477 | 535 | // Configuration for STM32N6 series |
478 | 536 | #elif defined(STM32N6) |
479 | 537 |
|
|
508 | 566 | #define MICROPY_HW_MAX_UART (1) |
509 | 567 | #define MICROPY_HW_MAX_LPUART (1) |
510 | 568 |
|
| 569 | +#define CFG_TUSB_MCU OPT_MCU_STM32WB |
| 570 | + |
511 | 571 | #ifndef MICROPY_HW_STM32WB_FLASH_SYNCRONISATION |
512 | 572 | #define MICROPY_HW_STM32WB_FLASH_SYNCRONISATION (1) |
513 | 573 | #endif |
|
715 | 775 | #define MICROPY_HW_USB_IS_MULTI_OTG (1) |
716 | 776 | #endif |
717 | 777 |
|
718 | | -// Configure maximum number of CDC VCP interfaces, and whether MSC/HID are supported |
719 | | -#ifndef MICROPY_HW_USB_CDC_NUM |
720 | | -#define MICROPY_HW_USB_CDC_NUM (1) |
721 | | -#endif |
722 | | -#ifndef MICROPY_HW_USB_MSC |
723 | | -#define MICROPY_HW_USB_MSC (MICROPY_HW_ENABLE_USB) |
724 | | -#endif |
725 | | -#ifndef MICROPY_HW_USB_HID |
726 | | -#define MICROPY_HW_USB_HID (MICROPY_HW_ENABLE_USB) |
727 | | -#endif |
728 | | - |
729 | 778 | // Pin definition header file |
730 | 779 | #define MICROPY_PIN_DEFS_PORT_H "pin_defs_stm32.h" |
731 | 780 |
|
|
0 commit comments