diff --git a/CODEOWNERS b/CODEOWNERS index 2c90185fc6..66ccc088a0 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -58,6 +58,7 @@ /soc/arm64/bcm_vk/ @abhishek-brcm /soc/arm64/nxp_layerscape/ @JiafeiPan /soc/arm64/xenvm/ @lorc +/soc/arm64/arm/ @povergoing /arch/x86/ @jhedberg @nashif @jenmwms @aasthagr /arch/nios2/ @nashif /arch/posix/ @aescolar @daor-oti diff --git a/soc/arm64/arm/CMakeLists.txt b/soc/arm64/arm/CMakeLists.txt new file mode 100644 index 0000000000..23fca810f5 --- /dev/null +++ b/soc/arm64/arm/CMakeLists.txt @@ -0,0 +1,4 @@ +# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +add_subdirectory(${SOC_SERIES}) diff --git a/soc/arm64/arm/Kconfig b/soc/arm64/arm/Kconfig new file mode 100644 index 0000000000..cbdb14c1ae --- /dev/null +++ b/soc/arm64/arm/Kconfig @@ -0,0 +1,16 @@ +# ARM LTD SoC configuration options + +# Copyright (c) 2016 Linaro Limited +# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_FAMILY_ARM64 + bool + +if SOC_FAMILY_ARM64 +config SOC_FAMILY + string + default "arm" + +source "soc/arm64/arm/*/Kconfig.soc" +endif # SOC_FAMILY_ARM diff --git a/soc/arm64/arm/Kconfig.defconfig b/soc/arm64/arm/Kconfig.defconfig new file mode 100644 index 0000000000..f68deebf10 --- /dev/null +++ b/soc/arm64/arm/Kconfig.defconfig @@ -0,0 +1,7 @@ +# ARM LTD SoC configuration options + +# Copyright (c) 2016 Linaro Limited +# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +source "soc/arm64/arm/*/Kconfig.defconfig.series" diff --git a/soc/arm64/arm/Kconfig.soc b/soc/arm64/arm/Kconfig.soc new file mode 100644 index 0000000000..24e67555b4 --- /dev/null +++ b/soc/arm64/arm/Kconfig.soc @@ -0,0 +1,7 @@ +# ARM LTD SoC configuration options + +# Copyright (c) 2016 Linaro Limited +# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +source "soc/arm64/arm/*/Kconfig.series" diff --git a/soc/arm64/arm/fvp_aemv8r/CMakeLists.txt b/soc/arm64/arm/fvp_aemv8r/CMakeLists.txt new file mode 100644 index 0000000000..89e4283937 --- /dev/null +++ b/soc/arm64/arm/fvp_aemv8r/CMakeLists.txt @@ -0,0 +1,2 @@ +# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. +# SPDX-License-Identifier: Apache-2.0 diff --git a/soc/arm64/arm/fvp_aemv8r/Kconfig.defconfig.series b/soc/arm64/arm/fvp_aemv8r/Kconfig.defconfig.series new file mode 100644 index 0000000000..23ac45aea0 --- /dev/null +++ b/soc/arm64/arm/fvp_aemv8r/Kconfig.defconfig.series @@ -0,0 +1,31 @@ +# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +if SOC_SERIES_FVP_AEMV8R + +config SOC_SERIES + default "fvp_aemv8r" + +config SYS_CLOCK_HW_CYCLES_PER_SEC + default 100000000 + +config NUM_IRQS + default 128 + +if SOC_FVP_AEMV8R_AARCH64 + +config SOC + default "fvp_aemv8r_aarch64" + +# Workaround for not being able to have commas in macro arguments +DT_CHOSEN_Z_FLASH := zephyr,flash + +config FLASH_SIZE + default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_FLASH),0,K) + +config FLASH_BASE_ADDRESS + default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH)) + +endif # SOC_FVP_AEMV8R_AARCH64 + +endif # SOC_SERIES_FVP_AEMV8R diff --git a/soc/arm64/arm/fvp_aemv8r/Kconfig.series b/soc/arm64/arm/fvp_aemv8r/Kconfig.series new file mode 100644 index 0000000000..cf2f75a18b --- /dev/null +++ b/soc/arm64/arm/fvp_aemv8r/Kconfig.series @@ -0,0 +1,9 @@ +# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_FVP_AEMV8R + bool "ARM FVP AEMv8R AArch64 Series" + select ARM64 + select SOC_FAMILY_ARM64 + help + Enable support for ARM FVP AEMv8R AArch64 Series diff --git a/soc/arm64/arm/fvp_aemv8r/Kconfig.soc b/soc/arm64/arm/fvp_aemv8r/Kconfig.soc new file mode 100644 index 0000000000..c655934086 --- /dev/null +++ b/soc/arm64/arm/fvp_aemv8r/Kconfig.soc @@ -0,0 +1,14 @@ +# Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +choice + prompt "ARM FVP AEMv8R AArch64 SoCs" + depends on SOC_SERIES_FVP_AEMV8R + +config SOC_FVP_AEMV8R_AARCH64 + bool "ARM FVP AEMv8R aarch64 simulation" + select CPU_CORTEX_R82 + select GIC_V3 + select GIC_SINGLE_SECURITY_STATE + +endchoice diff --git a/soc/arm64/arm/fvp_aemv8r/linker.ld b/soc/arm64/arm/fvp_aemv8r/linker.ld new file mode 100644 index 0000000000..4c30c8638b --- /dev/null +++ b/soc/arm64/arm/fvp_aemv8r/linker.ld @@ -0,0 +1,8 @@ +/* + * linker.ld - Linker command/script file + * + * Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +#include diff --git a/soc/arm64/arm/fvp_aemv8r/soc.h b/soc/arm64/arm/fvp_aemv8r/soc.h new file mode 100644 index 0000000000..c2ac0f5223 --- /dev/null +++ b/soc/arm64/arm/fvp_aemv8r/soc.h @@ -0,0 +1,11 @@ +/* + * Copyright (c) 2021 Arm Limited (or its affiliates). All rights reserved. + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef _SOC_H_ +#define _SOC_H_ + +#include + +#endif /* _SOC_H_ */