arm64: socfpga: merge Agilex and N5X into ARCH_INTEL_SOCFPGA
authorKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Thu, 11 Mar 2021 15:25:38 +0000 (16:25 +0100)
committerDinh Nguyen <dinguyen@kernel.org>
Tue, 23 Mar 2021 16:03:36 +0000 (11:03 -0500)
Agilex, N5X and Stratix 10 share all quite similar arm64 hard cores and
SoC-part.  Up to a point that N5X uses the same DTSI as Agilex.  From
the Linux kernel point of view these are flavors of the same
architecture so there is no need for three top-level arm64
architectures.  Simplify this by merging all three architectures into
ARCH_INTEL_SOCFPGA and dropping the other ARCH* arm64 Kconfig entries.

The side effect is that the INTEL_STRATIX10_SERVICE will now be
available for both 32-bit and 64-bit Intel SoCFPGA, even though it is
used only for 64-bit.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
arch/arm64/Kconfig.platforms
arch/arm64/boot/dts/intel/Makefile
arch/arm64/configs/defconfig
drivers/clk/Makefile
drivers/clk/socfpga/Kconfig
drivers/firmware/Kconfig
drivers/fpga/Kconfig
drivers/reset/Kconfig

index ecab67a1afb8e0ae8821d8597cfec57a43e1ddb0..ce50dd129eecd97fa43a48f50c93d882a2cba97f 100644 (file)
@@ -8,16 +8,6 @@ config ARCH_ACTIONS
        help
          This enables support for the Actions Semiconductor S900 SoC family.
 
-config ARCH_AGILEX
-       bool "Intel's Agilex SoCFPGA Family"
-       help
-         This enables support for Intel's Agilex SoCFPGA Family.
-
-config ARCH_N5X
-       bool "Intel's eASIC N5X SoCFPGA Family"
-       help
-         This enables support for Intel's eASIC N5X SoCFPGA Family.
-
 config ARCH_SUNXI
        bool "Allwinner sunxi 64-bit SoC Family"
        select ARCH_HAS_RESET_CONTROLLER
@@ -254,14 +244,11 @@ config ARCH_SEATTLE
        help
          This enables support for AMD Seattle SOC Family
 
-config ARCH_STRATIX10
-       bool "Altera's Stratix 10 SoCFPGA Family"
-       select ARCH_INTEL_SOCFPGA
-       help
-         This enables support for Altera's Stratix 10 SoCFPGA Family.
-
 config ARCH_INTEL_SOCFPGA
-       bool
+       bool "Intel's SoCFPGA ARMv8 Families"
+       help
+         This enables support for Intel's SoCFPGA ARMv8 families:
+         Stratix 10 (ex. Altera), Agilex and eASIC N5X.
 
 config ARCH_SYNQUACER
        bool "Socionext SynQuacer SoC Family"
index 3a052540605b63fc333339107b9dd8416087fd0b..0b5477442263f60c0af9d03ad8d3aed67de751f9 100644 (file)
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
-dtb-$(CONFIG_ARCH_AGILEX) += socfpga_agilex_socdk.dtb \
-                            socfpga_agilex_socdk_nand.dtb
+dtb-$(CONFIG_ARCH_INTEL_SOCFPGA) += socfpga_agilex_socdk.dtb \
+                               socfpga_agilex_socdk_nand.dtb \
+                               socfpga_n5x_socdk.dtb
 dtb-$(CONFIG_ARCH_KEEMBAY) += keembay-evm.dtb
-dtb-$(CONFIG_ARCH_N5X) += socfpga_n5x_socdk.dtb
index d612f633b7719e6f79e3c66da4a92331d2c5fdb2..fe2da18ae78f459d00a73d44d6775d6ae87a5f26 100644 (file)
@@ -50,7 +50,7 @@ CONFIG_ARCH_RENESAS=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_ARCH_S32=y
 CONFIG_ARCH_SEATTLE=y
-CONFIG_ARCH_STRATIX10=y
+CONFIG_ARCH_INTEL_SOCFPGA=y
 CONFIG_ARCH_SYNQUACER=y
 CONFIG_ARCH_TEGRA=y
 CONFIG_ARCH_SPRD=y
index 1e29e5ad107a1e5fc76b27824593eedf5fdd53a2..96802294d35ad4a89361f4f0b9cabc20dc0ab72a 100644 (file)
@@ -105,8 +105,6 @@ obj-$(CONFIG_ARCH_ROCKCHIP)         += rockchip/
 obj-$(CONFIG_COMMON_CLK_SAMSUNG)       += samsung/
 obj-$(CONFIG_CLK_SIFIVE)               += sifive/
 obj-$(CONFIG_ARCH_INTEL_SOCFPGA)       += socfpga/
-obj-$(CONFIG_ARCH_AGILEX)              += socfpga/
-obj-$(CONFIG_ARCH_N5X)                 += socfpga/
 obj-$(CONFIG_PLAT_SPEAR)               += spear/
 obj-y                                  += sprd/
 obj-$(CONFIG_ARCH_STI)                 += st/
index bc102e0f0be0a3a929a6576d3dd01f9502f216e0..b6c5b97371747d82e070555aafccfbdd634c1908 100644 (file)
@@ -2,5 +2,5 @@
 config CLK_INTEL_SOCFPGA64
        bool
        # Intel Stratix / Agilex / N5X clock controller support
-       default (ARCH_AGILEX || ARCH_N5X || ARCH_STRATIX10)
-       depends on ARCH_AGILEX || ARCH_N5X || ARCH_STRATIX10
+       default ARM64 && ARCH_INTEL_SOCFPGA
+       depends on ARM64 && ARCH_INTEL_SOCFPGA
index 3f14dffb9669693ede1298a45398ad81545e93f5..6a4e882e448d8f2d464ff8712baa23ca56eac13a 100644 (file)
@@ -206,7 +206,7 @@ config FW_CFG_SYSFS_CMDLINE
 
 config INTEL_STRATIX10_SERVICE
        tristate "Intel Stratix10 Service Layer"
-       depends on (ARCH_STRATIX10 || ARCH_AGILEX) && HAVE_ARM_SMCCC
+       depends on ARCH_INTEL_SOCFPGA && HAVE_ARM_SMCCC
        default n
        help
          Intel Stratix10 service layer runs at privileged exception level,
index 5ff9438b7b4611803aedf34ebc3e004a0be0de60..fd325e9c5ce646aed7b108948815ec6aaeb81491 100644 (file)
@@ -60,7 +60,7 @@ config FPGA_MGR_ZYNQ_FPGA
 
 config FPGA_MGR_STRATIX10_SOC
        tristate "Intel Stratix10 SoC FPGA Manager"
-       depends on (ARCH_STRATIX10 && INTEL_STRATIX10_SERVICE)
+       depends on (ARCH_INTEL_SOCFPGA && INTEL_STRATIX10_SERVICE)
        help
          FPGA manager driver support for the Intel Stratix10 SoC.
 
index 4171c6f763858a034b2c35256953e14f237e944b..b1e8efa1616697b671ebaeeb08ef8697a56729b4 100644 (file)
@@ -183,7 +183,7 @@ config RESET_SCMI
 
 config RESET_SIMPLE
        bool "Simple Reset Controller Driver" if COMPILE_TEST
-       default ARCH_AGILEX || ARCH_ASPEED || ARCH_BCM4908 || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || ARCH_STRATIX10 || ARCH_SUNXI || ARC
+       default ARCH_ASPEED || ARCH_BCM4908 || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || (ARCH_INTEL_SOCFPGA && ARM64) || ARCH_SUNXI || ARC
        help
          This enables a simple reset controller driver for reset lines that
          that can be asserted and deasserted by toggling bits in a contiguous,