<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/portable/raspberrypi, branch dcd_ch32hs_spd</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/src/portable/raspberrypi?h=dcd_ch32hs_spd</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/portable/raspberrypi?h=dcd_ch32hs_spd'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-05-15T19:28:21Z</updated>
<entry>
<title>rp2040: fix host SET_REPORT (and any OUT-data control xfer) sending DATA0 instead of DATA1</title>
<updated>2026-05-15T19:28:21Z</updated>
<author>
<name>Boris Dolgov</name>
<email>boris@dolgov.name</email>
</author>
<published>2026-05-15T19:28:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=72e09788e46a8ffaaae8009a316915838927af90'/>
<id>urn:sha1:72e09788e46a8ffaaae8009a316915838927af90</id>
<content type='text'>
hcd_edpt_xfer() previously reset ep-&gt;next_pid to 1 only when the control
endpoint direction changed between stages. That handled IN-data control
transfers (e.g. GET_REPORT, GET_DESCRIPTOR) where SETUP is OUT and DATA is
IN, but not OUT-data class requests like SET_REPORT, where SETUP and DATA
are both OUT and the direction-change check is false. ep-&gt;next_pid was
left at 0 from hcd_edpt_open(), so the DATA stage went on the wire as
DATA0 when the device expected DATA1. Strict devices (observed: Elgato
Stream Deck) treat this as a protocol violation and disconnect.

Key off "endpoint 0" instead of "direction changed", restoring the
previous behavior. Interrupt/bulk endpoints take the ep-&gt;interrupt_num &gt; 0
branch above and never reach this code, so they are unaffected.
</content>
</entry>
<entry>
<title>Apply suggestion from @Copilot</title>
<updated>2026-04-02T16:55:12Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-02T16:55:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=9515ba8e795a582f4e62955b8d4398066e2acbb1'/>
<id>urn:sha1:9515ba8e795a582f4e62955b8d4398066e2acbb1</id>
<content type='text'>
Co-authored-by: Copilot &lt;175728472+Copilot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>rp2040: fix RP2350 hard fault in unaligned_memcpy to USB DPRAM</title>
<updated>2026-04-02T16:50:12Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-02T16:50:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=c0c1566bea34419a8b165a489278114363de5a5e'/>
<id>urn:sha1:c0c1566bea34419a8b165a489278114363de5a5e</id>
<content type='text'>
Use volatile byte accesses to prevent the compiler from widening
the byte-by-byte copy loop into 16/32-bit accesses, which cause
a hard fault on RP2350 when targeting USB DPRAM (device memory).

Closes #3554
</content>
</entry>
<entry>
<title>fix issue caused by merging active + pending state</title>
<updated>2026-04-01T16:50:26Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-01T16:50:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=087ceb7417e6c1d72701ae491407490cfe5c6558'/>
<id>urn:sha1:087ceb7417e6c1d72701ae491407490cfe5c6558</id>
<content type='text'>
</content>
</entry>
<entry>
<title>reduce code size, use state to replace active + pending</title>
<updated>2026-04-01T10:47:01Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-04-01T08:51:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=78d34d5b6488d7129530461ce1865a33a946e698'/>
<id>urn:sha1:78d34d5b6488d7129530461ce1865a33a946e698</id>
<content type='text'>
</content>
</entry>
<entry>
<title>finally get rp2040 host epx working with 2-sof solution for switching</title>
<updated>2026-03-31T16:53:56Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-31T10:41:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=9ac343a0471b03b1a76166c72347e7fdbf2c4800'/>
<id>urn:sha1:9ac343a0471b03b1a76166c72347e7fdbf2c4800</id>
<content type='text'>
</content>
</entry>
<entry>
<title>host abort transfer on short packet in double buffer.</title>
<updated>2026-03-31T09:01:58Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-31T09:01:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=660c8ca087c8006433301d9208143438f5f456a1'/>
<id>urn:sha1:660c8ca087c8006433301d9208143438f5f456a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hcd rp2 add double buffered for control endpoint transfers.</title>
<updated>2026-03-30T06:02:17Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-30T05:19:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=31ec5a7d3afdb79c95cfc6eeaf9659066d83fd69'/>
<id>urn:sha1:31ec5a7d3afdb79c95cfc6eeaf9659066d83fd69</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rp2 common refactor</title>
<updated>2026-03-28T16:27:39Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-28T16:27:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=dfcd271400c31e15a7d38b319c65173c3e4227c7'/>
<id>urn:sha1:dfcd271400c31e15a7d38b319c65173c3e4227c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>host epx clean up</title>
<updated>2026-03-28T05:12:20Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-28T05:12:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=7d004257d9cb849e90166a50c0f751b162fd6a68'/>
<id>urn:sha1:7d004257d9cb849e90166a50c0f751b162fd6a68</id>
<content type='text'>
</content>
</entry>
</feed>
