From 33506675c51e11f3b04cc7a0a4f11af244a0ba11 Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 30 Nov 2021 00:33:55 +0700 Subject: update supported doc --- docs/reference/supported.rst | 234 +++++++++++++++++++++++-------------------- 1 file changed, 125 insertions(+), 109 deletions(-) (limited to 'docs') diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index 1d2b4db51..254a0d95d 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -11,117 +11,120 @@ Supported MCUs This table is a WIP! the data is not correct, tho if a device is listed, it likely works as a usb full speed device at the least. -+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| Manufacturer | Family | Device | Host | FS | HS | Known Issues | -+==============+====================+===================+====================+===================+===================+==============+ -| Dialog | DA1469x | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| Espressif | ESP32-S2 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | ESP32-S3 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| MicroChip | SAMD11 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | SAMD21 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | SAMD51 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | SAME5x | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | SAMG55 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | SAML21 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | SAML22 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | SAME70,S70,V70,V71 | |:green_square:| | |:red_square:| | |:green_square:| | |:green_square:| | | -+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| NordicSemi | nRF52833 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | nRF52840 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| Nuvoton | NUC120 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | NUC121/NUC125 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | NUC126 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | NUC505 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -+--------------+-------+------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| NXP | iMX | RT1011 | |:green_square:| | |:yellow_square:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | RT1015 | |:green_square:| | |:yellow_square:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | RT1021 | |:green_square:| | |:yellow_square:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | RT1052 | |:green_square:| | |:yellow_square:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | RT1062 | |:green_square:| | |:yellow_square:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | RT1064 | |:green_square:| | |:yellow_square:| | |:green_square:| | |:x:| | | -| +-------+------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | Kinetis KL25 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| +-------+------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | LPC | 11u | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | 13 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | 15 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | 17 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | 18 | | |:yellow_square:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | 40 | | |:x:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | 43 | |:green_square:| | |:yellow_square:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | 51u | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | 54 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | 55 | |:green_square:| | |:x:| | |:green_square:| | | | -+--------------+-------+------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| Raspberry Pi | RP2040 | |:green_square:| | |:x:| | |:green_square:| | | | -+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| Renesas | RX63N | |:green_square:| | | |:green_square:| | |:x:| | | -| +--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | RX65N | |:green_square:| | | |:green_square:| | |:x:| | | -+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| Silabs | EFM32GG12 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| Sony | CXD56 | |:green_square:| | |:x:| | |:green_square:| | |:x:| | | -+--------------+-------+------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| ST | STM32 | L0 | |:green_square:| | | |:green_square:| | | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | F0 | |:green_square:| | | |:green_square:| | | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | F1 | |:green_square:| | | |:green_square:| | | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | F2 | |:green_square:| | | |:green_square:| | | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | F3 | |:green_square:| | | |:green_square:| | | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | F4 | |:green_square:| | | |:green_square:| | | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | F7 | |:green_square:| | | |:green_square:| | | | -| | +------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| | | H7 | |:green_square:| | | |:green_square:| | |:green_square:| | | -+--------------+-------+------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| TI | MSP430 | |:green_square:| | | |:green_square:| | | | -+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ -| ValentyUSB | eptri | |:green_square:| | | |:green_square:| | | | -+--------------+--------------------+-------------------+--------------------+-------------------+-------------------+--------------+ ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| Manufacturer | Family | Device | Host | Highspeed | Driver | Note | ++==============+=======================+======================+======================+======================+=================+==============+ +| Broadcom | BCM2711, BCM2837 | |:heavy_check_mark:| | | |:heavy_check_mark:| | dwc2 | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| Dialog | DA1469x | |:heavy_check_mark:| | |:x:| | |:x:| | da146xx | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| Espressif | ESP32 S2, S3 | |:heavy_check_mark:| | | |:x:| | dwc2 or esp32sx | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| GigaDevice | GD32VF103 | |:heavy_check_mark:| | | |:x:| | dwc2 | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| Infineon | XMC4500 | |:heavy_check_mark:| | | |:x:| | dwc2 | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| MicroChip | SAM D11, D21 | |:heavy_check_mark:| | | |:x:| | samd | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | SAM D51, E5x | |:heavy_check_mark:| | | |:x:| | samd | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | SAM G55 | |:heavy_check_mark:| | | |:x:| | samg | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | SAM L21, L22 | |:heavy_check_mark:| | | |:x:| | samd | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | SAM E70,S70,V70,V71 | |:heavy_check_mark:| | | |:heavy_check_mark:| | samx7x | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| NordicSemi | nRF52833, nRF52840 | |:heavy_check_mark:| | |:x:| | |:x:| | nrf5x | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | nRF5340 | |:heavy_check_mark:| | |:x:| | |:x:| | nrf5x | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| Nuvoton | NUC120 | |:heavy_check_mark:| | |:x:| | |:x:| | | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | NUC121/NUC125 | |:heavy_check_mark:| | |:x:| | |:x:| | | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | NUC126 | |:heavy_check_mark:| | |:x:| | |:x:| | | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | NUC505 | |:heavy_check_mark:| | | |:heavy_check_mark:| | | | ++--------------+---------+-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| NXP | iMXRT | RT1011 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | RT1015 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | RT1021 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | RT1052 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | RT1062 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | RT1064 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | +| +---------+-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | Kinetis | KL25 | |:heavy_check_mark:| | | |:x:| | | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | K32L2 | |:heavy_check_mark:| | | |:x:| | | | +| +---------+-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | LPC | 11u, 13, 15 | |:heavy_check_mark:| | |:x:| | |:x:| | lpc_ip3511 | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | 17, 40 | |:heavy_check_mark:| | |:construction:| | |:x:| | lpc17_40 | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | 18, 43 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:x:| | | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | 51u | |:heavy_check_mark:| | |:x:| | |:x:| | lpc_ip3511 | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | 54 | |:heavy_check_mark:| | | |:heavy_check_mark:| | lpc_ip3511 | | +| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | 55 | |:heavy_check_mark:| | | |:heavy_check_mark:| | lpc_ip3511 | | ++--------------+---------+-------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| Raspberry Pi | RP2040 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:x:| | rp2040 | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| Renesas | RX 63N, 65N, 72N | |:heavy_check_mark:| | |:x:| | |:x:| | usba | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| Silabs | EFM32GG12 | |:heavy_check_mark:| | | |:x:| | dwc2 | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| Sony | CXD56 | |:heavy_check_mark:| | |:x:| | |:heavy_check_mark:| | cxd56 | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| ST STM32 | F0 | |:heavy_check_mark:| | |:x:| | |:x:| | stm32_fsdev | | +| +----+------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | F1 | 102, 103 | |:heavy_check_mark:| | |:x:| | |:x:| | stm32_fsdev | | +| | +------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | 105, 107 | |:heavy_check_mark:| | | |:x:| | dwc2 | | +| +----+------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | F2 | |:heavy_check_mark:| | | |:heavy_check_mark:| | dwc2 | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | F3 | |:heavy_check_mark:| | |:x:| | |:x:| | stm32_fsdev | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | F4 | |:heavy_check_mark:| | | |:heavy_check_mark:| | dwc2 | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | F7 | |:heavy_check_mark:| | | |:heavy_check_mark:| | dwc2 | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | H7 | |:heavy_check_mark:| | | |:heavy_check_mark:| | dwc2 | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | L0, L1 | |:heavy_check_mark:| | |:x:| | |:x:| | stm32_fsdev | | +| +----+------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | L4 | 4x2, 4x3 | |:heavy_check_mark:| | |:x:| | |:x:| | stm32_fsdev | | +| | +------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | | 4x5, 4x6 | |:heavy_check_mark:| | | | dwc2 | | +| +----+------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | L4+ | |:heavy_check_mark:| | | | dwc2 | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | U5 | |:construction:| | | | dwc2 | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| TI | MSP430 | |:heavy_check_mark:| | |:x:| | |:x:| | msp430x5xx | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | MSP432E4 | |:heavy_check_mark:| | | |:x:| | musb | | +| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| | TM4C123 | |:heavy_check_mark:| | | |:x:| | musb | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ +| ValentyUSB | eptri | |:heavy_check_mark:| | |:x:| | |:x:| | eptri | | ++--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ Table Legend ------------ -================= =================== -|:x:| Not available -|:red_square:| Not supported -|:yellow_square:| WIP/partial support -|:green_square:| Supported -================= =================== +==================== =================== +|:heavy_check_mark:| Supported +|:construction:| WIP/partial support +|:x:| Not supported +==================== =================== Supported Boards ================ @@ -134,6 +137,11 @@ The board support code is only used for self-contained examples and testing. It The following boards are supported (sorted alphabetically): +Broadcom +-------- + +- `Raspberry Pi CM4 `__ + Dialog DA146xx -------------- @@ -143,12 +151,17 @@ Dialog DA146xx Espressif ESP32-S2 ------------------ -- Adafruit Feather ESP32-S2 +- `Adafruit Feather ESP32-S2 `__ - `Adafruit Magtag 2.9" E-Ink WiFi Display `__ - `Adafruit Metro ESP32-S2 `__ - `ESP32-S2-Kaluga-1 `__ - `ESP32-S2-Saola-1 `__ +GigaDevice +---------- + +- `Sipeed Longan Nano `__ + Infineon --------- @@ -243,7 +256,8 @@ iMX RT Kinetis ^^^^^^^ -- `FRDM-KL25Z `__ +- `Freedom FRDM-KL25Z `__ +- `Freedom FRDM-K32L2B3 `__ LPC 11-13-15 ^^^^^^^^^^^^ @@ -374,6 +388,8 @@ TI -- - `MSP430F5529 USB LaunchPad Evaluation Kit `__ +- `MSP-EXP432E401Y LaunchPad Evaluation Kit `__ +- `TM4C123GXL LaunchPad Evaluation Kit `__ Tomu ---- -- cgit v1.3.1 From 4678a4142e8dff8c0c7b959dd6862eeb9e9d62f1 Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 30 Nov 2021 00:35:39 +0700 Subject: remove warnings --- docs/reference/supported.rst | 5 ----- 1 file changed, 5 deletions(-) (limited to 'docs') diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index 254a0d95d..dfaffe6e3 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -6,11 +6,6 @@ Supported Devices Supported MCUs ============== -.. admonition:: Warning - :class: warning - - This table is a WIP! the data is not correct, tho if a device is listed, it likely works as a usb full speed device at the least. - +--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ | Manufacturer | Family | Device | Host | Highspeed | Driver | Note | +==============+=======================+======================+======================+======================+=================+==============+ -- cgit v1.3.1 From eae4132fbb216329e9a0d8b624baf1c5aad56359 Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 2 Dec 2021 11:31:27 +0700 Subject: update supported doc --- docs/reference/supported.rst | 212 +++++++++++++++++++++---------------------- 1 file changed, 101 insertions(+), 111 deletions(-) (limited to 'docs') diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index dfaffe6e3..83cf874da 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -2,124 +2,114 @@ Supported Devices ***************** - Supported MCUs ============== -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| Manufacturer | Family | Device | Host | Highspeed | Driver | Note | -+==============+=======================+======================+======================+======================+=================+==============+ -| Broadcom | BCM2711, BCM2837 | |:heavy_check_mark:| | | |:heavy_check_mark:| | dwc2 | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| Dialog | DA1469x | |:heavy_check_mark:| | |:x:| | |:x:| | da146xx | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| Espressif | ESP32 S2, S3 | |:heavy_check_mark:| | | |:x:| | dwc2 or esp32sx | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| GigaDevice | GD32VF103 | |:heavy_check_mark:| | | |:x:| | dwc2 | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| Infineon | XMC4500 | |:heavy_check_mark:| | | |:x:| | dwc2 | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| MicroChip | SAM D11, D21 | |:heavy_check_mark:| | | |:x:| | samd | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | SAM D51, E5x | |:heavy_check_mark:| | | |:x:| | samd | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | SAM G55 | |:heavy_check_mark:| | | |:x:| | samg | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | SAM L21, L22 | |:heavy_check_mark:| | | |:x:| | samd | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | SAM E70,S70,V70,V71 | |:heavy_check_mark:| | | |:heavy_check_mark:| | samx7x | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| NordicSemi | nRF52833, nRF52840 | |:heavy_check_mark:| | |:x:| | |:x:| | nrf5x | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | nRF5340 | |:heavy_check_mark:| | |:x:| | |:x:| | nrf5x | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| Nuvoton | NUC120 | |:heavy_check_mark:| | |:x:| | |:x:| | | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | NUC121/NUC125 | |:heavy_check_mark:| | |:x:| | |:x:| | | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | NUC126 | |:heavy_check_mark:| | |:x:| | |:x:| | | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | NUC505 | |:heavy_check_mark:| | | |:heavy_check_mark:| | | | -+--------------+---------+-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| NXP | iMXRT | RT1011 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | RT1015 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | RT1021 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | RT1052 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | RT1062 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | RT1064 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:heavy_check_mark:| | | | -| +---------+-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | Kinetis | KL25 | |:heavy_check_mark:| | | |:x:| | | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | K32L2 | |:heavy_check_mark:| | | |:x:| | | | -| +---------+-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | LPC | 11u, 13, 15 | |:heavy_check_mark:| | |:x:| | |:x:| | lpc_ip3511 | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | 17, 40 | |:heavy_check_mark:| | |:construction:| | |:x:| | lpc17_40 | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | 18, 43 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:x:| | | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | 51u | |:heavy_check_mark:| | |:x:| | |:x:| | lpc_ip3511 | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | 54 | |:heavy_check_mark:| | | |:heavy_check_mark:| | lpc_ip3511 | | -| | +-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | 55 | |:heavy_check_mark:| | | |:heavy_check_mark:| | lpc_ip3511 | | -+--------------+---------+-------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| Raspberry Pi | RP2040 | |:heavy_check_mark:| | |:heavy_check_mark:| | |:x:| | rp2040 | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| Renesas | RX 63N, 65N, 72N | |:heavy_check_mark:| | |:x:| | |:x:| | usba | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| Silabs | EFM32GG12 | |:heavy_check_mark:| | | |:x:| | dwc2 | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| Sony | CXD56 | |:heavy_check_mark:| | |:x:| | |:heavy_check_mark:| | cxd56 | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| ST STM32 | F0 | |:heavy_check_mark:| | |:x:| | |:x:| | stm32_fsdev | | -| +----+------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | F1 | 102, 103 | |:heavy_check_mark:| | |:x:| | |:x:| | stm32_fsdev | | -| | +------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | 105, 107 | |:heavy_check_mark:| | | |:x:| | dwc2 | | -| +----+------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | F2 | |:heavy_check_mark:| | | |:heavy_check_mark:| | dwc2 | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | F3 | |:heavy_check_mark:| | |:x:| | |:x:| | stm32_fsdev | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | F4 | |:heavy_check_mark:| | | |:heavy_check_mark:| | dwc2 | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | F7 | |:heavy_check_mark:| | | |:heavy_check_mark:| | dwc2 | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | H7 | |:heavy_check_mark:| | | |:heavy_check_mark:| | dwc2 | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | L0, L1 | |:heavy_check_mark:| | |:x:| | |:x:| | stm32_fsdev | | -| +----+------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | L4 | 4x2, 4x3 | |:heavy_check_mark:| | |:x:| | |:x:| | stm32_fsdev | | -| | +------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | | 4x5, 4x6 | |:heavy_check_mark:| | | | dwc2 | | -| +----+------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | L4+ | |:heavy_check_mark:| | | | dwc2 | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | U5 | |:construction:| | | | dwc2 | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| TI | MSP430 | |:heavy_check_mark:| | |:x:| | |:x:| | msp430x5xx | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | MSP432E4 | |:heavy_check_mark:| | | |:x:| | musb | | -| +-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| | TM4C123 | |:heavy_check_mark:| | | |:x:| | musb | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ -| ValentyUSB | eptri | |:heavy_check_mark:| | |:x:| | |:x:| | eptri | | -+--------------+-----------------------+----------------------+----------------------+----------------------+-----------------+--------------+ ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| Manufacturer | Family | Device | Host | Highspeed | Driver | Note | ++==============+=======================+========+======+===========+===================+==============+ +| Broadcom | BCM2711, BCM2837 | ✔ | | ✔ | dwc2 | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| Dialog | DA1469x | ✔ | ✖ | ✖ | da146xx | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| Espressif | ESP32 S2, S3 | ✔ | | ✖ | dwc2 or esp32sx | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| GigaDevice | GD32VF103 | ✔ | | ✖ | dwc2 | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| Infineon | XMC4500 | ✔ | | ✖ | dwc2 | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| MicroChip | SAM D11, D21 | ✔ | | ✖ | samd | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | SAM D51, E5x | ✔ | | ✖ | samd | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | SAM G55 | ✔ | | ✖ | samg | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | SAM L21, L22 | ✔ | | ✖ | samd | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | SAM E70,S70,V70,V71 | ✔ | | ✔ | samx7x | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| NordicSemi | nRF52833, nRF52840 | ✔ | ✖ | ✖ | nrf5x | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | nRF5340 | ✔ | ✖ | ✖ | nrf5x | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| Nuvoton | NUC120 | ✔ | ✖ | ✖ | | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | NUC121/NUC125 | ✔ | ✖ | ✖ | | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | NUC126 | ✔ | ✖ | ✖ | | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | NUC505 | ✔ | | ✔ | | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| NXP | iMXRT | RT10xx | ✔ | ✔ | ✔ | ci_hs | | +| +---------+-------------+--------+------+-----------+-------------------+--------------+ +| | Kinetis | KL25 | ✔ | | ✖ | | | +| | +-------------+--------+------+-----------+-------------------+--------------+ +| | | K32L2 | ✔ | | ✖ | | | +| +---------+-------------+--------+------+-----------+-------------------+--------------+ +| | LPC | 11u, 13, 15 | ✔ | ✖ | ✖ | lpc_ip3511 | | +| | +-------------+--------+------+-----------+-------------------+--------------+ +| | | 17, 40 | ✔ | ⚠ | ✖ | lpc17_40 | | +| | +-------------+--------+------+-----------+-------------------+--------------+ +| | | 18, 43 | ✔ | ✔ | ✔ | ci_hs | | +| | +-------------+--------+------+-----------+-------------------+--------------+ +| | | 51u | ✔ | ✖ | ✖ | lpc_ip3511 | | +| | +-------------+--------+------+-----------+-------------------+--------------+ +| | | 54 | ✔ | | ✔ | lpc_ip3511 | | +| | +-------------+--------+------+-----------+-------------------+--------------+ +| | | 55 | ✔ | | ✔ | lpc_ip3511 | | ++--------------+---------+-------------+--------+------+-----------+-------------------+--------------+ +| Raspberry Pi | RP2040 | ✔ | ✔ | ✖ | rp2040 | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| Renesas | RX 63N, 65N, 72N | ✔ | ✖ | ✖ | usba | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| Silabs | EFM32GG12 | ✔ | | ✖ | dwc2 | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| Sony | CXD56 | ✔ | ✖ | ✔ | cxd56 | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| ST STM32 | F0 | ✔ | ✖ | ✖ | stm32_fsdev | | +| +----+------------------+--------+------+-----------+-------------------+--------------+ +| | F1 | 102, 103 | ✔ | ✖ | ✖ | stm32_fsdev | | +| | +------------------+--------+------+-----------+-------------------+--------------+ +| | | 105, 107 | ✔ | | ✖ | dwc2 | | +| +----+------------------+--------+------+-----------+-------------------+--------------+ +| | F2 | ✔ | | ✔ | dwc2 | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | F3 | ✔ | ✖ | ✖ | stm32_fsdev | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | F4 | ✔ | | ✔ | dwc2 | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | F7 | ✔ | | ✔ | dwc2 | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | H7 | ✔ | | ✔ | dwc2 | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | L0, L1 | ✔ | ✖ | ✖ | stm32_fsdev | | +| +----+------------------+--------+------+-----------+-------------------+--------------+ +| | L4 | 4x2, 4x3 | ✔ | ✖ | ✖ | stm32_fsdev | | +| | +------------------+--------+------+-----------+-------------------+--------------+ +| | | 4x5, 4x6 | ✔ | | | dwc2 | | +| +----+------------------+--------+------+-----------+-------------------+--------------+ +| | L4+ | ✔ | | | dwc2 | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | U5 | ⚠ | | | dwc2 | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| TI | MSP430 | ✔ | ✖ | ✖ | msp430x5xx | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | MSP432E4 | ✔ | | ✖ | musb | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | TM4C123 | ✔ | | ✖ | musb | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ +| ValentyUSB | eptri | ✔ | ✖ | ✖ | eptri | | ++--------------+-----------------------+--------+------+-----------+-------------------+--------------+ + Table Legend ------------ -==================== =================== -|:heavy_check_mark:| Supported -|:construction:| WIP/partial support -|:x:| Not supported -==================== =================== += =================== +✔ Supported +⚠ WIP/partial support +✖ Not supported += =================== Supported Boards ================ -- cgit v1.3.1 From 94c35de0d2632574b8833a3310082a7e25aa6dd2 Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 2 Dec 2021 13:19:27 +0700 Subject: minor doc update --- docs/reference/supported.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index 83cf874da..e3cb8c679 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -39,7 +39,7 @@ Supported MCUs | | NUC126 | ✔ | ✖ | ✖ | | | | +-----------------------+--------+------+-----------+-------------------+--------------+ | | NUC505 | ✔ | | ✔ | | | -+--------------+-----------------------+--------+------+-----------+-------------------+--------------+ ++--------------+---------+-------------+--------+------+-----------+-------------------+--------------+ | NXP | iMXRT | RT10xx | ✔ | ✔ | ✔ | ci_hs | | | +---------+-------------+--------+------+-----------+-------------------+--------------+ | | Kinetis | KL25 | ✔ | | ✖ | | | -- cgit v1.3.1 From c52c9cda913a828da4d6b2da4df8a0ef1751c425 Mon Sep 17 00:00:00 2001 From: Rafael Silva Date: Thu, 2 Dec 2021 10:22:24 +0000 Subject: after commit: eae4132 this dependency is no longer required Signed-off-by: Rafael Silva --- docs/conf.py | 1 - docs/requirements.txt | 1 - 2 files changed, 2 deletions(-) (limited to 'docs') diff --git a/docs/conf.py b/docs/conf.py index c7a17478f..878b29645 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -21,7 +21,6 @@ extensions = [ 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx_autodoc_typehints', - 'sphinxemoji.sphinxemoji', ] templates_path = ['_templates'] diff --git a/docs/requirements.txt b/docs/requirements.txt index e415ae03e..8ae9ae73b 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,4 +1,3 @@ sphinx~=3.0 furo>=2020.12.30.b24 -sphinxemoji>=0.1.8 sphinx-autodoc-typehints>=1.10 -- cgit v1.3.1 From 69bdd703c20e4a61892dc2ef217d14700b29dc46 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 13 Dec 2021 17:53:38 +0700 Subject: update doc to include g4 --- README.rst | 2 +- docs/reference/supported.rst | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/README.rst b/README.rst index a8ce9399c..03219db3f 100644 --- a/README.rst +++ b/README.rst @@ -50,7 +50,7 @@ The stack supports the following MCUs: - **Renesas:** RX63N, RX65N, RX72N - **Silabs:** EFM32GG - **Sony:** CXD56 -- **ST:** STM32 series: F0, F1, F2, F3, F4, F7, H7, L0, L1, L4, L4+ +- **ST:** STM32 series: F0, F1, F2, F3, F4, F7, H7, G4, L0, L1, L4, L4+ - **TI:** MSP430, MSP432E4, TM4C123 - **ValentyUSB:** eptri diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index e3cb8c679..a63582dd4 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -82,6 +82,8 @@ Supported MCUs | +-----------------------+--------+------+-----------+-------------------+--------------+ | | H7 | ✔ | | ✔ | dwc2 | | | +-----------------------+--------+------+-----------+-------------------+--------------+ +| | G4 | ✔ | ✖ | ✖ | stm32_fsdev | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ | | L0, L1 | ✔ | ✖ | ✖ | stm32_fsdev | | | +----+------------------+--------+------+-----------+-------------------+--------------+ | | L4 | 4x2, 4x3 | ✔ | ✖ | ✖ | stm32_fsdev | | @@ -352,6 +354,17 @@ F7 - `STM32 F767zi Nucleo `__ - `STM32 F769i Discovery `__ +H7 +^^ +- `STM32 H743zi Nucleo `__ +- `STM32 H743i Evaluation `__ +- `STM32 H745i Discovery `__ +- `Waveshare OpenH743I-C `__ + +G4 +^^ +- `STM32 G474RE Nucleo `__ + L0 ^^ - `STM32 L035c8 Discovery `__ @@ -362,13 +375,6 @@ L4 - `STM32 L4P5zg Nucleo `__ - `STM32 L4R5zi Nucleo `__ -H7 -^^ -- `STM32 H743zi Nucleo `__ -- `STM32 H743i Evaluation `__ -- `STM32 H745i Discovery `__ -- `Waveshare OpenH743I-C `__ - TI -- -- cgit v1.3.1 From 469ecdd28c0968fc15fe1d69b943d325d9b89d67 Mon Sep 17 00:00:00 2001 From: Greg Steiert Date: Wed, 15 Dec 2021 14:18:27 -0800 Subject: added KUIIC to supported boards list --- docs/reference/supported.rst | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index a63582dd4..b8f3ac30d 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -245,6 +245,7 @@ Kinetis - `Freedom FRDM-KL25Z `__ - `Freedom FRDM-K32L2B3 `__ +- `KUIIC `__ LPC 11-13-15 ^^^^^^^^^^^^ -- cgit v1.3.1 From 6de423606fc9d512efb830b198c76f095a182a1c Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Tue, 21 Dec 2021 18:24:05 +0100 Subject: nucleo-f439zi support --- docs/reference/supported.rst | 1 + .../boards/stm32f439nucleo/STM32F439ZITX_FLASH.ld | 206 +++++++++ hw/bsp/stm32f4/boards/stm32f439nucleo/board.h | 108 +++++ hw/bsp/stm32f4/boards/stm32f439nucleo/board.mk | 11 + .../boards/stm32f439nucleo/stm32f4xx_hal_conf.h | 486 +++++++++++++++++++++ 5 files changed, 812 insertions(+) create mode 100644 hw/bsp/stm32f4/boards/stm32f439nucleo/STM32F439ZITX_FLASH.ld create mode 100644 hw/bsp/stm32f4/boards/stm32f439nucleo/board.h create mode 100644 hw/bsp/stm32f4/boards/stm32f439nucleo/board.mk create mode 100644 hw/bsp/stm32f4/boards/stm32f439nucleo/stm32f4xx_hal_conf.h (limited to 'docs') diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index b8f3ac30d..4dd172dbe 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -344,6 +344,7 @@ F4 - `STM32 F411ve Discovery `__ - `STM32 F412zg Discovery `__ - `STM32 F412zg Nucleo `__ +- `STM32 F439zg Nucleo `__ F7 ^^ diff --git a/hw/bsp/stm32f4/boards/stm32f439nucleo/STM32F439ZITX_FLASH.ld b/hw/bsp/stm32f4/boards/stm32f439nucleo/STM32F439ZITX_FLASH.ld new file mode 100644 index 000000000..2dc277c77 --- /dev/null +++ b/hw/bsp/stm32f4/boards/stm32f439nucleo/STM32F439ZITX_FLASH.ld @@ -0,0 +1,206 @@ +/* +****************************************************************************** +** +** @file : LinkerScript.ld +** +** @author : Auto-generated by STM32CubeIDE +** +** Abstract : Linker script for NUCLEO-F439ZI Board embedding STM32F439ZITx Device from stm32f4 series +** 2048Kbytes FLASH +** 64Kbytes CCMRAM +** 192Kbytes RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used +** +** Target : STMicroelectronics STM32 +** +** Distribution: The file is distributed as is, without any warranty +** of any kind. +** +****************************************************************************** +** @attention +** +** Copyright (c) 2021 STMicroelectronics. +** All rights reserved. +** +** This software is licensed under terms that can be found in the LICENSE file +** in the root directory of this software component. +** If no LICENSE file comes with this software, it is provided AS-IS. +** +****************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */ + +_Min_Heap_Size = 0x200; /* required amount of heap */ +_Min_Stack_Size = 0x400; /* required amount of stack */ + +/* Memories definition */ +MEMORY +{ + CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192K + FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 2048K +} + +/* Sections */ +SECTIONS +{ + /* The startup code into "FLASH" Rom type memory */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data into "FLASH" Rom type memory */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + /* Constant data into "FLASH" Rom type memory */ + .rodata : + { + . = ALIGN(4); + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + . = ALIGN(4); + } >FLASH + + .ARM.extab : { + . = ALIGN(4); + *(.ARM.extab* .gnu.linkonce.armextab.*) + . = ALIGN(4); + } >FLASH + + .ARM : { + . = ALIGN(4); + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + . = ALIGN(4); + } >FLASH + + .preinit_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + . = ALIGN(4); + } >FLASH + + .init_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + . = ALIGN(4); + } >FLASH + + .fini_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + . = ALIGN(4); + } >FLASH + + /* Used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections into "RAM" Ram type memory */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + *(.RamFunc) /* .RamFunc sections */ + *(.RamFunc*) /* .RamFunc* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + + } >RAM AT> FLASH + + _siccmram = LOADADDR(.ccmram); + + /* CCM-RAM section + * + * IMPORTANT NOTE! + * If initialized variables will be placed in this section, + * the startup code needs to be modified to copy the init-values. + */ + .ccmram : + { + . = ALIGN(4); + _sccmram = .; /* create a global symbol at ccmram start */ + *(.ccmram) + *(.ccmram*) + + . = ALIGN(4); + _eccmram = .; /* create a global symbol at ccmram end */ + } >CCMRAM AT> FLASH + + /* Uninitialized data section into "RAM" Ram type memory */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss section */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough "RAM" Ram type memory left */ + ._user_heap_stack : + { + . = ALIGN(8); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(8); + } >RAM + + /* Remove information from the compiler libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/hw/bsp/stm32f4/boards/stm32f439nucleo/board.h b/hw/bsp/stm32f4/boards/stm32f439nucleo/board.h new file mode 100644 index 000000000..e5a822426 --- /dev/null +++ b/hw/bsp/stm32f4/boards/stm32f439nucleo/board.h @@ -0,0 +1,108 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2020, Ha Thach (tinyusb.org) + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * This file is part of the TinyUSB stack. + */ + +#ifndef BOARD_H_ +#define BOARD_H_ + +#ifdef __cplusplus + extern "C" { +#endif + +// LED +#define LED_PORT GPIOB +#define LED_PIN GPIO_PIN_14 +#define LED_STATE_ON 0 + +// Button +#define BUTTON_PORT GPIOC +#define BUTTON_PIN GPIO_PIN_13 +#define BUTTON_STATE_ACTIVE 1 + +// UART Enable for STLink VCOM +#define UART_DEV USART3 +#define UART_GPIO_PORT GPIOD +#define UART_GPIO_AF GPIO_AF7_USART3 +#define UART_TX_PIN GPIO_PIN_8 +#define UART_RX_PIN GPIO_PIN_9 + +//--------------------------------------------------------------------+ +// RCC Clock +//--------------------------------------------------------------------+ +static inline void board_clock_init(void) +{ + RCC_ClkInitTypeDef RCC_ClkInitStruct; + RCC_OscInitTypeDef RCC_OscInitStruct; + + /* Enable Power Control clock */ + __HAL_RCC_PWR_CLK_ENABLE(); + + /* The voltage scaling allows optimizing the power consumption when the + * device is clocked below the maximum system frequency, to update the + * voltage scaling value regarding system frequency refer to product + * datasheet. */ + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); + + /* Enable HSE Oscillator and activate PLL with HSE as source */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; + RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + RCC_OscInitStruct.PLL.PLLM = HSE_VALUE/1000000; + RCC_OscInitStruct.PLL.PLLN = 336; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; + RCC_OscInitStruct.PLL.PLLQ = 7; + HAL_RCC_OscConfig(&RCC_OscInitStruct); + + /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 + * clocks dividers */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | + RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; + + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; + HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5); + + // Enable clocks for LED, Button, Uart + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + __HAL_RCC_USART3_CLK_ENABLE(); +} + +static inline void board_vbus_sense_init(void) +{ + // Enable VBUS sense (B device) via pin PA9 + USB_OTG_FS->GCCFG |= USB_OTG_GCCFG_NOVBUSSENS; + USB_OTG_FS->GCCFG |= USB_OTG_GCCFG_VBUSBSEN; +} + +#ifdef __cplusplus + } +#endif + +#endif /* BOARD_H_ */ diff --git a/hw/bsp/stm32f4/boards/stm32f439nucleo/board.mk b/hw/bsp/stm32f4/boards/stm32f439nucleo/board.mk new file mode 100644 index 000000000..b7b36a8a6 --- /dev/null +++ b/hw/bsp/stm32f4/boards/stm32f439nucleo/board.mk @@ -0,0 +1,11 @@ +CFLAGS += -DSTM32F439xx + +LD_FILE = $(BOARD_PATH)/STM32F439ZITX_FLASH.ld + +SRC_S += $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f439xx.s + +# For flash-jlink target +JLINK_DEVICE = stm32f439zi + +# flash target using on-board stlink +flash: flash-stlink diff --git a/hw/bsp/stm32f4/boards/stm32f439nucleo/stm32f4xx_hal_conf.h b/hw/bsp/stm32f4/boards/stm32f439nucleo/stm32f4xx_hal_conf.h new file mode 100644 index 000000000..a2c11d717 --- /dev/null +++ b/hw/bsp/stm32f4/boards/stm32f439nucleo/stm32f4xx_hal_conf.h @@ -0,0 +1,486 @@ +/** + ****************************************************************************** + * @file stm32f4xx_hal_conf_template.h + * @author MCD Application Team + * @brief HAL configuration file + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F4xx_HAL_CONF_H +#define __STM32F4xx_HAL_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED +/* #define HAL_ADC_MODULE_ENABLED */ +/* #define HAL_CAN_MODULE_ENABLED */ +/* #define HAL_CAN_LEGACY_MODULE_ENABLED */ +/* #define HAL_CRC_MODULE_ENABLED */ +/* #define HAL_CEC_MODULE_ENABLED */ +/* #define HAL_CRYP_MODULE_ENABLED */ +/* #define HAL_DAC_MODULE_ENABLED */ +/* #define HAL_DCMI_MODULE_ENABLED */ +#define HAL_DMA_MODULE_ENABLED +/* #define HAL_DMA2D_MODULE_ENABLED */ +/* #define HAL_ETH_MODULE_ENABLED */ +#define HAL_FLASH_MODULE_ENABLED +/* #define HAL_NAND_MODULE_ENABLED */ +/* #define HAL_NOR_MODULE_ENABLED */ +/* #define HAL_PCCARD_MODULE_ENABLED */ +/* #define HAL_SRAM_MODULE_ENABLED */ +/* #define HAL_SDRAM_MODULE_ENABLED */ +/* #define HAL_HASH_MODULE_ENABLED */ +#define HAL_GPIO_MODULE_ENABLED +/* #define HAL_EXTI_MODULE_ENABLED */ +/* #define HAL_I2C_MODULE_ENABLED */ +/* #define HAL_SMBUS_MODULE_ENABLED */ +/* #define HAL_I2S_MODULE_ENABLED */ +/* #define HAL_IWDG_MODULE_ENABLED */ +/* #define HAL_LTDC_MODULE_ENABLED */ +/* #define HAL_DSI_MODULE_ENABLED */ +#define HAL_PWR_MODULE_ENABLED +/* #define HAL_QSPI_MODULE_ENABLED */ +#define HAL_RCC_MODULE_ENABLED +/* #define HAL_RNG_MODULE_ENABLED */ +/* #define HAL_RTC_MODULE_ENABLED */ +/* #define HAL_SAI_MODULE_ENABLED */ +/* #define HAL_SD_MODULE_ENABLED */ +// #define HAL_SPI_MODULE_ENABLED +/* #define HAL_TIM_MODULE_ENABLED */ +#define HAL_UART_MODULE_ENABLED +/* #define HAL_USART_MODULE_ENABLED */ +/* #define HAL_IRDA_MODULE_ENABLED */ +/* #define HAL_SMARTCARD_MODULE_ENABLED */ +/* #define HAL_WWDG_MODULE_ENABLED */ +#define HAL_CORTEX_MODULE_ENABLED +/* #define HAL_PCD_MODULE_ENABLED */ +/* #define HAL_HCD_MODULE_ENABLED */ +/* #define HAL_FMPI2C_MODULE_ENABLED */ +/* #define HAL_SPDIFRX_MODULE_ENABLED */ +/* #define HAL_DFSDM_MODULE_ENABLED */ +/* #define HAL_LPTIM_MODULE_ENABLED */ +/* #define HAL_MMC_MODULE_ENABLED */ + +/* ########################## HSE/HSI Values adaptation ##################### */ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) + #define HSE_VALUE (8000000U) /*!< Value of the External oscillator in Hz */ +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) + #define HSE_STARTUP_TIMEOUT (100U) /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) + #define HSI_VALUE (16000000U) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +/** + * @brief Internal Low Speed oscillator (LSI) value. + */ +#if !defined (LSI_VALUE) + #define LSI_VALUE (32000U) +#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz + The real value may vary depending on the variations + in voltage and temperature. */ +/** + * @brief External Low Speed oscillator (LSE) value. + */ +#if !defined (LSE_VALUE) + #define LSE_VALUE (32768U) /*!< Value of the External Low Speed oscillator in Hz */ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) + #define LSE_STARTUP_TIMEOUT (5000U) /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/** + * @brief External clock source for I2S peripheral + * This value is used by the I2S HAL module to compute the I2S clock source + * frequency, this source is inserted directly through I2S_CKIN pad. + */ +#if !defined (EXTERNAL_CLOCK_VALUE) + #define EXTERNAL_CLOCK_VALUE (12288000U) /*!< Value of the External oscillator in Hz*/ +#endif /* EXTERNAL_CLOCK_VALUE */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE (3300U) /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY (0x0FU) /*!< tick interrupt priority */ +#define USE_RTOS 0U +#define PREFETCH_ENABLE 1U +#define INSTRUCTION_CACHE_ENABLE 1U +#define DATA_CACHE_ENABLE 1U + +#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */ +#define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */ +#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */ +#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U /* CRYP register callback disabled */ +#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */ +#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U /* DCMI register callback disabled */ +#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U /* DFSDM register callback disabled */ +#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U /* DMA2D register callback disabled */ +#define USE_HAL_DSI_REGISTER_CALLBACKS 0U /* DSI register callback disabled */ +#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */ +#define USE_HAL_HASH_REGISTER_CALLBACKS 0U /* HASH register callback disabled */ +#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */ +#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */ +#define USE_HAL_FMPI2C_REGISTER_CALLBACKS 0U /* FMPI2C register callback disabled */ +#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */ +#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */ +#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U /* LPTIM register callback disabled */ +#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U /* LTDC register callback disabled */ +#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */ +#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */ +#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */ +#define USE_HAL_PCCARD_REGISTER_CALLBACKS 0U /* PCCARD register callback disabled */ +#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */ +#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U /* QSPI register callback disabled */ +#define USE_HAL_RNG_REGISTER_CALLBACKS 0U /* RNG register callback disabled */ +#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */ +#define USE_HAL_SAI_REGISTER_CALLBACKS 0U /* SAI register callback disabled */ +#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */ +#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */ +#define USE_HAL_SDRAM_REGISTER_CALLBACKS 0U /* SDRAM register callback disabled */ +#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */ +#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */ +#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */ +#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */ +#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */ +#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */ +#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */ +#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */ + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1U */ + +/* ################## Ethernet peripheral configuration ##################### */ + +/* Section 1 : Ethernet peripheral configuration */ + +/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */ +#define MAC_ADDR0 2U +#define MAC_ADDR1 0U +#define MAC_ADDR2 0U +#define MAC_ADDR3 0U +#define MAC_ADDR4 0U +#define MAC_ADDR5 0U + +/* Definition of the Ethernet driver buffers size and count */ +#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ +#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ +#define ETH_RXBUFNB 4U /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ +#define ETH_TXBUFNB 4U /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ + +/* Section 2: PHY configuration section */ + +/* LAN8742A_PHY_ADDRESS Address*/ +#define LAN8742A_PHY_ADDRESS 0U +/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ +#define PHY_RESET_DELAY 0x000000FFU +/* PHY Configuration delay */ +#define PHY_CONFIG_DELAY 0x00000FFFU + +#define PHY_READ_TO 0x0000FFFFU +#define PHY_WRITE_TO 0x0000FFFFU + +/* Section 3: Common PHY Registers */ + +#define PHY_BCR ((uint16_t)0x00U) /*!< Transceiver Basic Control Register */ +#define PHY_BSR ((uint16_t)0x01U) /*!< Transceiver Basic Status Register */ + +#define PHY_RESET ((uint16_t)0x8000U) /*!< PHY Reset */ +#define PHY_LOOPBACK ((uint16_t)0x4000U) /*!< Select loop-back mode */ +#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100U) /*!< Set the full-duplex mode at 100 Mb/s */ +#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000U) /*!< Set the half-duplex mode at 100 Mb/s */ +#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100U) /*!< Set the full-duplex mode at 10 Mb/s */ +#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000U) /*!< Set the half-duplex mode at 10 Mb/s */ +#define PHY_AUTONEGOTIATION ((uint16_t)0x1000U) /*!< Enable auto-negotiation function */ +#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200U) /*!< Restart auto-negotiation function */ +#define PHY_POWERDOWN ((uint16_t)0x0800U) /*!< Select the power down mode */ +#define PHY_ISOLATE ((uint16_t)0x0400U) /*!< Isolate PHY from MII */ + +#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020U) /*!< Auto-Negotiation process completed */ +#define PHY_LINKED_STATUS ((uint16_t)0x0004U) /*!< Valid link established */ +#define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */ + +/* Section 4: Extended PHY Registers */ +#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */ + +#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */ +#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */ + +#define PHY_ISFR ((uint16_t)0x001DU) /*!< PHY Interrupt Source Flag register Offset */ +#define PHY_ISFR_INT4 ((uint16_t)0x000BU) /*!< PHY Link down inturrupt */ + +/* ################## SPI peripheral configuration ########################## */ + +/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver +* Activated: CRC code is present inside driver +* Deactivated: CRC code cleaned from driver +*/ + +#define USE_SPI_CRC 0U + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED + #include "stm32f4xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED + #include "stm32f4xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_EXTI_MODULE_ENABLED + #include "stm32f4xx_hal_exti.h" +#endif /* HAL_EXTI_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED + #include "stm32f4xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED + #include "stm32f4xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED + #include "stm32f4xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_CAN_MODULE_ENABLED + #include "stm32f4xx_hal_can.h" +#endif /* HAL_CAN_MODULE_ENABLED */ + +#ifdef HAL_CAN_LEGACY_MODULE_ENABLED + #include "stm32f4xx_hal_can_legacy.h" +#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED + #include "stm32f4xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_CRYP_MODULE_ENABLED + #include "stm32f4xx_hal_cryp.h" +#endif /* HAL_CRYP_MODULE_ENABLED */ + +#ifdef HAL_DMA2D_MODULE_ENABLED + #include "stm32f4xx_hal_dma2d.h" +#endif /* HAL_DMA2D_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED + #include "stm32f4xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_DCMI_MODULE_ENABLED + #include "stm32f4xx_hal_dcmi.h" +#endif /* HAL_DCMI_MODULE_ENABLED */ + +#ifdef HAL_ETH_MODULE_ENABLED + #include "stm32f4xx_hal_eth.h" +#endif /* HAL_ETH_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED + #include "stm32f4xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_SRAM_MODULE_ENABLED + #include "stm32f4xx_hal_sram.h" +#endif /* HAL_SRAM_MODULE_ENABLED */ + +#ifdef HAL_NOR_MODULE_ENABLED + #include "stm32f4xx_hal_nor.h" +#endif /* HAL_NOR_MODULE_ENABLED */ + +#ifdef HAL_NAND_MODULE_ENABLED + #include "stm32f4xx_hal_nand.h" +#endif /* HAL_NAND_MODULE_ENABLED */ + +#ifdef HAL_PCCARD_MODULE_ENABLED + #include "stm32f4xx_hal_pccard.h" +#endif /* HAL_PCCARD_MODULE_ENABLED */ + +#ifdef HAL_SDRAM_MODULE_ENABLED + #include "stm32f4xx_hal_sdram.h" +#endif /* HAL_SDRAM_MODULE_ENABLED */ + +#ifdef HAL_HASH_MODULE_ENABLED + #include "stm32f4xx_hal_hash.h" +#endif /* HAL_HASH_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED + #include "stm32f4xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_SMBUS_MODULE_ENABLED + #include "stm32f4xx_hal_smbus.h" +#endif /* HAL_SMBUS_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED + #include "stm32f4xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED + #include "stm32f4xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_LTDC_MODULE_ENABLED + #include "stm32f4xx_hal_ltdc.h" +#endif /* HAL_LTDC_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED + #include "stm32f4xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_RNG_MODULE_ENABLED + #include "stm32f4xx_hal_rng.h" +#endif /* HAL_RNG_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED + #include "stm32f4xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_SAI_MODULE_ENABLED + #include "stm32f4xx_hal_sai.h" +#endif /* HAL_SAI_MODULE_ENABLED */ + +#ifdef HAL_SD_MODULE_ENABLED + #include "stm32f4xx_hal_sd.h" +#endif /* HAL_SD_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED + #include "stm32f4xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED + #include "stm32f4xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED + #include "stm32f4xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED + #include "stm32f4xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_IRDA_MODULE_ENABLED + #include "stm32f4xx_hal_irda.h" +#endif /* HAL_IRDA_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED + #include "stm32f4xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED + #include "stm32f4xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED + #include "stm32f4xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_HCD_MODULE_ENABLED + #include "stm32f4xx_hal_hcd.h" +#endif /* HAL_HCD_MODULE_ENABLED */ + +#ifdef HAL_DSI_MODULE_ENABLED + #include "stm32f4xx_hal_dsi.h" +#endif /* HAL_DSI_MODULE_ENABLED */ + +#ifdef HAL_QSPI_MODULE_ENABLED + #include "stm32f4xx_hal_qspi.h" +#endif /* HAL_QSPI_MODULE_ENABLED */ + +#ifdef HAL_CEC_MODULE_ENABLED + #include "stm32f4xx_hal_cec.h" +#endif /* HAL_CEC_MODULE_ENABLED */ + +#ifdef HAL_FMPI2C_MODULE_ENABLED + #include "stm32f4xx_hal_fmpi2c.h" +#endif /* HAL_FMPI2C_MODULE_ENABLED */ + +#ifdef HAL_SPDIFRX_MODULE_ENABLED + #include "stm32f4xx_hal_spdifrx.h" +#endif /* HAL_SPDIFRX_MODULE_ENABLED */ + +#ifdef HAL_DFSDM_MODULE_ENABLED + #include "stm32f4xx_hal_dfsdm.h" +#endif /* HAL_DFSDM_MODULE_ENABLED */ + +#ifdef HAL_LPTIM_MODULE_ENABLED + #include "stm32f4xx_hal_lptim.h" +#endif /* HAL_LPTIM_MODULE_ENABLED */ + +#ifdef HAL_MMC_MODULE_ENABLED + #include "stm32f4xx_hal_mmc.h" +#endif /* HAL_MMC_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0U) +#endif /* USE_FULL_ASSERT */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32F4xx_HAL_CONF_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ -- cgit v1.3.1 From 103817b8b61115e67addfbd696b647f00e47cd30 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Wed, 22 Dec 2021 22:56:53 +0200 Subject: Fix typo Oops. Made a typo in 6de423606fc9d512efb830b198c76f095a182a1c --- docs/reference/supported.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index 4dd172dbe..1f7f395cb 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -344,7 +344,7 @@ F4 - `STM32 F411ve Discovery `__ - `STM32 F412zg Discovery `__ - `STM32 F412zg Nucleo `__ -- `STM32 F439zg Nucleo `__ +- `STM32 F439zi Nucleo `__ F7 ^^ -- cgit v1.3.1 From 745607357b9fc46aafb496f628c60c6fb18af6f9 Mon Sep 17 00:00:00 2001 From: kkitayam <45088311+kkitayam@users.noreply.github.com> Date: Mon, 27 Dec 2021 21:51:23 +0900 Subject: Update Renesas RX status --- docs/reference/supported.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index 1f7f395cb..445643733 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -60,7 +60,7 @@ Supported MCUs +--------------+---------+-------------+--------+------+-----------+-------------------+--------------+ | Raspberry Pi | RP2040 | ✔ | ✔ | ✖ | rp2040 | | +--------------+-----------------------+--------+------+-----------+-------------------+--------------+ -| Renesas | RX 63N, 65N, 72N | ✔ | ✖ | ✖ | usba | | +| Renesas | RX 63N, 65N, 72N | ✔ | ✔ | ✖ | usba | | +--------------+-----------------------+--------+------+-----------+-------------------+--------------+ | Silabs | EFM32GG12 | ✔ | | ✖ | dwc2 | | +--------------+-----------------------+--------+------+-----------+-------------------+--------------+ -- cgit v1.3.1 From a80f23711eefb8d59f76bc70183705d7c368de64 Mon Sep 17 00:00:00 2001 From: Iain Sharp Date: Mon, 24 Jan 2022 20:56:13 +0000 Subject: Some platforms require SDKs and use of cmake --- docs/reference/getting_started.rst | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs') diff --git a/docs/reference/getting_started.rst b/docs/reference/getting_started.rst index 875372c81..7f2c03faa 100644 --- a/docs/reference/getting_started.rst +++ b/docs/reference/getting_started.rst @@ -52,6 +52,8 @@ Some TinyUSB examples also requires external submodule libraries in ``/lib`` suc In addition, MCU driver submodule is also needed to provide low-level MCU peripheral's driver. Luckily, it will be fetched if needed when you run the ``make`` to build your board. +Some modules will also require a module-specific SDK (e.g. RP2040) or binary (e.g. Sony Spresense) to build examples. + Note: some examples especially those that uses Vendor class (e.g webUSB) may requires udev permission on Linux (and/or macOS) to access usb device. It depends on your OS distro, typically copy ``/examples/device/99-tinyusb.rules`` file to /etc/udev/rules.d/ then run ``sudo udevadm control --reload-rules && sudo udevadm trigger`` is good enough. Build @@ -63,6 +65,8 @@ To build example, first change directory to an example folder. $ cd examples/device/cdc_msc +Some modules (e.g. RP2040 and ESP32s2) require the project makefiles to be customized using CMake. If necessary apply any setup steps for the platform's SDK. + Then compile with ``make BOARD=[board_name] all``\ , for example .. code-block:: -- cgit v1.3.1 From ce7a8fed36dc61ef488f1c75a9c810681c7dcde9 Mon Sep 17 00:00:00 2001 From: kkitayam <45088311+kkitayam@users.noreply.github.com> Date: Fri, 28 Jan 2022 01:18:44 +0900 Subject: Add a partial support mark to KL25 --- docs/reference/supported.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index 445643733..7c5402d93 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -42,7 +42,7 @@ Supported MCUs +--------------+---------+-------------+--------+------+-----------+-------------------+--------------+ | NXP | iMXRT | RT10xx | ✔ | ✔ | ✔ | ci_hs | | | +---------+-------------+--------+------+-----------+-------------------+--------------+ -| | Kinetis | KL25 | ✔ | | ✖ | | | +| | Kinetis | KL25 | ✔ | ⚠ | ✖ | | | | | +-------------+--------+------+-----------+-------------------+--------------+ | | | K32L2 | ✔ | | ✖ | | | | +---------+-------------+--------+------+-----------+-------------------+--------------+ -- cgit v1.3.1 From a72d0245fa33e05a4b3fc44efd5e6bf2560722c6 Mon Sep 17 00:00:00 2001 From: NexusXe Date: Wed, 16 Feb 2022 08:29:20 -0600 Subject: Fix link to supported boards It used to point to `boards.md`, which doesn't exist. --- docs/reference/getting_started.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reference/getting_started.rst b/docs/reference/getting_started.rst index 875372c81..77155cd67 100644 --- a/docs/reference/getting_started.rst +++ b/docs/reference/getting_started.rst @@ -37,7 +37,7 @@ It is relatively simple to incorporate tinyusb to your (existing) project Examples -------- -For your convenience, TinyUSB contains a handful of examples for both host and device with/without RTOS to quickly test the functionality as well as demonstrate how API() should be used. Most examples will work on most of `the supported Boards `_. Firstly we need to ``git clone`` if not already +For your convenience, TinyUSB contains a handful of examples for both host and device with/without RTOS to quickly test the functionality as well as demonstrate how API() should be used. Most examples will work on most of `the supported Boards `_. Firstly we need to ``git clone`` if not already .. code-block:: -- cgit v1.3.1 From ada7a23ddc7d429b447d34785ffec2c230d75b1d Mon Sep 17 00:00:00 2001 From: NexusXe Date: Wed, 16 Feb 2022 08:33:06 -0600 Subject: Fix capitalization --- docs/reference/getting_started.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reference/getting_started.rst b/docs/reference/getting_started.rst index 77155cd67..4a53626cd 100644 --- a/docs/reference/getting_started.rst +++ b/docs/reference/getting_started.rst @@ -37,7 +37,7 @@ It is relatively simple to incorporate tinyusb to your (existing) project Examples -------- -For your convenience, TinyUSB contains a handful of examples for both host and device with/without RTOS to quickly test the functionality as well as demonstrate how API() should be used. Most examples will work on most of `the supported Boards `_. Firstly we need to ``git clone`` if not already +For your convenience, TinyUSB contains a handful of examples for both host and device with/without RTOS to quickly test the functionality as well as demonstrate how API() should be used. Most examples will work on most of `the supported boards `_. Firstly we need to ``git clone`` if not already .. code-block:: -- cgit v1.3.1 From 566e3abcea0b987a832116d0a48bde5890bdee3d Mon Sep 17 00:00:00 2001 From: hathach Date: Wed, 23 Feb 2022 11:55:57 +0700 Subject: increase version, update doc for release --- CONTRIBUTORS.rst | 13 ++++++++++--- docs/info/changelog.rst | 40 ++++++++++++++++++++++++++++++++++++++++ src/tusb_option.h | 2 +- 3 files changed, 51 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index 05d088ee7..5726169f8 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -18,6 +18,12 @@ Notable contributors - Design the project logo +`Gordon McNab `__ +--------------------------------------------- + +- Add new DCD port for Bridgetek FT90x and FT93x + + `Ha Thach `__ ----------------------------------------- @@ -53,6 +59,7 @@ Notable contributors ----------------------------------------------- - Add new DCD port for Dialog DA1469x +- Add new DCD port for PIC32MZ - Add new class driver for Bluetooth HCI - Add ISO transfer for STM32 Synopsys, Nordic nRF, Dialog DA1469x - Improve Audio driver and add uac2\_headset example @@ -81,11 +88,11 @@ Notable contributors `Koji KITAYAMA `__ ----------------------------------------------- -- Add new DCD port for NXP Kinetis KL25 -- Add new DCD port for Renesas RX family (RX600, RX700 ..) with GR-CITRUS, RX65n target board +- Add new DCD and HCD port for NXP Kinetis KL25 +- Add new DCD and HCD port for Renesas RX family (RX600, RX700 ..) with GR-CITRUS, RX65n target board +- Add new DCD and HCD port for Mentor musb with MSP432E4 - Add new class driver for USB Video Class (UVC 1.5) - `Nathan Conrad `__ --------------------------------------------- diff --git a/docs/info/changelog.rst b/docs/info/changelog.rst index 8eec729d6..bd6712b93 100644 --- a/docs/info/changelog.rst +++ b/docs/info/changelog.rst @@ -2,6 +2,46 @@ Changelog ********* +0.13.0 +====== + +- [tu_fifo] Fix locked mutex when full, and return type in peek_n() + +Controller Driver (DCD & HCD) +----------------------------- + +- [DWC2] Generalize synopsys dwc2 with synopsys/dwc2 which support both FS and HS phy (UTMI and ULPI) for various MCUs. + - Broadcom 28/27xx on raspberrypi SBC + - Silicon Labs EFM32 + - Espressif ESP32 Sx + - GigaDevice GD32 + - ST STM32 + - Infineon XMC +- [KL25] Add new HCD for NXP KL25 +- [MUSB] Add new DCD and HCD for Mentor musb with TI MSP432E4 +- [F1C100s] Add new DCD for Allwinner F1C100s family +- [PIC32MZ] Add new DCD for PIC32MZ +- [nRF] Fix/Enhance varous race condtion with: EASY DMA, request HFXO, EPOUT +- [ChipIdea] rename Transdimension to more popular ChipIdea Highspeed, +- [RP2040] various update/fix for hcd/dcd +- [FT9XX] new DCD port for Bridgetek FT90x and FT93x devices +- [DA1469X] Fix resume +- [OHCI] Fix device array out of bound + +Note: legacy drivers such as st/synopsys, nxp/transdimension are still present in this release but won't recieve more update and could be removed in the future. + +Device Stack +------------ + +- [Audio] Support disabling feedback format correction (16.16 <-> 10.14 format) +- [MSC] Add tud_msc_request_sense_cb() callback, change most default sense error to medium not present (0x02, 0x3A, 0x00) +- [Video] Fix video_capture example fails enumeration when 8FPS + +Host Stack +---------- + +No notable changes + 0.12.0 ====== diff --git a/src/tusb_option.h b/src/tusb_option.h index c78fc471e..cb49c85ce 100644 --- a/src/tusb_option.h +++ b/src/tusb_option.h @@ -30,7 +30,7 @@ #include "common/tusb_compiler.h" #define TUSB_VERSION_MAJOR 0 -#define TUSB_VERSION_MINOR 12 +#define TUSB_VERSION_MINOR 13 #define TUSB_VERSION_REVISION 0 #define TUSB_VERSION_STRING TU_STRING(TUSB_VERSION_MAJOR) "." TU_STRING(TUSB_VERSION_MINOR) "." TU_STRING(TUSB_VERSION_REVISION) -- cgit v1.3.1 From 4642cb8d0a968823d1b5ae89086d4d3507f50dc5 Mon Sep 17 00:00:00 2001 From: Rafael Silva Date: Fri, 4 Mar 2022 15:35:32 +0000 Subject: documentatio: fix bad supported dev table format --- docs/reference/supported.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index 7c5402d93..7ce982713 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -42,7 +42,7 @@ Supported MCUs +--------------+---------+-------------+--------+------+-----------+-------------------+--------------+ | NXP | iMXRT | RT10xx | ✔ | ✔ | ✔ | ci_hs | | | +---------+-------------+--------+------+-----------+-------------------+--------------+ -| | Kinetis | KL25 | ✔ | ⚠ | ✖ | | | +| | Kinetis | KL25 | ✔ | ⚠ | ✖ | | | | | +-------------+--------+------+-----------+-------------------+--------------+ | | | K32L2 | ✔ | | ✖ | | | | +---------+-------------+--------+------+-----------+-------------------+--------------+ -- cgit v1.3.1 From 95801bf5cc4afa27f9b54c33e74aa74689074a97 Mon Sep 17 00:00:00 2001 From: Rafael Silva Date: Wed, 30 Mar 2022 14:15:34 +0100 Subject: Update requirements.txt --- docs/requirements.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'docs') diff --git a/docs/requirements.txt b/docs/requirements.txt index 8ae9ae73b..15022e147 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,3 +1,4 @@ sphinx~=3.0 furo>=2020.12.30.b24 sphinx-autodoc-typehints>=1.10 +jinja2==3.0.3 -- cgit v1.3.1 From 16c0eb0d2f2e2afe551d7bd239cb8092df7b2128 Mon Sep 17 00:00:00 2001 From: Sven Date: Tue, 24 May 2022 21:45:35 +0200 Subject: fix links in docs changed markdown formatting to rst formatting --- docs/reference/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/reference/index.rst b/docs/reference/index.rst index fcff03590..292fb1a93 100644 --- a/docs/reference/index.rst +++ b/docs/reference/index.rst @@ -25,7 +25,7 @@ Supports multiple device configurations by dynamically changing usb descriptors. - Vendor-specific class support with generic In & Out endpoints. Can be used with MS OS 2.0 compatible descriptor to load winUSB driver without INF file. - `WebUSB `__ with vendor-specific class -If you have special need, `usbd_app_driver_get_cb()` can be used to write your own class driver without modifying the stack. Here is how RPi team add their reset interface [raspberrypi/pico-sdk#197](https://github.com/raspberrypi/pico-sdk/pull/197) +If you have special need, `usbd_app_driver_get_cb()` can be used to write your own class driver without modifying the stack. Here is how RPi team add their reset interface `raspberrypi/pico-sdk#197 `__ Host Stack ========== @@ -41,7 +41,7 @@ TinyUSB is completely thread-safe by pushing all ISR events into a central queue - **No OS** - **FreeRTOS** -- **Mynewt** Due to the newt package build system, Mynewt examples are better to be on its [own repo](https://github.com/hathach/mynewt-tinyusb-example) +- **Mynewt** Due to the newt package build system, Mynewt examples are better to be on its `own repo `__ License ======= -- cgit v1.3.1 From 12341118e373cce10cb868f234009e9d37bff940 Mon Sep 17 00:00:00 2001 From: hathach Date: Fri, 1 Jul 2022 16:24:58 +0700 Subject: add get-deps target update ci to get-deps first --- .github/workflows/build_arm.yml | 13 +++++++++---- docs/reference/getting_started.rst | 7 ++++++- examples/make.mk | 5 ----- examples/rules.mk | 27 ++++++++++++++++++--------- 4 files changed, 33 insertions(+), 19 deletions(-) (limited to 'docs') diff --git a/.github/workflows/build_arm.yml b/.github/workflows/build_arm.yml index 27cb9f1f7..7cc1b10f9 100644 --- a/.github/workflows/build_arm.yml +++ b/.github/workflows/build_arm.yml @@ -67,6 +67,11 @@ jobs: - name: Setup Python uses: actions/setup-python@v3 + - name: Install ARM GCC + uses: carlosperate/arm-none-eabi-gcc-action@v1 + with: + release: '11.2-2022.02' + - name: Checkout TinyUSB uses: actions/checkout@v3 @@ -86,10 +91,10 @@ jobs: echo >> $GITHUB_ENV PICO_SDK_PATH=~/pico-sdk git submodule update --init hw/mcu/raspberry_pi/Pico-PIO-USB - - name: Install ARM GCC - uses: carlosperate/arm-none-eabi-gcc-action@v1 - with: - release: '11.2-2022.02' + - name: Get Dependencies + run: | + b=`find hw/bsp/${{ matrix.family }}/boards -depth -maxdepth 1 -type d -name '[^.]?*' -printf %f -quit` + make BOARD={b} get-deps - name: Build run: python3 tools/build_family.py ${{ matrix.family }} diff --git a/docs/reference/getting_started.rst b/docs/reference/getting_started.rst index fa5c51eff..1088d4700 100644 --- a/docs/reference/getting_started.rst +++ b/docs/reference/getting_started.rst @@ -50,7 +50,12 @@ Some TinyUSB examples also requires external submodule libraries in ``/lib`` suc $ git submodule update --init lib -In addition, MCU driver submodule is also needed to provide low-level MCU peripheral's driver. Luckily, it will be fetched if needed when you run the ``make`` to build your board. +In addition, MCU driver submodule is also needed to provide low-level MCU peripheral's driver. To download these depencies for your board, run the ``get-dpes`` as follow. + +.. code-block:: + + $ make BOARD=feather_nrf52840_express get-deps + Some modules will also require a module-specific SDK (e.g. RP2040) or binary (e.g. Sony Spresense) to build examples. diff --git a/examples/make.mk b/examples/make.mk index 27e1db38c..47520d660 100644 --- a/examples/make.mk +++ b/examples/make.mk @@ -45,11 +45,6 @@ else SRC_C += $(subst $(TOP)/,,$(wildcard $(TOP)/$(FAMILY_PATH)/*.c)) endif -# Fetch submodules depended by family -fetch_submodule_if_empty = $(if $(wildcard $(TOP)/$1/*),,$(info $(shell git -C $(TOP) submodule update --init $1))) -ifdef DEPS_SUBMODULES - $(foreach s,$(DEPS_SUBMODULES),$(call fetch_submodule_if_empty,$(s))) -endif #-------------- Cross Compiler ------------ # Can be set by board, default to ARM GCC diff --git a/examples/rules.mk b/examples/rules.mk index 538dffbcf..c3134056a 100644 --- a/examples/rules.mk +++ b/examples/rules.mk @@ -5,6 +5,7 @@ # Set all as default goal .DEFAULT_GOAL := all +# ---------------- GNU Make Start ----------------------- # ESP32-Sx and RP2040 has its own CMake build system ifeq (,$(findstring $(FAMILY),esp32s2 esp32s3 rp2040)) @@ -141,7 +142,23 @@ $(BUILD)/obj/%_asm.o: %.S @echo AS $(notdir $@) @$(CC) -x assembler-with-cpp $(ASFLAGS) -c -o $@ $< -endif # GNU Make +endif + +.PHONY: clean +clean: +ifeq ($(CMDEXE),1) + rd /S /Q $(subst /,\,$(BUILD)) +else + $(RM) -rf $(BUILD) +endif +# ---------------- GNU Make End ----------------------- + +# get depenecies +.PHONY: get-deps +get-deps: + ifdef DEPS_SUBMODULES + git -C $(TOP) submodule update --init $(DEPS_SUBMODULES) + endif size: $(BUILD)/$(PROJECT).elf -@echo '' @@ -152,14 +169,6 @@ size: $(BUILD)/$(PROJECT).elf linkermap: $(BUILD)/$(PROJECT).elf @linkermap -v $<.map -.PHONY: clean -clean: -ifeq ($(CMDEXE),1) - rd /S /Q $(subst /,\,$(BUILD)) -else - $(RM) -rf $(BUILD) -endif - # --------------------------------------- # Flash Targets # --------------------------------------- -- cgit v1.3.1 From b0b155c9491d9e8cfc3d40366f77accfd3302cec Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 19 Jul 2022 12:28:52 +0700 Subject: increase version for release along with minor doc update --- README.rst | 4 ++-- docs/reference/getting_started.rst | 19 +++++++++---------- src/tusb_option.h | 2 +- 3 files changed, 12 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/README.rst b/README.rst index 1a96f6e16..92cb0ba6c 100644 --- a/README.rst +++ b/README.rst @@ -94,8 +94,8 @@ TinyUSB is completely thread-safe by pushing all Interrupt Service Request (ISR) - `RT-Thread `_: `repo `_ - **Mynewt** Due to the newt package build system, Mynewt examples are better to be on its `own repo `_ -Local Docs -========== +Docs +==== - Info diff --git a/docs/reference/getting_started.rst b/docs/reference/getting_started.rst index 1088d4700..3cdb46849 100644 --- a/docs/reference/getting_started.rst +++ b/docs/reference/getting_started.rst @@ -50,16 +50,7 @@ Some TinyUSB examples also requires external submodule libraries in ``/lib`` suc $ git submodule update --init lib -In addition, MCU driver submodule is also needed to provide low-level MCU peripheral's driver. To download these depencies for your board, run the ``get-dpes`` as follow. - -.. code-block:: - - $ make BOARD=feather_nrf52840_express get-deps - - -Some modules will also require a module-specific SDK (e.g. RP2040) or binary (e.g. Sony Spresense) to build examples. - -Note: some examples especially those that uses Vendor class (e.g webUSB) may requires udev permission on Linux (and/or macOS) to access usb device. It depends on your OS distro, typically copy ``/examples/device/99-tinyusb.rules`` file to /etc/udev/rules.d/ then run ``sudo udevadm control --reload-rules && sudo udevadm trigger`` is good enough. +Some ports will also require a port-specific SDK (e.g. RP2040) or binary (e.g. Sony Spresense) to build examples. They are out of scope for tinyusb, you should download/install it first according to its manufacturer guide. Build ^^^^^ @@ -70,6 +61,13 @@ To build example, first change directory to an example folder. $ cd examples/device/cdc_msc +Before building, we need to download MCU driver submodule to provide low-level MCU peripheral's driver first. Run the ``get-dpes`` target in one of the example folder as follow. You only need to do this once per mcu + +.. code-block:: + + $ make BOARD=feather_nrf52840_express get-deps + + Some modules (e.g. RP2040 and ESP32s2) require the project makefiles to be customized using CMake. If necessary apply any setup steps for the platform's SDK. Then compile with ``make BOARD=[board_name] all``\ , for example @@ -79,6 +77,7 @@ Then compile with ``make BOARD=[board_name] all``\ , for example $ make BOARD=feather_nrf52840_express all Note: ``BOARD`` can be found as directory name in ``hw/bsp``\ , either in its family/boards or directly under bsp (no family). +Note: some examples especially those that uses Vendor class (e.g webUSB) may requires udev permission on Linux (and/or macOS) to access usb device. It depends on your OS distro, typically copy ``/examples/device/99-tinyusb.rules`` file to /etc/udev/rules.d/ then run ``sudo udevadm control --reload-rules && sudo udevadm trigger`` is good enough. Port Selection ~~~~~~~~~~~~~~ diff --git a/src/tusb_option.h b/src/tusb_option.h index 70ef1c399..a557c785a 100644 --- a/src/tusb_option.h +++ b/src/tusb_option.h @@ -33,7 +33,7 @@ typedef int make_iso_compilers_happy; #include "common/tusb_compiler.h" #define TUSB_VERSION_MAJOR 0 -#define TUSB_VERSION_MINOR 13 +#define TUSB_VERSION_MINOR 14 #define TUSB_VERSION_REVISION 0 #define TUSB_VERSION_STRING TU_STRING(TUSB_VERSION_MAJOR) "." TU_STRING(TUSB_VERSION_MINOR) "." TU_STRING(TUSB_VERSION_REVISION) -- cgit v1.3.1 From 23ea8d1e255b00be6916f7d3ca0a1fba60c68ef4 Mon Sep 17 00:00:00 2001 From: hathach Date: Mon, 25 Jul 2022 22:27:33 +0700 Subject: update doc --- README.rst | 2 +- docs/reference/supported.rst | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/README.rst b/README.rst index 92cb0ba6c..ba176a8c8 100644 --- a/README.rst +++ b/README.rst @@ -43,7 +43,7 @@ The stack supports the following MCUs: - **Nuvoton:** NUC120, NUC121/NUC125, NUC126, NUC505 - **NXP:** - - iMX RT Series: RT1011, RT1015, RT1021, RT1052, RT1062, RT1064 + - iMX RT Series: RT10xx, RT11xx - Kinetis: KL25, K32L2 - LPC Series: 11u, 13, 15, 17, 18, 40, 43, 51u, 54, 55 diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index 7ce982713..ad2af98ff 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -41,6 +41,8 @@ Supported MCUs | | NUC505 | ✔ | | ✔ | | | +--------------+---------+-------------+--------+------+-----------+-------------------+--------------+ | NXP | iMXRT | RT10xx | ✔ | ✔ | ✔ | ci_hs | | +| | +-------------+--------+------+-----------+-------------------+--------------+ +| | | RT11xx | ✔ | ✔ | ✔ | ci_hs | | | +---------+-------------+--------+------+-----------+-------------------+--------------+ | | Kinetis | KL25 | ✔ | ⚠ | ✖ | | | | | +-------------+--------+------+-----------+-------------------+--------------+ -- cgit v1.3.1 From 961e83e0836879ef9010184404c0f61c933035bf Mon Sep 17 00:00:00 2001 From: hathach Date: Fri, 19 Aug 2022 17:11:40 +0700 Subject: more docs update --- README.rst | 2 +- docs/info/changelog.rst | 58 ++++++++++++++++++++++++++++++++++++++++++++ docs/reference/supported.rst | 9 ++++++- 3 files changed, 67 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/README.rst b/README.rst index ba176a8c8..05963a655 100644 --- a/README.rst +++ b/README.rst @@ -51,7 +51,7 @@ The stack supports the following MCUs: - **Renesas:** RX63N, RX65N, RX72N - **Silabs:** EFM32GG - **Sony:** CXD56 -- **ST:** STM32 series: F0, F1, F2, F3, F4, F7, H7, G4, L0, L1, L4, L4+ +- **ST:** STM32 series: F0, F1, F2, F3, F4, F7, H7, G4, L0, L1, L4, L4+, WB - **TI:** MSP430, MSP432E4, TM4C123 - **ValentyUSB:** eptri diff --git a/docs/info/changelog.rst b/docs/info/changelog.rst index bd6712b93..67bb6af65 100644 --- a/docs/info/changelog.rst +++ b/docs/info/changelog.rst @@ -2,6 +2,64 @@ Changelog ********* +0.14.0 +====== + +- Improve compiler support for CCRX and IAR +- Add timeout to osal_queue_receive() +- Add tud_task_ext(timeout, in_isr) as generic version of tud_task(). Same as tuh_task_ext(), tuh_task() +- Enable more warnings -Wnull-dereference -Wuninitialized -Wunused -Wredundant-decls -Wconversion +- Add new examples + - host/bare_api to demonstrate generic (app-level) enumeration and endpoint transfer + - dual/host_hid_to_device_cdc to run both device and host stack concurrently, get HID report from host and print out to device CDC. This example only work with multiple-controller MCUs and rp2040 with the help of pio-usb as added controller. + +Controller Driver (DCD & HCD) +----------------------------- + +- Enhance rhports management to better support dual roles + - CFG_TUD_ENABLED/CFG_TUH_ENABLED, CFG_TUD_MAX_SPEED/CFG_TUH_MAX_SPEED can be used to replace CFG_TUSB_RHPORT0_MODE/CFG_TUSB_RHPORT1_MODE + - tud_init(rphort), tuh_init(rhport) can be used to init stack on specified roothub port (controller) instead of tusb_init(void) +- Add dcd/hcd port specific defines TUP_ (stand for tinyusb port-specific) +- [dwc2] + - Update to support stm32 h72x, h73x with only 1 otg controller + - Fix overwrite with grstctl when disable endpoint +- [EHCI] Fix an issue with EHCI driver +- [msp430] Fix for possible bug in msp430-elf-gcc 9.3.0 +- [nrf5x] Fix DMA access race condition using atomic function +- [pic32] Fix PIC32 santiy +- [rp2040] + - Add PICO-PIO-USB as controller (device/host) support for rp2040 + - Use shared IRQ handlers, so user can also hook the USB IRQ + - Fix resumed signal not reported to device stack +- [stm32fsdev] Add support for stm32wb55 + +Device Stack +------------ + +- [Audio] Add support for feedback endpoint computation + - New API tud_audio_feedback_params_cb(), tud_audio_feedback_interval_isr(). + - Supported computation method are: frequency with fixed/float or power of 2. Feedback with fifo count is not yet supported. + - Fix nitfs (should be 3) in TUD_AUDIO_HEADSET_STEREO_DESCRIPTOR + - Fix typo in audiod_rx_done_cb() +- [DFU] Fix coexistence with other interfaces BTH, RNDIS +- [MSC] Fix inquiry response additional length field +- [Venndor] Improve write performance + +Host Stack +---------- + +- Add new API tuh_configure(rhport, cfg_id, cfg_param) for dynamnic port specific behavior configuration +- [HID] Open OUT endpoint if available +- [Hub] hub clear port and device interrupts +- [USBH] Major improvement + - Rework usbh control transfer with complete callback. New API tuh_control_xfer() though still only carry 1 usbh (no queueing) at a time. + - Add generic endpoint transfer with tuh_edpt_open(), tuh_edpt_xfer(). Require `CFG_TUH_API_EDPT_XFER=1` + - Support app-level enumeration with new APIs + - tuh_descriptor_get(), tuh_descriptor_get_device(), tuh_descriptor_get_configuration(), tuh_descriptor_get_hid_report() + - tuh_descriptor_get_string(), tuh_descriptor_get_manufacturer_string(), tuh_descriptor_get_product_string(), tuh_descriptor_get_serial_string() + - Also add _sync() as sync/blocking version for above APIs + + 0.13.0 ====== diff --git a/docs/reference/supported.rst b/docs/reference/supported.rst index ad2af98ff..1fb858a45 100644 --- a/docs/reference/supported.rst +++ b/docs/reference/supported.rst @@ -60,7 +60,7 @@ Supported MCUs | | +-------------+--------+------+-----------+-------------------+--------------+ | | | 55 | ✔ | | ✔ | lpc_ip3511 | | +--------------+---------+-------------+--------+------+-----------+-------------------+--------------+ -| Raspberry Pi | RP2040 | ✔ | ✔ | ✖ | rp2040 | | +| Raspberry Pi | RP2040 | ✔ | ✔ | ✖ | rp2040, pio_usb | | +--------------+-----------------------+--------+------+-----------+-------------------+--------------+ | Renesas | RX 63N, 65N, 72N | ✔ | ✔ | ✖ | usba | | +--------------+-----------------------+--------+------+-----------+-------------------+--------------+ @@ -95,6 +95,8 @@ Supported MCUs | | L4+ | ✔ | | | dwc2 | | | +-----------------------+--------+------+-----------+-------------------+--------------+ | | U5 | ⚠ | | | dwc2 | | +| +-----------------------+--------+------+-----------+-------------------+--------------+ +| | WBx5 | ✔ | | | stm32_fsdev | | +--------------+-----------------------+--------+------+-----------+-------------------+--------------+ | TI | MSP430 | ✔ | ✖ | ✖ | msp430x5xx | | | +-----------------------+--------+------+-----------+-------------------+--------------+ @@ -241,6 +243,7 @@ iMX RT - `MIMX RT1060 Evaluation Kit `__ - `MIMX RT1064 Evaluation Kit `__ - `Teensy 4.0 Development Board `__ +- `Teensy 4.1 Development Board `__ Kinetis ^^^^^^^ @@ -379,6 +382,10 @@ L4 - `STM32 L4P5zg Nucleo `__ - `STM32 L4R5zi Nucleo `__ +WB +^^ +- `STM32 WB55 Nucleo `__ + TI -- -- cgit v1.3.1 From 660e8f50a7b551eec7e02f78c828a54394920e51 Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 23 Aug 2022 14:43:09 +0700 Subject: try to fix release body in tinyusb_src (not tested) --- .github/workflows/trigger.yml | 4 +++- docs/info/changelog.rst | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'docs') diff --git a/.github/workflows/trigger.yml b/.github/workflows/trigger.yml index 780d6f4f3..e434ca238 100644 --- a/.github/workflows/trigger.yml +++ b/.github/workflows/trigger.yml @@ -55,4 +55,6 @@ jobs: git push origin ${{ github.event.release.tag_name }} # Send POST reqwuest to release https://docs.github.com/en/rest/reference/repos#create-a-release - curl -X POST -H "Authorization: token ${{ secrets.API_TOKEN_GITHUB }}" -H "Accept: application/vnd.github.v3+json" --data '{"tag_name": "${{ github.event.release.tag_name }}", "name": "${{ github.event.release.name }}", "body": "${{ github.event.release.body }}", "draft": ${{ github.event.release.draft }}, "prerelease": ${{ github.event.release.prerelease }}}' https://api.github.com/repos/hathach/tinyusb_src/releases + bb={{ github.event.release.body }} + bb=${bb//\n/\\\n} + curl -X POST -H "Authorization: token ${{ secrets.API_TOKEN_GITHUB }}" -H "Accept: application/vnd.github.v3+json" --data '{"tag_name": "${{ github.event.release.tag_name }}", "name": "${{ github.event.release.name }}", "body": "$bb", "draft": ${{ github.event.release.draft }}, "prerelease": ${{ github.event.release.prerelease }}}' https://api.github.com/repos/hathach/tinyusb_src/releases diff --git a/docs/info/changelog.rst b/docs/info/changelog.rst index 67bb6af65..da29e04fb 100644 --- a/docs/info/changelog.rst +++ b/docs/info/changelog.rst @@ -57,8 +57,7 @@ Host Stack - Support app-level enumeration with new APIs - tuh_descriptor_get(), tuh_descriptor_get_device(), tuh_descriptor_get_configuration(), tuh_descriptor_get_hid_report() - tuh_descriptor_get_string(), tuh_descriptor_get_manufacturer_string(), tuh_descriptor_get_product_string(), tuh_descriptor_get_serial_string() - - Also add _sync() as sync/blocking version for above APIs - + - Also add _sync() as sync/blocking version for above APIs 0.13.0 ====== -- cgit v1.3.1 From 8f88ff559eb930b26233d19ae9df75f3a5c6a786 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Tue, 18 Oct 2022 15:14:45 +0200 Subject: Fix typo in getting_started guide Fixes: 1234111 ("add get-deps target") --- docs/reference/getting_started.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/reference/getting_started.rst b/docs/reference/getting_started.rst index 3cdb46849..e328757ba 100644 --- a/docs/reference/getting_started.rst +++ b/docs/reference/getting_started.rst @@ -61,7 +61,7 @@ To build example, first change directory to an example folder. $ cd examples/device/cdc_msc -Before building, we need to download MCU driver submodule to provide low-level MCU peripheral's driver first. Run the ``get-dpes`` target in one of the example folder as follow. You only need to do this once per mcu +Before building, we need to download MCU driver submodule to provide low-level MCU peripheral's driver first. Run the ``get-deps`` target in one of the example folder as follow. You only need to do this once per mcu .. code-block:: -- cgit v1.3.1