gpio: Introduce CONFIG_GPIO_EXTRA_HEADER to cleanup #ifdefs
authorMasami Hiramatsu <masami.hiramatsu@linaro.org>
Fri, 4 Jun 2021 09:43:55 +0000 (18:43 +0900)
committerTom Rini <trini@konsulko.com>
Tue, 6 Jul 2021 18:07:36 +0000 (14:07 -0400)
Since some SoCs and boards do not hae extra asm/arch/gpio.h,
introduce CONFIG_GPIO_EXTRA_HEADER instead of adding
!define(CONFIG_ARCH_XXXX) in asm/gpio.h.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
arch/arm/Kconfig
arch/arm/include/asm/gpio.h

index 0448787..993772b 100644 (file)
@@ -90,6 +90,9 @@ config HAS_VBAR
 config HAS_THUMB2
        bool
 
 config HAS_THUMB2
        bool
 
+config GPIO_EXTRA_HEADER
+       bool
+
 # Used for compatibility with asm files copied from the kernel
 config ARM_ASM_UNIFIED
        bool
 # Used for compatibility with asm files copied from the kernel
 config ARM_ASM_UNIFIED
        bool
@@ -518,25 +521,30 @@ choice
 
 config ARCH_AT91
        bool "Atmel AT91"
 
 config ARCH_AT91
        bool "Atmel AT91"
+       select GPIO_EXTRA_HEADER
        select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
        select SPL_SEPARATE_BSS if SPL
 
 config TARGET_EDB93XX
        bool "Support edb93xx"
        select CPU_ARM920T
        select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
        select SPL_SEPARATE_BSS if SPL
 
 config TARGET_EDB93XX
        bool "Support edb93xx"
        select CPU_ARM920T
+       select GPIO_EXTRA_HEADER
        select PL010_SERIAL
 
 config TARGET_ASPENITE
        bool "Support aspenite"
        select CPU_ARM926EJS
        select PL010_SERIAL
 
 config TARGET_ASPENITE
        bool "Support aspenite"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
 
 config TARGET_GPLUGD
        bool "Support gplugd"
        select CPU_ARM926EJS
 
 config TARGET_GPLUGD
        bool "Support gplugd"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
 
 config ARCH_DAVINCI
        bool "TI DaVinci"
        select CPU_ARM926EJS
 
 config ARCH_DAVINCI
        bool "TI DaVinci"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select SPL_DM_SPI if SPL
        imply CMD_SAVES
        help
        select SPL_DM_SPI if SPL
        imply CMD_SAVES
        help
@@ -547,6 +555,7 @@ config ARCH_KIRKWOOD
        select ARCH_MISC_INIT
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
        select ARCH_MISC_INIT
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
 
 config ARCH_MVEBU
        bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
 
 config ARCH_MVEBU
        bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
@@ -555,6 +564,7 @@ config ARCH_MVEBU
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
+       select GPIO_EXTRA_HEADER
        select SPL_DM_SPI if SPL
        select SPL_DM_SPI_FLASH if SPL
        select OF_CONTROL
        select SPL_DM_SPI if SPL
        select SPL_DM_SPI_FLASH if SPL
        select OF_CONTROL
@@ -565,11 +575,13 @@ config ARCH_MVEBU
 config ARCH_ORION5X
        bool "Marvell Orion"
        select CPU_ARM926EJS
 config ARCH_ORION5X
        bool "Marvell Orion"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
 
 config TARGET_SPEAR300
        bool "Support spear300"
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
 
 config TARGET_SPEAR300
        bool "Support spear300"
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select PL011_SERIAL
        imply CMD_SAVES
 
        select PL011_SERIAL
        imply CMD_SAVES
 
@@ -577,6 +589,7 @@ config TARGET_SPEAR310
        bool "Support spear310"
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
        bool "Support spear310"
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select PL011_SERIAL
        imply CMD_SAVES
 
        select PL011_SERIAL
        imply CMD_SAVES
 
@@ -584,6 +597,7 @@ config TARGET_SPEAR320
        bool "Support spear320"
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
        bool "Support spear320"
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select PL011_SERIAL
        imply CMD_SAVES
 
        select PL011_SERIAL
        imply CMD_SAVES
 
@@ -591,6 +605,7 @@ config TARGET_SPEAR600
        bool "Support spear600"
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
        bool "Support spear600"
        select BOARD_EARLY_INIT_F
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select PL011_SERIAL
        imply CMD_SAVES
 
        select PL011_SERIAL
        imply CMD_SAVES
 
@@ -601,6 +616,7 @@ config TARGET_STV0991
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
        select DM_SERIAL
        select DM_SPI
        select DM_SPI_FLASH
+       select GPIO_EXTRA_HEADER
        select PL01X_SERIAL
        select SPI
        select SPI_FLASH
        select PL01X_SERIAL
        select SPI
        select SPI_FLASH
@@ -610,18 +626,21 @@ config TARGET_X600
        bool "Support x600"
        select BOARD_LATE_INIT
        select CPU_ARM926EJS
        bool "Support x600"
        select BOARD_LATE_INIT
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select PL011_SERIAL
        select SUPPORT_SPL
 
 config TARGET_FLEA3
        bool "Support flea3"
        select CPU_ARM1136
        select PL011_SERIAL
        select SUPPORT_SPL
 
 config TARGET_FLEA3
        bool "Support flea3"
        select CPU_ARM1136
+       select GPIO_EXTRA_HEADER
 
 config ARCH_BCM283X
        bool "Broadcom BCM283X family"
        select DM
        select DM_GPIO
        select DM_SERIAL
 
 config ARCH_BCM283X
        bool "Broadcom BCM283X family"
        select DM
        select DM_GPIO
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select PL01X_SERIAL
        select SERIAL_SEARCH_ALL
        select OF_CONTROL
        select PL01X_SERIAL
        select SERIAL_SEARCH_ALL
@@ -650,6 +669,7 @@ config ARCH_BCMSTB
        bool "Broadcom BCM7XXX family"
        select CPU_V7A
        select DM
        bool "Broadcom BCM7XXX family"
        select CPU_V7A
        select DM
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select OF_PRIOR_STAGE
        imply CMD_DM
        select OF_CONTROL
        select OF_PRIOR_STAGE
        imply CMD_DM
@@ -660,6 +680,7 @@ config ARCH_BCMSTB
 config TARGET_BCMCYGNUS
        bool "Support bcmcygnus"
        select CPU_V7A
 config TARGET_BCMCYGNUS
        bool "Support bcmcygnus"
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        imply BCM_SF2_ETH
        imply BCM_SF2_ETH_GMAC
        imply CMD_HASH
        imply BCM_SF2_ETH
        imply BCM_SF2_ETH_GMAC
        imply CMD_HASH
@@ -671,6 +692,7 @@ config TARGET_BCMCYGNUS
 config TARGET_BCMNS2
        bool "Support Broadcom Northstar2"
        select ARM64
 config TARGET_BCMNS2
        bool "Support Broadcom Northstar2"
        select ARM64
+       select GPIO_EXTRA_HEADER
        help
          Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
          ARMv8 Cortex-A57 processors targeting a broad range of networking
        help
          Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
          ARMv8 Cortex-A57 processors targeting a broad range of networking
@@ -695,6 +717,7 @@ config ARCH_EXYNOS
        select DM_SPI
        select DM_SPI_FLASH
        select SPI
        select DM_SPI
        select DM_SPI_FLASH
        select SPI
+       select GPIO_EXTRA_HEADER
        imply SYS_THUMB_BUILD
        imply CMD_DM
        imply FAT_WRITE
        imply SYS_THUMB_BUILD
        imply CMD_DM
        imply FAT_WRITE
@@ -706,6 +729,7 @@ config ARCH_S5PC1XX
        select DM_GPIO
        select DM_I2C
        select DM_SERIAL
        select DM_GPIO
        select DM_I2C
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        imply CMD_DM
 
 config ARCH_HIGHBANK
        imply CMD_DM
 
 config ARCH_HIGHBANK
@@ -726,6 +750,7 @@ config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select DM
        select DM_SERIAL
        bool "ARM Ltd. Integrator family"
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select PL01X_SERIAL
        imply CMD_DM
 
        select PL01X_SERIAL
        imply CMD_DM
 
@@ -736,6 +761,7 @@ config ARCH_IPQ40XX
        select DM_GPIO
        select DM_SERIAL
        select DM_RESET
        select DM_GPIO
        select DM_SERIAL
        select DM_RESET
+       select GPIO_EXTRA_HEADER
        select MSM_SMEM
        select PINCTRL
        select CLK
        select MSM_SMEM
        select PINCTRL
        select CLK
@@ -747,6 +773,7 @@ config ARCH_KEYSTONE
        bool "TI Keystone"
        select CMD_POWEROFF
        select CPU_V7A
        bool "TI Keystone"
        select CMD_POWEROFF
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SUPPORT_SPL
        select SYS_ARCH_TIMER
        select SYS_THUMB_BUILD
        select SUPPORT_SPL
        select SYS_ARCH_TIMER
        select SYS_THUMB_BUILD
@@ -763,6 +790,7 @@ config ARCH_K3
 config ARCH_OMAP2PLUS
        bool "TI OMAP2+"
        select CPU_V7A
 config ARCH_OMAP2PLUS
        bool "TI OMAP2+"
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SPL_BOARD_INIT if SPL
        select SPL_STACK_R if SPL
        select SUPPORT_SPL
        select SPL_BOARD_INIT if SPL
        select SPL_STACK_R if SPL
        select SUPPORT_SPL
@@ -771,6 +799,7 @@ config ARCH_OMAP2PLUS
 
 config ARCH_MESON
        bool "Amlogic Meson"
 
 config ARCH_MESON
        bool "Amlogic Meson"
+       select GPIO_EXTRA_HEADER
        imply DISTRO_DEFAULTS
        imply DM_RNG
        help
        imply DISTRO_DEFAULTS
        imply DM_RNG
        help
@@ -781,6 +810,7 @@ config ARCH_MESON
 config ARCH_MEDIATEK
        bool "MediaTek SoCs"
        select DM
 config ARCH_MEDIATEK
        bool "MediaTek SoCs"
        select DM
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select SPL_DM if SPL
        select SPL_LIBCOMMON_SUPPORT if SPL
        select OF_CONTROL
        select SPL_DM if SPL
        select SPL_LIBCOMMON_SUPPORT if SPL
@@ -797,6 +827,7 @@ config ARCH_LPC32XX
        select DM
        select DM_GPIO
        select DM_SERIAL
        select DM
        select DM_GPIO
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select SPL_DM if SPL
        select SUPPORT_SPL
        imply CMD_DM
        select SPL_DM if SPL
        select SUPPORT_SPL
        imply CMD_DM
@@ -805,12 +836,14 @@ config ARCH_IMX8
        bool "NXP i.MX8 platform"
        select ARM64
        select DM
        bool "NXP i.MX8 platform"
        select ARM64
        select DM
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select ENABLE_ARM_SOC_BOOT0_HOOK
 
 config ARCH_IMX8M
        bool "NXP i.MX8M platform"
        select ARM64
        select OF_CONTROL
        select ENABLE_ARM_SOC_BOOT0_HOOK
 
 config ARCH_IMX8M
        bool "NXP i.MX8M platform"
        select ARM64
+       select GPIO_EXTRA_HEADER
        select SYS_FSL_HAS_SEC if IMX_HAB
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
        select SYS_FSL_HAS_SEC if IMX_HAB
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
@@ -823,33 +856,39 @@ config ARCH_IMXRT
        select CPU_V7M
        select DM
        select DM_SERIAL
        select CPU_V7M
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select SUPPORT_SPL
        imply CMD_DM
 
 config ARCH_MX23
        bool "NXP i.MX23 family"
        select CPU_ARM926EJS
        select SUPPORT_SPL
        imply CMD_DM
 
 config ARCH_MX23
        bool "NXP i.MX23 family"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select PL011_SERIAL
        select SUPPORT_SPL
 
 config ARCH_MX25
        bool "NXP MX25"
        select CPU_ARM926EJS
        select PL011_SERIAL
        select SUPPORT_SPL
 
 config ARCH_MX25
        bool "NXP MX25"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        imply MXC_GPIO
 
 config ARCH_MX28
        bool "NXP i.MX28 family"
        select CPU_ARM926EJS
        imply MXC_GPIO
 
 config ARCH_MX28
        bool "NXP i.MX28 family"
        select CPU_ARM926EJS
+       select GPIO_EXTRA_HEADER
        select PL011_SERIAL
        select SUPPORT_SPL
 
 config ARCH_MX31
        bool "NXP i.MX31 family"
        select CPU_ARM1136
        select PL011_SERIAL
        select SUPPORT_SPL
 
 config ARCH_MX31
        bool "NXP i.MX31 family"
        select CPU_ARM1136
+       select GPIO_EXTRA_HEADER
 
 config ARCH_MX7ULP
        bool "NXP MX7ULP"
        select CPU_V7A
 
 config ARCH_MX7ULP
        bool "NXP MX7ULP"
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SYS_FSL_HAS_SEC if IMX_HAB
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
        select SYS_FSL_HAS_SEC if IMX_HAB
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
@@ -861,6 +900,7 @@ config ARCH_MX7
        bool "Freescale MX7"
        select ARCH_MISC_INIT
        select CPU_V7A
        bool "Freescale MX7"
        select ARCH_MISC_INIT
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SYS_FSL_HAS_SEC if IMX_HAB
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
        select SYS_FSL_HAS_SEC if IMX_HAB
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
@@ -871,6 +911,7 @@ config ARCH_MX7
 config ARCH_MX6
        bool "Freescale MX6"
        select CPU_V7A
 config ARCH_MX6
        bool "Freescale MX6"
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SYS_FSL_HAS_SEC
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
        select SYS_FSL_HAS_SEC
        select SYS_FSL_SEC_COMPAT_4
        select SYS_FSL_SEC_LE
@@ -886,18 +927,21 @@ config ARCH_MX5
        bool "Freescale MX5"
        select BOARD_EARLY_INIT_F
        select CPU_V7A
        bool "Freescale MX5"
        select BOARD_EARLY_INIT_F
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        imply MXC_GPIO
 
 config ARCH_NEXELL
        bool "Nexell S5P4418/S5P6818 SoC"
        select ENABLE_ARM_SOC_BOOT0_HOOK
        select DM
        imply MXC_GPIO
 
 config ARCH_NEXELL
        bool "Nexell S5P4418/S5P6818 SoC"
        select ENABLE_ARM_SOC_BOOT0_HOOK
        select DM
+       select GPIO_EXTRA_HEADER
 
 config ARCH_OWL
        bool "Actions Semi OWL SoCs"
        select DM
        select DM_ETH
        select DM_SERIAL
 
 config ARCH_OWL
        bool "Actions Semi OWL SoCs"
        select DM
        select DM_ETH
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OWL_SERIAL
        select CLK
        select CLK_OWL
        select OWL_SERIAL
        select CLK
        select CLK_OWL
@@ -920,6 +964,7 @@ config ARCH_RMOBILE
        bool "Renesas ARM SoCs"
        select DM
        select DM_SERIAL
        bool "Renesas ARM SoCs"
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        imply BOARD_EARLY_INIT_F
        imply CMD_DM
        imply FAT_WRITE
        imply BOARD_EARLY_INIT_F
        imply CMD_DM
        imply FAT_WRITE
@@ -932,6 +977,7 @@ config ARCH_SNAPDRAGON
        select DM
        select DM_GPIO
        select DM_SERIAL
        select DM
        select DM_GPIO
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select MSM_SMEM
        select OF_CONTROL
        select OF_SEPARATE
        select MSM_SMEM
        select OF_CONTROL
        select OF_SEPARATE
@@ -947,6 +993,7 @@ config ARCH_SOCFPGA
        select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
        select DM
        select DM_SERIAL
        select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
        select OF_CONTROL
        select SPL_DM_RESET if DM_RESET
        select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
        select OF_CONTROL
        select SPL_DM_RESET if DM_RESET
@@ -998,6 +1045,7 @@ config ARCH_SUNXI
        select DM_SCSI if SCSI
        select DM_SERIAL
        select DM_USB if DISTRO_DEFAULTS
        select DM_SCSI if SCSI
        select DM_SERIAL
        select DM_USB if DISTRO_DEFAULTS
+       select GPIO_EXTRA_HEADER
        select OF_BOARD_SETUP
        select OF_CONTROL
        select OF_SEPARATE
        select OF_BOARD_SETUP
        select OF_CONTROL
        select OF_SEPARATE
@@ -1057,6 +1105,7 @@ config ARCH_VERSAL
        select DM_ETH if NET
        select DM_MMC if MMC
        select DM_SERIAL
        select DM_ETH if NET
        select DM_MMC if MMC
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        imply BOARD_LATE_INIT
        imply ENV_VARS_UBOOT_RUNTIME_CONFIG
        select OF_CONTROL
        imply BOARD_LATE_INIT
        imply ENV_VARS_UBOOT_RUNTIME_CONFIG
@@ -1064,6 +1113,7 @@ config ARCH_VERSAL
 config ARCH_VF610
        bool "Freescale Vybrid"
        select CPU_V7A
 config ARCH_VF610
        bool "Freescale Vybrid"
        select CPU_V7A
+       select GPIO_EXTRA_HEADER
        select SYS_FSL_ERRATUM_ESDHC111
        imply CMD_MTDPARTS
        imply MTD_RAW_NAND
        select SYS_FSL_ERRATUM_ESDHC111
        imply CMD_MTDPARTS
        imply MTD_RAW_NAND
@@ -1080,6 +1130,7 @@ config ARCH_ZYNQ
        select DM_SPI
        select DM_SPI_FLASH
        select DM_USB if USB
        select DM_SPI
        select DM_SPI_FLASH
        select DM_USB if USB
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select SPI
        select SPL_BOARD_INIT if SPL
        select OF_CONTROL
        select SPI
        select SPL_BOARD_INIT if SPL
@@ -1106,6 +1157,7 @@ config ARCH_ZYNQMP_R5
        select DM_ETH if NET
        select DM_MMC if MMC
        select DM_SERIAL
        select DM_ETH if NET
        select DM_MMC if MMC
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        imply CMD_DM
        imply DM_USB_GADGET
        select OF_CONTROL
        imply CMD_DM
        imply DM_USB_GADGET
@@ -1123,6 +1175,7 @@ config ARCH_ZYNQMP
        select DM_SPI_FLASH if DM_SPI
        select DM_USB if USB
        select FIRMWARE
        select DM_SPI_FLASH if DM_SPI
        select DM_USB if USB
        select FIRMWARE
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select SPL_BOARD_INIT if SPL
        select SPL_CLK if SPL
        select OF_CONTROL
        select SPL_BOARD_INIT if SPL
        select SPL_CLK if SPL
@@ -1143,23 +1196,27 @@ config ARCH_ZYNQMP
 
 config ARCH_TEGRA
        bool "NVIDIA Tegra"
 
 config ARCH_TEGRA
        bool "NVIDIA Tegra"
+       select GPIO_EXTRA_HEADER
        imply DISTRO_DEFAULTS
        imply FAT_WRITE
 
 config TARGET_VEXPRESS64_AEMV8A
        bool "Support vexpress_aemv8a"
        select ARM64
        imply DISTRO_DEFAULTS
        imply FAT_WRITE
 
 config TARGET_VEXPRESS64_AEMV8A
        bool "Support vexpress_aemv8a"
        select ARM64
+       select GPIO_EXTRA_HEADER
        select PL01X_SERIAL
 
 config TARGET_VEXPRESS64_BASE_FVP
        bool "Support Versatile Express ARMv8a FVP BASE model"
        select ARM64
        select PL01X_SERIAL
 
 config TARGET_VEXPRESS64_BASE_FVP
        bool "Support Versatile Express ARMv8a FVP BASE model"
        select ARM64
+       select GPIO_EXTRA_HEADER
        select PL01X_SERIAL
        select SEMIHOSTING
 
 config TARGET_VEXPRESS64_JUNO
        bool "Support Versatile Express Juno Development Platform"
        select ARM64
        select PL01X_SERIAL
        select SEMIHOSTING
 
 config TARGET_VEXPRESS64_JUNO
        bool "Support Versatile Express Juno Development Platform"
        select ARM64
+       select GPIO_EXTRA_HEADER
        select PL01X_SERIAL
        select DM
        select OF_CONTROL
        select PL01X_SERIAL
        select DM
        select OF_CONTROL
@@ -1188,6 +1245,7 @@ config TARGET_LS2080A_EMU
        select ARM64
        select ARMV8_MULTIENTRY
        select FSL_DDR_SYNC_REFRESH
        select ARM64
        select ARMV8_MULTIENTRY
        select FSL_DDR_SYNC_REFRESH
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS2080A_EMU platform.
          The LS2080A Development System (EMULATOR) is a pre-silicon
        help
          Support for Freescale LS2080A_EMU platform.
          The LS2080A Development System (EMULATOR) is a pre-silicon
@@ -1201,6 +1259,7 @@ config TARGET_LS1088AQDS
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        select SUPPORT_SPL
        select FSL_DDR_INTERACTIVE if !SD_BOOT
        help
        select SUPPORT_SPL
        select FSL_DDR_INTERACTIVE if !SD_BOOT
        help
@@ -1216,6 +1275,7 @@ config TARGET_LS2080AQDS
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        select SUPPORT_SPL
        imply SCSI
        imply SCSI_AHCI
        select SUPPORT_SPL
        imply SCSI
        imply SCSI_AHCI
@@ -1237,6 +1297,7 @@ config TARGET_LS2080ARDB
        select SUPPORT_SPL
        select FSL_DDR_BIST
        select FSL_DDR_INTERACTIVE if !SPL
        select SUPPORT_SPL
        select FSL_DDR_BIST
        select FSL_DDR_INTERACTIVE if !SPL
+       select GPIO_EXTRA_HEADER
        imply SCSI
        imply SCSI_AHCI
        help
        imply SCSI
        imply SCSI_AHCI
        help
@@ -1251,6 +1312,7 @@ config TARGET_LS2081ARDB
        select ARM64
        select ARMV8_MULTIENTRY
        select BOARD_LATE_INIT
        select ARM64
        select ARMV8_MULTIENTRY
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        select SUPPORT_SPL
        help
          Support for Freescale LS2081ARDB platform.
        select SUPPORT_SPL
        help
          Support for Freescale LS2081ARDB platform.
@@ -1265,6 +1327,7 @@ config TARGET_LX2160ARDB
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for NXP LX2160ARDB platform.
          The lx2160ardb (LX2160A Reference design board (RDB)
        help
          Support for NXP LX2160ARDB platform.
          The lx2160ardb (LX2160A Reference design board (RDB)
@@ -1278,6 +1341,7 @@ config TARGET_LX2160AQDS
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for NXP LX2160AQDS platform.
          The lx2160aqds (LX2160A QorIQ Development System (QDS)
        help
          Support for NXP LX2160AQDS platform.
          The lx2160aqds (LX2160A QorIQ Development System (QDS)
@@ -1292,6 +1356,7 @@ config TARGET_LX2162AQDS
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for NXP LX2162AQDS platform.
          The lx2162aqds support is based on LX2160A Layerscape Architecture processor.
        help
          Support for NXP LX2162AQDS platform.
          The lx2162aqds support is based on LX2160A Layerscape Architecture processor.
@@ -1302,6 +1367,7 @@ config TARGET_HIKEY
        select DM
        select DM_GPIO
        select DM_SERIAL
        select DM
        select DM_GPIO
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select PL01X_SERIAL
        select SPECIFY_CONSOLE_INDEX
        select OF_CONTROL
        select PL01X_SERIAL
        select SPECIFY_CONSOLE_INDEX
@@ -1315,6 +1381,7 @@ config TARGET_HIKEY960
        select ARM64
        select DM
        select DM_SERIAL
        select ARM64
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select PL01X_SERIAL
        imply CMD_DM
        select OF_CONTROL
        select PL01X_SERIAL
        imply CMD_DM
@@ -1328,6 +1395,7 @@ config TARGET_POPLAR
        select DM
        select DM_SERIAL
        select DM_USB
        select DM
        select DM_SERIAL
        select DM_USB
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select PL01X_SERIAL
        imply CMD_DM
        select OF_CONTROL
        select PL01X_SERIAL
        imply CMD_DM
@@ -1343,6 +1411,7 @@ config TARGET_LS1012AQDS
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS1012AQDS platform.
          The LS1012A Development System (QDS) is a high-performance
        help
          Support for Freescale LS1012AQDS platform.
          The LS1012A Development System (QDS) is a high-performance
@@ -1355,6 +1424,7 @@ config TARGET_LS1012ARDB
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        imply SCSI
        imply SCSI_AHCI
        help
        imply SCSI
        imply SCSI_AHCI
        help
@@ -1369,6 +1439,7 @@ config TARGET_LS1012A2G5RDB
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        imply SCSI
        help
          Support for Freescale LS1012A2G5RDB platform.
        imply SCSI
        help
          Support for Freescale LS1012A2G5RDB platform.
@@ -1382,6 +1453,7 @@ config TARGET_LS1012AFRWY
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        imply SCSI
        imply SCSI_AHCI
        help
        imply SCSI
        imply SCSI_AHCI
        help
@@ -1395,6 +1467,7 @@ config TARGET_LS1012AFRDM
        select ARCH_LS1012A
        select ARM64
        select ARCH_SUPPORT_TFABOOT
        select ARCH_LS1012A
        select ARM64
        select ARCH_SUPPORT_TFABOOT
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS1012AFRDM platform.
          The LS1012A Freedom  board (FRDM) is a high-performance
        help
          Support for Freescale LS1012AFRDM platform.
          The LS1012A Freedom  board (FRDM) is a high-performance
@@ -1408,6 +1481,7 @@ config TARGET_LS1028AQDS
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS1028AQDS platform
          The LS1028A Development System (QDS) is a high-performance
        help
          Support for Freescale LS1028AQDS platform
          The LS1028A Development System (QDS) is a high-performance
@@ -1421,6 +1495,7 @@ config TARGET_LS1028ARDB
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
        select ARMV8_MULTIENTRY
        select ARCH_SUPPORT_TFABOOT
        select BOARD_LATE_INIT
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS1028ARDB platform
          The LS1028A Development System (RDB) is a high-performance
        help
          Support for Freescale LS1028ARDB platform
          The LS1028A Development System (RDB) is a high-performance
@@ -1436,6 +1511,7 @@ config TARGET_LS1088ARDB
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        select FSL_DDR_INTERACTIVE if !SD_BOOT
        select BOARD_LATE_INIT
        select SUPPORT_SPL
        select FSL_DDR_INTERACTIVE if !SD_BOOT
+       select GPIO_EXTRA_HEADER
        help
          Support for NXP LS1088ARDB platform.
          The LS1088A Reference design board (RDB) is a high-performance
        help
          Support for NXP LS1088ARDB platform.
          The LS1088A Reference design board (RDB) is a high-performance
@@ -1456,6 +1532,7 @@ config TARGET_LS1021AQDS
        select SYS_FSL_DDR
        select FSL_DDR_INTERACTIVE
        select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
        select SYS_FSL_DDR
        select FSL_DDR_INTERACTIVE
        select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
+       select GPIO_EXTRA_HEADER
        select SPI_FLASH_DATAFLASH if FSL_DSPI || FSL_QSPI
        imply SCSI
 
        select SPI_FLASH_DATAFLASH if FSL_DSPI || FSL_QSPI
        imply SCSI
 
@@ -1471,6 +1548,7 @@ config TARGET_LS1021ATWR
        select LS1_DEEP_SLEEP
        select SUPPORT_SPL
        select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
        select LS1_DEEP_SLEEP
        select SUPPORT_SPL
        select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
+       select GPIO_EXTRA_HEADER
        imply SCSI
 
 config TARGET_PG_WCOM_SELI8
        imply SCSI
 
 config TARGET_PG_WCOM_SELI8
@@ -1484,6 +1562,7 @@ config TARGET_PG_WCOM_SELI8
        select CPU_V7_HAS_VIRT
        select SYS_FSL_DDR
        select FSL_DDR_INTERACTIVE
        select CPU_V7_HAS_VIRT
        select SYS_FSL_DDR
        select FSL_DDR_INTERACTIVE
+       select GPIO_EXTRA_HEADER
        select VENDOR_KM
        imply SCSI
        help
        select VENDOR_KM
        imply SCSI
        help
@@ -1520,6 +1599,7 @@ config TARGET_LS1021ATSN
        select CPU_V7_HAS_VIRT
        select LS1_DEEP_SLEEP
        select SUPPORT_SPL
        select CPU_V7_HAS_VIRT
        select LS1_DEEP_SLEEP
        select SUPPORT_SPL
+       select GPIO_EXTRA_HEADER
        imply SCSI
 
 config TARGET_LS1021AIOT
        imply SCSI
 
 config TARGET_LS1021AIOT
@@ -1532,6 +1612,7 @@ config TARGET_LS1021AIOT
        select CPU_V7_HAS_VIRT
        select SUPPORT_SPL
        select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
        select CPU_V7_HAS_VIRT
        select SUPPORT_SPL
        select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
+       select GPIO_EXTRA_HEADER
        imply SCSI
        help
          Support for Freescale LS1021AIOT platform.
        imply SCSI
        help
          Support for Freescale LS1021AIOT platform.
@@ -1551,6 +1632,7 @@ config TARGET_LS1043AQDS
        select FSL_DDR_INTERACTIVE if !SPL
        select FSL_DSPI if !SPL_NO_DSPI
        select DM_SPI_FLASH if FSL_DSPI
        select FSL_DDR_INTERACTIVE if !SPL
        select FSL_DSPI if !SPL_NO_DSPI
        select DM_SPI_FLASH if FSL_DSPI
+       select GPIO_EXTRA_HEADER
        imply SCSI
        imply SCSI_AHCI
        help
        imply SCSI
        imply SCSI_AHCI
        help
@@ -1567,6 +1649,7 @@ config TARGET_LS1043ARDB
        select SUPPORT_SPL
        select FSL_DSPI if !SPL_NO_DSPI
        select DM_SPI_FLASH if FSL_DSPI
        select SUPPORT_SPL
        select FSL_DSPI if !SPL_NO_DSPI
        select DM_SPI_FLASH if FSL_DSPI
+       select GPIO_EXTRA_HEADER
        help
          Support for Freescale LS1043ARDB platform.
 
        help
          Support for Freescale LS1043ARDB platform.
 
@@ -1583,6 +1666,7 @@ config TARGET_LS1046AQDS
        select FSL_DDR_BIST if !SPL
        select FSL_DDR_INTERACTIVE  if !SPL
        select FSL_DDR_INTERACTIVE if !SPL
        select FSL_DDR_BIST if !SPL
        select FSL_DDR_INTERACTIVE  if !SPL
        select FSL_DDR_INTERACTIVE if !SPL
+       select GPIO_EXTRA_HEADER
        imply SCSI
        help
          Support for Freescale LS1046AQDS platform.
        imply SCSI
        help
          Support for Freescale LS1046AQDS platform.
@@ -1603,6 +1687,7 @@ config TARGET_LS1046ARDB
        select SUPPORT_SPL
        select FSL_DDR_BIST
        select FSL_DDR_INTERACTIVE if !SPL
        select SUPPORT_SPL
        select FSL_DDR_BIST
        select FSL_DDR_INTERACTIVE if !SPL
+       select GPIO_EXTRA_HEADER
        imply SCSI
        help
          Support for Freescale LS1046ARDB platform.
        imply SCSI
        help
          Support for Freescale LS1046ARDB platform.
@@ -1619,6 +1704,7 @@ config TARGET_LS1046AFRWY
        select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
        select DM_SPI_FLASH if DM_SPI
        select BOARD_EARLY_INIT_F
        select BOARD_LATE_INIT
        select DM_SPI_FLASH if DM_SPI
+       select GPIO_EXTRA_HEADER
        imply SCSI
        help
          Support for Freescale LS1046AFRWY platform.
        imply SCSI
        help
          Support for Freescale LS1046AFRWY platform.
@@ -1647,6 +1733,7 @@ config TARGET_SL28
        select DM_SERIAL
        select DM_SPI
        select DM_USB
        select DM_SERIAL
        select DM_SPI
        select DM_USB
+       select GPIO_EXTRA_HEADER
        select SPL_DM if SPL
        select SPL_DM_SPI if SPL
        select SPL_DM_SPI_FLASH if SPL
        select SPL_DM if SPL
        select SPL_DM_SPI if SPL
        select SPL_DM_SPI_FLASH if SPL
@@ -1659,6 +1746,7 @@ config TARGET_SL28
 config TARGET_COLIBRI_PXA270
        bool "Support colibri_pxa270"
        select CPU_PXA
 config TARGET_COLIBRI_PXA270
        bool "Support colibri_pxa270"
        select CPU_PXA
+       select GPIO_EXTRA_HEADER
 
 config ARCH_UNIPHIER
        bool "Socionext UniPhier SoCs"
 
 config ARCH_UNIPHIER
        bool "Socionext UniPhier SoCs"
@@ -1695,6 +1783,7 @@ config ARCH_STM32
        select CPU_V7M
        select DM
        select DM_SERIAL
        select CPU_V7M
        select DM
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        imply CMD_DM
 
 config ARCH_STI
        imply CMD_DM
 
 config ARCH_STI
@@ -1720,6 +1809,7 @@ config ARCH_STM32MP
        select DM_GPIO
        select DM_RESET
        select DM_SERIAL
        select DM_GPIO
        select DM_RESET
        select DM_SERIAL
+       select GPIO_EXTRA_HEADER
        select MISC
        select OF_CONTROL
        select OF_LIBFDT
        select MISC
        select OF_CONTROL
        select OF_LIBFDT
@@ -1782,6 +1872,7 @@ config ARCH_OCTEONTX
        bool "Support OcteonTX SoCs"
        select CLK
        select DM
        bool "Support OcteonTX SoCs"
        select CLK
        select DM
+       select GPIO_EXTRA_HEADER
        select ARM64
        select OF_CONTROL
        select OF_LIVE
        select ARM64
        select OF_CONTROL
        select OF_LIVE
@@ -1792,6 +1883,7 @@ config ARCH_OCTEONTX2
        bool "Support OcteonTX2 SoCs"
        select CLK
        select DM
        bool "Support OcteonTX2 SoCs"
        select CLK
        select DM
+       select GPIO_EXTRA_HEADER
        select ARM64
        select OF_CONTROL
        select OF_LIVE
        select ARM64
        select OF_CONTROL
        select OF_LIVE
@@ -1801,6 +1893,7 @@ config ARCH_OCTEONTX2
 config TARGET_THUNDERX_88XX
        bool "Support ThunderX 88xx"
        select ARM64
 config TARGET_THUNDERX_88XX
        bool "Support ThunderX 88xx"
        select ARM64
+       select GPIO_EXTRA_HEADER
        select OF_CONTROL
        select PL01X_SERIAL
        select SYS_CACHE_SHIFT_7
        select OF_CONTROL
        select PL01X_SERIAL
        select SYS_CACHE_SHIFT_7
@@ -1814,6 +1907,7 @@ config ARCH_ASPEED
 config TARGET_DURIAN
        bool "Support Phytium Durian Platform"
        select ARM64
 config TARGET_DURIAN
        bool "Support Phytium Durian Platform"
        select ARM64
+       select GPIO_EXTRA_HEADER
        help
          Support for durian platform.
          It has 2GB Sdram, uart and pcie.
        help
          Support for durian platform.
          It has 2GB Sdram, uart and pcie.
index 7609367..650783a 100644 (file)
@@ -1,10 +1,4 @@
-#if !defined(CONFIG_ARCH_UNIPHIER) && !defined(CONFIG_ARCH_STI) && \
-       !defined(CONFIG_ARCH_K3) && !defined(CONFIG_ARCH_BCM68360) && \
-       !defined(CONFIG_ARCH_BCM6858) && !defined(CONFIG_ARCH_BCM63158) && \
-       !defined(CONFIG_ARCH_ROCKCHIP) && !defined(CONFIG_ARCH_ASPEED) && \
-       !defined(CONFIG_ARCH_U8500) && !defined(CONFIG_CORTINA_PLATFORM) && \
-       !defined(CONFIG_TARGET_BCMNS3) && !defined(CONFIG_TARGET_TOTAL_COMPUTE) && \
-       !defined(CONFIG_ARCH_QEMU)
+#ifdef CONFIG_GPIO_EXTRA_HEADER
 #include <asm/arch/gpio.h>
 #endif
 #include <asm-generic/gpio.h>
 #include <asm/arch/gpio.h>
 #endif
 #include <asm-generic/gpio.h>