From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tim Harvey Date: Fri, 22 Feb 2019 10:02:58 -0800 Subject: [U-Boot] [RFC 01/22] arm: introduce ARCH_THUNDERX In-Reply-To: <20190222180319.32221-1-tharvey@gateworks.com> References: <20190222180319.32221-1-tharvey@gateworks.com> Message-ID: <20190222180319.32221-2-tharvey@gateworks.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Signed-off-by: Tim Harvey --- arch/arm/Kconfig | 6 +++--- arch/arm/Makefile | 1 + arch/arm/dts/Makefile | 2 +- .../arm/include/asm/arch-thunderx}/atf.h | 2 +- .../arm/include/asm/arch-thunderx}/atf_part.h | 0 .../arm/include/asm/arch-thunderx}/thunderx_svc.h | 0 arch/arm/include/asm/gpio.h | 2 +- arch/arm/mach-thunderx/Makefile | 2 ++ .../thunderx => arch/arm/mach-thunderx}/atf.c | 6 +++--- board/cavium/thunderx/Kconfig | 15 ++++++++++++--- board/cavium/thunderx/Makefile | 2 +- board/cavium/thunderx/thunderx.c | 2 +- configs/thunderx_88xx_defconfig | 3 ++- 13 files changed, 28 insertions(+), 15 deletions(-) rename {include/cavium => arch/arm/include/asm/arch-thunderx}/atf.h (96%) rename {include/cavium => arch/arm/include/asm/arch-thunderx}/atf_part.h (100%) rename {include/cavium => arch/arm/include/asm/arch-thunderx}/thunderx_svc.h (100%) create mode 100644 arch/arm/mach-thunderx/Makefile rename {board/cavium/thunderx => arch/arm/mach-thunderx}/atf.c (98%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1f3fa1575a..9f6f5a41da 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -393,7 +393,7 @@ config SPL_USE_ARCH_MEMSET config ARM64_SUPPORT_AARCH32 bool "ARM64 system support AArch32 execution state" - default y if ARM64 && !TARGET_THUNDERX_88XX + default y if ARM64 && !ARCH_THUNDERX help This ARM64 system supports AArch32 execution state. @@ -1359,8 +1359,8 @@ config ARCH_ROCKCHIP imply TPL_SYSRESET imply USB_FUNCTION_FASTBOOT -config TARGET_THUNDERX_88XX - bool "Support ThunderX 88xx" +config ARCH_THUNDERX + bool "Support ThunderX" select ARM64 select OF_CONTROL select PL01X_SERIAL diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 4b6c5e1935..f58e2cd29c 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -79,6 +79,7 @@ machine-$(CONFIG_STM32) += stm32 machine-$(CONFIG_ARCH_STM32MP) += stm32mp machine-$(CONFIG_TEGRA) += tegra machine-$(CONFIG_ARCH_UNIPHIER) += uniphier +machine-$(CONFIG_ARCH_THUNDERX) += thunderx machine-$(CONFIG_ARCH_ZYNQ) += zynq machine-$(CONFIG_ARCH_VERSAL) += versal machine-$(CONFIG_ARCH_ZYNQMP_R5) += zynqmp-r5 diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index d36447d18d..87ccd96596 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -192,7 +192,7 @@ dtb-$(CONFIG_AM43XX) += am437x-gp-evm.dtb am437x-sk-evm.dtb \ am437x-idk-evm.dtb \ am4372-generic.dtb dtb-$(CONFIG_TI816X) += dm8168-evm.dtb -dtb-$(CONFIG_THUNDERX) += thunderx-88xx.dtb +dtb-$(CONFIG_THUNDERX_88XX) += thunderx-88xx.dtb dtb-$(CONFIG_ARCH_SOCFPGA) += \ socfpga_arria5_socdk.dtb \ diff --git a/include/cavium/atf.h b/arch/arm/include/asm/arch-thunderx/atf.h similarity index 96% rename from include/cavium/atf.h rename to arch/arm/include/asm/arch-thunderx/atf.h index 3cf05c43d7..cda42d6140 100644 --- a/include/cavium/atf.h +++ b/arch/arm/include/asm/arch-thunderx/atf.h @@ -4,7 +4,7 @@ **/ #ifndef __ATF_H__ #define __ATF_H__ -#include +#include "atf_part.h" ssize_t atf_read_mmc(uintptr_t offset, void *buffer, size_t size); ssize_t atf_read_nor(uintptr_t offset, void *buffer, size_t size); diff --git a/include/cavium/atf_part.h b/arch/arm/include/asm/arch-thunderx/atf_part.h similarity index 100% rename from include/cavium/atf_part.h rename to arch/arm/include/asm/arch-thunderx/atf_part.h diff --git a/include/cavium/thunderx_svc.h b/arch/arm/include/asm/arch-thunderx/thunderx_svc.h similarity index 100% rename from include/cavium/thunderx_svc.h rename to arch/arm/include/asm/arch-thunderx/thunderx_svc.h diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h index 3039e66bf9..420f253c1b 100644 --- a/arch/arm/include/asm/gpio.h +++ b/arch/arm/include/asm/gpio.h @@ -1,5 +1,5 @@ #if !defined(CONFIG_ARCH_UNIPHIER) && !defined(CONFIG_ARCH_STI) && \ - !defined(CONFIG_ARCH_K3) + !defined(CONFIG_ARCH_K3) && !defined(CONFIG_ARCH_THUNDERX) #include #endif #include diff --git a/arch/arm/mach-thunderx/Makefile b/arch/arm/mach-thunderx/Makefile new file mode 100644 index 0000000000..34b6ecc2f9 --- /dev/null +++ b/arch/arm/mach-thunderx/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0+ +obj-y := atf.o diff --git a/board/cavium/thunderx/atf.c b/arch/arm/mach-thunderx/atf.c similarity index 98% rename from board/cavium/thunderx/atf.c rename to arch/arm/mach-thunderx/atf.c index 2e7ba69d76..cebd84b0e1 100644 --- a/board/cavium/thunderx/atf.c +++ b/arch/arm/mach-thunderx/atf.c @@ -7,9 +7,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include diff --git a/board/cavium/thunderx/Kconfig b/board/cavium/thunderx/Kconfig index 927d8765d6..5fa367ac35 100644 --- a/board/cavium/thunderx/Kconfig +++ b/board/cavium/thunderx/Kconfig @@ -1,4 +1,4 @@ -if TARGET_THUNDERX_88XX +if ARCH_THUNDERX config SYS_CPU string @@ -10,11 +10,20 @@ config SYS_BOARD config SYS_VENDOR string - default "cavium" + default "cavium" + +choice + prompt "ThunderX board select" + optional + +config THUNDERX_88XX + bool "ThunderX 88xx family" + +endchoice config SYS_CONFIG_NAME string - default "thunderx_88xx" + default "thunderx_88xx" if THUNDERX_88XX config CMD_ATF bool "Enable ATF query commands" diff --git a/board/cavium/thunderx/Makefile b/board/cavium/thunderx/Makefile index 4088c7678d..6da877fa60 100644 --- a/board/cavium/thunderx/Makefile +++ b/board/cavium/thunderx/Makefile @@ -3,4 +3,4 @@ # # -obj-y := thunderx.o atf.o +obj-y := thunderx.o diff --git a/board/cavium/thunderx/thunderx.c b/board/cavium/thunderx/thunderx.c index cf55b633c3..2b80dc56f1 100644 --- a/board/cavium/thunderx/thunderx.c +++ b/board/cavium/thunderx/thunderx.c @@ -9,7 +9,7 @@ #include #include -#include +#include #include #if !CONFIG_IS_ENABLED(OF_CONTROL) diff --git a/configs/thunderx_88xx_defconfig b/configs/thunderx_88xx_defconfig index b00179a9c8..fe4643f52e 100644 --- a/configs/thunderx_88xx_defconfig +++ b/configs/thunderx_88xx_defconfig @@ -1,8 +1,9 @@ CONFIG_ARM=y -CONFIG_TARGET_THUNDERX_88XX=y +CONFIG_ARCH_THUNDERX=y CONFIG_SYS_TEXT_BASE=0x00500000 CONFIG_DEBUG_UART_BASE=0x87e024000000 CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_THUNDERX_88XX=y CONFIG_IDENT_STRING=" for Cavium Thunder CN88XX ARM v8 Multi-Core" CONFIG_DEBUG_UART=y CONFIG_NR_DRAM_BANKS=1 -- 2.17.1