Commit Graph

6713 Commits

Author SHA1 Message Date
Nathaniel Brough 02f1f05697 feat(fuzz): Adds seed corpus for cdc and msc classes 2023-01-29 09:38:05 -08:00
Jerzy Kasenberg 42230df71a Add support for nucleo-h723zg
Mostly copy of stm32h743nucleo.
Linker script generated by STM32CubeIDE.

Since this device has only one HS USB
board.h contains few defines that map on
board HS USB to FS because there is no
ULPI chip mounted on Nucleo board.

For FreeRTOS build:
Set interrupt priority for HS always and for FS if exists.
2023-01-26 12:53:03 +01:00
Jerzy Kasenberg ba017d0669 boards/stm32h7 update gpio clocks
GPIOE was turned on twice, changed to missing GPIOF.
GPIOI is not present on all boards notably STM32H723
so clock in turned on only if present.
2023-01-26 12:02:07 +01:00
Jonathan Bell 0d2078d295 rp2040: shuffle hw_endpoint members
Ordering by element size prevents alignment holes, and as a consequence the
host mode version of the struct is the same size as device, as pad bytes at
the end are used instead.
2023-01-24 12:05:32 +00:00
Jonathan Bell 73b0047efc rp2040: avoid device-mode state machine hang
Don't mark IN buffers as available during the last 200us of a full-speed
frame. This avoids a situation seen with the USB2.0 hub on a Raspberry
Pi 4 where a late IN token before the next full-speed SOF can cause port
babble and a corrupt ACK packet. The nature of the data corruption has a
chance to cause device lockup.

Use the next SOF to mark delayed buffers as available. This reduces
available Bulk IN bandwidth by approximately 20%, and requires that the
SOF interrupt is enabled while these transfers are ongoing.

Inherit the top-level enable from the corresponding Pico-SDK flag.
Applications that will not use the device in a situation where it could
be plugged into a Pi 4 or Pi 400 (for example, when directly connected
to a commodity hub or other host) can turn off the flag in the SDK.

v2: use a field in hw_endpoint to mark pending.

v3: Partial rewrite following review comments

- Stub functions out if the workaround is not required
- Only force-enable SOF while any vulnerable endpoints are active
- Respect dcd_sof_enable() functionality
- Get rid of all but necessary ifdef hackery
- Fix a bug where the "endpoint lock" was used with an uninitialised pointer.
2023-01-24 11:53:28 +00:00
hathach df2ebe5d1a add iar --fpu option 2023-01-24 12:57:07 +07:00
Jonathan Bell c3e47c31cc rp2040: export hw_endpoint_start_next_buffer() and hw_endpoint_lock_update()
The next change to the driver requires the export of these functions. Leave the
lock unimplemented for now.

Also move hw_set and hw_clear aliases into the top-level header file.
2023-01-23 10:55:20 +00:00
Dave Nadler 9b6ef4fcbc When tools/top.mk finds it is running on Windows, it expects SHELL set to cmd.exe.
Some Windows development environments invoke a mingw version of gnu make
with SHELL set to /bin/sh or /bin/bash (either explicitly or by default),
in which case tinyUSB make fails when a $(shell...) command feeds DOS syntax to sh.
We can't just use sh, as many Windows environments won't have unix utilities
like realpath (used by this makefile for sh shell commands).

This fix forces SHELL=cmd.exe on Windows and documents the issue.
Also adds additional documentation to help the next person...

With this fix, tinyUSB can be easily built and debugged in environments like
NXP's MCUxpresso (import as a makefile project).
2023-01-22 12:11:50 -05:00
hathach 0a4e611e37 update stm32f7 to build with iar 2023-01-22 12:11:01 +07:00
hathach db36075721 update f4 to build with iar 2023-01-22 11:56:50 +07:00
hathach f4c3f0800d add test_common_func.c 2023-01-21 17:47:40 +07:00
hathach 436cd5b9b8 add icf for f1 mini2 2023-01-21 14:26:46 +07:00
hathach 1bbeb6ad79 update stm32f1 to support iar build 2023-01-21 11:32:37 +07:00
Nathaniel Brough 18c3095346 fix: Change all static variables to thread when fuzzing 2023-01-20 15:45:31 -08:00
Dave Nadler a6e0b598fa Add support for NXP's mimxrt1024_evk evaluation board.
Tested AOK with device\cdc_msc_freertos example.
2023-01-20 13:15:42 -05:00
Dave Nadler 456a8b208b Add support for NXP's mimxrt1024_evk evaluation board.
Tested AOK with device\cdc_msc_freertos example.
2023-01-20 12:59:45 -05:00
hathach cb34cb2a93 slightly update rule.mk for IAR 2023-01-20 15:56:32 +07:00
hathach daec3c24d8 fix warnings with arithmetic on void* pointer 2023-01-20 15:30:45 +07:00
hathach 074289caa3 add helper tu_desc_find/find2/find3 2023-01-20 15:30:24 +07:00
hathach 3fd075b48b fix warning 2023-01-20 15:29:23 +07:00
Ha Thach ea098aeda1
Merge pull request #1847 from HiFiPhile/dwc2_iar
dwc2: fix iar warnings
2023-01-18 17:41:33 +07:00
hathach 84be70baf5 fix iar build with board_test 2023-01-18 13:17:53 +07:00
hathach 075095554a dont use non-std strncasecmp 2023-01-18 11:47:24 +07:00
hathach fb7122f07d update iar ci 2023-01-18 10:33:26 +07:00
hathach ecfd57e6f1 get most examples build with iar 2023-01-18 10:31:00 +07:00
Howard Su eb7aacb51f Allow config OS for RP2040 2023-01-18 02:30:05 +00:00
hathach 8df2fd1916 update freertos example to build with iar 2023-01-17 23:38:10 +07:00
hathach c86e628a4c update build script to support iar with CC=iccarm option 2023-01-17 23:37:00 +07:00
hathach 1891802f08 update all f0 board to build with iar 2023-01-17 16:38:02 +07:00
hathach c414cc650e try running iar build with self-host 2023-01-17 16:30:33 +07:00
hathach 3fee8b402e update makefile to support iar build starting with stm32f070 2023-01-17 16:20:04 +07:00
Nathaniel Brough 2e47210c1a fix: Replace device calls to memcpy with tu_memcpy_s
Introduces a new function tu_memcpy_s, which is effectively
a backport of memcpy_s. The change also refactors calls
to memcpy over to the more secure tu_memcpy_s.
2023-01-13 15:20:32 -08:00
Malik Enes Safak 546dd6038c examples/uac2: Fix mute and volume array lengths 2023-01-13 18:28:10 +03:00
Ha Thach fa9d19027b
Merge pull request #1405 from gregdavill/ch32v307
Add WCH CH32V307 port
2023-01-12 17:51:56 +07:00
hathach b1021d53f3 add TUP_RHPORT_HIGHSPEED for ch32v307 2023-01-12 15:38:18 +07:00
hathach 160d64b00a minor clean up. ch32v307 has issue with uart LOG=2 (skipping characters) 2023-01-12 15:34:29 +07:00
hathach 3cf21c66b6 add dcd_remote_wakeup() stub 2023-01-12 15:26:48 +07:00
hathach f05f81e8b3 add button support 2023-01-12 15:19:26 +07:00
hathach 65f7a8006c rename board to lower case ch32v307v-r1-1v0 2023-01-12 13:31:36 +07:00
hathach e6a3cfb350 rename link file 2023-01-12 13:12:37 +07:00
hathach 658897cf4e fix redundant-decls warnings with USART_Printf_Init() 2023-01-12 12:30:18 +07:00
hathach e61d4aefe6 rename driver with dcd_ to be consitent with other ports 2023-01-12 12:08:56 +07:00
hathach 3cc6cece07 add note for openocd with wch, also add wch-riscv.cfg 2023-01-12 10:25:48 +07:00
MasterPhi 9d19ed940e dwc2: fix IAR warnings. 2023-01-11 18:50:38 +01:00
Ha Thach 4ee4c6f594
Merge pull request #1844 from silvergasp/master
feat(ci): Adds oss-fuzz integration on PRs
2023-01-11 09:20:27 +07:00
Nathaniel Brough abb95fc4b3 feat(ci): Adds oss-fuzz integration on PRs 2023-01-09 13:07:03 -08:00
Ha Thach 8775d55adc
Merge pull request #1843 from HiFiPhile/ip3511
ip3511 : Fix IAR build.
2023-01-09 10:02:59 +07:00
MasterPhi 57de6016f9 ip3511 : Fix IAR build. 2023-01-08 11:23:18 +01:00
hathach a7e1de1e83
temporarily suppress redundant-decls due to USART_Printf_Init()
fix codespell
2023-01-08 00:02:25 +07:00
Ha Thach 949950e592
Merge branch 'master' into ch32v307 2023-01-07 23:46:46 +07:00