/******************************************************************************* * Perform any BL3-1 platform setup common to ARM standard platforms ******************************************************************************/ void arm_bl31_platform_setup(void) { /* Initialize the gic cpu and distributor interfaces */ plat_arm_gic_init(); arm_gic_setup(); #if RESET_TO_BL31 /* * Do initial security configuration to allow DRAM/device access * (if earlier BL has not already done so). */ plat_arm_security_setup(); #endif /* RESET_TO_BL31 */ /* Enable and initialize the System level generic timer */ mmio_write_32(ARM_SYS_CNTCTL_BASE + CNTCR_OFF, CNTCR_FCREQ(0) | CNTCR_EN); /* Allow access to the System counter timer module */ arm_configure_sys_timer(); /* Initialize power controller before setting up topology */ plat_arm_pwrc_setup(); }
/******************************************************************************* * Initialize the GIC. ******************************************************************************/ void bl31_platform_setup(void) { /* Initialize the gic cpu and distributor interfaces */ plat_gic_init(); arm_gic_setup(); init_rtc(); hisi_ipc_init(); hisi_pwrc_setup(); }
/******************************************************************************* * Perform any BL3-1 platform setup code ******************************************************************************/ void bl31_platform_setup(void) { platform_setup_cpu(); platform_setup_sram(); generic_delay_timer_init(); /* Initialize the gic cpu and distributor interfaces */ plat_mt_gic_init(); arm_gic_setup(); /* Topologies are best known to the platform. */ mt_setup_topology(); /* Initialize spm at boot time */ spm_boot_init(); }