summaryrefslogtreecommitdiff
path: root/cpu
diff options
context:
space:
mode:
authorLiu Yu <yu.liu@freescale.com>2010-01-15 14:58:40 +0800
committerKumar Gala <galak@kernel.crashing.org>2010-01-25 22:14:39 -0600
commit46df64f22c471b010161aa68bfdbfe94ea46e7bd (patch)
treeb36cb27dfd8a3fcc01587f208216cf5559cdaedd /cpu
parent0fd2fa6cce6eb91271ebf9733878d0f1fcbc9b32 (diff)
downloadu-boot-imx-46df64f22c471b010161aa68bfdbfe94ea46e7bd.zip
u-boot-imx-46df64f22c471b010161aa68bfdbfe94ea46e7bd.tar.gz
u-boot-imx-46df64f22c471b010161aa68bfdbfe94ea46e7bd.tar.bz2
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.c18
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