diff options
author | Tom Rini | 2020-08-18 07:43:50 -0400 |
---|---|---|
committer | Stefano Babic | 2020-08-25 10:26:14 +0200 |
commit | f27ffe4177a7cc09614e2f87012234c1e260c8f2 (patch) | |
tree | 60063c790cffd8f2029c769672bec870cb085f41 /arch | |
parent | 4992090ed4d6ca0b2aedb3e135f804ebfe06c431 (diff) |
arm: mx6: Make all i.MX6 SoCs user-selectable
We have a number of platforms that are a combination of a carrier board
and System-on-Module (SoM) that in turn allows for the board to have
different SoCs on it. In some cases, this is handled via board-specific
Kconfig options. In other cases we make use of
CONFIG_SYS_EXTRA_OPTIONS. This latter case however can lead to invalid
configurations as we will not in turn get options that in Kconfig are
selected by or depend on that setting.
To resolve this, make the SoC option a choice in Kconfig and make boards
depend on what they can support. This change opens us up for further
clean-ups in the cases where a single CONFIG_TARGET_xxx can support
different SoCs and today they do not, or do not cleanly do so.
Reported-by: Matt Porter <mporter@konsulko.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: "NXP i.MX U-Boot Team" <uboot-imx@nxp.com>
Cc: Soeren Moch <smoch@web.de>
Cc: Markus Niebel <Markus.Niebel@tq-group.com>
Cc: Igor Opaniuk <igor.opaniuk@toradex.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Andreas Geisreiter <ageisreiter@dh-electronics.de>
Cc: Ludwig Zenz <lzenz@dh-electronics.de>
Cc: Lukasz Majewski <lukma@denx.de>
Cc: Akshay Bhat <akshaybhat@timesys.com>
Cc: Ken Lin <Ken.Lin@advantech.com.tw>
Cc: Ian Ray <ian.ray@ge.com>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Raffaele RECALCATI <raffaele.recalcati@bticino.it>
Cc: Simone CIANNI <simone.cianni@bticino.it>
Cc: Adam Ford <aford173@gmail.com>
Cc: Marcin Niestroj <m.niestroj@grinn-global.com>
Cc: "Eric Bénard" <eric@eukrea.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Jason Liu <jason.hui.liu@nxp.com>
Cc: Ye Li <ye.li@nxp.com>
Cc: Eric Nelson <eric@nelint.com>
Cc: Troy Kisky <troy.kisky@boundarydevices.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Parthiban Nallathambi <parthiban@linumiz.com>
Cc: Marek Vasut <marex@denx.de>
Cc: "Sébastien Szymanski" <sebastien.szymanski@armadeus.com>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Niel Fourie <lusus@denx.de>
Cc: Martyn Welch <martyn.welch@collabora.com>
Cc: Richard Hu <richard.hu@technexion.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Boris Brezillon <bbrezillon@kernel.org>
Cc: Arkadiusz Karas <arkadiusz.karas@somlabs.com>
Cc: Breno Lima <breno.lima@nxp.com>
Cc: Francesco Montefoschi <francesco.montefoschi@udoo.org>
Cc: Silvio Fricke <open-source@softing.de>
Tested-by: Matt Porter <mporter@konsulko.com> [colibri_imx6]
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Marcin Niestroj <m.niestroj@grinn-global.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-imx/mx6/Kconfig | 134 |
1 files changed, 72 insertions, 62 deletions
diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig index 17173f98392..3d72517fa1d 100644 --- a/arch/arm/mach-imx/mx6/Kconfig +++ b/arch/arm/mach-imx/mx6/Kconfig @@ -15,54 +15,64 @@ config MX6 select GPT_TIMER if !MX6UL && !MX6ULL imply CMD_FUSE +choice + prompt "i.MX6 SoC select" + config MX6D - bool + bool "i.MX 6Dual SoC support" select HAS_CAAM select MX6_SMP config MX6DL - bool + bool "i.MX 6DualLite SoC support" select HAS_CAAM select MX6_SMP config MX6Q - bool + bool "i.MX 6Quad SoC support" select HAS_CAAM select MX6_SMP config MX6QDL - bool + bool "i.MX 6Dual and 6Quad SoC support" select HAS_CAAM select MX6_SMP config MX6S - bool + bool "i.MX 6Solo SoC support" select HAS_CAAM config MX6SL - bool + bool "i.MX 6SoloLite SoC support" config MX6SX - bool + bool "i.MX 6SoloX SoC support" select HAS_CAAM select ROM_UNIFIED_SECTIONS config MX6SLL - bool + bool "i.MX 6SLL SoC support" select ROM_UNIFIED_SECTIONS config MX6UL - bool + bool "i.MX 6UltraLite SoC support" select HAS_CAAM select ROM_UNIFIED_SECTIONS select SYSCOUNTER_TIMER select SYS_L2CACHE_OFF +config MX6ULL + bool "i.MX 6ULL SoC support" + select ROM_UNIFIED_SECTIONS + select SYSCOUNTER_TIMER + select SYS_L2CACHE_OFF + +endchoice + config MX6UL_LITESOM bool select DM select DM_THERMAL - select MX6UL select SUPPORT_SPL imply CMD_DM @@ -73,7 +83,6 @@ config MX6UL_OPOS6UL select DM_GPIO select DM_MMC select DM_THERMAL - select MX6UL select SPL_DM if SPL select SPL_OF_CONTROL if SPL select SPL_PINCTRL if SPL @@ -81,12 +90,6 @@ config MX6UL_OPOS6UL select SUPPORT_SPL imply CMD_DM -config MX6ULL - bool - select ROM_UNIFIED_SECTIONS - select SYSCOUNTER_TIMER - select SYS_L2CACHE_OFF - config MX6_OCRAM_256KB bool "Support 256KB OCRAM" depends on MX6D || MX6Q @@ -110,14 +113,14 @@ choice config TARGET_ADVANTECH_DMS_BA16 bool "Advantech dms-ba16" + depends on MX6Q select BOARD_LATE_INIT - select MX6Q imply CMD_SATA config TARGET_APALIS_IMX6 bool "Toradex Apalis iMX6 board" + depends on MX6Q select BOARD_LATE_INIT - select MX6Q select DM select DM_SERIAL select DM_THERMAL @@ -127,8 +130,8 @@ config TARGET_APALIS_IMX6 config TARGET_ARISTAINETOS2 bool "aristainetos2" + depends on MX6DL select BOARD_LATE_INIT - select MX6DL select SYS_I2C_MXC select MXC_UART select FEC_MXC @@ -138,8 +141,8 @@ config TARGET_ARISTAINETOS2 config TARGET_ARISTAINETOS2B bool "Support aristainetos2-revB" + depends on MX6DL select BOARD_LATE_INIT - select MX6DL select SYS_I2C_MXC select MXC_UART select FEC_MXC @@ -149,8 +152,8 @@ config TARGET_ARISTAINETOS2B config TARGET_ARISTAINETOS2BCSL bool "Support aristainetos2-revB CSL" + depends on MX6DL select BOARD_LATE_INIT - select MX6DL select SYS_I2C_MXC select MXC_UART select FEC_MXC @@ -160,8 +163,8 @@ config TARGET_ARISTAINETOS2BCSL config TARGET_ARISTAINETOS2C bool "Support aristainetos2-revC" + depends on MX6DL select BOARD_LATE_INIT - select MX6DL select SYS_I2C_MXC select MXC_UART select FEC_MXC @@ -171,20 +174,20 @@ config TARGET_ARISTAINETOS2C config TARGET_CGTQMX6EVAL bool "cgtqmx6eval" + depends on MX6QDL select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6QDL select SUPPORT_SPL imply CMD_DM config TARGET_CM_FX6 bool "CM-FX6" + depends on MX6QDL select BOARD_LATE_INIT select DM select DM_GPIO select DM_SERIAL - select MX6QDL select SUPPORT_SPL imply CMD_DM @@ -199,14 +202,14 @@ config TARGET_COLIBRI_IMX6 config TARGET_COLIBRI_IMX6ULL bool "Toradex Colibri iMX6ULL" + depends on MX6ULL select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6ULL config TARGET_DART_6UL bool "Variscite imx6ULL dart(DART-SOM-6ULL)" - select MX6ULL + depends on MX6ULL select DM select DM_ETH select DM_GPIO @@ -218,17 +221,18 @@ config TARGET_DART_6UL config TARGET_DHCOMIMX6 bool "dh_imx6" + depends on MX6QDL select BOARD_EARLY_INIT_F select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6QDL select SUPPORT_SPL imply CMD_DM imply CMD_SPL config TARGET_DISPLAY5 bool "LWN DISPLAY5 board" + depends on MX6Q select DM select DM_ETH select DM_I2C @@ -246,12 +250,12 @@ config TARGET_EMBESTMX6BOARDS config TARGET_GE_BX50V3 bool "General Electric Bx50v3" + depends on MX6Q select BOARD_LATE_INIT - select MX6Q config TARGET_GW_VENTANA bool "gw_ventana" - select MX6QDL + depends on MX6QDL select SUPPORT_SPL imply CMD_SATA imply CMD_SPL @@ -272,7 +276,7 @@ config TARGET_KOSAGI_NOVENA config TARGET_MCCMON6 bool "mccmon6" - select MX6QDL + depends on MX6QDL select SUPPORT_SPL select DM select DM_GPIO @@ -284,13 +288,13 @@ config TARGET_MCCMON6 config TARGET_MX6CUBOXI bool "Solid-run mx6 boards" + depends on MX6QDL select BOARD_LATE_INIT - select MX6QDL select SUPPORT_SPL config TARGET_MX6LOGICPD bool "Logic PD i.MX6 SOM" - select MX6Q + depends on MX6Q select SUPPORT_SPL select BOARD_EARLY_INIT_F select BOARD_LATE_INIT @@ -305,6 +309,7 @@ config TARGET_MX6LOGICPD config TARGET_MX6MEMCAL bool "mx6memcal" + depends on MX6QDL select SUPPORT_SPL help The mx6memcal board is a virtual board that can be used to validate @@ -316,6 +321,7 @@ config TARGET_MX6QARM2 config TARGET_MX6DL_MAMOJ bool "Support BTicino Mamoj" + depends on MX6QDL select DM select DM_ETH select DM_GPIO @@ -324,7 +330,6 @@ config TARGET_MX6DL_MAMOJ select DM_PMIC select DM_PMIC_PFUZE100 select DM_THERMAL - select MX6QDL select OF_CONTROL select PINCTRL select SPL @@ -348,6 +353,7 @@ config TARGET_MX6DL_MAMOJ config TARGET_MX6Q_ENGICAM bool "Support Engicam i.Core(RQS)" + depends on MX6QDL select BOARD_LATE_INIT select DM select DM_ETH @@ -355,7 +361,6 @@ config TARGET_MX6Q_ENGICAM select DM_I2C select DM_MMC select DM_THERMAL - select MX6QDL select OF_CONTROL select SPL_DM if SPL select SPL_OF_CONTROL if SPL @@ -367,75 +372,76 @@ config TARGET_MX6Q_ENGICAM config TARGET_MX6SABREAUTO bool "mx6sabreauto" + depends on MX6QDL select BOARD_EARLY_INIT_F select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6QDL select SUPPORT_SPL imply CMD_DM config TARGET_MX6SABRESD bool "mx6sabresd" + depends on MX6QDL select BOARD_EARLY_INIT_F select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6QDL select SUPPORT_SPL imply CMD_DM config TARGET_MX6SLEVK bool "mx6slevk" - select MX6SL + depends on MX6SL select SUPPORT_SPL config TARGET_MX6SLLEVK bool "mx6sll evk" + depends on MX6SLL select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6SLL imply CMD_DM config TARGET_MX6SXSABRESD bool "mx6sxsabresd" + depends on MX6SX select BOARD_EARLY_INIT_F select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6SX select SUPPORT_SPL config TARGET_MX6SXSABREAUTO bool "mx6sxsabreauto" + depends on MX6SX select BOARD_EARLY_INIT_F select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6SX imply CMD_DM config TARGET_MX6UL_9X9_EVK bool "mx6ul_9x9_evk" + depends on MX6UL select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6UL select SUPPORT_SPL imply CMD_DM config TARGET_MX6UL_14X14_EVK bool "mx6ul_14x14_evk" + depends on MX6UL select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6UL select SUPPORT_SPL imply CMD_DM config TARGET_MX6UL_ENGICAM bool "Support Engicam GEAM6UL/Is.IoT" + depends on MX6UL select BOARD_LATE_INIT select DM select DM_ETH @@ -443,7 +449,6 @@ config TARGET_MX6UL_ENGICAM select DM_I2C select DM_MMC select DM_THERMAL - select MX6UL select OF_CONTROL select SPL_DM if SPL select SPL_OF_CONTROL if SPL @@ -454,15 +459,15 @@ config TARGET_MX6UL_ENGICAM config TARGET_MX6ULL_14X14_EVK bool "Support mx6ull_14x14_evk" + depends on MX6ULL select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6ULL imply CMD_DM config TARGET_MYS_6ULX bool "MYiR MYS-6ULX" - select MX6ULL + depends on MX6ULL select DM select DM_ETH select DM_GPIO @@ -474,14 +479,15 @@ config TARGET_MYS_6ULX config TARGET_NITROGEN6X bool "nitrogen6x" + depends on MX6DL || MX6Q || MX6QDL || MX6S imply USB_ETHER_ASIX imply USB_ETHER_MCS7830 imply USB_ETHER_SMSC95XX imply USB_HOST_ETHER - select MX6QDL config TARGET_OPOS6ULDEV bool "Armadeus OPOS6ULDev board" + depends on MX6UL select MX6UL_OPOS6UL config TARGET_OT1200 @@ -491,23 +497,24 @@ config TARGET_OT1200 config TARGET_PICO_IMX6 bool "PICO-IMX6" + depends on MX6QDL select BOARD_EARLY_INIT_F select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6QDL select SUPPORT_SPL imply CMD_DM config TARGET_PICO_IMX6UL bool "PICO-IMX6UL-EMMC" - select MX6UL + depends on MX6UL select DM select SUPPORT_SPL imply CMD_DM config TARGET_LITEBOARD bool "Grinn liteBoard (i.MX6UL)" + depends on MX6UL select BOARD_LATE_INIT select MX6UL_LITESOM @@ -521,22 +528,22 @@ config TARGET_PLATINUM_TITANIUM config TARGET_PCM058 bool "Phytec PCM058 i.MX6 Quad" + depends on MX6Q select BOARD_LATE_INIT select SUPPORT_SPL - select MX6Q select DM select OF_CONTROL imply CMD_DM config TARGET_PFLA02 bool "Phytec PFLA02 (PhyFlex) i.MX6 Quad" + depends on MX6QDL select BOARD_LATE_INIT - select MX6QDL select SUPPORT_SPL config TARGET_PCL063 bool "PHYTEC PCL063 (phyCORE-i.MX6UL)" - select MX6UL + depends on MX6UL select DM select DM_ETH select DM_GPIO @@ -548,7 +555,7 @@ config TARGET_PCL063 config TARGET_PCL063_ULL bool "PHYTEC PCL063 (phyCORE-i.MX6ULL)" - select MX6ULL + depends on MX6ULL select DM select DM_ETH select DM_GPIO @@ -563,11 +570,12 @@ config TARGET_SECOMX6 config TARGET_SKSIMX6 bool "sks-imx6" + depends on MX6QDL select SUPPORT_SPL config TARGET_SOMLABS_VISIONSOM_6ULL bool "visionsom-6ull" - select MX6ULL + depends on MX6ULL select BOARD_LATE_INIT select DM select DM_ETH @@ -579,12 +587,15 @@ config TARGET_SOMLABS_VISIONSOM_6ULL config TARGET_TBS2910 bool "TBS2910 Matrix ARM mini PC" + depends on MX6Q config TARGET_TITANIUM bool "titanium" + depends on MX6Q config TARGET_KP_IMX6Q_TPC bool "K+P KP_IMX6Q_TPC i.MX6 Quad" + depends on MX6QDL select BOARD_EARLY_INIT_F select BOARD_LATE_INIT select DM @@ -598,7 +609,6 @@ config TARGET_KP_IMX6Q_TPC select DM_I2C select DM_GPIO select DM_USB - select MX6QDL select SUPPORT_SPL select SPL_SEPARATE_BSS if SPL imply CMD_DM @@ -621,45 +631,45 @@ config TARGET_TQMA6 config TARGET_UDOO bool "udoo" + depends on MX6QDL select BOARD_LATE_INIT - select MX6QDL select SUPPORT_SPL config TARGET_UDOO_NEO bool "UDOO Neo" + depends on MX6SX select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6SX select SUPPORT_SPL imply CMD_DM config TARGET_SOFTING_VINING_2000 bool "Softing VIN|ING 2000" + depends on MX6SX select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6SX select SUPPORT_SPL imply CMD_DM config TARGET_WANDBOARD bool "wandboard" + depends on MX6QDL select BOARD_LATE_INIT - select MX6QDL select SUPPORT_SPL config TARGET_WARP bool "WaRP" + depends on MX6SL select BOARD_LATE_INIT - select MX6SL config TARGET_XPRESS bool "CCV xPress" + depends on MX6UL select BOARD_LATE_INIT select DM select DM_THERMAL - select MX6UL select SUPPORT_SPL imply CMD_DM @@ -681,8 +691,8 @@ config TARGET_ZC5601 config TARGET_BRPPT2 bool "brppt2" + depends on MX6QDL select BOARD_LATE_INIT - select MX6QDL select OF_CONTROL select SPL_OF_LIBFDT select DM |