[U-Boot] [RFC 01/22] arm: introduce ARCH_THUNDERX

Tim Harvey tharvey at gateworks.com
Fri Feb 22 18:02:58 UTC 2019


Signed-off-by: Tim Harvey <tharvey at gateworks.com>
---
 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 <cavium/atf_part.h>
+#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 <asm/arch/gpio.h>
 #endif
 #include <asm-generic/gpio.h>
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 <asm/io.h>
 
 #include <asm/system.h>
-#include <cavium/thunderx_svc.h>
-#include <cavium/atf.h>
-#include <cavium/atf_part.h>
+#include <asm/arch-thunderx/thunderx_svc.h>
+#include <asm/arch-thunderx/atf.h>
+#include <asm/arch-thunderx/atf_part.h>
 
 #include <asm/psci.h>
 
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 <errno.h>
 #include <linux/compiler.h>
 
-#include <cavium/atf.h>
+#include <asm/arch-thunderx/atf.h>
 #include <asm/armv8/mmu.h>
 
 #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



More information about the U-Boot mailing list