Commit Graph

66 Commits

Author SHA1 Message Date
hathach baffadca91
remove pca10095 suppport for max3421
also remove pico_bootsel_via_double_reset from rp2040
2024-03-22 17:54:08 +07:00
hathach 551e47a464
allow rp2040 to use max3421e as host controller
- fix warnings build hcd max3421 with rp2040
- add tinyusb_host_max3421 target for rp2040 cmake, -DMAX3421_HOST=1
will enable this
- add max3421 driver implementation for rp2040 family
- update tusb_config for host to allow easy enable host selection for
rp2040 (default/pio-usb/max3421)
2023-12-26 22:50:01 +07:00
hathach 0a4d92a71e
update hil for pi4 to use new hil_test.py 2023-11-28 18:28:45 +07:00
Ha Thach accc3fd737
Merge pull request #2151 from kilograham/rp2040_build_fixes
Fix build issues when building for RP2040 from pico-examples/pico-sdk.
2023-08-07 11:14:04 +07:00
hathach 041f510f90
add board_get_unique_id() for serial number
implemented board_get_unique_id() for rp2040 and L4
2023-08-03 20:42:34 +07:00
graham sanderson 08a1892801 add is_compiler_supported_by_pico_pio_usb()
previosuly users of TinyUSB (e.g. pico-examples) would have to decide this for themselves. This function couples
the check closer with the actual version of Pico-PIO-USB used (since TinyUSB picks)
2023-07-18 11:04:46 -05:00
graham sanderson 3678a25baa Fix build issues when building for RP2040 from pico-examples/pico-sdk.
* include_guard requires GLOBAL as family.cmake is included in multiple non child places
* the following recently added check is suprfluous (family_configure_host_example for rp2040 should do this already),
  and breaks if pico_pio_usb is not avaialble, so i have removed
   # Add pico-pio-usb for rp2040 since user can choose to run on bit-banging host
   if(FAMILY STREQUAL "rp2040")
      family_add_pico_pio_usb(${PROJECT})
   endif()
* added new familt_example_missing_dependency functino to print missing dependency warning, so
  pico-examples can override it to be less in your face, and also more contextual to pico-examples
2023-07-18 09:03:01 -05:00
hathach e43387abac
rework cmake with rtos support add RTOS to family_configure_device/host/dual_example() 2023-06-27 15:45:38 +07:00
hathach a61d0f074f
more rp2040 family clean up 2023-06-26 23:08:59 +07:00
hathach 8aa28e63fb
minor clean up with include_guard() 2023-06-26 17:54:31 +07:00
hathach 3cfb838ba7
fix warnings when enable rtt with rp2040 2023-06-26 17:03:45 +07:00
hathach c0ecf8b50f
move set TOP to family_support.cmake 2023-05-26 14:56:22 +07:00
hathach 4c9605910f
update cmake with freertos 2023-05-25 21:27:26 +07:00
hathach 3623ba1884
fix trailing space and new line
temporarily disable codespell
2023-03-17 16:12:49 +07:00
Ha Thach 96d064e923
Merge pull request #1860 from howard0su/pico_freertos
Allow config OS for RP2040
2023-03-17 14:57:13 +07:00
graham sanderson b7fa90e706 rp2040: Fixup lib and example compile for LLVM Embedded Toolchain for ARM 2023-03-02 14:32:22 -06:00
graham sanderson 8d3f0ffb95 * don't force dependency on pico-pio-usb submodule
* suppress compiler warning/errors especially in pico-pio-usb
* disable use of pico-pio-usb on gcc 11.3+ for now as it doesn't compile
2023-02-06 10:07:39 -06: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
Howard Su eb7aacb51f Allow config OS for RP2040 2023-01-18 02:30:05 +00:00
hathach cb0ca6151b remove CFG_TUSB_DEBUG from tinyusb_common_base 2022-11-04 17:08:02 +07:00
graham sanderson fc1a27b6c9 RP@040: rework CMake for compiler warnings 2022-07-12 12:58:30 -05:00
hathach 898b52be45 update rp2040 warnings
- remove "-Wno-stringop-overflow -Wno-array-bounds"
- skip -Wconversion for gcc 9 and prior
- suppress_tinyusb_warnings only when building with gcc 9 and below
2022-06-28 16:27:44 +07:00
graham sanderson 4057c2d8d9 rework suppress_tinyusb_warnings
* gcc 9.2.1 has some spurious -Wconversion warnings
* cmake 3.18 and above require set_target_properties to be added from the target directory (so added it to all examples)
* fixed a few warnings in a couple of examples
2022-06-27 22:43:41 +01:00
graham sanderson 2f7f3e604e Re-add some warning suppression for rp2040 2022-06-17 12:54:28 -05:00
graham sanderson 26c4d4b328 Minor cleanup of RP2040 code post addition of Pico-PIO_USB
* Removed some compiler warnings, and cleaned out unnecessary warning suppression from CMake suppress_tinyusb_warnings()
* Made explicit family_configure_dual_usb_example() for DUAL mode examples as family_configure_target() may not generally be called multiple times for the same target

* Renamed library pico_pio_usb to tinyusb_picio_pio_usb to be clearer and avoid conflict if someone already has a pico_pio_usb in their project
* Added family_add_pico_pio_usb() method for adding Pico-PIO_SUB support to an existing example
* Allowed tinyusb_pico_pio_usb to be added to regular apps using the Pico SDK
2022-05-20 17:25:30 -05:00
hathach 4586d8f119 add upstream Pico-PIO-USB 2022-05-16 13:44:06 +07:00
hathach 35b77a4a81 cmake lib rename 2022-05-10 22:14:00 +07:00
hathach 717a474125 move pio-usb init to family_configure_pio_usb_example() to stay compatible 2022-05-10 21:56:47 +07:00
hathach 26ee622222 move pio usb files to src 2022-05-10 12:51:48 +07:00
hathach 0b30a10ab3 configure hid_to_cdc example to build with rp2040 with pio usb as host 2022-04-29 22:24:36 +07:00
hathach 4a661dead0 add TU_ATTR_FAST_FUNC for rp2040 __not_in_flash() section 2022-04-27 17:57:52 +07:00
hathach 12debd7763
keep up with pio usb 2022-04-22 01:06:17 +07:00
hathach cc5a4720e5 catch up with pio lib 2022-04-14 22:00:47 +07:00
hathach d5d4909c20 proof of concpet that device pio-usb work with host pio-usb 2022-04-08 13:36:05 +07:00
hathach c25f835aea update to use pio hw endpoint 2022-04-01 23:31:43 +07:00
hathach db6cba6a7b rename pio to pio_usb 2022-04-01 16:38:41 +07:00
hathach e2f0aef93b make use pio_usb_port_reset_start/end 2022-03-30 16:41:55 +07:00
hathach 45052c625e
Merge branch 'master' into pio-host 2022-03-20 00:51:00 +07:00
hathach a715077b10 remove usbh_control.c 2022-03-11 09:57:35 +07:00
hathach 1d29817139 start to add pio usb (host) support
run as proof of concept
2022-03-01 23:55:53 +07:00
graham sanderson 06d9555389 More warning cleanup
- physically suppress warnings in TinyUSB headers using pragmas so they don't break -Werror compilation of external files that include them
 - fix compiler warnings in rp2040 port
 - add cmake method to rp2040 port to allow an external project to suppress warnings in TinyUSB itself
2021-10-14 15:23:26 -05:00
Ha Thach 379537cb6d
Merge branch 'master' into add_uvc 2021-10-12 22:01:02 +07:00
hathach a867d87072
rename CFG_TUD_NET to CFG_TUD_ECM_RNDIS 2021-10-05 16:00:07 +07:00
kkitayam a1788da410 Add video class entry to rp2040 building scripts 2021-09-30 22:14:29 +09:00
Peter Lawrence 03d7988df3 add NCM driver in a compatible manner : hathach/tinyusb#550 2021-09-25 17:05:58 -05:00
graham sanderson fd7b18a4f6 Make examples standalone buildable via CMake 2021-06-10 10:11:20 -05:00
graham sanderson de436e1f76 undo search replace error 2021-06-02 11:30:42 -05:00
graham sanderson 1fb211f390 minor comment change to force rebuild 2021-06-02 09:52:49 -05:00
graham sanderson bef33d108a move core definition of source file includes from SDK into family.cmake
only build webserver example if lwip submodule initialized
2021-06-02 09:33:23 -05:00
graham sanderson 6e29bf6e54 rename family.cmake to family_common.cmake 2021-06-01 09:09:25 -05:00