]> git.sur5r.net Git - u-boot/blobdiff - board/freescale/mpc8536ds/mpc8536ds.c
snowball: Add support for ux500 based snowball board
[u-boot] / board / freescale / mpc8536ds / mpc8536ds.c
index 2beea345c5677006ee65585131dbbc65874dd8c4..7898708853777377836fe68eb408effe496b8ead 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2008-2010, 2011 Freescale Semiconductor, Inc.
+ * Copyright 2008-2012 Freescale Semiconductor, Inc.
  *
  * See file CREDITS for list of people who contributed to this
  * project.
@@ -51,6 +51,14 @@ int board_early_init_f (void)
        setbits_be32(&gur->pmuxcr,
                        (MPC85xx_PMUXCR_SDHC_CD |
                         MPC85xx_PMUXCR_SDHC_WP));
+
+       /* The MPC8536DS board insert the SDHC_WP pin for erratum NMG_eSDHC118,
+        * however, this erratum only applies to MPC8536 Rev1.0.
+        * So set SDHC_WP to active-low when use MPC8536 Rev1.1 and greater.*/
+       if ((((SVR_MAJ(get_svr()) & 0x7) == 0x1) &&
+                       (SVR_MIN(get_svr()) >= 0x1))
+                       || (SVR_MAJ(get_svr() & 0x7) > 0x1))
+               setbits_be32(&gur->gencfgr, MPC85xx_GENCFGR_SDHC_WP_INV);
 #endif
        return 0;
 }
@@ -60,12 +68,7 @@ int checkboard (void)
        u8 vboot;
        u8 *pixis_base = (u8 *)PIXIS_BASE;
 
-       puts("Board: MPC8536DS ");
-#ifdef CONFIG_PHYS_64BIT
-       puts("(36-bit addrmap) ");
-#endif
-
-       printf ("Sys ID: 0x%02x, "
+       printf("Board: MPC8536DS Sys ID: 0x%02x, "
                "Sys Ver: 0x%02x, FPGA Ver: 0x%02x, ",
                in_8(pixis_base + PIXIS_ID), in_8(pixis_base + PIXIS_VER),
                in_8(pixis_base + PIXIS_PVER));
@@ -287,5 +290,10 @@ void ft_board_setup(void *blob, bd_t *bd)
 #ifdef CONFIG_FSL_SGMII_RISER
        fsl_sgmii_riser_fdt_fixup(blob);
 #endif
+
+#ifdef CONFIG_HAS_FSL_MPH_USB
+       fdt_fixup_dr_usb(blob, bd);
+#endif
+
 }
 #endif