Content originally posted in LPCWare by mc on Sun Feb 08 22:11:00 MST 2015
Hi Chris,
Thanks for extensive investigation.
I do not have PHY USB3343, however, I tested both flash and flashless devices with ISP1507BBS PHY without problem. It has been tested successfully on below revision of devices.
LPC4350 RevA
LPC4350 RevC
LPC4357 Rev -
LPC1850 RevA
LPC1850 RevC
LPC1857 Rev -
It could be layout issue.
Could you please post code here?
Please also post device marking and schematic?
In your ULPI traces the second set is executed when Run bit (bit 0) in the USBCMD_D register is set to 1.
In this trace, LPC4357 is probably trying to set TermSel bit to 1b.
But the anomalous dir assertion is preventing TermSel to be set to 1b.
In my board PHY is placed on same board, where as you are connecting PHY using wires/cables
Please see pinmux settings below for ULPI clock, control and data signals in my project.
/* for ULPI */
scu_pinmux(0x8, 8, MD_PLN | MD_EZI | MD_ZI | MD_EHS, FUNC1); //ULPI_CLK
scu_pinmux(0x8, 6, MD_PLN | MD_EZI | MD_ZI | MD_EHS, FUNC1); //ULPI_NXT
scu_pinmux(0x8, 7, MD_PLN | MD_EZI | MD_ZI | MD_EHS, FUNC1); //ULPI_STP
scu_pinmux(0xC, 11, MD_PLN | MD_EZI | MD_ZI | MD_EHS, FUNC1); //ULPI_DIR
scu_pinmux(0x8, 5, MD_PLN | MD_EZI | MD_ZI | MD_EHS , FUNC1); //D0
scu_pinmux(0x8, 4, MD_PLN | MD_EZI | MD_ZI | MD_EHS , FUNC1); //D1
scu_pinmux(0x8, 3, MD_PLN | MD_EZI | MD_ZI | MD_EHS , FUNC1); //D2
scu_pinmux(0xC, 5, MD_PLN | MD_EZI | MD_ZI | MD_EHS , FUNC1); //D3
scu_pinmux(0xC, 4, MD_PLN | MD_EZI | MD_ZI | MD_EHS , FUNC1); //D4
scu_pinmux(0xC, 3, MD_PLN | MD_EZI | MD_ZI | MD_EHS , FUNC0); //D5
scu_pinmux(0xC, 2, MD_PLN | MD_EZI | MD_ZI | MD_EHS , FUNC0); //D6
scu_pinmux(0xC, 1, MD_PLN | MD_EZI | MD_ZI | MD_EHS , FUNC0); //D7