diff options
author | Liu Yu <yu.liu@freescale.com> | 2010-01-15 06:58:40 (GMT) |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2010-01-26 04:14:39 (GMT) |
commit | 46df64f22c471b010161aa68bfdbfe94ea46e7bd (patch) | |
tree | b36cb27dfd8a3fcc01587f208216cf5559cdaedd /cpu | |
parent | 0fd2fa6cce6eb91271ebf9733878d0f1fcbc9b32 (diff) | |
download | u-boot-46df64f22c471b010161aa68bfdbfe94ea46e7bd.tar.xz |
qe: fixup the snum for MPC8569 Rev2.0
Since 1.0 and 2.0 use different snum table,
we fixup the snum value according to SPRN_SVR.
Signed-off-by: Liu Yu <yu.liu@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'cpu')
-rw-r--r-- | cpu/mpc85xx/fdt.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cpu/mpc85xx/fdt.c b/cpu/mpc85xx/fdt.c index af0e78e..1d11ab4 100644 --- a/cpu/mpc85xx/fdt.c +++ b/cpu/mpc85xx/fdt.c @@ -331,6 +331,23 @@ static void ft_fixup_dpaa_clks(void *blob) #define ft_fixup_dpaa_clks(x) #endif +#ifdef CONFIG_QE +static void ft_fixup_qe_snum(void *blob) +{ + unsigned int svr; + + svr = mfspr(SPRN_SVR); + if (SVR_SOC_VER(svr) == SVR_8569_E) { + if(IS_SVR_REV(svr, 1, 0)) + do_fixup_by_compat_u32(blob, "fsl,qe", + "fsl,qe-num-snums", 46, 1); + else + do_fixup_by_compat_u32(blob, "fsl,qe", + "fsl,qe-num-snums", 76, 1); + } +} +#endif + void ft_cpu_setup(void *blob, bd_t *bd) { int off; @@ -367,6 +384,7 @@ void ft_cpu_setup(void *blob, bd_t *bd) "bus-frequency", gd->lbc_clk, 1); #ifdef CONFIG_QE ft_qe_setup(blob); + ft_fixup_qe_snum(blob); #endif #ifdef CONFIG_SYS_NS16550 |