Add Broadcom's code for bcm63xx support
[project/bcm63xx/atf.git] / include / arch / aarch32 / el3_common_macros.S
index 7559de446606d2addc795821c86a3e3fb370a3d6..da71fc90965f66f605c480caffc88dd80e325d5b 100644 (file)
         * ---------------------------------------------------------------------
         */
 #if ((ARM_ARCH_MAJOR > 7) || defined(ARMV7_SUPPORTS_VFP)) && !(__SOFTFP__)
+       /* BRCM_PATCH: BCM63138 does not have NEON in 2nd CPU */
+#if defined (PLATFORM_FLAVOR_63138)
+       bl      plat_my_core_pos
+       cmp     r0, #0
+       ldreq   r0, =(FPEXC_RESET_VAL | FPEXC_EN_BIT)
+       vmsreq  FPEXC, r0
+#else
        ldr     r0, =(FPEXC_RESET_VAL | FPEXC_EN_BIT)
        vmsr    FPEXC, r0
+#endif
        isb
 #endif
 
 #else
        ldr     r0, =(PMCR_RESET_VAL | PMCR_DP_BIT)
 #endif
+       /* BRCM_PATCH: Do not overwrite the setting done by BRCM boot loaders
        stcopr  r0, PMCR
+       */
 
        /*
         * If Data Independent Timing (DIT) functionality is implemented,