/******************************************************************************* * This function returns the list of loadable images. ******************************************************************************/ bl_load_info_t *plat_get_bl_image_load_info(void) { /* Required before loading scp_bl2 */ hikey960_init_ufs(); hikey960_io_setup(); return get_bl_load_info_from_mem_params_desc(); }
/* * Function which will perform any remaining platform-specific setup that can * occur after the MMU and data cache have been enabled. */ void bl1_platform_setup(void) { hikey960_clk_init(); hikey960_pmu_init(); hikey960_regulator_enable(); hikey960_tzc_init(); hikey960_peri_init(); hikey960_ufs_init(); hikey960_pinmux_init(); hikey960_io_setup(); }
/******************************************************************************* * Populate the extents of memory available for loading SCP_BL2 (if used), * i.e. anywhere in trusted RAM as long as it doesn't overwrite BL2. ******************************************************************************/ void bl2_plat_get_scp_bl2_meminfo(meminfo_t *scp_bl2_meminfo) { ufs_params_t ufs_params; memset(&ufs_params, 0, sizeof(ufs_params_t)); ufs_params.reg_base = UFS_REG_BASE; ufs_params.desc_base = HIKEY960_UFS_DESC_BASE; ufs_params.desc_size = HIKEY960_UFS_DESC_SIZE; ufs_params.flags = UFS_FLAGS_SKIPINIT; ufs_init(NULL, &ufs_params); hikey960_io_setup(); *scp_bl2_meminfo = bl2_tzram_layout; }