raspberrypi / pico-sdk

BSD 3-Clause "New" or "Revised" License
3.25k stars 838 forks source link

USB stdio issue at lower sys clock #1697

Open szlldm opened 2 months ago

szlldm commented 2 months ago

USB stdio fails if SYS_CLK_KHZ overridden to 32MHz (PLL_SYS_VCO_FREQ_KHZ and PLL_SYS_POSTDIV1, 2 are also set to valid values). /dev/ttyACM0 does not even appear dmesg shows errors: usb 1-7.2: new full-speed USB device number 71 using xhci_hcd usb 1-7.2: Device not responding to setup address. usb 1-7.2: device descriptor read/all, error -110 Meanwhile user code on the Pico runs ok. At 64MHz everything seems fine (only SYS_CLK_KHZ and PLL_SYS_POSTDIV2 changed). Is this expected, or is anything i can do to make it work? Thx

matsobdev commented 1 month ago

They say in the datasheet, it NOPs when running higher clock than USB 48 MHz to wait for it, so maybe at lower clock it can not keep up. Maybe right, maybe wrong.