Skip to main content
Visitor II
August 30, 2017
Question

How to read/wirte the ULPI PHY's register with STM32?

  • August 30, 2017
  • 3 replies
  • 1763 views
Posted on August 30, 2017 at 11:05

Hi, I am using STM32F205 to interface ULPI PHY(CY7C68003), but the USB interface doesn't work.

Please tell me how to read/write the registers of CY7C68003 through STM32_USB-Host-Device_Lib or STM32Cube_FW.

Thanks a lot!

#stm32 #ulpi #cy7c68003 #usb
    This topic has been closed for replies.

    3 replies

    Explorer
    August 30, 2017
    Posted on August 30, 2017 at 16:54

    Hi,

    AFAIK, there is no 'officially documented registers' that allow you to access ULPI PHY registers.

    However, it looks there are some hidden secret registers for that purpose (at least on STM32F7).

    Please take a look at below source code within CubeF7, you can find USB_ULPI_Read() and

    USB_ULPI_Write() functions.

    ./STM32Cube_FW_F7_V1.7.0/Projects/STM32F769I-Discovery/Examples/PWR/PWR_CurrentConsumption/Src/stm32f7xx_lp_modes.c

    Sorry, but I don't know

    STM32F205 has those secret registers or not.

    Regards,

    Visitor II
    January 31, 2019

    This magic is also present in an example for the STM32F746 and I confirm that it works.

    What's strange though is why it isn't documented? Reading the vendor and product identifiers from the PHYS chip seems like a normal startup process to confirm communications are working - we surely all do the same with every SPI or I2C peripheral ?

    James

    Visitor II
    May 8, 2020

    Thank you for this information. I'll add some tags to that other people can find this too.

    STM32F7 USB ULPI suspendm low power mode