<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/tools/get_deps.py, branch worktree-ch569-hydrausb3</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/tools/get_deps.py?h=worktree-ch569-hydrausb3</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/tools/get_deps.py?h=worktree-ch569-hydrausb3'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-07-11T21:50:23Z</updated>
<entry>
<title>Add WCH CH32H417 family + nanoCH32H417 board (BSP + USB2 HS dcd)</title>
<updated>2026-07-11T21:50:23Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-11T21:50:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=242377411afe78367efc01994241a6fda5bbdc00'/>
<id>urn:sha1:242377411afe78367efc01994241a6fda5bbdc00</id>
<content type='text'>
First stage of the CH32H417/CH32H416 SuperSpeed port (the second WCH SuperSpeed
device family after CH569). This lands the family scaffolding and the USB2.0
high-speed device driver; the USB3 dcd is a stub for now (SPEED=super does not
link yet).

- tools/get_deps.py, src/tusb_option.h (OPT_MCU_CH32H417 2260 + CH32H416 alias):
  openwch/ch32h417 SDK dependency.
- src/common/tusb_mcu.h: OPT_MCU_CH32H417 block with distinct USB IP tokens
  (TUP_USBIP_WCH_USB30_H417 / _USBHS_H417) so neither the CH569 nor the CH32V307
  drivers match; SPEED=super|high selectors mirror the CH569 port; EP0 = 512 on SS.
- hw/bsp/ch32h417: family runs entirely on the V3F core (core 0, boot core), single
  image in the 512 KB shared SRAM (the only SRAM on the bus matrix, USB-DMA
  reachable). family.c aliases USBSS/USBSS_LINK/USBHS(/TIM12) to one forwarder
  (the CH569 LTO identical-code-folding hazard applies), SysTick0 tick, USART1
  PA9 debug, ESIG unique id. Linker derived from the EVT V3F script. Board
  nanoCH32H417 (MuseLab): green LED PC2 active-low, WCH-LinkE VCP on USART1.
- src/portable/wch/dcd_ch32h417_usbhs.c (+ ch32h417_usbhs_reg.h, dcd_ch32h417.h):
  USB2.0 HS dcd for the H417 USBHS IP (per-EP INT_ST EP_DIR+EP_ID, SETUP_IS flag,
  DONE flags, split UEP_TX/RX_EN, NAK/STALL/ACK encoding, manual toggle). Core
  exposed as ch32h417_usb2_* internals for the upcoming USB3 runtime fallback;
  no RAMX bounce (all shared SRAM is DMA-capable, unlike CH56x).

Build-verified: board_test and cdc_msc SPEED=high link cleanly under the full
-Werror set (riscv-none-elf-gcc 13.2). Hardware bring-up pending (see next).

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01QWhrtHjbSVMKcY68vxBwBm
</content>
</entry>
<entry>
<title>Switch CH569 port to the official openwch/ch569 SDK</title>
<updated>2026-07-07T16:08:19Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-07T16:08:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=206e63349199e34047486d3dba3f2c8972aae5f2'/>
<id>urn:sha1:206e63349199e34047486d3dba3f2c8972aae5f2</id>
<content type='text'>
Replace the hydrausb3/wch-ch56x-bsp dependency with WCH's official EVT
(openwch/ch569 @0424d2968); rename the family hw/bsp/ch56x -&gt; hw/bsp/ch569
to match. Adaptations for the EVT layout and API:
- family.cmake/mk: EVT/EXAM/SRC paths (Peripheral/src|inc, RVMSIS, Startup)
- CH56xSFR.H case-wrapper (EVT includes the uppercase name, which breaks
  case-sensitive filesystems)
- debug_uart: official UART1_BaudRateCfg + explicit TXD1/RXD1 pin setup
  (the EVT has no pin-configuring UART init)
- family.c: .dmadata (RAMX) zeroing moved into board_init (EVT startup
  only clears .bss) and a self-contained SPI-ROM reader for the factory
  unique ID (the EVT flash API is a binary blob, not linked)
- dcd_ch56x_usbhs.c: plain volatile casts instead of hydrausb3-only
  pointer typedefs
- -Wno-comment for the EVT's nested header comments

Validated: full 19-example CMake sweep + Make build green, 65/65 unit
tests, pre-commit clean; on HydraUSB3 hardware cdc_msc_throughput
enumerates at SuperSpeed 5000M with MSC 124/110 MB/s read/write
(direct-IO dd).

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_019MRGjBT2NBkCoWwyDT4LaE
</content>
</entry>
<entry>
<title>Add CH569/CH565 family with HydraUSB3 v1 board and USB2 HS dcd</title>
<updated>2026-07-07T03:49:55Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-07T03:02:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=c0648e0cfa3707e224bf325f8a11797ef1e15289'/>
<id>urn:sha1:c0648e0cfa3707e224bf325f8a11797ef1e15289</id>
<content type='text'>
- OPT_MCU_CH569 (2250) + tusb_mcu.h capability block: USB3 SuperSpeed
  (USBSS) or USB2 HighSpeed (USBHS) selected at compile time via
  CFG_TUD_WCH_USBIP_USB30/USBHS, both on rhport 0
- New dcd_ch56x_usbhs.c: CH56x USB2 HS device driver ported from
  dcd_ch32_usbhs.c (same bit encoding, CH56x-specific register layout:
  R8_UEPn_MOD enables, different DMA/MAX_LEN/control offsets, 8 EPs).
  Internals exposed as ch56x_usb2_* (dcd_ch56x.h) for the upcoming USB3
  dcd's runtime fallback. USB DMA only reaches RAMX: buffers in the
  .dmadata section, non-RAMX transfer buffers bounce per-endpoint
- hw/bsp/ch56x family (SDK dep hydrausb3/wch-ch56x-bsp, Apache-2.0, no
  binary blobs) + hydrausb3_v1 board: 120 MHz clock (required for USB3),
  UART1 PA8/PA7 logging, LED PB22, button PB23, linker script with
  16-byte aligned NOLOAD .dmadata section in RAMX
- SPEED=high|super build option (default high until the USB3 dcd lands)
- CI: add ch56x to riscv-gcc matrix; skip FreeRTOS/audio/video examples
  (as CH583) and msc_dual_lun (16 KB RAMS, as SAMD11/MKL25)

Verified: cdc_msc builds via CMake and Make; full example sweep green;
.dmadata lands at 0x20020000 (RAMX) with 16-byte alignment.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>bsp/stm32h5: fix uart definition</title>
<updated>2026-06-27T10:53:53Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-06-27T10:53:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=8ee82a55c9f7ab548e3f72f32c1071c837f1444e'/>
<id>urn:sha1:8ee82a55c9f7ab548e3f72f32c1071c837f1444e</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>hw/bsp+wch: rename the CH58x family to ch583 and OPT_MCU_CH58X to OPT_MCU_CH583</title>
<updated>2026-06-22T08:23:08Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-22T08:23:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=eda704ca1acef9691b51e17026765f497b1fffbe'/>
<id>urn:sha1:eda704ca1acef9691b51e17026765f497b1fffbe</id>
<content type='text'>
The BSP family and MCU option were named "ch58x"/"CH58X", but the supported part is
the CH583/CH582 (and the SDK repo is openwch/ch583); CH585 is a separate MCU family,
so the CH58x umbrella was misleading. Rename to the specific family:

- hw/bsp/ch58x -&gt; hw/bsp/ch583 (dir), and the BSP-local files ch58x_it.* -&gt;
  ch583_it.*, system_ch58x.* -&gt; system_ch583.* (include guards/refs updated). The
  vendor SDK files (CH58x_common.h, CH58x_*.c in hw/mcu/wch/ch583) keep their names.
- OPT_MCU_CH58X -&gt; OPT_MCU_CH583 in tusb_option.h, tusb_mcu.h, and the shared WCH
  USBFS driver (ch32_usbfs_reg.h, dcd_ch32_usbfs.c). OPT_MCU_CH582 is kept as an
  alias (same value), so either name selects the same code.
- FAMILY_MCUS CH58X -&gt; CH583, CFG_TUSB_MCU=OPT_MCU_CH583, mcu:CH58X -&gt; mcu:CH583 in
  the example skip lists, the CI build matrix (ci_set_matrix.py), the get_deps family
  tag, and docs/reference/boards.rst.

Board names (ch582m_evt, yd-ch582m) are unchanged. Verified: make + cmake build for
ch582m_evt, and ci.lan HIL (all device examples pass).

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>hw/mcu/wch: rename ch58x SDK dir to ch583 to match the openwch repo</title>
<updated>2026-06-19T17:03:18Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-19T17:03:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=2b205526d3a07aac19364f00165f491b83146d17'/>
<id>urn:sha1:2b205526d3a07aac19364f00165f491b83146d17</id>
<content type='text'>
The dependency is fetched from https://github.com/openwch/ch583.git but lived at
hw/mcu/wch/ch58x. Rename the local path to hw/mcu/wch/ch583 so it matches the
upstream repo name. Updates the get_deps.py path key and the ch58x BSP SDK_DIR
(family.mk + family.cmake); the BSP family stays "ch58x" (covers CH582 and CH583).

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/master' into add-ch58x-usbfs</title>
<updated>2026-06-18T08:31:03Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-18T08:31:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=953abfb3931c67b834838c7fe0b31834cb0d42d6'/>
<id>urn:sha1:953abfb3931c67b834838c7fe0b31834cb0d42d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/master' into stm32c5</title>
<updated>2026-06-11T10:20:15Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-11T10:20:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5145b67f7946763ca04954f5494bfa88eec2acad'/>
<id>urn:sha1:5145b67f7946763ca04954f5494bfa88eec2acad</id>
<content type='text'>
# Conflicts:
#	README.rst
</content>
</entry>
<entry>
<title>HIL: replace build.flags_on with named build variants (#3687)</title>
<updated>2026-06-11T01:16:43Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-11T01:16:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=6f35e76667f4015ef429ace5730e20cc0037e042'/>
<id>urn:sha1:6f35e76667f4015ef429ace5730e20cc0037e042</id>
<content type='text'>
* test/hil: replace build.flags_on with named variant schema

Boards declare build variants as `variant: [{name, flags}]` instead of
`build.flags_on`. The variant `name` is the build dir (cmake-build-&lt;name&gt;) and
the HIL report row; `flags` is the raw CFLAGS string (-D...=1) injected via
CFLAGS_CLI. No `variant` =&gt; a single build named after the board.

- build.py: --build-name &lt;name&gt; (dir) + --cflag=&lt;token&gt; (raw CFLAGS, repeatable,
  =form survives the matrix's shell word-splitting); drop -f1/CFLAGS wrapping.
- hil_ci_set_matrix.py: emit one build arg per variant.
- hil_test.py: iterate variants; report row + build dir = variant name.
- hil_ci.sh: copy all cmake-build-&lt;board&gt;* dirs for -b runs.
- get_deps.py: accept (ignore) --build-name/--cflag from matrix args.
- tinyusb.json: migrate all 6 flags_on boards to variant.

* board_test: park CI build with busy spin instead of wfe</content>
</entry>
<entry>
<title>add stm32c5 support</title>
<updated>2026-05-10T12:17:00Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-05-09T23:47:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5ea1979e290ed80430a5b65b56534373ecbdd56f'/>
<id>urn:sha1:5ea1979e290ed80430a5b65b56534373ecbdd56f</id>
<content type='text'>
Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
</feed>
