cancel
Showing results for 
Search instead for 
Did you mean: 

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

Yuling LI
Associate
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
3 REPLIES 3
sirius506
Associate III
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,

James Murray
Senior

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

Xx.13
Associate

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