powerpc/p1010rdb: nandboot: compare SVR properly
authorMatthew McClintock <msm@freescale.com>
Mon, 13 Aug 2012 08:10:39 +0000 (08:10 +0000)
committerAndy Fleming <afleming@freescale.com>
Thu, 23 Aug 2012 15:24:17 +0000 (10:24 -0500)
We were not comparing the SVRs properly previously. This comparison
will properly shift the SVR and mask off the E bit

This fixes the boot output to show the correct DDR bus width:

512 MiB (DDR3, 16-bit, CL=5, ECC off)

instead of

512 MiB (DDR3, 32-bit, CL=5, ECC off)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
nand_spl/board/freescale/p1010rdb/nand_boot.c

index 1f89ab5816f22da305c42fc0f8df6982208c6b31..f5294d0da4ce6e9fb898897e1ef2c6e5273f7176 100644 (file)
@@ -35,7 +35,8 @@ unsigned long ddr_freq_mhz;
 void sdram_init(void)
 {
        ccsr_ddr_t *ddr = (ccsr_ddr_t *)CONFIG_SYS_MPC85xx_DDR_ADDR;
-       u32 svr = mfspr(SPRN_SVR);
+       /* mask off E bit */
+       u32 svr = SVR_SOC_VER(mfspr(SPRN_SVR));
 
        out_be32(&ddr->sdram_cfg, CONFIG_SYS_DDR_CONTROL | SDRAM_CFG_32_BE);
        out_be32(&ddr->cs0_bnds, CONFIG_SYS_DDR_CS0_BNDS);