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

Chandrakala Chavva cchavva at marvell.com
Mon Mar 4 19:05:04 UTC 2019


We will be submitting OcteonTX/OcteonTX2 support soon to mainline, these are very old changes, please wait till then.


Chandra

________________________________
From: Tim Harvey <tharvey at gateworks.com>
Sent: Monday, March 4, 2019 9:34:16 AM
To: Aaron Williams; Chris Packham; Alexander Graf; Zi Shen Lim; Maen Suleiman; Suneel Garapati; chandrakala.chavva at cavium.com; prasun.kapoor at cavium.com; Sergey Temerkhanov
Cc: u-boot; Tim Harvey
Subject: [U-Boot] [RFC/RESEND 01/22] arm: introduce ARCH_THUNDERX

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