<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src, branch rework-metrics</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/src?h=rework-metrics</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src?h=rework-metrics'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-09-06T03:51:56Z</updated>
<entry>
<title>audio: fix IAR goto warning</title>
<updated>2026-09-06T03:51:56Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-09-06T03:51:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=8d3632660d3c699768e50079b677cf5a0725fc45'/>
<id>urn:sha1:8d3632660d3c699768e50079b677cf5a0725fc45</id>
<content type='text'>
</content>
</entry>
<entry>
<title>dwc2: fix IAR volatile access warning</title>
<updated>2026-09-06T02:56:07Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-09-06T02:56:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=5e17ce7953f4aa9faf236841e6004a3408aa5917'/>
<id>urn:sha1:5e17ce7953f4aa9faf236841e6004a3408aa5917</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ohci: enumerate a device that was already attached at init</title>
<updated>2026-09-05T08:25:14Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-09-03T11:19:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=b7cda213b0c3a75bf04b3f88179f97df6390d9db'/>
<id>urn:sha1:b7cda213b0c3a75bf04b3f88179f97df6390d9db</id>
<content type='text'>
hcd_init() clears every pending interrupt flag before enabling its own set:

  OHCI_REG-&gt;interrupt_status = OHCI_REG-&gt;interrupt_status;

If a device is already connected at that point, that write drops the RHSC
which went with the connect, while the root hub keeps ConnectStatusChange
set. The device stays put, so no new edge follows and the attach is never
reported - the port sits at CCS=1, CSC=1, PES=0 forever.

Host-only builds got away with it because the connect is usually detected
after that clear. In a dual build the device stack initialises first and
enables the shared USB interrupt, which moves the detection into the window
that gets cleared, and the host then never sees the device.

Scan the root-hub ports once at the end of hcd_init and raise the attach
ourselves, clearing the stale change bit so the next RHSC does not report
the same device again.

Verified on ea4088_quickstart: dual/host_info_to_device_cdc now enumerates
on a plain reset (HIL test passes, "Device 1: ID 1a86:8010 SN 7FD88F0604B5"),
host/device_info still enumerates, and device/cdc_msc is unaffected.
host/device_info also builds for lpcxpresso55s69, lpcxpresso1769 and mcb1800.
</content>
</entry>
<entry>
<title>Merge pull request #3774 from zjzhang-cn/feature/tuh-audio-uac-1.0</title>
<updated>2026-09-04T08:49:44Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-04T08:49:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=29851564af08cb4909175315d20c71f5eca13040'/>
<id>urn:sha1:29851564af08cb4909175315d20c71f5eca13040</id>
<content type='text'>
feat(audio): add USB Audio Host (UAC 1.0/2.0) support </content>
</entry>
<entry>
<title>Merge pull request #3799 from hathach/codex/dfu-buffer-fix</title>
<updated>2026-09-03T13:17:07Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-03T13:17:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1adfb1c74ff3cc6618a9b37e76ab2feadc09f8e8'/>
<id>urn:sha1:1adfb1c74ff3cc6618a9b37e76ab2feadc09f8e8</id>
<content type='text'>
device/dfu: fix transfer buffer overwrite issue</content>
</entry>
<entry>
<title>Merge pull request #3808 from hathach/cdc_persistent</title>
<updated>2026-09-03T13:16:37Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-03T13:16:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=67dedc37ef9f0c232cba1edbb6bc007f610961f0'/>
<id>urn:sha1:67dedc37ef9f0c232cba1edbb6bc007f610961f0</id>
<content type='text'>
device/cdc: avoid flushing tx buffer on connection</content>
</entry>
<entry>
<title>improve example details</title>
<updated>2026-09-03T02:46:14Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-03T02:45:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=ef404be0337b1486b0a45acd248639ac8dea6c15'/>
<id>urn:sha1:ef404be0337b1486b0a45acd248639ac8dea6c15</id>
<content type='text'>
Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>fix(dwc2): bound periodic intervals to HFNUM range</title>
<updated>2026-09-02T14:18:44Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-02T14:18:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=e461c6f9c139a0012ef01d53db1aab1c68789b56'/>
<id>urn:sha1:e461c6f9c139a0012ef01d53db1aab1c68789b56</id>
<content type='text'>
HFNUM retains only 16384 host-frame positions, while valid periodic endpoint intervals can be longer. Resubmission after the counter wraps can therefore alias the elapsed time and skip the next established service phase.

Cap the host-selected interval to one HFNUM cycle using the root-port frame unit. USB permits a shorter host-provided period, and the bounded interval keeps phase calculation unambiguous for native and split endpoints.
</content>
</entry>
<entry>
<title>fix(dwc2): defer periodic DMA abort cleanup until halt</title>
<updated>2026-09-02T14:14:26Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-02T01:54:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=14060950b487f931d959699c42b0875c96ca6a01'/>
<id>urn:sha1:14060950b487f931d959699c42b0875c96ca6a01</id>
<content type='text'>
Periodic DMA channels use their natural service-boundary halt instead of a software CHDIS request. Keep the endpoint busy after an abort so a replacement transfer cannot reuse its state or buffer while the channel remains active.

When HCINT.HALTED arrives, release the channel without reporting completion for the aborted transfer. If endpoint closure is also pending, release the endpoint from the same halt path.
</content>
</entry>
<entry>
<title>implement per channel volume control</title>
<updated>2026-09-02T13:24:36Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-02T13:22:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1ff684a07ec5d80a89ba82276139a202288b7716'/>
<id>urn:sha1:1ff684a07ec5d80a89ba82276139a202288b7716</id>
<content type='text'>
Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
</feed>
