/* * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD * * GPLv2 only */ #include #include #include #include #include #include static inline void start_vexpress_common(void *internal_dt) { void *fdt = internal_dt - get_runtime_offset(); arm_cpu_lowlevel_init(); if (amba_is_arm_sp804(IOMEM(0x10011000))) barebox_arm_entry(0x60000000, SZ_512M, fdt); else barebox_arm_entry(0x80000000, SZ_512M, fdt); } extern char __dtb_vexpress_v2p_ca9_start[]; ENTRY_FUNCTION(start_vexpress_ca9, r0, r1, r2) { start_vexpress_common(__dtb_vexpress_v2p_ca9_start); } extern char __dtb_vexpress_v2p_ca15_start[]; ENTRY_FUNCTION(start_vexpress_ca15, r0, r1, r2) { start_vexpress_common(__dtb_vexpress_v2p_ca15_start); }