[PATCH 4/5] PPC/PCM030: fix reference clock

Sascha Hauer s.hauer at pengutronix.de
Sun Jul 26 22:42:40 PDT 2015


On Fri, Jul 24, 2015 at 03:42:05PM +0200, Juergen Borleis wrote:
> The PCM030 CPU module comes with a 33.333 MHz instead of a 33.333333 MHz
> crystal reference. If such a special reference is in use, the USB PLL
> needs a tweak to create a correct frequency. Without this tweak the USB
> does not work correctly.
> 
> Signed-off-by: Juergen Borleis <jbe at pengutronix.de>
> ---
>  arch/ppc/boards/pcm030/config.h | 2 +-
>  arch/ppc/boards/pcm030/pcm030.c | 9 +++++++++
>  2 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/ppc/boards/pcm030/config.h b/arch/ppc/boards/pcm030/config.h
> index 1521811..3fe1f28 100644
> --- a/arch/ppc/boards/pcm030/config.h
> +++ b/arch/ppc/boards/pcm030/config.h
> @@ -25,7 +25,7 @@
>  
>  #include <mach/mpc5xxx.h>
>  
> -#define CFG_MPC5XXX_CLKIN	33333333 /* ... running at 33.333333MHz */
> +#define CFG_MPC5XXX_CLKIN	33333000 /* ... running at 33.333MHz */
>  
>  #define CFG_HID0_INIT		HID0_ICE | HID0_ICFI
>  #define CFG_HID0_FINAL		HID0_ICE
> diff --git a/arch/ppc/boards/pcm030/pcm030.c b/arch/ppc/boards/pcm030/pcm030.c
> index a7fa21d..376891a 100644
> --- a/arch/ppc/boards/pcm030/pcm030.c
> +++ b/arch/ppc/boards/pcm030/pcm030.c
> @@ -32,6 +32,7 @@
>  #include <memory.h>
>  #include <linux/sizes.h>
>  #include <linux/stat.h>
> +#include <asm/io.h>
>  #include <fs.h>
>  
>  static struct fec_platform_data fec_info = {
> @@ -43,6 +44,14 @@ static int devices_init (void)
>  	struct stat s;
>  	int ret;
>  
> +#if CFG_MPC5XXX_CLKIN == 33333000
> +	/*
> +	 * Make USB work due to the special base crystal frequency:
> +	 * 33,3330MHz * 16 = 533,328MHz main clock, but should be 528 MHz Clock
> +	 */
> +	out_be32((void *)MPC5XXX_CDM_48_FDC, 0x00015555);
> +#endif

What's the point of having this #if? It's always true.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list