diff options
Diffstat (limited to 'roms/u-boot/arch/arm/mach-zynqmp-r5')
-rw-r--r-- | roms/u-boot/arch/arm/mach-zynqmp-r5/Kconfig | 27 | ||||
-rw-r--r-- | roms/u-boot/arch/arm/mach-zynqmp-r5/Makefile | 3 | ||||
-rw-r--r-- | roms/u-boot/arch/arm/mach-zynqmp-r5/cpu.c | 37 |
3 files changed, 67 insertions, 0 deletions
diff --git a/roms/u-boot/arch/arm/mach-zynqmp-r5/Kconfig b/roms/u-boot/arch/arm/mach-zynqmp-r5/Kconfig new file mode 100644 index 000000000..5e0175413 --- /dev/null +++ b/roms/u-boot/arch/arm/mach-zynqmp-r5/Kconfig @@ -0,0 +1,27 @@ +# SPDX-License-Identifier: GPL-2.0 + +if ARCH_ZYNQMP_R5 + +config SYS_BOARD + string "Board name" + default "zynqmp_r5" + +config SYS_VENDOR + string "Vendor name" + default "xilinx" + +config SYS_SOC + default "zynqmp-r5" + +config SYS_CONFIG_NAME + string "Board configuration name" + default "xilinx_zynqmp_r5" + help + This option contains information about board configuration name. + Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header + will be used for board configuration. + +config SYS_MALLOC_F_LEN + default 0x600 + +endif diff --git a/roms/u-boot/arch/arm/mach-zynqmp-r5/Makefile b/roms/u-boot/arch/arm/mach-zynqmp-r5/Makefile new file mode 100644 index 000000000..0d39e97dd --- /dev/null +++ b/roms/u-boot/arch/arm/mach-zynqmp-r5/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0 + +obj-y += cpu.o diff --git a/roms/u-boot/arch/arm/mach-zynqmp-r5/cpu.c b/roms/u-boot/arch/arm/mach-zynqmp-r5/cpu.c new file mode 100644 index 000000000..0d368443d --- /dev/null +++ b/roms/u-boot/arch/arm/mach-zynqmp-r5/cpu.c @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2018 Xilinx, Inc. (Michal Simek) + */ + +#include <common.h> +#include <cpu_func.h> +#include <init.h> +#include <asm/armv7_mpu.h> +#include <asm/global_data.h> + +DECLARE_GLOBAL_DATA_PTR; + +struct mpu_region_config region_config[] = { + { 0x00000000, REGION_0, XN_EN, PRIV_RW_USR_RW, + SHARED_WRITE_BUFFERED, REGION_4GB }, + { 0x00000000, REGION_1, XN_DIS, PRIV_RW_USR_RW, + O_I_WB_RD_WR_ALLOC, REGION_1GB }, +}; + +int arch_cpu_init(void) +{ + gd->cpu_clk = CONFIG_CPU_FREQ_HZ; + + setup_mpu_regions(region_config, ARRAY_SIZE(region_config)); + + return 0; +} + +/* + * Perform the low-level reset. + */ +void reset_cpu(void) +{ + while (1) + ; +} |