<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git, branch hil-openocd-recover-flasher</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/?h=hil-openocd-recover-flasher</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/?h=hil-openocd-recover-flasher'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-08-28T19:47:20Z</updated>
<entry>
<title>hil: silence false vid_pid warning for jlink args, tighten recover lints</title>
<updated>2026-08-28T19:47:20Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-19T06:10:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=76313ba7723355fc8a3fe6a3da90916074d7f9fa'/>
<id>urn:sha1:76313ba7723355fc8a3fe6a3da90916074d7f9fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: drop the flasher_recover followup plan, implemented here</title>
<updated>2026-08-28T19:47:20Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-19T06:00:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=340a1d7d1a72b2e1381f60fbcc54e08a034b389b'/>
<id>urn:sha1:340a1d7d1a72b2e1381f60fbcc54e08a034b389b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hil: give seven J-Link boards a convoy-safe recovery flasher</title>
<updated>2026-08-28T19:47:20Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-19T05:39:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=7c2c09c63c08c980c02e188d2f814f5e9eb55fe3'/>
<id>urn:sha1:7c2c09c63c08c980c02e188d2f814f5e9eb55fe3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hil: add openocd_seq flasher for convoy-safe recovery delivery</title>
<updated>2026-08-28T19:47:20Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-19T05:23:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=ba7c32fbae9529ea9db7ec25c4011d7021720f73'/>
<id>urn:sha1:ba7c32fbae9529ea9db7ec25c4011d7021720f73</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #3851 from hathach/etmtrace-rp2350</title>
<updated>2026-08-28T19:41:13Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-28T19:41:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=84dcec43c709643f8a1b1ebbab6d08fbbc605a6d'/>
<id>urn:sha1:84dcec43c709643f8a1b1ebbab6d08fbbc605a6d</id>
<content type='text'>
rp2350: ETM trace board pico2_etm_trace</content>
</entry>
<entry>
<title>docs: msc-host TUR retry handoff, split out of this PR</title>
<updated>2026-08-28T18:08:40Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-28T09:40:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=f7eb812679598aecc1d7702264ba48e6c178d5da'/>
<id>urn:sha1:f7eb812679598aecc1d7702264ba48e6c178d5da</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rp2350: PIO-USB runs the pico-sdk stock 150 MHz</title>
<updated>2026-08-28T18:08:40Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-28T09:40:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=839c324458f6900a58182d9aa23d846e8ec55c94'/>
<id>urn:sha1:839c324458f6900a58182d9aa23d846e8ec55c94</id>
<content type='text'>
Closes the sys-clock question. rp2350: the dynamic 156 MHz switch is
removed - 150 MHz soak-tested clean (and a runtime switch truncates ETM
capture on the trace carrier). rp2040 keeps its existing 120 MHz: soak
sweeps show 120 = 8/8, stock 125 = 0/3 (bulk-OUT collapses, device NAKs
~600:1 with zero CRC errors on the wire), and 132 = 2/10 flaky despite an
exact 12n/375k divider - no divider criterion predicts rp2040 PIO-USB
health (the RX state machine samples at raw sysclk), so only
soak-validated clocks ship.
</content>
</entry>
<entry>
<title>pico2_etm_trace: RP2350 board on the MIPI-20 ETM trace carrier</title>
<updated>2026-08-28T18:08:31Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-28T09:39:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=6e8e2caf7fc2dc5575f5e0c71e69c1b19b3f5699'/>
<id>urn:sha1:6e8e2caf7fc2dc5575f5e0c71e69c1b19b3f5699</id>
<content type='text'>
Board files for the trace carrier (console GP12/13, LED GP10, I2C GP8/9,
PIO-USB host on GP20, all retargeted in board.cmake so the SDK defaults
cannot mux a trace pin), compile-time trace pin-conflict checks, the
measured DBGPAUSE rationale, Ozone project, and skill/docs updates.
Trace validated at the stock 150 MHz (75 MHz TRACECLK, +1 ns sampling):
zero overflow through a 15 s throughput soak; V2 probe ceiling 120 MHz.
</content>
</entry>
<entry>
<title>Merge pull request #3860 from hathach/claude/hil-blindness</title>
<updated>2026-08-28T09:09:22Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-28T09:09:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=64d952c027df194ea8b107b3d5d0b6c4cb9a994b'/>
<id>urn:sha1:64d952c027df194ea8b107b3d5d0b6c4cb9a994b</id>
<content type='text'>
hil: drop the sysfs blindness subsystem and derive the recovery reserve</content>
</entry>
<entry>
<title>test/hil, docs: move the containment history into the design doc</title>
<updated>2026-08-28T07:18:41Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-08-27T08:26:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=20bb94fcf9ad7fca7fb685e53307f4d03b1340fd'/>
<id>urn:sha1:20bb94fcf9ad7fca7fb685e53307f4d03b1340fd</id>
<content type='text'>
The modules were 21% comment, much of it review-cycle argument rather than
guidance -- _kill_kids stated 'descendant by construction, no argv check needed'
twice, eight lines apart. Deleting such comments outright makes maintenance
worse: the next reader simplifies the thing the comment was defending. So the
history moves to the 2026-07-30 fleet-wedge design doc, which gains a trim
addendum recording what was removed, what was deliberately kept, and the rule
that decided each -- the CI ceiling bounds how long a run burns, and does nothing
about state that outlives it.

One comment was not merely long but WRONG: the report wipe carried 'The unlink is
DEFERRED to inside the pool try/except below', which is the opposite of what the
code does -- it sits before Manager() with its own comment explaining why. That
is the failure mode this pass is about, so it is deleted rather than reworded.

Kept everywhere: citations that refute a plausible wrong reading. That
usb_lock_device_interruptible is why the readers are killable, that usblp_mutex
is driver-global, that rawmidi honours O_NONBLOCK where usblp does not.

Two follow-ups are retired with them: pr3803-hil-blindness-reporting.md (there
is no blindness to report any more) and pr3803-usbtest-recovery-reserve.md (the
reserve is derived now). Kept: pr3803-flasher-recover.md, which PR #3832
implements, plus pr3803-pci-rebind-stranding.md and pr3803-hil-iar-rerun-spec.md,
both independent of this work.
</content>
</entry>
</feed>
