2012-08-09 03:43 AM
Hi
I have a problem with STM32F207/407 (not) working with a ULPI PHY, in this caseSMSC USB3340. The system (which is device-only) will work at USB full-speed but not high-speed. Itseems that others have similar problems - some ULPI-compliant PHYs seem to work,others not. Logic analysis of the ULPI bus and USB line states show that during the USB_RESET period, the STM sets the PHY's Function Control register to generate the ChirpK indicating that the device can work at high-speed. However, the ChirpK is never generated, so enumeration falls back to full-speed. Instead of sending the ChirpK, DP goes to 1.6V and DM to 0V.It is possible that the problem arises because the USB Core sets theLPM bit (bit7) in the PHY's Function Control register. It looks at first sight as if PHYs which do notsupport LPM (and so ignore the bit) work correctly, and vice-versa. For example on this forum we see a USB3343 not working and a USB3320 (similar but with no LPM support) working.Does anyone at ST know if there is there a way to cause the STM32F deviceNOT to set the LPM bit in the ULPI PHY Function Control register? It would seem likely, but no such control is documented.Does anyone have any further experience of which PHYs do and don't work in this regard?ThanksIan #usb-ulpi-phy-usb33402014-12-16 11:34 AM
Hello guys!
I wonder if there any updates to this topic? Maybe somebody got USB3330 working at HS? If NO, what you think about new USB332x (dont mess with USB3320!), it offers as small package as USB3330, and is pin-compatible! And it has no ''LPM Enable'' bit!2015-02-17 06:32 AM
I can confirm that I have gotten the USB3300 working with the '205, '405 and '427. I can also confirm getting the USB3320 to work with the '205. As others have reported, I have NOT gotten the USB3340 to work with the '205 OR '427.
2015-10-08 01:01 AM
Does anyone know if the USB3317 works ? The data sheet doesn't mention LPM.
ThanksSimon2017-01-24 05:07 PM
I just ran into the same problem with USB3340 and F446. But interestingly when I set
bit 14 in DCFG it starts to work in HS !!
It is documented in F7 as:
Bit 14 XCVRDLY: Transceiver delay
Enables or disables delay in ULPI timing during device chirp. 0: Disable delay (use default timing) 1: Enable delay to default timing, necessary for some ULPI PHYs.It is not in F446 docs however.... Anyone can test on another silicon ?
2017-03-26 01:16 AM
Confirmed to also allow USB3343 to work in HS mode!
2018-08-17 08:56 AM
Hello,
Bit 14 was not documented in the previous version of STM32F446 reference manual. We have updated the document and the bit is now defined as a "Transceiver delay".
Below is a description of the bit in the reference manual:
Bit 14 XCVRDLY: Transceiver delay (Enables or disables delay in ULPI timing during device chirp)
0: Disable delay (use default timing)
1: Enable delay to default timing, necessary for some ULPI PHYs
For some external PHYs, a 1 clock cycle delay between the ULPI register write and transmit command is needed in order to ensure proper chirp execution. Otherwise, the device will not be enumerated as a HS one.
-> This delay is provided through setting bit 14.
Khouloud.
2018-12-05 02:35 AM
Hello,
Seconding Andrew's comment about setting the XCVRDLY bit helping the USB3343 work in HS mode. I'm using an F469.
2019-01-31 01:10 PM
I can confirm that setting that XCVRDLY bit allows the USB3340 to work with a STM32F746.
James
2022-02-13 04:15 AM
Hi,
Where did you add this delay in ST HAL or USB Middleware?
2022-02-13 04:15 AM
Hi,
Where did you add this delay in ST HAL or USB Middleware?