void plat_arm_security_setup(void) { unsigned int i; unsigned int part_num = GET_PLAT_PART_NUM; INFO("part_num: 0x%x\n", part_num); /* * Initialise plat_driver_data with platform specific DMC_BASE * addresses */ switch (part_num) { case SGM775_SSC_VER_PART_NUM: for (i = 0; i < SGM775_DMC_COUNT; i++) plat_driver_data.dmc_base[i] = PLAT_ARM_TZC_BASE + SGM_DMC_SIZE * i; plat_driver_data.dmc_count = SGM775_DMC_COUNT; break; default: /* Unexpected platform */ ERROR("Unexpected platform\n"); panic(); } /* Initialize the TrustZone Controller in DMC-500 */ arm_tzc_dmc500_setup(&plat_driver_data, NULL); /* Do DP NSAID setup */ plat_sgm_dp_security_setup(); /* Do ARM CSS SoC security setup */ soc_css_security_setup(); }
/******************************************************************************* * Initialize the secure environment. ******************************************************************************/ void plat_arm_security_setup(void) { /* Initialize the TrustZone Controller */ arm_tzc_setup(); /* Do ARM CSS SoC security setup */ soc_css_security_setup(); /* Initialize the SMMU SSD tables*/ init_mmu401(); }
void bl1_platform_setup(void) { arm_bl1_platform_setup(); /* * Do ARM CSS SoC security setup. * BL1 needs to enable normal world access to memory. */ soc_css_security_setup(); }