I am working on my first USB enabled product with an LPC series microcontroller, and it is the first time that I have worked with the PHY directly. This is on a custom board, using the USB1 high-speed USB connection.
I am currently trying to get the dev_cdc_vcom_bm SDK example working on my device (after testing it on the LPCXpresso55S69 dev board). The obvious difference on my custom board is that it has a 20MHz crystal mounted rather than 16MHz.
I have tracked down, as my first problem, that the PLL_SIC register is showing PLL_LOCK as 0, so the PLL is not locking. USB clock, USB PLL power, and USB PLL enable are enabled. The clock divisor is set for divide by 24 (value4) for the 20MHz clock. PLL_PREDIV = 0. USB1_3V3 is reading a solid 3.299v, so the input voltage seems fine.
One other potential issue is that I'm using a 20MHz oscillator and not a 20MHz crystal. I saw another thread where that was the issue, but it was on a Kinetis part, and I'm not sure it's the same IP. Even if it is, I wouldn't be surprised if that was a red herring.
Attached is the schematic of the device, though that shouldn't be the issue in this case.
Any thoughts about where to look next as far as getting the PLL to lock?