mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-23 13:36:05 +00:00

Existing boot source is hardcoded in socfpga_plat_def.h. To change boot source, user need to update code. Thus adding this will remove the code update needed when need to change boot source. Also, it will have ARM_LINUX_KERNEL_AS_BL33 flag for each platform in platform.mk. This will be easily to control based on platform build. Change-Id: I383beb8cbca5ec0f247221ad42796554adc3daae Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
68 lines
1.6 KiB
C
68 lines
1.6 KiB
C
/*
|
|
* Copyright (c) 2019-2023, Intel Corporation. All rights reserved.
|
|
* Copyright (c) 2024, Altera Corporation. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef SOCFPGA_PRIVATE_H
|
|
#define SOCFPGA_PRIVATE_H
|
|
|
|
|
|
#define EMMC_DESC_SIZE (1<<20)
|
|
|
|
#define EMMC_INIT_PARAMS(base, clk) \
|
|
{ .bus_width = MMC_BUS_WIDTH_4, \
|
|
.clk_rate = (clk), \
|
|
.desc_base = (base), \
|
|
.desc_size = EMMC_DESC_SIZE, \
|
|
.flags = 0, \
|
|
.reg_base = SOCFPGA_MMC_REG_BASE \
|
|
}
|
|
|
|
typedef enum {
|
|
BOOT_SOURCE_FPGA = 0,
|
|
BOOT_SOURCE_SDMMC,
|
|
BOOT_SOURCE_NAND,
|
|
BOOT_SOURCE_QSPI,
|
|
BOOT_SOURCE_RSVD
|
|
} boot_source_type;
|
|
|
|
/*******************************************************************************
|
|
* Function and variable prototypes
|
|
******************************************************************************/
|
|
|
|
void enable_nonsecure_access(void);
|
|
|
|
void socfpga_io_setup(int boot_source, unsigned long offset);
|
|
|
|
void socfgpa_configure_mmu_el3(unsigned long total_base,
|
|
unsigned long total_size,
|
|
unsigned long ro_start,
|
|
unsigned long ro_limit,
|
|
unsigned long coh_start,
|
|
unsigned long coh_limit);
|
|
|
|
|
|
void socfpga_configure_mmu_el1(unsigned long total_base,
|
|
unsigned long total_size,
|
|
unsigned long ro_start,
|
|
unsigned long ro_limit,
|
|
unsigned long coh_start,
|
|
unsigned long coh_limit);
|
|
|
|
void socfpga_delay_timer_init(void);
|
|
|
|
void socfpga_gic_driver_init(void);
|
|
|
|
void socfpga_delay_timer_init_args(void);
|
|
|
|
uint32_t socfpga_get_spsr_for_bl32_entry(void);
|
|
|
|
uint32_t socfpga_get_spsr_for_bl33_entry(void);
|
|
|
|
unsigned long socfpga_get_ns_image_entrypoint(void);
|
|
|
|
void plat_secondary_cpus_bl31_entry(void);
|
|
|
|
#endif /* SOCFPGA_PRIVATE_H */
|