<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/portable/analog, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/src/portable/analog?h=master</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/portable/analog?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-07-03T16:25:05Z</updated>
<entry>
<title>Merge pull request #3748 from mikeysklar/fix-max3421-oscok-hang</title>
<updated>2026-07-03T16:25:05Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-03T16:25:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=41b8ad203990da258e98531c6bf77102c7cc7c68'/>
<id>urn:sha1:41b8ad203990da258e98531c6bf77102c7cc7c68</id>
<content type='text'>
max3421: prevent USB host hang at startup</content>
</entry>
<entry>
<title>license: use SPDX identifiers for src/ headers (#3749)</title>
<updated>2026-07-02T14:55:45Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-02T14:55:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=7a4111b96ef6279e75579f9a18443834f6a0871d'/>
<id>urn:sha1:7a4111b96ef6279e75579f9a18443834f6a0871d</id>
<content type='text'>
* license: use SPDX identifiers for src/ headers

Replace the full ~20-line MIT license boilerplate on every src/ file with a
two-line SPDX tag (SPDX-FileCopyrightText + SPDX-License-Identifier), following
the REUSE convention used by CircuitPython and the Linux kernel. Removes ~3500
lines of duplicated boilerplate.</content>
</entry>
<entry>
<title>hcd(max3421): improve CHIPRES reset logic and refine oscillator stabilization timing</title>
<updated>2026-07-01T10:49:14Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-01T09:36:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4202e1e2d0949b1de16ebb0de289ac0ba577579b'/>
<id>urn:sha1:4202e1e2d0949b1de16ebb0de289ac0ba577579b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>max3421: prevent USB host hang at startup</title>
<updated>2026-07-01T09:07:59Z</updated>
<author>
<name>Mikey Sklar</name>
<email>mikeysklar@gmail.com</email>
</author>
<published>2026-06-30T17:06:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=f96757a19af640b14c272945b2272540c4af1cc4'/>
<id>urn:sha1:f96757a19af640b14c272945b2272540c4af1cc4</id>
<content type='text'>
On some boards the MAX3421E doesn't report its oscillator ready after a
soft reset (CHIPRES), so hcd_init() waits on USBIRQ_OSCOK forever and the
host hangs at startup before any USB device can be used. Bound the wait so
it proceeds after a timeout; it is a no-op where OSCOK arrives normally.

Needed on the Adafruit Feather ESP32 V2 (classic ESP32) + USB Host
FeatherWing, which otherwise hangs on essentially every cold boot.

Relates to adafruit/circuitpython#10053.
</content>
</entry>
<entry>
<title>add usbh_spin_lock/unlock() use spinlock instead of atomic flag for hcd max3421</title>
<updated>2025-05-21T08:27:18Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-05-21T08:27:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=e41a63c60dbebd9579698e6444bc62cfa518e15c'/>
<id>urn:sha1:e41a63c60dbebd9579698e6444bc62cfa518e15c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(hcd) hcd_edpt_open() return true if endpoint is already opened.</title>
<updated>2025-04-03T11:11:33Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-04-03T11:11:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4787cd5f546eabad630fc5c22f37f67a076ac37e'/>
<id>urn:sha1:4787cd5f546eabad630fc5c22f37f67a076ac37e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add tuh_edpt_close() API, it will abort any pending transfer</title>
<updated>2025-03-25T09:15:58Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-03-25T09:15:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=65e01fff2e7ab5302baa45bdd81a1d774e269452'/>
<id>urn:sha1:65e01fff2e7ab5302baa45bdd81a1d774e269452</id>
<content type='text'>
implement hcd_edpt_close() for pio-usb and max3421e, also move max3421e api into its own header.
</content>
</entry>
<entry>
<title>change the tusb_rhport_init_t struct, exclude the rhport to make API more consistent</title>
<updated>2024-10-14T11:27:52Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2024-10-14T11:27:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1f18be93db39dbc57bbf34f982dbe07e209a2ae3'/>
<id>urn:sha1:1f18be93db39dbc57bbf34f982dbe07e209a2ae3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hcd_init() take init struct</title>
<updated>2024-10-11T10:53:39Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2024-10-11T10:53:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=1587d48e89cbaa8d0d1c870809bc40c3c8d1056f'/>
<id>urn:sha1:1587d48e89cbaa8d0d1c870809bc40c3c8d1056f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add sndfifo owner info to skip rewriting data for retrying NAKed</title>
<updated>2024-08-26T07:27:23Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2024-08-26T05:24:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=27ddf19631d135df15f3388686f59e379e146dbb'/>
<id>urn:sha1:27ddf19631d135df15f3388686f59e379e146dbb</id>
<content type='text'>
</content>
</entry>
</feed>
