BF609 USB clock set-up

I am moving my software from BF609 eval board into my target board. I have problem in setting-up USB clock. On eval board there is 48MHz oscillator and my software runs OK. However, on my target board there is 24MHz quartz. I verified on oscilloscope that it generates required frequency, but I am not able to set-up USB clock. For that purpose I updated USB_PLL_OSC register. Simply updating this register has no effect. I tried to modify PLLM field with value 20 instead of default 10. I was also trying to set the PLLMSEL field, also without success. Is anybody able to help me with this subject ?

  • Not sure if its still open, apologies in case you could not resolve this in quickly.


    The USB controller uses the system clock SCLK to generate an internal clock (CLK) used to clock the USB registers. For proper operation, the system clock, SCLK, must be greater than 30MHz. The transceiver clock (XCLK) is a 60 MHz clock sourced from the UTMI PHY and is used by the PHY interface logic and USB engine. The USB clock (USB_CLKIN) is provided through a dedicated external crystal or crystal oscillator. Using the integrated USB phase locked loop, USB PLL, with programmable multipliers, the USB on-the-go dual-role device controller generates the necessary internal clocking frequency for USB.


  • This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

    Thank you,
    EZ Admin