The current implementation allows the user to specify the desired CPU clock value, in MHz, via an environment variable "cpuclk". Four compile-time constants are used: CONFIG_8xx_OSCLK - input quartz clock CONFIG_SYS_8xx_CPUCLK_MIN - minimum allowed CPU clock CONFIG_SYS_8xx_CPUCLK_MAX - maximum allowed CPU clock CONFIG_8xx_CPUCLK_DEFAULT - default CPU clock value If the "cpuclk" environment variable value is within the CPUCLK_MIN / CPUCLK_MAX limits, the specified value is used. Otherwise, the default CPU clock value is set. Please make sure you understand what you are doing, and understand the restrictions of your hardware (board, processor). For example, ethernet will stop working for CPU clock frequencies below 25 MHz. Please note that the new clock-handling code is enabled if CONFIG_8xx_CPUCLK_DEFAULT is defined. Since this mechanism supports only MPC866 and newer CPUs, this constant MUST NOT be defined for MPC823/850/860/862 series. The clock generation algorithm for older chips is different and has not been implemented yet. If you need it, your patch is welcome.