AnsweredAssumed Answered

USB_CLK internal source for MCF54418

Question asked by Eukeni Urkiaga on Feb 26, 2018
Latest reply on Mar 8, 2018 by TomE

Hi,

We want to add USB HOST functionality to our device, based on MCF54418. We want to use the pll divider as USB_CLK internal source. We are working with fvco=500MHz (the maximum). We have already tested all our system working with this frequency (NAND Flash controlle  fnfc = fvco / 14; flexbus  controller  fbus = fsys / 2 = fvco / 4 , and fsys = fvco / 2)

 

At page 8-8 (PLL Divide Register) in the "MCF5441x Reference Manual" I can read this in the OUTDIV4 bit field description:

 

"Note: If used as the USB clock source, the OUTDIV4 resulting frequency must be 60 MHz. This may require that fVCO be less than the maximum."

 

We have used OUTDIV4=7 and  fvco = 10 * 50MHz = 500MHz , so fusb = fvco / 8=62,5MHz.

With 62,5MHz The MQX USB Host Mass Storage Example works fine just by disabling the external peripheral clock for USB in usb_mcf5441.c:

 

_mqx_int _bsp_usb_host_init(struct usb_host_if_struct *usb_if)
{

................


//reg_ptr->CCM.MISCCR &= ~0x0001;

 

reg_ptr->CCM.MISCCR |= 0x0001; //PLL drives USB serial interface clocks

.........

}

 

It has been Luck? Could the usb host work without problems with 62,5MHz instead of 60MHz? Or It must be exactly 60MHz as I suppose by reading the note at the OUTDIV4 bit field description?

 

Is there anyway to achieve exactly 60MHz for fusb,internally without changing the other frequencies (already tested)?

 

Any suggestion?

 

Thanks in advance,

Regards,

Outcomes