[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