<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/hw/bsp/ch32v10x/family.c, branch codex/class-reference-docs</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/hw/bsp/ch32v10x/family.c?h=codex%2Fclass-reference-docs</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/hw/bsp/ch32v10x/family.c?h=codex%2Fclass-reference-docs'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-06-18T03:58:58Z</updated>
<entry>
<title>dcd/ch32_usbfs: support CH32V103 combined endpoint control register</title>
<updated>2026-06-18T03:58:58Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-18T03:58:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=ad8cbc4668ab8d92e2eebb834c230e9d18ad8e57'/>
<id>urn:sha1:ad8cbc4668ab8d92e2eebb834c230e9d18ad8e57</id>
<content type='text'>
CH32V103 uses the older USBFS IP: a single combined UEPn_CTRL register per
endpoint (IN response in bits [1:0], OUT response in [3:2], shared auto-toggle,
separate IN/OUT toggles) instead of the separate UEPn_TX_CTRL/UEPn_RX_CTRL
bytes of the newer IP (CH32V20x/V307). The shared driver was written for the
newer IP, so EP0 control transfers never worked on V103: the OUT response was
written to a reserved byte and the IN write clobbered the OUT bits.

- ch32_usbfs_reg.h: annotate the V103 register struct with byte offsets and add
  a union exposing the combined UEPn_CTRL at the UEPn_TX_CTRL offset; define
  CH32_USBFS_EP_CTRL_COMBINED and the combined-register bit positions.
- dcd_ch32_usbfs.c: abstract EP control access behind ep_tx/rx_ctrl_set() (full
  write) and ep_tx/rx_set_response() (response-only RMW). The newer-IP path is
  unchanged; the combined path read-modify-writes the single register and arms
  the post-SETUP data stage at DATA1.
- bsp/ch32v10x: implement board_get_unique_id() (real chip UID) and drop the
  CSR 0x800 writes that corrupted the QingKe V3 interrupt config and left all
  interrupts disabled (the USB ISR never ran).

Verified on ch32v103r_r1_1v0: enumerates and passes HIL for cdc_msc, hid,
msc, midi, mtp, dfu, etc.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Enable GPIOC for CH32V103 bluepill boards</title>
<updated>2026-05-26T14:52:30Z</updated>
<author>
<name>UMRnInside</name>
<email>30196401+UMRnInside@users.noreply.github.com</email>
</author>
<published>2026-05-26T14:52:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=97d84e0fd597b2d9362e47897c98c9b5ed9c6fdc'/>
<id>urn:sha1:97d84e0fd597b2d9362e47897c98c9b5ed9c6fdc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix missing prototype in ch32v10x bsp</title>
<updated>2026-05-24T02:21:41Z</updated>
<author>
<name>UMRnInside</name>
<email>30196401+UMRnInside@users.noreply.github.com</email>
</author>
<published>2026-05-24T02:21:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=e7d59fba3506d2ae0d60f4c019153e1d9d349262'/>
<id>urn:sha1:e7d59fba3506d2ae0d60f4c019153e1d9d349262</id>
<content type='text'>
</content>
</entry>
<entry>
<title>use vendor-specific CSR 0x800 to toggle IRQ</title>
<updated>2026-05-24T02:00:06Z</updated>
<author>
<name>UMRnInside</name>
<email>30196401+UMRnInside@users.noreply.github.com</email>
</author>
<published>2026-05-24T02:00:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=972670aed49d3efd31b6211aa40c33d550cfa3ad'/>
<id>urn:sha1:972670aed49d3efd31b6211aa40c33d550cfa3ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix CH32V103 hardfault on startup</title>
<updated>2026-04-26T12:35:54Z</updated>
<author>
<name>UMRnInside</name>
<email>30196401+UMRnInside@users.noreply.github.com</email>
</author>
<published>2026-04-26T12:35:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=b62ac586501c43c61f21c0fca67dca437ff3a9dc'/>
<id>urn:sha1:b62ac586501c43c61f21c0fca67dca437ff3a9dc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>implement board_uart_read()/write() as non-blocking for all families</title>
<updated>2026-04-04T06:20:58Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-04T06:20:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=3c6c87479be6a9fdd04240b8bb1267ef80b1a0e8'/>
<id>urn:sha1:3c6c87479be6a9fdd04240b8bb1267ef80b1a0e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>replace board_millis() with tusb_time_millis_api()</title>
<updated>2026-02-27T17:01:40Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-02-27T16:51:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=8444c25ab6bc841bad81fd04afc1e66a9d57a115'/>
<id>urn:sha1:8444c25ab6bc841bad81fd04afc1e66a9d57a115</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix lots of warnings for missing-prototypes for irqhandler</title>
<updated>2025-10-14T16:02:32Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-10-14T13:51:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=367044e4873fc9ca9cdac918cee684e1e08216e0'/>
<id>urn:sha1:367044e4873fc9ca9cdac918cee684e1e08216e0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>embed metadata to family.c and board.h to generate supported boards doc</title>
<updated>2024-12-27T02:11:09Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2024-12-27T02:11:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=6a36c74b10b25f1455d83ba473fff52a9dbcc6d2'/>
<id>urn:sha1:6a36c74b10b25f1455d83ba473fff52a9dbcc6d2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>minor update</title>
<updated>2024-06-14T10:55:36Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2024-06-14T10:55:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=2be72a97b8fd4d08ca20a9b8815f2042c4ef7520'/>
<id>urn:sha1:2be72a97b8fd4d08ca20a9b8815f2042c4ef7520</id>
<content type='text'>
</content>
</entry>
</feed>
