[U-Boot-Users] uboot clock configuration on mpc5200 boards

Jon Smirl jonsmirl at gmail.com
Sun Nov 11 00:12:17 CET 2007


On the Linux kernel the mpc52xx_setup_cpu() function used to do this
fix up. Does uboot handle this for mpc5200 boards? If so, which
version?

uboot is accessing these registers but it is not clear to me if the
clocks are completely being set up.

The 5200lite code has been changed to this:

/*
 * Fix clock configuration.
 *
 * Firmware is supposed to be responsible for this.  If you are creating a
 * new board port, do *NOT* duplicate this code.  Fix your boot firmware
 * to set it correctly in the first place
 */
static void __init
lite5200_fix_clock_config(void)
{
       struct mpc52xx_cdm  __iomem *cdm;

       /* Map zones */
       cdm = mpc52xx_find_and_map("mpc5200-cdm");
       if (!cdm) {
               printk(KERN_ERR "%s() failed; expect abnormal behaviour\n",
                      __FUNCTION__);
               return;
       }

       /* Use internal 48 Mhz */
       out_8(&cdm->ext_48mhz_en, 0x00);
       out_8(&cdm->fd_enable, 0x01);
       if (in_be32(&cdm->rstcfg) & 0x40)       /* Assumes 33Mhz clock */
               out_be16(&cdm->fd_counters, 0x0001);
       else
               out_be16(&cdm->fd_counters, 0x5555);

       /* Unmap the regs */
       iounmap(cdm);
}

-- 
Jon Smirl
jonsmirl at gmail.com




More information about the U-Boot mailing list