U-Boot
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
August 2020
- 178 participants
- 660 discussions

25 Aug '20
Chimp is a core in Broadcom netxtream controller (bnxt).
Add support to check bnxt's chimp component status.
Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur(a)broadcom.com>
---
board/broadcom/bcmns3/ns3.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/board/broadcom/bcmns3/ns3.c b/board/broadcom/bcmns3/ns3.c
index 0357cd0e32..8540c99286 100644
--- a/board/broadcom/bcmns3/ns3.c
+++ b/board/broadcom/bcmns3/ns3.c
@@ -12,6 +12,7 @@
#include <asm/armv8/mmu.h>
#include <asm/arch-bcmns3/bl33_info.h>
#include <dt-bindings/memory/bcm-ns3-mc.h>
+#include <broadcom/chimp.h>
/* Default reset-level = 3 and strap-val = 0 */
#define L3_RESET 30
@@ -210,8 +211,20 @@ void reset_cpu(ulong level)
#ifdef CONFIG_OF_BOARD_SETUP
int ft_board_setup(void *fdt, struct bd_info *bd)
{
+ u32 chimp_hs = CHIMP_HANDSHAKE_WAIT_TIMEOUT;
+
gic_lpi_tables_init();
+ /*
+ * Check for chimp handshake status.
+ * Zero timeout value will actually fall to default timeout.
+ */
+ chimp_handshake_status_optee(0, &chimp_hs);
+ if (chimp_hs == CHIMP_HANDSHAKE_SUCCESS)
+ printf("ChiMP handshake successful\n");
+ else
+ printf("ERROR: ChiMP handshake status 0x%x\n", chimp_hs);
+
return mem_info_parse_fixup(fdt);
}
#endif /* CONFIG_OF_BOARD_SETUP */
--
2.17.1
2
3
Use log_err() for error messages.
Replace debug() by EFI_PRINT().
Signed-off-by: Heinrich Schuchardt <xypron.glpk(a)gmx.de>
---
lib/efi_loader/efi_image_loader.c | 44 +++++++++++++++----------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/lib/efi_loader/efi_image_loader.c b/lib/efi_loader/efi_image_loader.c
index eea42cc204..da50fc31f1 100644
--- a/lib/efi_loader/efi_image_loader.c
+++ b/lib/efi_loader/efi_image_loader.c
@@ -7,9 +7,12 @@
* Copyright (c) 2016 Alexander Graf
*/
+#define LOG_CATEGORY LOGC_EFI
+
#include <common.h>
#include <cpu_func.h>
#include <efi_loader.h>
+#include <log.h>
#include <malloc.h>
#include <pe.h>
#include <sort.h>
@@ -153,14 +156,14 @@ static efi_status_t efi_loader_relocate(const IMAGE_BASE_RELOCATION *rel,
case IMAGE_REL_BASED_RISCV_LOW12S:
/* We know that we're 4k aligned */
if (delta & 0xfff) {
- printf("Unsupported reloc offset\n");
+ log_err("Unsupported reloc offset\n");
return EFI_LOAD_ERROR;
}
break;
#endif
default:
- printf("Unknown Relocation off %x type %x\n",
- offset, type);
+ log_err("Unknown Relocation off %x type %x\n",
+ offset, type);
return EFI_LOAD_ERROR;
}
relocs++;
@@ -202,7 +205,7 @@ static void efi_set_code_and_data_type(
loaded_image_info->image_data_type = EFI_RUNTIME_SERVICES_DATA;
break;
default:
- printf("%s: invalid image type: %u\n", __func__, image_type);
+ log_err("invalid image type: %u\n", image_type);
/* Let's assume it is an application */
loaded_image_info->image_code_type = EFI_LOADER_CODE;
loaded_image_info->image_data_type = EFI_LOADER_DATA;
@@ -499,7 +502,7 @@ static bool efi_image_authenticate(void *efi, size_t efi_size)
size_t new_efi_size, auth_size;
bool ret = false;
- debug("%s: Enter, %d\n", __func__, ret);
+ EFI_PRINT("%s: Enter, %d\n", __func__, ret);
if (!efi_secure_boot_enabled())
return true;
@@ -645,14 +648,14 @@ static bool efi_image_authenticate(void *efi, size_t efi_size)
break;
}
- debug("Signature was not verified by \"db\"\n");
+ EFI_PRINT("Signature was not verified by \"db\"\n");
if (efi_signature_lookup_digest(regs, db)) {
ret = true;
break;
}
- debug("Image's digest was not found in \"db\" or \"dbx\"\n");
+ EFI_PRINT("Image's digest was not found in \"db\" or \"dbx\"\n");
}
err:
@@ -662,7 +665,7 @@ err:
free(regs);
free(new_efi);
- debug("%s: Exit, %d\n", __func__, ret);
+ EFI_PRINT("%s: Exit, %d\n", __func__, ret);
return ret;
}
#else
@@ -704,14 +707,14 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
/* Sanity check for a file header */
if (efi_size < sizeof(*dos)) {
- printf("%s: Truncated DOS Header\n", __func__);
+ log_err("Truncated DOS Header\n");
ret = EFI_LOAD_ERROR;
goto err;
}
dos = efi;
if (dos->e_magic != IMAGE_DOS_SIGNATURE) {
- printf("%s: Invalid DOS Signature\n", __func__);
+ log_err("Invalid DOS Signature\n");
ret = EFI_LOAD_ERROR;
goto err;
}
@@ -722,14 +725,14 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
* of the 64bit header which is longer than the 32bit header.
*/
if (efi_size < dos->e_lfanew + sizeof(IMAGE_NT_HEADERS64)) {
- printf("%s: Invalid offset for Extended Header\n", __func__);
+ log_err("Invalid offset for Extended Header\n");
ret = EFI_LOAD_ERROR;
goto err;
}
nt = (void *) ((char *)efi + dos->e_lfanew);
if (nt->Signature != IMAGE_NT_SIGNATURE) {
- printf("%s: Invalid NT Signature\n", __func__);
+ log_err("Invalid NT Signature\n");
ret = EFI_LOAD_ERROR;
goto err;
}
@@ -741,8 +744,8 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
}
if (!supported) {
- printf("%s: Machine type 0x%04x is not supported\n",
- __func__, nt->FileHeader.Machine);
+ log_err("Machine type 0x%04x is not supported\n",
+ nt->FileHeader.Machine);
ret = EFI_LOAD_ERROR;
goto err;
}
@@ -753,8 +756,7 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
if (efi_size < ((void *)sections + sizeof(sections[0]) * num_sections
- efi)) {
- printf("%s: Invalid number of sections: %d\n",
- __func__, num_sections);
+ log_err("Invalid number of sections: %d\n", num_sections);
ret = EFI_LOAD_ERROR;
goto err;
}
@@ -782,8 +784,7 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
efi_reloc = efi_alloc(virt_size,
loaded_image_info->image_code_type);
if (!efi_reloc) {
- printf("%s: Could not allocate %lu bytes\n",
- __func__, virt_size);
+ log_err("Out of memory\n");
ret = EFI_OUT_OF_RESOURCES;
goto err;
}
@@ -799,8 +800,7 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
efi_reloc = efi_alloc(virt_size,
loaded_image_info->image_code_type);
if (!efi_reloc) {
- printf("%s: Could not allocate %lu bytes\n",
- __func__, virt_size);
+ log_err("Out of memory\n");
ret = EFI_OUT_OF_RESOURCES;
goto err;
}
@@ -809,8 +809,8 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
rel = efi_reloc + opt->DataDirectory[rel_idx].VirtualAddress;
virt_size = ALIGN(virt_size, opt->SectionAlignment);
} else {
- printf("%s: Invalid optional header magic %x\n", __func__,
- nt->OptionalHeader.Magic);
+ log_err("Invalid optional header magic %x\n",
+ nt->OptionalHeader.Magic);
ret = EFI_LOAD_ERROR;
goto err;
}
--
2.20.1
1
0
This series will add support for OcteonTX and OcteonTX2 processsor based
platforms. The Marvell/Cavium Octeon-TX 64-bit ARM based SoCs include
the CN80XX, CN81XX and CN83XX while Octeon-TX2 64-bit ARM based SoCs
include support for CN96XX and CN95XX.
These SoC's have peripheral drivers based on PCI ECAM.
Patches
[1 -11] Add requied changes to PCI framework
- [6] Add support for multi-memory region range
- [7] EA in bridges
- [8] SR-IOV
[12 - 14] Add OcteonTX/TX2 platform header files
[15] AHCI changes
[16 - 22] Add OcteonTX/TX2 drivers
[23 - 24] Add OcteonTX/TX2 board files and configurations
Update from RFC -> v1 (Stefan):
I took over upstreaming the patchset from Suneel. Suneel addressed some
of the review comments. I addressed some more. This patchset is based
on top of mainline plus the latest MIPS Octeon patchset:
[PATCH v2 00/10] mips: octeon: Misc Octeon drivers, DT and Kconfig /
defconfig updates
Some of the drivers originally included in this patchset have already
been integrated into mainline (like I2C) and some are part of the MIPS
Octeon patchset mentioned above. The reason being, that MIPS Octeon and
Octen TX/TX2 share most of the peripherals, so a re-use of the drivers
in all Octeon platforms makes much sense.
Thanks,
Stefan
Changes in v1:
- Added return value description to function prototype in header
- Changed from using be32_to_cpup() to fdt32_to_cpu()
- New patch
- New patch, replaces increase of MAX_PCI_REGIONS to 10
- Change patch subject
- Change patch subject
- Change patch subject
- Enhance Kconfig help descrition
- Use if() instead of #if
- Change patch subject
- Change patch subject
- Enhance commit text: expanded the abbreviations
- Changed some printf() to debug()
- Changed 0 to '\0' in memset()
- Comments for variables in struct pci_child_platdata added
- Comments for newly introduced functions added in prototype / header
- Change patch subject
- Fixed multi-line comment style
- Moved "feature" into new function which is only called, when
CONFIG_PCI_SRIOV is enabled, so that the code is not increased in
all cases
- Changed variable declaration to use reverse xmas tree order
- Change patch subject
- Fixed multi-line comment style
- Added CONFIG_PCI_ARID and enabled the new code optionally, so that the
code size is not increased in all cases
- New patch
- Change patch subject
- Add small commit text
- Also add clr/setbits_64 (without endianess extension), which is needed
for the updated Octeon device drivers
- Change patch subject
- Change patch subject
- Change patch subject
- Use constants from pci_ids.h instead of hardcoded values
- Change patch subject
- Remove inclusion of common.h
- Remove #ifdef's and use driver specific data instead
- Add comments to struct
- Add some helper functions to reduce code size
- Misc coding style changes (blank lines etc)
- Use debug() instead of printf() in some cases
- Change patch subject
- Change patch subject
- Rebased on latest TOT
- Removed inclusion of common.h
- Fix most checkpatch errors / warnings (use IS_ENABLED etc)
- Change patch subject
- Change patch subject
- Rebased on latest TOT
- Removed inclusion of common.h
- Change patch subject
- Rebased on latest TOT
- Removed inclusion of common.h
- Change patch subject
- Remove inclusion of common.h
- Remove global wdt_dev as its unused
- Remove #ifdef's
- Remove optional fixed register access - only use address passed via
DT while probing
- Use dev_remap_addr() instead of dev_read_addr_index()
- Changed patch subject
- Rebased on latest TOT
- Removed inclusion of common.h
- Moved MEMTEST defines to Kconfig
- *.c files checkpatch cleanup
- Changed patch subject
- Rebased on latest TOT
- Removed inclusion of common.h
- Moved MEMTEST defines to Kconfig
- *.c files checkpatch cleanup
- Add go_uboot cmd for U-Boot starting from RAM
Stefan Roese (2):
pci: pci-uclass: Remove #ifdef CONFIG_NR_DRAM_BANKS as its always set
pci: pci-uclass: Dynamically allocate the PCI regions
Suneel Garapati (22):
fdtdec: Add API to read pci bus-range property
pci: pci-uclass: Fix incorrect argument in map_sysmem
pci: pci-uclass: Make DT subnode parse optional
pci: pci-uclass: Add multi entry support for memory regions
pci: pci-uclass: Add support for Enhanced Allocation in Bridges
pci: pci-uclass: Add support for Single-Root I/O Virtualization
pci: pci-uclass: Add VF BAR map support for Enhanced Allocation
pci: pci-uclass: Add support for Alternate-RoutingID capability
pci: pci-uclass: Check validity of ofnode
arm: include/asm/io.h: Add 64bit clrbits and setbits helpers
arm: octeontx: Add headers for OcteonTX
arm: octeontx2: Add headers for OcteonTX2
ata: ahci: Add BAR index quirk for Cavium PCI SATA device
pci: Add PCI controller driver for OcteonTX / TX2
mmc: Remove static qualifier on mmc_power_init
mmc: Add MMC controller driver for OcteonTX / TX2
mtd: nand: Add NAND controller driver for OcteonTX
net: Add NIC controller driver for OcteonTX
net: Add NIC controller driver for OcteonTX2
watchdog: Add reset support for OcteonTX / TX2
arm: octeontx: Add support for OcteonTX SoC platforms
arm: octeontx2: Add support for OcteonTX2 SoC platforms
arch/arm/Kconfig | 22 +
arch/arm/Makefile | 2 +
arch/arm/include/asm/arch-octeontx/board.h | 123 +
arch/arm/include/asm/arch-octeontx/clock.h | 25 +
.../asm/arch-octeontx/csrs/csrs-mio_emm.h | 1193 ++
.../include/asm/arch-octeontx/csrs/csrs-xcv.h | 428 +
arch/arm/include/asm/arch-octeontx/gpio.h | 6 +
arch/arm/include/asm/arch-octeontx/smc.h | 20 +
arch/arm/include/asm/arch-octeontx/soc.h | 33 +
arch/arm/include/asm/arch-octeontx2/board.h | 128 +
arch/arm/include/asm/arch-octeontx2/clock.h | 24 +
.../asm/arch-octeontx2/csrs/csrs-cgx.h | 7851 ++++++++++++
.../asm/arch-octeontx2/csrs/csrs-lmt.h | 60 +
.../asm/arch-octeontx2/csrs/csrs-mio_emm.h | 1193 ++
.../asm/arch-octeontx2/csrs/csrs-nix.h | 10404 ++++++++++++++++
.../asm/arch-octeontx2/csrs/csrs-npa.h | 2294 ++++
.../asm/arch-octeontx2/csrs/csrs-npc.h | 1629 +++
.../asm/arch-octeontx2/csrs/csrs-rvu.h | 2276 ++++
arch/arm/include/asm/arch-octeontx2/gpio.h | 6 +
arch/arm/include/asm/arch-octeontx2/smc-id.h | 32 +
arch/arm/include/asm/arch-octeontx2/smc.h | 18 +
arch/arm/include/asm/arch-octeontx2/soc.h | 33 +
arch/arm/include/asm/io.h | 16 +
arch/arm/mach-octeontx/Kconfig | 23 +
arch/arm/mach-octeontx/Makefile | 9 +
arch/arm/mach-octeontx/clock.c | 35 +
arch/arm/mach-octeontx/cpu.c | 76 +
arch/arm/mach-octeontx/lowlevel_init.S | 33 +
arch/arm/mach-octeontx2/Kconfig | 23 +
arch/arm/mach-octeontx2/Makefile | 9 +
arch/arm/mach-octeontx2/clock.c | 35 +
arch/arm/mach-octeontx2/config.mk | 4 +
arch/arm/mach-octeontx2/cpu.c | 72 +
arch/arm/mach-octeontx2/lowlevel_init.S | 33 +
board/Marvell/octeontx/Kconfig | 14 +
board/Marvell/octeontx/MAINTAINERS | 8 +
board/Marvell/octeontx/Makefile | 9 +
board/Marvell/octeontx/board-fdt.c | 311 +
board/Marvell/octeontx/board.c | 152 +
board/Marvell/octeontx/smc.c | 25 +
board/Marvell/octeontx/soc-utils.c | 50 +
board/Marvell/octeontx2/Kconfig | 14 +
board/Marvell/octeontx2/MAINTAINERS | 8 +
board/Marvell/octeontx2/Makefile | 9 +
board/Marvell/octeontx2/board-fdt.c | 221 +
board/Marvell/octeontx2/board.c | 247 +
board/Marvell/octeontx2/smc.c | 58 +
board/Marvell/octeontx2/soc-utils.c | 49 +
board/renesas/rcar-common/common.c | 10 +-
configs/octeontx2_95xx_defconfig | 105 +
configs/octeontx2_96xx_defconfig | 131 +
configs/octeontx_81xx_defconfig | 134 +
configs/octeontx_83xx_defconfig | 129 +
drivers/ata/ahci.c | 8 +
drivers/mmc/Kconfig | 9 +
drivers/mmc/Makefile | 1 +
drivers/mmc/mmc.c | 2 +-
drivers/mmc/octeontx_hsmmc.c | 3904 ++++++
drivers/mmc/octeontx_hsmmc.h | 207 +
drivers/mtd/nand/raw/Kconfig | 16 +
drivers/mtd/nand/raw/Makefile | 2 +
drivers/mtd/nand/raw/octeontx_bch.c | 426 +
drivers/mtd/nand/raw/octeontx_bch.h | 133 +
drivers/mtd/nand/raw/octeontx_bch_regs.h | 169 +
drivers/mtd/nand/raw/octeontx_nand.c | 2264 ++++
drivers/net/Kconfig | 31 +
drivers/net/Makefile | 4 +
drivers/net/octeontx/Makefile | 9 +
drivers/net/octeontx/bgx.c | 1572 +++
drivers/net/octeontx/bgx.h | 259 +
drivers/net/octeontx/nic.h | 510 +
drivers/net/octeontx/nic_main.c | 780 ++
drivers/net/octeontx/nic_reg.h | 252 +
drivers/net/octeontx/nicvf_main.c | 583 +
drivers/net/octeontx/nicvf_queues.c | 1142 ++
drivers/net/octeontx/nicvf_queues.h | 355 +
drivers/net/octeontx/q_struct.h | 697 ++
drivers/net/octeontx/smi.c | 383 +
drivers/net/octeontx/xcv.c | 129 +
drivers/net/octeontx2/Makefile | 11 +
drivers/net/octeontx2/cgx.c | 298 +
drivers/net/octeontx2/cgx.h | 107 +
drivers/net/octeontx2/cgx_intf.c | 717 ++
drivers/net/octeontx2/cgx_intf.h | 450 +
drivers/net/octeontx2/lmt.h | 51 +
drivers/net/octeontx2/nix.c | 833 ++
drivers/net/octeontx2/nix.h | 355 +
drivers/net/octeontx2/nix_af.c | 1104 ++
drivers/net/octeontx2/npc.h | 92 +
drivers/net/octeontx2/rvu.h | 121 +
drivers/net/octeontx2/rvu_af.c | 173 +
drivers/net/octeontx2/rvu_common.c | 73 +
drivers/net/octeontx2/rvu_pf.c | 118 +
drivers/pci/Kconfig | 37 +
drivers/pci/Makefile | 1 +
drivers/pci/pci-uclass.c | 289 +-
drivers/pci/pci_octeontx.c | 344 +
drivers/watchdog/Kconfig | 10 +
drivers/watchdog/Makefile | 1 +
drivers/watchdog/octeontx_wdt.c | 57 +
include/configs/octeontx2_common.h | 72 +
include/configs/octeontx_common.h | 89 +
include/fdtdec.h | 13 +
include/mmc.h | 1 +
include/pci.h | 45 +-
lib/fdtdec.c | 16 +
106 files changed, 49126 insertions(+), 51 deletions(-)
create mode 100644 arch/arm/include/asm/arch-octeontx/board.h
create mode 100644 arch/arm/include/asm/arch-octeontx/clock.h
create mode 100644 arch/arm/include/asm/arch-octeontx/csrs/csrs-mio_emm.h
create mode 100644 arch/arm/include/asm/arch-octeontx/csrs/csrs-xcv.h
create mode 100644 arch/arm/include/asm/arch-octeontx/gpio.h
create mode 100644 arch/arm/include/asm/arch-octeontx/smc.h
create mode 100644 arch/arm/include/asm/arch-octeontx/soc.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/board.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/clock.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-cgx.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-lmt.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-mio_emm.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-nix.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-npa.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-npc.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-rvu.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/gpio.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/smc-id.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/smc.h
create mode 100644 arch/arm/include/asm/arch-octeontx2/soc.h
create mode 100644 arch/arm/mach-octeontx/Kconfig
create mode 100644 arch/arm/mach-octeontx/Makefile
create mode 100644 arch/arm/mach-octeontx/clock.c
create mode 100644 arch/arm/mach-octeontx/cpu.c
create mode 100644 arch/arm/mach-octeontx/lowlevel_init.S
create mode 100644 arch/arm/mach-octeontx2/Kconfig
create mode 100644 arch/arm/mach-octeontx2/Makefile
create mode 100644 arch/arm/mach-octeontx2/clock.c
create mode 100644 arch/arm/mach-octeontx2/config.mk
create mode 100644 arch/arm/mach-octeontx2/cpu.c
create mode 100644 arch/arm/mach-octeontx2/lowlevel_init.S
create mode 100644 board/Marvell/octeontx/Kconfig
create mode 100644 board/Marvell/octeontx/MAINTAINERS
create mode 100644 board/Marvell/octeontx/Makefile
create mode 100644 board/Marvell/octeontx/board-fdt.c
create mode 100644 board/Marvell/octeontx/board.c
create mode 100644 board/Marvell/octeontx/smc.c
create mode 100644 board/Marvell/octeontx/soc-utils.c
create mode 100644 board/Marvell/octeontx2/Kconfig
create mode 100644 board/Marvell/octeontx2/MAINTAINERS
create mode 100644 board/Marvell/octeontx2/Makefile
create mode 100644 board/Marvell/octeontx2/board-fdt.c
create mode 100644 board/Marvell/octeontx2/board.c
create mode 100644 board/Marvell/octeontx2/smc.c
create mode 100644 board/Marvell/octeontx2/soc-utils.c
create mode 100644 configs/octeontx2_95xx_defconfig
create mode 100644 configs/octeontx2_96xx_defconfig
create mode 100644 configs/octeontx_81xx_defconfig
create mode 100644 configs/octeontx_83xx_defconfig
create mode 100644 drivers/mmc/octeontx_hsmmc.c
create mode 100644 drivers/mmc/octeontx_hsmmc.h
create mode 100644 drivers/mtd/nand/raw/octeontx_bch.c
create mode 100644 drivers/mtd/nand/raw/octeontx_bch.h
create mode 100644 drivers/mtd/nand/raw/octeontx_bch_regs.h
create mode 100644 drivers/mtd/nand/raw/octeontx_nand.c
create mode 100644 drivers/net/octeontx/Makefile
create mode 100644 drivers/net/octeontx/bgx.c
create mode 100644 drivers/net/octeontx/bgx.h
create mode 100644 drivers/net/octeontx/nic.h
create mode 100644 drivers/net/octeontx/nic_main.c
create mode 100644 drivers/net/octeontx/nic_reg.h
create mode 100644 drivers/net/octeontx/nicvf_main.c
create mode 100644 drivers/net/octeontx/nicvf_queues.c
create mode 100644 drivers/net/octeontx/nicvf_queues.h
create mode 100644 drivers/net/octeontx/q_struct.h
create mode 100644 drivers/net/octeontx/smi.c
create mode 100644 drivers/net/octeontx/xcv.c
create mode 100644 drivers/net/octeontx2/Makefile
create mode 100644 drivers/net/octeontx2/cgx.c
create mode 100644 drivers/net/octeontx2/cgx.h
create mode 100644 drivers/net/octeontx2/cgx_intf.c
create mode 100644 drivers/net/octeontx2/cgx_intf.h
create mode 100644 drivers/net/octeontx2/lmt.h
create mode 100644 drivers/net/octeontx2/nix.c
create mode 100644 drivers/net/octeontx2/nix.h
create mode 100644 drivers/net/octeontx2/nix_af.c
create mode 100644 drivers/net/octeontx2/npc.h
create mode 100644 drivers/net/octeontx2/rvu.h
create mode 100644 drivers/net/octeontx2/rvu_af.c
create mode 100644 drivers/net/octeontx2/rvu_common.c
create mode 100644 drivers/net/octeontx2/rvu_pf.c
create mode 100644 drivers/pci/pci_octeontx.c
create mode 100644 drivers/watchdog/octeontx_wdt.c
create mode 100644 include/configs/octeontx2_common.h
create mode 100644 include/configs/octeontx_common.h
--
2.27.0
3
66

25 Aug '20
This change introduces SCMI agent driver in U-Boot in the firmware
U-class.
SCMI agent driver is designed for platforms that embed a SCMI server in
a firmware hosted for example by a companion co-processor or the secure
world of the executing processor.
SCMI protocols allow an SCMI agent to discover and access external
resources as clock, reset controllers and many more. SCMI agent and
server communicate following the SCMI specification [1]. SCMI agent
complies with the DT bindings defined in the Linux kernel source tree
regarding SCMI agent description since v5.8-rc1.
These bindings describe 2 supported message transport layer: using
mailbox uclass devices or using Arm SMC invocation instruction. Both
use a piece or shared memory for message data exchange.
In the current state, the SCMI agent driver does not bind to any SCMI
protocol to a U-Boot device driver. Former changes will implement
dedicated driver (i.e. an SCMI clock driver or an SCMI reset controller
driver) and add bind supported SCMI protocols in scmi_agent_bind().
Links: [1] https://developer.arm.com/architectures/system-architectures/software-stand…
Signed-off-by: Etienne Carriere <etienne.carriere(a)linaro.org>
Cc: Simon Glass <sjg(a)chromium.org>
Cc: Peng Fan <peng.fan(a)nxp.com>
Cc: Sudeep Holla <sudeep.holla(a)arm.com>
---
Changes in v2:
- Fix CONFIG_SCMI_FIRMWARE description with explicit SCMI reference.
- Move struct, enum and macro definitions at source file top and
add inline comment description for the structures and local functions.
- Replace rc with ret as return value local variable label.
- Use explicit return 0 on successful return paths.
- Replace EINVAL with more accurate error numbers.
- Use dev_read_u32() instead of ofnode_read_u32(dev_ofnode(), ...).
- Use memcpy_toio()/memcpy_fromio() when copying message payload
to/from IO memory.
- Embed mailbox transport resources upon CONFIG_DM_MAILBOX and
SMCCC transport resources upon CONFIG_ARM_SMCCC.
Note: review comments on defining a uclass and sandbox for SCMI
transport drivers are NOT addressed in this v2. Main issue is that
there is no driver/device defined for SCMI transport layer as well as
and no defined compatible ID in the SCMI DT bindings documentation.
---
drivers/firmware/Kconfig | 20 ++
drivers/firmware/Makefile | 1 +
drivers/firmware/scmi.c | 490 ++++++++++++++++++++++++++++++++++++++
include/scmi.h | 82 +++++++
4 files changed, 593 insertions(+)
create mode 100644 drivers/firmware/scmi.c
create mode 100644 include/scmi.h
diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
index b70a206355..4d3cd5c6f2 100644
--- a/drivers/firmware/Kconfig
+++ b/drivers/firmware/Kconfig
@@ -1,6 +1,26 @@
config FIRMWARE
bool "Enable Firmware driver support"
+config SCMI_FIRMWARE
+ bool "Enable SCMI support"
+ select FIRMWARE
+ select OF_TRANSLATE
+ depends on DM_MAILBOX || ARM_SMCCC
+ help
+ System Control and Management Interface (SCMI) is a communication
+ protocol that defines standard interfaces for power, performance
+ and system management. The SCMI specification is available at
+ https://developer.arm.com/architectures/system-architectures/software-stand…
+
+ An SCMI agent communicates with a related SCMI server firmware
+ located in another sub-system, as a companion micro controller
+ or a companion host in the CPU system.
+
+ Communications between agent (client) and the SCMI server are
+ based on message exchange. Messages can be exchange over tranport
+ channels as a mailbox device or an Arm SMCCC service with some
+ piece of identified shared memory.
+
config SPL_FIRMWARE
bool "Enable Firmware driver support in SPL"
depends on FIRMWARE
diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile
index a0c250a473..9d16055510 100644
--- a/drivers/firmware/Makefile
+++ b/drivers/firmware/Makefile
@@ -2,4 +2,5 @@ obj-$(CONFIG_FIRMWARE) += firmware-uclass.o
obj-$(CONFIG_$(SPL_)ARM_PSCI_FW) += psci.o
obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o
obj-$(CONFIG_SANDBOX) += firmware-sandbox.o
+obj-$(CONFIG_SCMI_FIRMWARE) += scmi.o
obj-$(CONFIG_ZYNQMP_FIRMWARE) += firmware-zynqmp.o
diff --git a/drivers/firmware/scmi.c b/drivers/firmware/scmi.c
new file mode 100644
index 0000000000..264f3d99c8
--- /dev/null
+++ b/drivers/firmware/scmi.c
@@ -0,0 +1,490 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (c) 2015-2019, Arm Limited and Contributors. All rights reserved.
+ * Copyright (C) 2019-2020 Linaro Limited.
+ */
+
+#include <common.h>
+#include <cpu_func.h>
+#include <dm.h>
+#include <errno.h>
+#include <mailbox.h>
+#include <memalign.h>
+#include <scmi.h>
+#include <asm/system.h>
+#include <asm/types.h>
+#include <dm/device-internal.h>
+#include <dm/devres.h>
+#include <dm/lists.h>
+#include <dm/ofnode.h>
+#include <linux/arm-smccc.h>
+#include <linux/compat.h>
+#include <linux/errno.h>
+#include <linux/io.h>
+#include <linux/ioport.h>
+
+#define TIMEOUT_US_10MS 10000
+
+/**
+ * enum scmi_transport_channel - Supported SCMI transport layers
+ */
+enum scmi_transport_channel {
+ SCMI_MAILBOX_TRANSPORT,
+ SCMI_ARM_SMCCC_TRANSPORT,
+};
+
+/**
+ * struct error_code - Helper structure for SCMI error code conversion
+ * @scmi: SCMI error code
+ * @errno: Related standard error number
+ */
+struct error_code {
+ int scmi;
+ int errno;
+};
+
+/**
+ * struct method_ops - Operations related to an SCMI transport layer
+ * @process_msg: Send message thru the SCMI transport
+ * @remove_agent: Release SCMI transport resource
+ */
+struct method_ops {
+ int (*process_msg)(struct udevice *dev, struct scmi_msg *msg);
+ int (*remove_agent)(struct udevice *dev);
+};
+
+/**
+ * struct scmi_agent - Description of SCMI agent transport layer
+ * @method_ops: Operations for the transport layer used the agent
+ * @method_priv: Private data for the transport layer used the agent
+ */
+struct scmi_agent {
+ struct method_ops *method_ops;
+ void *method_priv;
+};
+
+/**
+ * struct scmi_smt_header - Description of the shared memory message buffer
+ *
+ * SMT stands for Shared Memory based Transport.
+ * SMT uses 28 byte header prior message payload to handle the state of
+ * the communication channel realized by the shared memory area and
+ * to define SCMI protocol information the payload relates to.
+ */
+struct scmi_smt_header {
+ __le32 reserved;
+ __le32 channel_status;
+#define SCMI_SHMEM_CHAN_STAT_CHANNEL_ERROR BIT(1)
+#define SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE BIT(0)
+ __le32 reserved1[2];
+ __le32 flags;
+#define SCMI_SHMEM_FLAG_INTR_ENABLED BIT(0)
+ __le32 length;
+ __le32 msg_header;
+ u8 msg_payload[0];
+};
+
+#define SMT_HEADER_TOKEN(token) (((token) << 18) & GENMASK(31, 18))
+#define SMT_HEADER_PROTOCOL_ID(proto) (((proto) << 10) & GENMASK(17, 10))
+#define SMT_HEADER_MESSAGE_TYPE(type) (((type) << 18) & GENMASK(9, 8))
+#define SMT_HEADER_MESSAGE_ID(id) ((id) & GENMASK(7, 0))
+
+/**
+ * struct scmi_shm_buf - Description of a shared memory buffer
+ * @buf: Shared memory base address
+ * @size: Shared memory byte size
+ */
+struct scmi_shm_buf {
+ u8 *buf;
+ size_t size;
+};
+
+/**
+ * struct scmi_mbox_channel - Description of an SCMI mailbox transport
+ * @shm_buf: Shared memory buffer
+ * @mbox: Mailbox channel description
+ * @timeout_us: Timeout in microseconds for the mailbox transfer
+ */
+struct scmi_mbox_channel {
+ struct scmi_shm_buf shm_buf;
+ struct mbox_chan mbox;
+ ulong timeout_us;
+};
+
+/**
+ * struct scmi_arm_smc_channel - Description of an SCMI SMCCC transport
+ * @func_id: SMCCC function ID used by the SCMI transport
+ * @shm_buf: Shared memory buffer
+ */
+struct scmi_arm_smc_channel {
+ ulong func_id;
+ struct scmi_shm_buf shm_buf;
+};
+
+static const struct error_code scmi_linux_errmap[] = {
+ { .scmi = SCMI_NOT_SUPPORTED, .errno = -EOPNOTSUPP, },
+ { .scmi = SCMI_INVALID_PARAMETERS, .errno = -EINVAL, },
+ { .scmi = SCMI_DENIED, .errno = -EACCES, },
+ { .scmi = SCMI_NOT_FOUND, .errno = -ENOENT, },
+ { .scmi = SCMI_OUT_OF_RANGE, .errno = -ERANGE, },
+ { .scmi = SCMI_BUSY, .errno = -EBUSY, },
+ { .scmi = SCMI_COMMS_ERROR, .errno = -ECOMM, },
+ { .scmi = SCMI_GENERIC_ERROR, .errno = -EIO, },
+ { .scmi = SCMI_HARDWARE_ERROR, .errno = -EREMOTEIO, },
+ { .scmi = SCMI_PROTOCOL_ERROR, .errno = -EPROTO, },
+};
+
+int scmi_to_linux_errno(s32 scmi_code)
+{
+ int n;
+
+ if (!scmi_code)
+ return 0;
+
+ for (n = 0; n < ARRAY_SIZE(scmi_linux_errmap); n++)
+ if (scmi_code == scmi_linux_errmap[n].scmi)
+ return scmi_linux_errmap[1].errno;
+
+ return -EPROTO;
+}
+
+/**
+ * Get shared memory configuration defined by the referred DT phandle
+ * Return with a errno compliant value.
+ */
+static int get_shm_buffer(struct udevice *dev, struct scmi_shm_buf *shm)
+{
+ int ret;
+ struct ofnode_phandle_args args;
+ struct resource resource;
+ fdt32_t faddr;
+ phys_addr_t paddr;
+
+ ret = dev_read_phandle_with_args(dev, "shmem", NULL, 0, 0, &args);
+ if (ret)
+ return ret;
+
+ ret = ofnode_read_resource(args.node, 0, &resource);
+ if (ret)
+ return ret;
+
+ faddr = cpu_to_fdt32(resource.start);
+ paddr = ofnode_translate_address(args.node, &faddr);
+
+ shm->size = resource_size(&resource);
+ if (shm->size < sizeof(struct scmi_smt_header)) {
+ dev_err(dev, "Shared memory buffer too small\n");
+ return -EINVAL;
+ }
+
+ shm->buf = devm_ioremap(dev, paddr, shm->size);
+ if (!shm->buf)
+ return -ENOMEM;
+
+ if (dcache_status())
+ mmu_set_region_dcache_behaviour((uintptr_t)shm->buf,
+ shm->size, DCACHE_OFF);
+
+ return 0;
+}
+
+/**
+ * Write SCMI message @msg into a SMT shared buffer @shm_buf.
+ * Return 0 on success and with a negative errno in case of error.
+ */
+static int write_msg_to_smt(struct udevice *dev, struct scmi_shm_buf *shm_buf,
+ struct scmi_msg *msg)
+{
+ struct scmi_smt_header *hdr = (void *)shm_buf->buf;
+
+ if ((!msg->in_msg && msg->in_msg_sz) ||
+ (!msg->out_msg && msg->out_msg_sz))
+ return -EINVAL;
+
+ if (!(hdr->channel_status & SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE)) {
+ dev_dbg(dev, "Channel busy\n");
+ return -EBUSY;
+ }
+
+ if (shm_buf->size < (sizeof(*hdr) + msg->in_msg_sz) ||
+ shm_buf->size < (sizeof(*hdr) + msg->out_msg_sz)) {
+ dev_dbg(dev, "Buffer too small\n");
+ return -ETOOSMALL;
+ }
+
+ /* Load message in shared memory */
+ hdr->channel_status &= ~SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE;
+ hdr->length = msg->in_msg_sz + sizeof(hdr->msg_header);
+ hdr->msg_header = SMT_HEADER_TOKEN(0) |
+ SMT_HEADER_MESSAGE_TYPE(0) |
+ SMT_HEADER_PROTOCOL_ID(msg->protocol_id) |
+ SMT_HEADER_MESSAGE_ID(msg->message_id);
+
+ memcpy_toio(hdr->msg_payload, msg->in_msg, msg->in_msg_sz);
+
+ return 0;
+}
+
+/**
+ * Read SCMI message from a SMT shared buffer @shm_buf and copy it into @msg.
+ * Return 0 on success and with a negative errno in case of error.
+ */
+static int read_resp_from_smt(struct udevice *dev, struct scmi_shm_buf *shm_buf,
+ struct scmi_msg *msg)
+{
+ struct scmi_smt_header *hdr = (void *)shm_buf->buf;
+
+ if (!(hdr->channel_status & SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE)) {
+ dev_err(dev, "Channel unexpectedly busy\n");
+ return -EBUSY;
+ }
+
+ if (hdr->channel_status & SCMI_SHMEM_CHAN_STAT_CHANNEL_ERROR) {
+ dev_err(dev, "Channel error reported, reset channel\n");
+ return -ECOMM;
+ }
+
+ if (hdr->length > msg->out_msg_sz + sizeof(hdr->msg_header)) {
+ dev_err(dev, "Buffer to small\n");
+ return -ETOOSMALL;
+ }
+
+ /* Get the data */
+ msg->out_msg_sz = hdr->length - sizeof(hdr->msg_header);
+ memcpy_fromio(msg->out_msg, hdr->msg_payload, msg->out_msg_sz);
+
+ return 0;
+}
+
+/**
+ * Clear SMT flags in shared buffer to allow further message exchange
+ */
+static void clear_smt_channel(struct scmi_shm_buf *shm_buf)
+{
+ struct scmi_smt_header *hdr = (void *)shm_buf->buf;
+
+ hdr->channel_status &= ~SCMI_SHMEM_CHAN_STAT_CHANNEL_ERROR;
+}
+
+#ifdef CONFIG_DM_MAILBOX
+/*
+ * SCMI over mailbox transport
+ */
+
+static int mbox_process_msg(struct udevice *dev, struct scmi_msg *msg)
+{
+ struct scmi_agent *agent = dev_get_priv(dev);
+ struct scmi_mbox_channel *chan = agent->method_priv;
+ int ret;
+
+ ret = write_msg_to_smt(dev, &chan->shm_buf, msg);
+ if (ret)
+ return ret;
+
+ /* Give shm addr to mbox in case it is meaningful */
+ ret = mbox_send(&chan->mbox, chan->shm_buf.buf);
+ if (ret) {
+ dev_err(dev, "Message send failed: %d\n", ret);
+ goto out;
+ }
+
+ /* Receive the response */
+ ret = mbox_recv(&chan->mbox, chan->shm_buf.buf, chan->timeout_us);
+ if (ret) {
+ dev_err(dev, "Response failed: %d, abort\n", ret);
+ goto out;
+ }
+
+ ret = read_resp_from_smt(dev, &chan->shm_buf, msg);
+
+out:
+ clear_smt_channel(&chan->shm_buf);
+
+ return ret;
+}
+
+struct method_ops mbox_channel_ops = {
+ .process_msg = mbox_process_msg,
+};
+
+static int probe_mailbox_channel(struct udevice *dev)
+{
+ struct scmi_agent *agent = dev_get_priv(dev);
+ struct scmi_mbox_channel *chan;
+ int ret;
+
+ chan = devm_kzalloc(dev, sizeof(*chan), GFP_KERNEL);
+ if (!chan)
+ return -ENOMEM;
+
+ chan->timeout_us = TIMEOUT_US_10MS;
+
+ ret = mbox_get_by_index(dev, 0, &chan->mbox);
+ if (ret) {
+ dev_err(dev, "Failed to find mailbox: %d\n", ret);
+ goto out;
+ }
+
+ ret = get_shm_buffer(dev, &chan->shm_buf);
+ if (ret)
+ dev_err(dev, "Failed to get shm resources: %d\n", ret);
+
+out:
+ if (ret) {
+ devm_kfree(dev, chan);
+ return ret;
+ }
+
+ agent->method_ops = &mbox_channel_ops;
+ agent->method_priv = (void *)chan;
+
+ return 0;
+}
+#endif /* CONFIG_DM_MAILBOX */
+
+#ifdef CONFIG_ARM_SMCCC
+/*
+ * SCMI over SMCCC transport
+ */
+
+#define SMCCC_RET_NOT_SUPPORTED ((unsigned long)-1)
+
+static int arm_smc_process_msg(struct udevice *dev, struct scmi_msg *msg)
+{
+ struct scmi_agent *agent = dev_get_priv(dev);
+ struct scmi_arm_smc_channel *chan = agent->method_priv;
+ struct arm_smccc_res res;
+ int ret;
+
+ ret = write_msg_to_smt(dev, &chan->shm_buf, msg);
+ if (ret)
+ return ret;
+
+ arm_smccc_smc(chan->func_id, 0, 0, 0, 0, 0, 0, 0, &res);
+ if (res.a0 == SMCCC_RET_NOT_SUPPORTED)
+ ret = -ENXIO;
+ else
+ ret = read_resp_from_smt(dev, &chan->shm_buf, msg);
+
+ clear_smt_channel(&chan->shm_buf);
+
+ return ret;
+}
+
+struct method_ops arm_smc_channel_ops = {
+ .process_msg = arm_smc_process_msg,
+};
+
+static int probe_arm_smc_channel(struct udevice *dev)
+{
+ struct scmi_agent *agent = dev_get_priv(dev);
+ struct scmi_arm_smc_channel *chan;
+ u32 func_id;
+ int ret;
+
+ chan = devm_kzalloc(dev, sizeof(*chan), GFP_KERNEL);
+ if (!chan)
+ return -ENOMEM;
+
+ if (dev_read_u32(dev, "arm,smc-id", &func_id)) {
+ dev_err(dev, "Missing property func-id\n");
+ return -EINVAL;
+ }
+
+ chan->func_id = func_id;
+
+ ret = get_shm_buffer(dev, &chan->shm_buf);
+ if (ret) {
+ dev_err(dev, "Failed to get shm resources: %d\n", ret);
+ return ret;
+ }
+
+ agent->method_ops = &arm_smc_channel_ops;
+ agent->method_priv = (void *)chan;
+
+ return 0;
+}
+#endif /* CONFIG_ARM_SMCCC */
+
+int scmi_send_and_process_msg(struct udevice *dev, struct scmi_msg *msg)
+{
+ struct scmi_agent *agent = dev_get_priv(dev);
+
+ return agent->method_ops->process_msg(dev, msg);
+}
+
+static int scmi_remove(struct udevice *dev)
+{
+ struct scmi_agent *agent = dev_get_priv(dev);
+
+ if (agent->method_ops->remove_agent)
+ return agent->method_ops->remove_agent(dev);
+
+ return 0;
+}
+
+static int scmi_probe(struct udevice *dev)
+{
+ switch (dev_get_driver_data(dev)) {
+ case SCMI_MAILBOX_TRANSPORT:
+ if (IS_ENABLED(CONFIG_DM_MAILBOX))
+ return probe_mailbox_channel(dev);
+ break;
+ case SCMI_ARM_SMCCC_TRANSPORT:
+ if (IS_ENABLED(CONFIG_ARM_SMCCC))
+ return probe_arm_smc_channel(dev);
+ break;
+ default:
+ break;
+ }
+
+ return -ENOENT;
+}
+
+static int scmi_bind(struct udevice *dev)
+{
+ int ret = 0;
+ ofnode node;
+ struct driver *drv;
+
+ dev_for_each_subnode(node, dev) {
+ u32 protocol_id;
+
+ if (!ofnode_is_available(node))
+ continue;
+
+ if (ofnode_read_u32(node, "reg", &protocol_id))
+ continue;
+
+ switch (protocol_id) {
+ default:
+ dev_info(dev, "Ignore unsupported SCMI protocol %u\n",
+ protocol_id);
+ continue;
+ }
+
+ ret = device_bind_ofnode(dev, drv, ofnode_get_name(node),
+ NULL, node, NULL);
+ if (ret)
+ break;
+ }
+
+ return ret;
+}
+
+static const struct udevice_id scmi_ids[] = {
+ { .compatible = "arm,scmi", .data = SCMI_MAILBOX_TRANSPORT },
+ { .compatible = "arm,scmi-smc", .data = SCMI_ARM_SMCCC_TRANSPORT },
+ { }
+};
+
+U_BOOT_DRIVER(scmi) = {
+ .name = "scmi",
+ .id = UCLASS_FIRMWARE,
+ .of_match = scmi_ids,
+ .priv_auto_alloc_size = sizeof(struct scmi_agent),
+ .bind = scmi_bind,
+ .probe = scmi_probe,
+ .remove = scmi_remove,
+ .flags = DM_FLAG_OS_PREPARE,
+};
diff --git a/include/scmi.h b/include/scmi.h
new file mode 100644
index 0000000000..a75d38916d
--- /dev/null
+++ b/include/scmi.h
@@ -0,0 +1,82 @@
+/* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
+/*
+ * Copyright (c) 2015-2019, Arm Limited and Contributors. All rights reserved.
+ * Copyright (C) 2019, Linaro Limited
+ */
+#ifndef SCMI_H
+#define SCMI_H
+
+#include <asm/types.h>
+
+/**
+ * An SCMI agent represent on communication path from a device driver to
+ * the remote SCMI server which driver sends messages to and receives
+ * response messages from.
+ */
+struct scmi_agent;
+
+enum scmi_std_protocol {
+ SCMI_PROTOCOL_ID_BASE = 0x10,
+ SCMI_PROTOCOL_ID_POWER_DOMAIN = 0x11,
+ SCMI_PROTOCOL_ID_SYSTEM = 0x12,
+ SCMI_PROTOCOL_ID_PERF = 0x13,
+ SCMI_PROTOCOL_ID_CLOCK = 0x14,
+ SCMI_PROTOCOL_ID_SENSOR = 0x15,
+ SCMI_PROTOCOL_ID_RESET_DOMAIN = 0x16,
+};
+
+enum scmi_status_code {
+ SCMI_SUCCESS = 0,
+ SCMI_NOT_SUPPORTED = -1,
+ SCMI_INVALID_PARAMETERS = -2,
+ SCMI_DENIED = -3,
+ SCMI_NOT_FOUND = -4,
+ SCMI_OUT_OF_RANGE = -5,
+ SCMI_BUSY = -6,
+ SCMI_COMMS_ERROR = -7,
+ SCMI_GENERIC_ERROR = -8,
+ SCMI_HARDWARE_ERROR = -9,
+ SCMI_PROTOCOL_ERROR = -10,
+};
+
+/*
+ * struct scmi_msg - Context of a SCMI message sent and the response received
+ *
+ * @protocol_id: SCMI protocol ID
+ * @message_id: SCMI message ID for a defined protocol ID
+ * @in_msg: Pointer to the message payload sent by the driver
+ * @in_msg_sz: Byte size of the message payload sent
+ * @out_msg: Pointer to buffer to store response message payload
+ * @out_msg_sz: Byte size of the response buffer or payload
+ */
+struct scmi_msg {
+ unsigned int protocol_id;
+ unsigned int message_id;
+ u8 *in_msg;
+ size_t in_msg_sz;
+ u8 *out_msg;
+ size_t out_msg_sz;
+};
+
+/**
+ * scmi_send_and_process_msg() - send and process a SCMI message
+ *
+ * Send a message to a SCMI server through a target SCMI agent device.
+ * Caller sets scmi_msg::out_msg_sz to the output message buffer size.
+ * On return, scmi_msg::out_msg_sz stores the response payload size.
+ *
+ * @dev: SCMI agent device
+ * @msg: Message structure reference
+ * @return 0 on success, a negative errno otherwise
+ */
+int scmi_send_and_process_msg(struct udevice *dev, struct scmi_msg *msg);
+
+/**
+ * scmi_to_linux_errno() - Convert an SCMI error code into a Linux errno code
+ *
+ * @scmi_errno: SCMI error code value
+ * @return 0 for successful status and a negative errno otherwise
+ */
+int scmi_to_linux_errno(s32 scmi_errno);
+
+#endif /* SCMI_H */
--
2.17.1
2
9
Hello Tom,
please pull from u-boot-i2c master
The following changes since commit 1aa3966173fe92fa3c46638ee8eb8b8491f521d6:
Merge tag 'u-boot-clk-24Aug2020' of https://gitlab.denx.de/u-boot/custodians/u-boot-clk
(2020-08-24 09:06:02 -0400)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-i2c.git tags/i2c-bugfixes-for-v2020.10
for you to fetch changes up to 660606091f12320210cb7ced018788b8028aab5f:
Link failure with CONFIG_SPL and CONFIG_I2C_MUX_PCA954x (2020-08-25 06:25:42 +0200)
----------------------------------------------------------------
i2c bugfixes for v2020.10
- fix some issues with octeon_i2c driver on ARM Octeon TX2
- fix link failure with CONFIG_SPL and CONFIG_I2C_MUX_PCA954x
----------------------------------------------------------------
Stefan Roese (1):
i2c: octeon_i2c: Misc fixes for ARM Octeon TX2 support
Trommel, Kees (Contractor) (1):
Link failure with CONFIG_SPL and CONFIG_I2C_MUX_PCA954x
drivers/i2c/Makefile | 2 +-
drivers/i2c/muxes/Makefile | 2 +-
drivers/i2c/octeon_i2c.c | 59 ++++++++++++++++++++++++++---------------------------------
3 files changed, 28 insertions(+), 35 deletions(-)
Travis build is fine:
https://travis-ci.org/github/hsdenx/u-boot-i2c/builds/720878061
Thanks!
bye,
Heiko
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: hs(a)denx.de
2
1
Hi Tom,
Please pull the rockchip updates/fixes:
- Fix rk3399 evb sdcard support
- Fix for SPL_LED support
Gitlab ci:
https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip/pipelines/4456
Thanks,
- Kever
The following changes since commit 2a4484a5c54cd64d5c4f8fd9aaa56f739d1b2b9d:
Merge branch '2020-08-19-mediatek-updates' (2020-08-20 08:38:10 -0400)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip.git tags/u-boot-rockchip-20200820
for you to fetch changes up to b5b81f2490628650137c9fee3679c995f5fac757:
rockchip: firefly-rk3288: Fix the code support for SPL_LED (2020-08-21 19:56:19 +0800)
----------------------------------------------------------------
Kever Yang (4):
rockchip: dts: rk3399-evb: add sdmmc node
rockchip: config: evb-rk3399: Add rockchip dwmmc support
rockchip: rk3188: Fix the code support for SPL_LED
rockchip: firefly-rk3288: Fix the code support for SPL_LED
arch/arm/dts/rk3399-evb-u-boot.dtsi | 13 +++++++++++++
arch/arm/mach-rockchip/rk3188/rk3188.c | 4 +++-
board/firefly/firefly-rk3288/firefly-rk3288.c | 4 +++-
configs/evb-rk3399_defconfig | 1 +
4 files changed, 20 insertions(+), 2 deletions(-)
2
1
Hi Tom,
Please pull some riscv updates:
- Sipeed Maix support S-mode.
- Provide command sbi.
- Use fdtdec_get_addr_size_auto_parent to get fu540 cache base address.
- Fix a compiler error with CONFIG_SPL_SMP=n.
- Fix sifive ram driver 32 compiler warnings.
- Fix kendryte/pll.h redefine nop() warning.
Thanks
Rick
https://travis-ci.org/github/rickchen36/u-boot-riscv/builds/720564636
The following changes since commit 1aa3966173fe92fa3c46638ee8eb8b8491f521d6:
Merge tag 'u-boot-clk-24Aug2020' of https://gitlab.denx.de/u-boot/custodians/u-boot-clk (2020-08-24 09:06:02 -0400)
are available in the Git repository at:
git@gitlab.denx.de:u-boot/custodians/u-boot-riscv.git
for you to fetch changes up to c92b50a44b95e706b9c0c97544bd7504fe6d36e9:
cmd: provide command sbi (2020-08-25 09:34:47 +0800)
----------------------------------------------------------------
Bin Meng (2):
riscv: fu540: Use correct API to get L2 cache controller base address
ram: sifive: Fix compiler warnings for 32-bit
Heinrich Schuchardt (4):
clk: kendryte/pll.h: do not redefine nop()
riscv: fix building with CONFIG_SPL_SMP=n
configs: defconfig for Sipeed Maix in S-mode
cmd: provide command sbi
arch/riscv/cpu/fu540/cache.c | 3 ++-
arch/riscv/include/asm/sbi.h | 2 ++
arch/riscv/lib/sbi.c | 36 ++++++++++++++++++++++++++++++++++++
arch/riscv/lib/spl.c | 2 +-
board/sipeed/maix/MAINTAINERS | 2 +-
cmd/Kconfig | 6 ++++++
cmd/riscv/Makefile | 1 +
cmd/riscv/sbi.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
configs/sipeed_maix_smode_defconfig | 10 ++++++++++
doc/board/sipeed/maix.rst | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
drivers/ram/sifive/fu540_ddr.c | 4 ++--
include/kendryte/pll.h | 5 +++++
12 files changed, 197 insertions(+), 5 deletions(-)
create mode 100644 cmd/riscv/sbi.c
create mode 100644 configs/sipeed_maix_smode_defconfig
2
1
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(a)konsulko.com>
Cc: Stefano Babic <sbabic(a)denx.de>
Cc: Fabio Estevam <festevam(a)gmail.com>
Cc: "NXP i.MX U-Boot Team" <uboot-imx(a)nxp.com>
Cc: Soeren Moch <smoch(a)web.de>
Cc: Markus Niebel <Markus.Niebel(a)tq-group.com>
Cc: Igor Opaniuk <igor.opaniuk(a)toradex.com>
Cc: Heiko Schocher <hs(a)denx.de>
Cc: Hannes Schmelzer <hannes.schmelzer(a)br-automation.com>
Cc: Otavio Salvador <otavio(a)ossystems.com.br>
Cc: Nikita Kiryanov <nikita(a)compulab.co.il>
Cc: Andreas Geisreiter <ageisreiter(a)dh-electronics.de>
Cc: Ludwig Zenz <lzenz(a)dh-electronics.de>
Cc: Lukasz Majewski <lukma(a)denx.de>
Cc: Akshay Bhat <akshaybhat(a)timesys.com>
Cc: Ken Lin <Ken.Lin(a)advantech.com.tw>
Cc: Ian Ray <ian.ray(a)ge.com>
Cc: Tim Harvey <tharvey(a)gateworks.com>
Cc: Jagan Teki <jagan(a)amarulasolutions.com>
Cc: Raffaele RECALCATI <raffaele.recalcati(a)bticino.it>
Cc: Simone CIANNI <simone.cianni(a)bticino.it>
Cc: Adam Ford <aford173(a)gmail.com>
Cc: Marcin Niestroj <m.niestroj(a)grinn-global.com>
Cc: "Eric Bénard" <eric(a)eukrea.com>
Cc: Baruch Siach <baruch(a)tkos.co.il>
Cc: Jason Liu <jason.hui.liu(a)nxp.com>
Cc: Ye Li <ye.li(a)nxp.com>
Cc: Eric Nelson <eric(a)nelint.com>
Cc: Troy Kisky <troy.kisky(a)boundarydevices.com>
Cc: Peng Fan <peng.fan(a)nxp.com>
Cc: Parthiban Nallathambi <parthiban(a)linumiz.com>
Cc: Marek Vasut <marex(a)denx.de>
Cc: "Sébastien Szymanski" <sebastien.szymanski(a)armadeus.com>
Cc: Christian Gmeiner <christian.gmeiner(a)gmail.com>
Cc: Niel Fourie <lusus(a)denx.de>
Cc: Martyn Welch <martyn.welch(a)collabora.com>
Cc: Richard Hu <richard.hu(a)technexion.com>
Cc: Stefan Roese <sr(a)denx.de>
Cc: Boris Brezillon <bbrezillon(a)kernel.org>
Cc: Arkadiusz Karas <arkadiusz.karas(a)somlabs.com>
Cc: Breno Lima <breno.lima(a)nxp.com>
Cc: Francesco Montefoschi <francesco.montefoschi(a)udoo.org>
Cc: Silvio Fricke <open-source(a)softing.de>
Tested-by: Matt Porter <mporter(a)konsulko.com> [colibri_imx6]
Signed-off-by: Tom Rini <trini(a)konsulko.com>
---
Changes in v2:
- Fix LITESOM / OPOS6UL as noted by Peng Fan / Stefano Babic
---
arch/arm/mach-imx/mx6/Kconfig | 134 ++++++++++++----------
board/seco/Kconfig | 6 +-
board/tbs/tbs2910/Kconfig | 3 -
board/tqc/tqma6/Kconfig | 6 +-
configs/apalis_imx6_defconfig | 3 +-
configs/aristainetos2_defconfig | 1 +
configs/aristainetos2b_defconfig | 1 +
configs/aristainetos2bcsl_defconfig | 1 +
configs/aristainetos2c_defconfig | 1 +
configs/brppt2_defconfig | 1 +
configs/cgtqmx6eval_defconfig | 1 +
configs/cm_fx6_defconfig | 1 +
configs/colibri-imx6ull_defconfig | 3 +-
configs/colibri_imx6_defconfig | 3 +-
configs/dh_imx6_defconfig | 1 +
configs/display5_defconfig | 3 +-
configs/display5_factory_defconfig | 3 +-
configs/dms-ba16-1g_defconfig | 1 +
configs/dms-ba16_defconfig | 1 +
configs/ge_bx50v3_defconfig | 1 +
configs/gwventana_emmc_defconfig | 1 +
configs/gwventana_gw5904_defconfig | 1 +
configs/gwventana_nand_defconfig | 1 +
configs/imx6dl_icore_nand_defconfig | 1 +
configs/imx6dl_mamoj_defconfig | 1 +
configs/imx6q_icore_nand_defconfig | 1 +
configs/imx6q_logic_defconfig | 1 +
configs/imx6qdl_icore_mipi_defconfig | 1 +
configs/imx6qdl_icore_mmc_defconfig | 1 +
configs/imx6qdl_icore_nand_defconfig | 1 +
configs/imx6qdl_icore_rqs_defconfig | 1 +
configs/imx6ul_geam_mmc_defconfig | 1 +
configs/imx6ul_geam_nand_defconfig | 1 +
configs/imx6ul_isiot_emmc_defconfig | 1 +
configs/imx6ul_isiot_nand_defconfig | 1 +
configs/kp_imx6q_tpc_defconfig | 1 +
configs/liteboard_defconfig | 1 +
configs/marsboard_defconfig | 3 +-
configs/mccmon6_nor_defconfig | 1 +
configs/mccmon6_sd_defconfig | 1 +
configs/mx6cuboxi_defconfig | 1 +
configs/mx6dlarm2_defconfig | 3 +-
configs/mx6dlarm2_lpddr2_defconfig | 3 +-
configs/mx6memcal_defconfig | 3 +-
configs/mx6qarm2_defconfig | 3 +-
configs/mx6qarm2_lpddr2_defconfig | 3 +-
configs/mx6qsabrelite_defconfig | 3 +-
configs/mx6sabreauto_defconfig | 1 +
configs/mx6sabresd_defconfig | 1 +
configs/mx6slevk_defconfig | 1 +
configs/mx6slevk_spinor_defconfig | 1 +
configs/mx6slevk_spl_defconfig | 1 +
configs/mx6sllevk_defconfig | 1 +
configs/mx6sllevk_plugin_defconfig | 1 +
configs/mx6sxsabreauto_defconfig | 1 +
configs/mx6sxsabresd_defconfig | 1 +
configs/mx6ul_14x14_evk_defconfig | 1 +
configs/mx6ul_9x9_evk_defconfig | 1 +
configs/mx6ull_14x14_evk_defconfig | 1 +
configs/mx6ull_14x14_evk_plugin_defconfig | 1 +
configs/mx6ulz_14x14_evk_defconfig | 1 +
configs/myir_mys_6ulx_defconfig | 1 +
configs/nitrogen6dl2g_defconfig | 3 +-
configs/nitrogen6dl_defconfig | 3 +-
configs/nitrogen6q2g_defconfig | 3 +-
configs/nitrogen6q_defconfig | 3 +-
configs/nitrogen6s1g_defconfig | 3 +-
configs/nitrogen6s_defconfig | 3 +-
configs/novena_defconfig | 3 +-
configs/opos6uldev_defconfig | 1 +
configs/ot1200_defconfig | 3 +-
configs/ot1200_spl_defconfig | 3 +-
configs/pcm058_defconfig | 3 +-
configs/pfla02_defconfig | 1 +
configs/phycore_pcl063_defconfig | 1 +
configs/phycore_pcl063_ull_defconfig | 1 +
configs/pico-dwarf-imx6ul_defconfig | 1 +
configs/pico-hobbit-imx6ul_defconfig | 1 +
configs/pico-imx6_defconfig | 1 +
configs/pico-imx6ul_defconfig | 1 +
configs/pico-pi-imx6ul_defconfig | 1 +
configs/platinum_picon_defconfig | 3 +-
configs/platinum_titanium_defconfig | 3 +-
configs/riotboard_defconfig | 3 +-
configs/riotboard_spl_defconfig | 3 +-
configs/secomx6quq7_defconfig | 1 +
configs/sksimx6_defconfig | 3 +-
configs/somlabs_visionsom_6ull_defconfig | 1 +
configs/tbs2910_defconfig | 1 +
configs/titanium_defconfig | 1 +
configs/tqma6dl_mba6_mmc_defconfig | 2 +-
configs/tqma6dl_mba6_spi_defconfig | 2 +-
configs/tqma6q_mba6_mmc_defconfig | 1 +
configs/tqma6q_mba6_spi_defconfig | 1 +
configs/tqma6s_mba6_mmc_defconfig | 2 +-
configs/tqma6s_mba6_spi_defconfig | 2 +-
configs/tqma6s_wru4_mmc_defconfig | 2 +-
configs/udoo_defconfig | 1 +
configs/udoo_neo_defconfig | 1 +
configs/variscite_dart6ul_defconfig | 1 +
configs/vining_2000_defconfig | 1 +
configs/wandboard_defconfig | 1 +
configs/warp_defconfig | 1 +
configs/xpress_defconfig | 1 +
configs/xpress_spl_defconfig | 1 +
configs/zc5202_defconfig | 3 +-
configs/zc5601_defconfig | 3 +-
include/configs/titanium.h | 2 -
108 files changed, 210 insertions(+), 107 deletions(-)
diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig
index 17173f983924..3d72517fa1df 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
diff --git a/board/seco/Kconfig b/board/seco/Kconfig
index af1669733f19..12dd965ad52a 100644
--- a/board/seco/Kconfig
+++ b/board/seco/Kconfig
@@ -21,15 +21,15 @@ choice
config SECOMX6Q
bool "i.MX6Q"
- select MX6Q
+ depends on MX6Q
config SECOMX6DL
bool "i.MX6DL"
- select MX6DL
+ depends on MX6DL
config SECOMX6S
bool "i.MX6S"
- select MX6S
+ depends on MX6S
endchoice
diff --git a/board/tbs/tbs2910/Kconfig b/board/tbs/tbs2910/Kconfig
index 2e5e1d492a52..d0ff2191a8ad 100644
--- a/board/tbs/tbs2910/Kconfig
+++ b/board/tbs/tbs2910/Kconfig
@@ -9,9 +9,6 @@ config SYS_VENDOR
config SYS_CONFIG_NAME
default "tbs2910"
-config MX6Q
- default y
-
config IMX_CONFIG
default "board/tbs/tbs2910/tbs2910.cfg"
diff --git a/board/tqc/tqma6/Kconfig b/board/tqc/tqma6/Kconfig
index 084fdb5230e9..0cf6d8303809 100644
--- a/board/tqc/tqma6/Kconfig
+++ b/board/tqc/tqma6/Kconfig
@@ -18,19 +18,19 @@ choice
config TQMA6Q
bool "TQMa6Q / TQMa6D"
- select MX6Q
+ depends on MX6Q
help
select TQMa6Q / TQMa6D with i.MX6Q/D and 1GiB DRAM
config TQMA6DL
bool "TQMa6DL"
- select MX6DL
+ depends on MX6DL
help
select TQMa6DL with i.MX6DL and 1GiB DRAM
config TQMA6S
bool "TQMa6S"
- select MX6S
+ depends on MX6S
help
select TQMa6S with i.MX6S and 512 MiB DRAM
diff --git a/configs/apalis_imx6_defconfig b/configs/apalis_imx6_defconfig
index 22ddbe71ba96..ec6f782f515a 100644
--- a/configs/apalis_imx6_defconfig
+++ b/configs/apalis_imx6_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xFFFFDE00
+CONFIG_MX6Q=y
CONFIG_TARGET_APALIS_IMX6=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
@@ -18,7 +19,7 @@ CONFIG_DEFAULT_DEVICE_TREE="imx6-apalis"
CONFIG_AHCI=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6Q"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_BOOTDELAY=1
CONFIG_MISC_INIT_R=y
CONFIG_VERSION_VARIABLE=y
diff --git a/configs/aristainetos2_defconfig b/configs/aristainetos2_defconfig
index 18312f921a3e..8aeee5d8bd83 100644
--- a/configs/aristainetos2_defconfig
+++ b/configs/aristainetos2_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_SYS_MALLOC_F_LEN=0xe000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_OFFSET=0xD0000
+CONFIG_MX6DL=y
CONFIG_TARGET_ARISTAINETOS2=y
CONFIG_DM_GPIO=y
CONFIG_ENV_OFFSET_REDUND=0xE0000
diff --git a/configs/aristainetos2b_defconfig b/configs/aristainetos2b_defconfig
index 82280bc00054..7e2cf085e9e6 100644
--- a/configs/aristainetos2b_defconfig
+++ b/configs/aristainetos2b_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_SYS_MALLOC_F_LEN=0xe000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_OFFSET=0xD0000
+CONFIG_MX6DL=y
CONFIG_TARGET_ARISTAINETOS2B=y
CONFIG_DM_GPIO=y
CONFIG_ENV_OFFSET_REDUND=0xE0000
diff --git a/configs/aristainetos2bcsl_defconfig b/configs/aristainetos2bcsl_defconfig
index 377228306b72..5b35bd3a431d 100644
--- a/configs/aristainetos2bcsl_defconfig
+++ b/configs/aristainetos2bcsl_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_SYS_MALLOC_F_LEN=0xe000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_OFFSET=0xD0000
+CONFIG_MX6DL=y
CONFIG_TARGET_ARISTAINETOS2BCSL=y
CONFIG_DM_GPIO=y
CONFIG_ENV_OFFSET_REDUND=0xE0000
diff --git a/configs/aristainetos2c_defconfig b/configs/aristainetos2c_defconfig
index 63914535ea0c..1bbdc1db943d 100644
--- a/configs/aristainetos2c_defconfig
+++ b/configs/aristainetos2c_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_SYS_MALLOC_F_LEN=0xe000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_OFFSET=0xD0000
+CONFIG_MX6DL=y
CONFIG_TARGET_ARISTAINETOS2C=y
CONFIG_DM_GPIO=y
CONFIG_ENV_OFFSET_REDUND=0xE0000
diff --git a/configs/brppt2_defconfig b/configs/brppt2_defconfig
index d6f7ea2bc72a..9844f36f6042 100644
--- a/configs/brppt2_defconfig
+++ b/configs/brppt2_defconfig
@@ -13,6 +13,7 @@ CONFIG_ENV_SIZE=0x10000
CONFIG_ENV_OFFSET=0x20000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_SYS_SPI_U_BOOT_OFFS=0x100000
+CONFIG_MX6QDL=y
CONFIG_TARGET_BRPPT2=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SYS_BOOTCOUNT_ADDR=0x020CC068
diff --git a/configs/cgtqmx6eval_defconfig b/configs/cgtqmx6eval_defconfig
index 520991869e0d..140aac59e3bf 100644
--- a/configs/cgtqmx6eval_defconfig
+++ b/configs/cgtqmx6eval_defconfig
@@ -9,6 +9,7 @@ CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
+CONFIG_MX6QDL=y
CONFIG_TARGET_CGTQMX6EVAL=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/cm_fx6_defconfig b/configs/cm_fx6_defconfig
index 3b1681804110..25eecb61adb5 100644
--- a/configs/cm_fx6_defconfig
+++ b/configs/cm_fx6_defconfig
@@ -9,6 +9,7 @@ CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
+CONFIG_MX6QDL=y
CONFIG_TARGET_CM_FX6=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index a1f6cf1a16d9..19139cf06518 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -4,12 +4,13 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x380000
+CONFIG_MX6ULL=y
CONFIG_TARGET_COLIBRI_IMX6ULL=y
CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="imx6ull-colibri"
CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri-imx6ull/imximage.cfg,MX6ULL,IMX_NAND"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri-imx6ull/imximage.cfg,IMX_NAND"
CONFIG_BOOTDELAY=1
# CONFIG_USE_BOOTCOMMAND is not set
# CONFIG_CONSOLE_MUX is not set
diff --git a/configs/colibri_imx6_defconfig b/configs/colibri_imx6_defconfig
index 9506b91f3d28..4885ed6121a7 100644
--- a/configs/colibri_imx6_defconfig
+++ b/configs/colibri_imx6_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xFFFFDE00
+CONFIG_MX6DL=y
CONFIG_TARGET_COLIBRI_IMX6=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
@@ -17,7 +18,7 @@ CONFIG_CMD_HDMIDETECT=y
CONFIG_DEFAULT_DEVICE_TREE="imx6-colibri"
CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6DL"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_BOOTDELAY=1
CONFIG_MISC_INIT_R=y
CONFIG_VERSION_VARIABLE=y
diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig
index 72797c0ea12a..a48e82155cda 100644
--- a/configs/dh_imx6_defconfig
+++ b/configs/dh_imx6_defconfig
@@ -9,6 +9,7 @@ CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x100000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_SYS_SPI_U_BOOT_OFFS=0x11400
+CONFIG_MX6QDL=y
CONFIG_MX6_DDRCAL=y
CONFIG_TARGET_DHCOMIMX6=y
CONFIG_DM_GPIO=y
diff --git a/configs/display5_defconfig b/configs/display5_defconfig
index 9e3f165c3930..2d96f883bd8b 100644
--- a/configs/display5_defconfig
+++ b/configs/display5_defconfig
@@ -10,6 +10,7 @@ CONFIG_ENV_SIZE=0x10000
CONFIG_ENV_OFFSET=0x120000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
+CONFIG_MX6Q=y
CONFIG_MX6_DDRCAL=y
CONFIG_TARGET_DISPLAY5=y
CONFIG_SYS_I2C_MXC_I2C1=y
@@ -31,7 +32,7 @@ CONFIG_FIT=y
CONFIG_SPL_LOAD_FIT=y
# CONFIG_USE_SPL_FIT_GENERATOR is not set
CONFIG_OF_BOARD_SETUP=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6Q"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_SUPPORT_RAW_INITRD=y
CONFIG_MISC_INIT_R=y
CONFIG_BOUNCE_BUFFER=y
diff --git a/configs/display5_factory_defconfig b/configs/display5_factory_defconfig
index 7a11b34755e4..476cada371da 100644
--- a/configs/display5_factory_defconfig
+++ b/configs/display5_factory_defconfig
@@ -10,6 +10,7 @@ CONFIG_ENV_SIZE=0x10000
CONFIG_ENV_OFFSET=0x120000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000
+CONFIG_MX6Q=y
CONFIG_MX6_DDRCAL=y
CONFIG_TARGET_DISPLAY5=y
CONFIG_SYS_I2C_MXC_I2C1=y
@@ -28,7 +29,7 @@ CONFIG_FIT=y
CONFIG_SPL_LOAD_FIT=y
# CONFIG_USE_SPL_FIT_GENERATOR is not set
CONFIG_OF_BOARD_SETUP=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6Q"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_BOOTDELAY=3
CONFIG_USE_BOOTCOMMAND=y
CONFIG_BOOTCOMMAND="echo SDP Display5 recovery"
diff --git a/configs/dms-ba16-1g_defconfig b/configs/dms-ba16-1g_defconfig
index 8dcbf527b2d5..dc2f85004796 100644
--- a/configs/dms-ba16-1g_defconfig
+++ b/configs/dms-ba16-1g_defconfig
@@ -5,6 +5,7 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x10000
+CONFIG_MX6Q=y
CONFIG_TARGET_ADVANTECH_DMS_BA16=y
CONFIG_SYS_DDR_1G=y
CONFIG_BOOTDELAY=1
diff --git a/configs/dms-ba16_defconfig b/configs/dms-ba16_defconfig
index f26f66837fee..edf22e62eb80 100644
--- a/configs/dms-ba16_defconfig
+++ b/configs/dms-ba16_defconfig
@@ -5,6 +5,7 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x10000
+CONFIG_MX6Q=y
CONFIG_TARGET_ADVANTECH_DMS_BA16=y
CONFIG_BOOTDELAY=1
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
diff --git a/configs/ge_bx50v3_defconfig b/configs/ge_bx50v3_defconfig
index 59151dbaaced..84913f5771ef 100644
--- a/configs/ge_bx50v3_defconfig
+++ b/configs/ge_bx50v3_defconfig
@@ -6,6 +6,7 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x10000
+CONFIG_MX6Q=y
CONFIG_TARGET_GE_BX50V3=y
CONFIG_DM_GPIO=y
CONFIG_BOOTCOUNT_BOOTLIMIT=10
diff --git a/configs/gwventana_emmc_defconfig b/configs/gwventana_emmc_defconfig
index 537cbdf15215..ca119821fc97 100644
--- a/configs/gwventana_emmc_defconfig
+++ b/configs/gwventana_emmc_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0xB1400
+CONFIG_MX6QDL=y
CONFIG_TARGET_GW_VENTANA=y
CONFIG_CMD_EECONFIG=y
CONFIG_CMD_GSC=y
diff --git a/configs/gwventana_gw5904_defconfig b/configs/gwventana_gw5904_defconfig
index 16ac54fb45cd..dde1665c5053 100644
--- a/configs/gwventana_gw5904_defconfig
+++ b/configs/gwventana_gw5904_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0xB1400
+CONFIG_MX6QDL=y
CONFIG_TARGET_GW_VENTANA=y
CONFIG_CMD_EECONFIG=y
CONFIG_CMD_GSC=y
diff --git a/configs/gwventana_nand_defconfig b/configs/gwventana_nand_defconfig
index 94d42a415fb5..834eaa649fea 100644
--- a/configs/gwventana_nand_defconfig
+++ b/configs/gwventana_nand_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x1000000
+CONFIG_MX6QDL=y
CONFIG_TARGET_GW_VENTANA=y
CONFIG_CMD_EECONFIG=y
CONFIG_CMD_GSC=y
diff --git a/configs/imx6dl_icore_nand_defconfig b/configs/imx6dl_icore_nand_defconfig
index 9fde251387d6..b601dfc1654d 100644
--- a/configs/imx6dl_icore_nand_defconfig
+++ b/configs/imx6dl_icore_nand_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x400000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MX6Q_ENGICAM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/imx6dl_mamoj_defconfig b/configs/imx6dl_mamoj_defconfig
index 395cd49ddbaa..9295509f0624 100644
--- a/configs/imx6dl_mamoj_defconfig
+++ b/configs/imx6dl_mamoj_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MX6DL_MAMOJ=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_IMX_HAB=y
diff --git a/configs/imx6q_icore_nand_defconfig b/configs/imx6q_icore_nand_defconfig
index 9fe5c8f058c1..735233332de6 100644
--- a/configs/imx6q_icore_nand_defconfig
+++ b/configs/imx6q_icore_nand_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x400000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MX6Q_ENGICAM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/imx6q_logic_defconfig b/configs/imx6q_logic_defconfig
index 35dfd8a30345..b8053181cb27 100644
--- a/configs/imx6q_logic_defconfig
+++ b/configs/imx6q_logic_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x100000
CONFIG_ENV_OFFSET=0x400000
+CONFIG_MX6Q=y
CONFIG_MX6_OCRAM_256KB=y
CONFIG_TARGET_MX6LOGICPD=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/imx6qdl_icore_mipi_defconfig b/configs/imx6qdl_icore_mipi_defconfig
index 78ad25c82fdd..1870e8667a82 100644
--- a/configs/imx6qdl_icore_mipi_defconfig
+++ b/configs/imx6qdl_icore_mipi_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MX6Q_ENGICAM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/imx6qdl_icore_mmc_defconfig b/configs/imx6qdl_icore_mmc_defconfig
index 4f236399e1be..5ca5808ca2d9 100644
--- a/configs/imx6qdl_icore_mmc_defconfig
+++ b/configs/imx6qdl_icore_mmc_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MX6Q_ENGICAM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/imx6qdl_icore_nand_defconfig b/configs/imx6qdl_icore_nand_defconfig
index 9fe5c8f058c1..735233332de6 100644
--- a/configs/imx6qdl_icore_nand_defconfig
+++ b/configs/imx6qdl_icore_nand_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x400000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MX6Q_ENGICAM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/imx6qdl_icore_rqs_defconfig b/configs/imx6qdl_icore_rqs_defconfig
index b24b026dbe0e..d56ac591fa19 100644
--- a/configs/imx6qdl_icore_rqs_defconfig
+++ b/configs/imx6qdl_icore_rqs_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MX6Q_ENGICAM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/imx6ul_geam_mmc_defconfig b/configs/imx6ul_geam_mmc_defconfig
index 0de925961899..2d483dca9662 100644
--- a/configs/imx6ul_geam_mmc_defconfig
+++ b/configs/imx6ul_geam_mmc_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6UL=y
CONFIG_TARGET_MX6UL_ENGICAM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/imx6ul_geam_nand_defconfig b/configs/imx6ul_geam_nand_defconfig
index 73c7a75b2c16..31d11c56ffe5 100644
--- a/configs/imx6ul_geam_nand_defconfig
+++ b/configs/imx6ul_geam_nand_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x400000
+CONFIG_MX6UL=y
CONFIG_TARGET_MX6UL_ENGICAM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/imx6ul_isiot_emmc_defconfig b/configs/imx6ul_isiot_emmc_defconfig
index d5a4e90699b3..57a323c8d349 100644
--- a/configs/imx6ul_isiot_emmc_defconfig
+++ b/configs/imx6ul_isiot_emmc_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6UL=y
CONFIG_TARGET_MX6UL_ENGICAM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/imx6ul_isiot_nand_defconfig b/configs/imx6ul_isiot_nand_defconfig
index b4db4a54be39..4d2fdf17b68d 100644
--- a/configs/imx6ul_isiot_nand_defconfig
+++ b/configs/imx6ul_isiot_nand_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x400000
+CONFIG_MX6UL=y
CONFIG_TARGET_MX6UL_ENGICAM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
diff --git a/configs/kp_imx6q_tpc_defconfig b/configs/kp_imx6q_tpc_defconfig
index d88f515a82f9..deac7dc6feb1 100644
--- a/configs/kp_imx6q_tpc_defconfig
+++ b/configs/kp_imx6q_tpc_defconfig
@@ -8,6 +8,7 @@ CONFIG_SYS_MALLOC_F_LEN=0x2200
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6QDL=y
CONFIG_MX6_DDRCAL=y
CONFIG_TARGET_KP_IMX6Q_TPC=y
CONFIG_SYS_I2C_MXC_I2C1=y
diff --git a/configs/liteboard_defconfig b/configs/liteboard_defconfig
index d0b79e614b0b..38b9a7bce1ce 100644
--- a/configs/liteboard_defconfig
+++ b/configs/liteboard_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x80000
+CONFIG_MX6UL=y
CONFIG_TARGET_LITEBOARD=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/marsboard_defconfig b/configs/marsboard_defconfig
index 0d2b9b3cf755..bed1f5cbc715 100644
--- a/configs/marsboard_defconfig
+++ b/configs/marsboard_defconfig
@@ -5,9 +5,10 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x2000
+CONFIG_MX6Q=y
CONFIG_TARGET_EMBESTMX6BOARDS=y
CONFIG_DISTRO_DEFAULTS=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,DDR_MB=1024"
CONFIG_BOOTCOMMAND="run finduuid; run distro_bootcmd"
# CONFIG_CONSOLE_MUX is not set
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
diff --git a/configs/mccmon6_nor_defconfig b/configs/mccmon6_nor_defconfig
index b4f6aa2ba3c8..691718559769 100644
--- a/configs/mccmon6_nor_defconfig
+++ b/configs/mccmon6_nor_defconfig
@@ -6,6 +6,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_SECT_SIZE=0x20000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MCCMON6=y
CONFIG_SYS_I2C_MXC_I2C1=y
CONFIG_SYS_I2C_MXC_I2C2=y
diff --git a/configs/mccmon6_sd_defconfig b/configs/mccmon6_sd_defconfig
index 888c86298312..b7b5453bfe9a 100644
--- a/configs/mccmon6_sd_defconfig
+++ b/configs/mccmon6_sd_defconfig
@@ -6,6 +6,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_SECT_SIZE=0x20000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MCCMON6=y
CONFIG_SYS_I2C_MXC_I2C1=y
CONFIG_SYS_I2C_MXC_I2C2=y
diff --git a/configs/mx6cuboxi_defconfig b/configs/mx6cuboxi_defconfig
index dcc28c576e2d..41a929efc35b 100644
--- a/configs/mx6cuboxi_defconfig
+++ b/configs/mx6cuboxi_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xFE000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MX6CUBOXI=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/mx6dlarm2_defconfig b/configs/mx6dlarm2_defconfig
index 5c6fc53983fb..ae83a9f7438b 100644
--- a/configs/mx6dlarm2_defconfig
+++ b/configs/mx6dlarm2_defconfig
@@ -4,9 +4,10 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6DL=y
CONFIG_TARGET_MX6QARM2=y
# CONFIG_CMD_BMODE is not set
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qarm2/imximage_mx6dl.cfg,MX6DL,DDR_MB=2048"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qarm2/imximage_mx6dl.cfg,DDR_MB=2048"
CONFIG_BOOTDELAY=3
CONFIG_SUPPORT_RAW_INITRD=y
CONFIG_BOUNCE_BUFFER=y
diff --git a/configs/mx6dlarm2_lpddr2_defconfig b/configs/mx6dlarm2_lpddr2_defconfig
index 2882bab6dc7e..32b60863e97c 100644
--- a/configs/mx6dlarm2_lpddr2_defconfig
+++ b/configs/mx6dlarm2_lpddr2_defconfig
@@ -4,9 +4,10 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6DL=y
CONFIG_TARGET_MX6QARM2=y
# CONFIG_CMD_BMODE is not set
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qarm2/imximage_mx6dl.cfg,MX6DL,MX6DL_LPDDR2,DDR_MB=512"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qarm2/imximage_mx6dl.cfg,MX6DL_LPDDR2,DDR_MB=512"
CONFIG_BOOTDELAY=3
CONFIG_SUPPORT_RAW_INITRD=y
CONFIG_BOUNCE_BUFFER=y
diff --git a/configs/mx6memcal_defconfig b/configs/mx6memcal_defconfig
index 32f721568327..15990914eff4 100644
--- a/configs/mx6memcal_defconfig
+++ b/configs/mx6memcal_defconfig
@@ -5,12 +5,13 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
+CONFIG_MX6QDL=y
CONFIG_MX6_DDRCAL=y
CONFIG_TARGET_MX6MEMCAL=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,SPL,MX6QDL"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,SPL"
CONFIG_SUPPORT_RAW_INITRD=y
CONFIG_BOUNCE_BUFFER=y
CONFIG_SPL_USB_HOST_SUPPORT=y
diff --git a/configs/mx6qarm2_defconfig b/configs/mx6qarm2_defconfig
index 12ece7ba8212..f4f699c0806c 100644
--- a/configs/mx6qarm2_defconfig
+++ b/configs/mx6qarm2_defconfig
@@ -4,9 +4,10 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6Q=y
CONFIG_TARGET_MX6QARM2=y
# CONFIG_CMD_BMODE is not set
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qarm2/imximage.cfg,MX6Q,DDR_MB=2048"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qarm2/imximage.cfg,DDR_MB=2048"
CONFIG_BOOTDELAY=3
CONFIG_SUPPORT_RAW_INITRD=y
CONFIG_BOUNCE_BUFFER=y
diff --git a/configs/mx6qarm2_lpddr2_defconfig b/configs/mx6qarm2_lpddr2_defconfig
index ed767f0dffc9..907510be09f9 100644
--- a/configs/mx6qarm2_lpddr2_defconfig
+++ b/configs/mx6qarm2_lpddr2_defconfig
@@ -4,9 +4,10 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6Q=y
CONFIG_TARGET_MX6QARM2=y
# CONFIG_CMD_BMODE is not set
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qarm2/imximage.cfg,MX6Q,MX6DQ_LPDDR2,DDR_MB=512"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qarm2/imximage.cfg,MX6DQ_LPDDR2,DDR_MB=512"
CONFIG_BOOTDELAY=3
CONFIG_SUPPORT_RAW_INITRD=y
CONFIG_BOUNCE_BUFFER=y
diff --git a/configs/mx6qsabrelite_defconfig b/configs/mx6qsabrelite_defconfig
index 216e21ad79d2..d85f831471e2 100644
--- a/configs/mx6qsabrelite_defconfig
+++ b/configs/mx6qsabrelite_defconfig
@@ -5,13 +5,14 @@ CONFIG_SYS_MALLOC_F_LEN=0x4000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6Q=y
CONFIG_TARGET_NITROGEN6X=y
CONFIG_DM_GPIO=y
CONFIG_CMD_HDMIDETECT=y
CONFIG_DEFAULT_DEVICE_TREE="imx6q-sabrelite"
CONFIG_AHCI=y
CONFIG_DISTRO_DEFAULTS=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024,SABRELITE"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,DDR_MB=1024,SABRELITE"
CONFIG_BOOTDELAY=3
# CONFIG_USE_BOOTCOMMAND is not set
CONFIG_USE_PREBOOT=y
diff --git a/configs/mx6sabreauto_defconfig b/configs/mx6sabreauto_defconfig
index 0065a3417d5f..2c61cf512554 100644
--- a/configs/mx6sabreauto_defconfig
+++ b/configs/mx6sabreauto_defconfig
@@ -8,6 +8,7 @@ CONFIG_SYS_MALLOC_F_LEN=0x4000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MX6SABREAUTO=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig
index 69e114220533..dce8b568e3f8 100644
--- a/configs/mx6sabresd_defconfig
+++ b/configs/mx6sabresd_defconfig
@@ -8,6 +8,7 @@ CONFIG_SYS_MALLOC_F_LEN=0x4000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6QDL=y
CONFIG_TARGET_MX6SABRESD=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/mx6slevk_defconfig b/configs/mx6slevk_defconfig
index 9d74ce42c275..ff811a9f8656 100644
--- a/configs/mx6slevk_defconfig
+++ b/configs/mx6slevk_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x80000
+CONFIG_MX6SL=y
CONFIG_TARGET_MX6SLEVK=y
CONFIG_DM_GPIO=y
# CONFIG_CMD_BMODE is not set
diff --git a/configs/mx6slevk_spinor_defconfig b/configs/mx6slevk_spinor_defconfig
index 575c408e0b72..f9d18ce03921 100644
--- a/configs/mx6slevk_spinor_defconfig
+++ b/configs/mx6slevk_spinor_defconfig
@@ -5,6 +5,7 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x10000
+CONFIG_MX6SL=y
CONFIG_TARGET_MX6SLEVK=y
CONFIG_DM_GPIO=y
# CONFIG_CMD_BMODE is not set
diff --git a/configs/mx6slevk_spl_defconfig b/configs/mx6slevk_spl_defconfig
index 35741699b8cb..99c4cdfae7d2 100644
--- a/configs/mx6slevk_spl_defconfig
+++ b/configs/mx6slevk_spl_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x80000
+CONFIG_MX6SL=y
CONFIG_TARGET_MX6SLEVK=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/mx6sllevk_defconfig b/configs/mx6sllevk_defconfig
index a0e316432189..67213c75d390 100644
--- a/configs/mx6sllevk_defconfig
+++ b/configs/mx6sllevk_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6SLL=y
CONFIG_TARGET_MX6SLLEVK=y
CONFIG_DM_GPIO=y
# CONFIG_CMD_BMODE is not set
diff --git a/configs/mx6sllevk_plugin_defconfig b/configs/mx6sllevk_plugin_defconfig
index 6753a880ed46..6f249d62d43b 100644
--- a/configs/mx6sllevk_plugin_defconfig
+++ b/configs/mx6sllevk_plugin_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6SLL=y
CONFIG_TARGET_MX6SLLEVK=y
CONFIG_DM_GPIO=y
CONFIG_USE_IMXIMG_PLUGIN=y
diff --git a/configs/mx6sxsabreauto_defconfig b/configs/mx6sxsabreauto_defconfig
index 75709a0e4c27..d018de7feb48 100644
--- a/configs/mx6sxsabreauto_defconfig
+++ b/configs/mx6sxsabreauto_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x80000
+CONFIG_MX6SX=y
CONFIG_TARGET_MX6SXSABREAUTO=y
CONFIG_DM_GPIO=y
# CONFIG_CMD_BMODE is not set
diff --git a/configs/mx6sxsabresd_defconfig b/configs/mx6sxsabresd_defconfig
index ee498fdbbf6b..7d5450d598f8 100644
--- a/configs/mx6sxsabresd_defconfig
+++ b/configs/mx6sxsabresd_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xE0000
+CONFIG_MX6SX=y
CONFIG_TARGET_MX6SXSABRESD=y
CONFIG_DM_GPIO=y
# CONFIG_CMD_BMODE is not set
diff --git a/configs/mx6ul_14x14_evk_defconfig b/configs/mx6ul_14x14_evk_defconfig
index c60e69d445d4..583bd1a90e1e 100644
--- a/configs/mx6ul_14x14_evk_defconfig
+++ b/configs/mx6ul_14x14_evk_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6UL=y
CONFIG_TARGET_MX6UL_14X14_EVK=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/mx6ul_9x9_evk_defconfig b/configs/mx6ul_9x9_evk_defconfig
index 025165787ba8..91c9a0ec6ab0 100644
--- a/configs/mx6ul_9x9_evk_defconfig
+++ b/configs/mx6ul_9x9_evk_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x80000
+CONFIG_MX6UL=y
CONFIG_TARGET_MX6UL_9X9_EVK=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/mx6ull_14x14_evk_defconfig b/configs/mx6ull_14x14_evk_defconfig
index ee90a66aa956..dd31a3fb1036 100644
--- a/configs/mx6ull_14x14_evk_defconfig
+++ b/configs/mx6ull_14x14_evk_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6ULL=y
CONFIG_TARGET_MX6ULL_14X14_EVK=y
CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="imx6ull-14x14-evk"
diff --git a/configs/mx6ull_14x14_evk_plugin_defconfig b/configs/mx6ull_14x14_evk_plugin_defconfig
index 6c20a3559325..72289ef5bd10 100644
--- a/configs/mx6ull_14x14_evk_plugin_defconfig
+++ b/configs/mx6ull_14x14_evk_plugin_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6ULL=y
CONFIG_TARGET_MX6ULL_14X14_EVK=y
CONFIG_DM_GPIO=y
CONFIG_USE_IMXIMG_PLUGIN=y
diff --git a/configs/mx6ulz_14x14_evk_defconfig b/configs/mx6ulz_14x14_evk_defconfig
index ca6784210a91..5507860effc8 100644
--- a/configs/mx6ulz_14x14_evk_defconfig
+++ b/configs/mx6ulz_14x14_evk_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6ULL=y
CONFIG_TARGET_MX6ULL_14X14_EVK=y
CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="imx6ulz-14x14-evk"
diff --git a/configs/myir_mys_6ulx_defconfig b/configs/myir_mys_6ulx_defconfig
index defa353b6e75..02b2060874aa 100644
--- a/configs/myir_mys_6ulx_defconfig
+++ b/configs/myir_mys_6ulx_defconfig
@@ -5,6 +5,7 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=8
CONFIG_ENV_SIZE=0x4000
+CONFIG_MX6ULL=y
CONFIG_TARGET_MYS_6ULX=y
CONFIG_SPL_TEXT_BASE=0x908000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/nitrogen6dl2g_defconfig b/configs/nitrogen6dl2g_defconfig
index 3131c51bdeda..7b18cc631dc0 100644
--- a/configs/nitrogen6dl2g_defconfig
+++ b/configs/nitrogen6dl2g_defconfig
@@ -6,12 +6,13 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x2000
+CONFIG_MX6DL=y
CONFIG_TARGET_NITROGEN6X=y
CONFIG_DM_GPIO=y
CONFIG_CMD_HDMIDETECT=y
CONFIG_DEFAULT_DEVICE_TREE="imx6dl-nitrogen6x"
CONFIG_AHCI=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl2g.cfg,MX6DL,DDR_MB=2048"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl2g.cfg,DDR_MB=2048"
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
diff --git a/configs/nitrogen6dl_defconfig b/configs/nitrogen6dl_defconfig
index 86c2c4ff13dc..43264274f574 100644
--- a/configs/nitrogen6dl_defconfig
+++ b/configs/nitrogen6dl_defconfig
@@ -6,12 +6,13 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x2000
+CONFIG_MX6DL=y
CONFIG_TARGET_NITROGEN6X=y
CONFIG_DM_GPIO=y
CONFIG_CMD_HDMIDETECT=y
CONFIG_DEFAULT_DEVICE_TREE="imx6dl-nitrogen6x"
CONFIG_AHCI=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,DDR_MB=1024"
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
diff --git a/configs/nitrogen6q2g_defconfig b/configs/nitrogen6q2g_defconfig
index 16cf5f3e5b19..bb28fcfcbb25 100644
--- a/configs/nitrogen6q2g_defconfig
+++ b/configs/nitrogen6q2g_defconfig
@@ -6,12 +6,13 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x2000
+CONFIG_MX6Q=y
CONFIG_TARGET_NITROGEN6X=y
CONFIG_DM_GPIO=y
CONFIG_CMD_HDMIDETECT=y
CONFIG_DEFAULT_DEVICE_TREE="imx6q-nitrogen6x"
CONFIG_AHCI=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,MX6Q,DDR_MB=2048"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,DDR_MB=2048"
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
diff --git a/configs/nitrogen6q_defconfig b/configs/nitrogen6q_defconfig
index ea9098ad68a5..6c15732163f2 100644
--- a/configs/nitrogen6q_defconfig
+++ b/configs/nitrogen6q_defconfig
@@ -6,12 +6,13 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x2000
+CONFIG_MX6Q=y
CONFIG_TARGET_NITROGEN6X=y
CONFIG_DM_GPIO=y
CONFIG_CMD_HDMIDETECT=y
CONFIG_DEFAULT_DEVICE_TREE="imx6q-nitrogen6x"
CONFIG_AHCI=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,DDR_MB=1024"
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
diff --git a/configs/nitrogen6s1g_defconfig b/configs/nitrogen6s1g_defconfig
index 8a67b419e0fc..3c7cec70888d 100644
--- a/configs/nitrogen6s1g_defconfig
+++ b/configs/nitrogen6s1g_defconfig
@@ -6,12 +6,13 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x2000
+CONFIG_MX6S=y
CONFIG_TARGET_NITROGEN6X=y
CONFIG_DM_GPIO=y
CONFIG_CMD_HDMIDETECT=y
CONFIG_DEFAULT_DEVICE_TREE="imx6dl-nitrogen6x"
CONFIG_AHCI=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,MX6S,DDR_MB=1024"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,DDR_MB=1024"
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
diff --git a/configs/nitrogen6s_defconfig b/configs/nitrogen6s_defconfig
index 71dff7ae857b..ebbe06bcc78b 100644
--- a/configs/nitrogen6s_defconfig
+++ b/configs/nitrogen6s_defconfig
@@ -6,12 +6,13 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
CONFIG_ENV_SECT_SIZE=0x2000
+CONFIG_MX6S=y
CONFIG_TARGET_NITROGEN6X=y
CONFIG_DM_GPIO=y
CONFIG_CMD_HDMIDETECT=y
CONFIG_DEFAULT_DEVICE_TREE="imx6dl-nitrogen6x"
CONFIG_AHCI=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s.cfg,MX6S,DDR_MB=512"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s.cfg,DDR_MB=512"
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
diff --git a/configs/novena_defconfig b/configs/novena_defconfig
index 33cda1b383c4..edf15ad89a7a 100644
--- a/configs/novena_defconfig
+++ b/configs/novena_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x80000
+CONFIG_MX6Q=y
CONFIG_MX6_DDRCAL=y
CONFIG_TARGET_KOSAGI_NOVENA=y
CONFIG_SPL_TEXT_BASE=0x00908000
@@ -21,7 +22,7 @@ CONFIG_DEFAULT_DEVICE_TREE="imx6q-novena"
CONFIG_AHCI=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6Q"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_USE_BOOTARGS=y
CONFIG_BOOTARGS="console=ttymxc1,115200 "
CONFIG_BOOTCOMMAND="run distro_bootcmd ; run net_nfs"
diff --git a/configs/opos6uldev_defconfig b/configs/opos6uldev_defconfig
index ba85932b4dde..310690600422 100644
--- a/configs/opos6uldev_defconfig
+++ b/configs/opos6uldev_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2800
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6UL=y
CONFIG_TARGET_OPOS6ULDEV=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/ot1200_defconfig b/configs/ot1200_defconfig
index 7ee4aaa79891..9af4998126f7 100644
--- a/configs/ot1200_defconfig
+++ b/configs/ot1200_defconfig
@@ -5,8 +5,9 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x10000
CONFIG_ENV_OFFSET=0x100000
CONFIG_ENV_SECT_SIZE=0x10000
+CONFIG_MX6Q=y
CONFIG_TARGET_OT1200=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/bachmann/ot1200/mx6q_4x_mt41j128.cfg,MX6Q"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/bachmann/ot1200/mx6q_4x_mt41j128.cfg"
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
CONFIG_SUPPORT_RAW_INITRD=y
diff --git a/configs/ot1200_spl_defconfig b/configs/ot1200_spl_defconfig
index 726030592043..be02c7538de0 100644
--- a/configs/ot1200_spl_defconfig
+++ b/configs/ot1200_spl_defconfig
@@ -9,13 +9,14 @@ CONFIG_ENV_SIZE=0x10000
CONFIG_ENV_OFFSET=0x100000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
+CONFIG_MX6Q=y
CONFIG_TARGET_OT1200=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI_SUPPORT=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6Q"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
CONFIG_SUPPORT_RAW_INITRD=y
diff --git a/configs/pcm058_defconfig b/configs/pcm058_defconfig
index 592d133584e0..6b1afb830044 100644
--- a/configs/pcm058_defconfig
+++ b/configs/pcm058_defconfig
@@ -9,6 +9,7 @@ CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x100000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_SYS_SPI_U_BOOT_OFFS=0x31400
+CONFIG_MX6Q=y
CONFIG_MX6_OCRAM_256KB=y
CONFIG_TARGET_PCM058=y
CONFIG_DM_GPIO=y
@@ -25,7 +26,7 @@ CONFIG_CMD_HDMIDETECT=y
CONFIG_DEFAULT_DEVICE_TREE="imx6q-phytec-mira-rdk-nand"
CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6Q"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_BOOTDELAY=3
# CONFIG_USE_BOOTCOMMAND is not set
CONFIG_DISPLAY_BOARDINFO_LATE=y
diff --git a/configs/pfla02_defconfig b/configs/pfla02_defconfig
index 78c190a692a8..fc1efa02fa9e 100644
--- a/configs/pfla02_defconfig
+++ b/configs/pfla02_defconfig
@@ -9,6 +9,7 @@ CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x100000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
+CONFIG_MX6QDL=y
CONFIG_TARGET_PFLA02=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/phycore_pcl063_defconfig b/configs/phycore_pcl063_defconfig
index cf18986d1def..a5b5dfacacf7 100644
--- a/configs/phycore_pcl063_defconfig
+++ b/configs/phycore_pcl063_defconfig
@@ -5,6 +5,7 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=8
CONFIG_ENV_SIZE=0x4000
+CONFIG_MX6UL=y
CONFIG_TARGET_PCL063=y
CONFIG_SPL_TEXT_BASE=0x00909000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/phycore_pcl063_ull_defconfig b/configs/phycore_pcl063_ull_defconfig
index f5b30354e8bd..9cc0892daba9 100644
--- a/configs/phycore_pcl063_ull_defconfig
+++ b/configs/phycore_pcl063_ull_defconfig
@@ -5,6 +5,7 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=8
CONFIG_ENV_SIZE=0x4000
+CONFIG_MX6ULL=y
CONFIG_TARGET_PCL063_ULL=y
CONFIG_SPL_TEXT_BASE=0x908000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/pico-dwarf-imx6ul_defconfig b/configs/pico-dwarf-imx6ul_defconfig
index 4f01ae00990e..deef6020a3a8 100644
--- a/configs/pico-dwarf-imx6ul_defconfig
+++ b/configs/pico-dwarf-imx6ul_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6UL=y
CONFIG_TARGET_PICO_IMX6UL=y
CONFIG_DM_GPIO=y
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/pico-hobbit-imx6ul_defconfig b/configs/pico-hobbit-imx6ul_defconfig
index f8aaf9b6fa83..cf3f93fff413 100644
--- a/configs/pico-hobbit-imx6ul_defconfig
+++ b/configs/pico-hobbit-imx6ul_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6UL=y
CONFIG_TARGET_PICO_IMX6UL=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig
index 231654439869..a71d867796b0 100644
--- a/configs/pico-imx6_defconfig
+++ b/configs/pico-imx6_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6QDL=y
CONFIG_TARGET_PICO_IMX6=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/pico-imx6ul_defconfig b/configs/pico-imx6ul_defconfig
index 5c841c3e4b0c..637aa877ac45 100644
--- a/configs/pico-imx6ul_defconfig
+++ b/configs/pico-imx6ul_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6UL=y
CONFIG_TARGET_PICO_IMX6UL=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/pico-pi-imx6ul_defconfig b/configs/pico-pi-imx6ul_defconfig
index 1d1b8d5bf715..4b67156b3e5b 100644
--- a/configs/pico-pi-imx6ul_defconfig
+++ b/configs/pico-pi-imx6ul_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6UL=y
CONFIG_TARGET_PICO_IMX6UL=y
CONFIG_DM_GPIO=y
CONFIG_SPL_TEXT_BASE=0x00908000
diff --git a/configs/platinum_picon_defconfig b/configs/platinum_picon_defconfig
index 4e6c9b85f526..b401646742ed 100644
--- a/configs/platinum_picon_defconfig
+++ b/configs/platinum_picon_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x1000000
+CONFIG_MX6DL=y
CONFIG_TARGET_PLATINUM_PICON=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
@@ -14,7 +15,7 @@ CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_ENV_OFFSET_REDUND=0x1080000
CONFIG_SPL_LIBDISK_SUPPORT=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6DL"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
CONFIG_SUPPORT_RAW_INITRD=y
diff --git a/configs/platinum_titanium_defconfig b/configs/platinum_titanium_defconfig
index 586345f0146e..d1d7d81142ad 100644
--- a/configs/platinum_titanium_defconfig
+++ b/configs/platinum_titanium_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x1000000
+CONFIG_MX6Q=y
CONFIG_TARGET_PLATINUM_TITANIUM=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
@@ -14,7 +15,7 @@ CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_ENV_OFFSET_REDUND=0x1080000
CONFIG_SPL_LIBDISK_SUPPORT=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6Q"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
CONFIG_SUPPORT_RAW_INITRD=y
diff --git a/configs/riotboard_defconfig b/configs/riotboard_defconfig
index e9d0933616dc..135387a31817 100644
--- a/configs/riotboard_defconfig
+++ b/configs/riotboard_defconfig
@@ -4,9 +4,10 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6S=y
CONFIG_TARGET_EMBESTMX6BOARDS=y
CONFIG_DISTRO_DEFAULTS=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,MX6S,DDR_MB=1024"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,DDR_MB=1024"
CONFIG_BOOTCOMMAND="run finduuid; run distro_bootcmd"
# CONFIG_CONSOLE_MUX is not set
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
diff --git a/configs/riotboard_spl_defconfig b/configs/riotboard_spl_defconfig
index 08150ed1c1b4..ddc551899997 100644
--- a/configs/riotboard_spl_defconfig
+++ b/configs/riotboard_spl_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6S=y
CONFIG_TARGET_EMBESTMX6BOARDS=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
@@ -14,7 +15,7 @@ CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_DISTRO_DEFAULTS=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,SPL,MX6S,DDR_MB=1024"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,SPL,DDR_MB=1024"
CONFIG_BOOTCOMMAND="run finduuid; run distro_bootcmd"
# CONFIG_CONSOLE_MUX is not set
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
diff --git a/configs/secomx6quq7_defconfig b/configs/secomx6quq7_defconfig
index 6ab5d9eba889..2c1f553ed498 100644
--- a/configs/secomx6quq7_defconfig
+++ b/configs/secomx6quq7_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6Q=y
CONFIG_TARGET_SECOMX6=y
CONFIG_SECOMX6_UQ7=y
CONFIG_SECOMX6Q=y
diff --git a/configs/sksimx6_defconfig b/configs/sksimx6_defconfig
index 484ece7b4aad..e81fc79ea29a 100644
--- a/configs/sksimx6_defconfig
+++ b/configs/sksimx6_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6QDL=y
CONFIG_MX6_DDRCAL=y
CONFIG_TARGET_SKSIMX6=y
CONFIG_SPL_TEXT_BASE=0x00908000
@@ -18,7 +19,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6QDL"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_BOOTDELAY=1
# CONFIG_USE_BOOTCOMMAND is not set
CONFIG_SILENT_CONSOLE=y
diff --git a/configs/somlabs_visionsom_6ull_defconfig b/configs/somlabs_visionsom_6ull_defconfig
index e3f633c8fe7d..e9e1586f378f 100644
--- a/configs/somlabs_visionsom_6ull_defconfig
+++ b/configs/somlabs_visionsom_6ull_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6ULL=y
CONFIG_TARGET_SOMLABS_VISIONSOM_6ULL=y
CONFIG_DEFAULT_DEVICE_TREE="imx6ull-somlabs-visionsom"
CONFIG_FIT=y
diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig
index 22c5ce8ee1c4..34d240565eb2 100644
--- a/configs/tbs2910_defconfig
+++ b/configs/tbs2910_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6Q=y
CONFIG_TARGET_TBS2910=y
CONFIG_DM_GPIO=y
CONFIG_PRE_CON_BUF_ADDR=0x7c000000
diff --git a/configs/titanium_defconfig b/configs/titanium_defconfig
index 371228a01bb2..1f0af99df4ce 100644
--- a/configs/titanium_defconfig
+++ b/configs/titanium_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x17800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x20000
CONFIG_ENV_OFFSET=0x1000000
+CONFIG_MX6Q=y
CONFIG_TARGET_TITANIUM=y
CONFIG_ENV_OFFSET_REDUND=0x1080000
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/barco/titanium/imximage.cfg"
diff --git a/configs/tqma6dl_mba6_mmc_defconfig b/configs/tqma6dl_mba6_mmc_defconfig
index 1ad8db023137..34a226ed3dd0 100644
--- a/configs/tqma6dl_mba6_mmc_defconfig
+++ b/configs/tqma6dl_mba6_mmc_defconfig
@@ -3,8 +3,8 @@ CONFIG_ARCH_MX6=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6DL=y
CONFIG_TARGET_TQMA6=y
-CONFIG_TQMA6DL=y
CONFIG_DEFAULT_DEVICE_TREE="imx6dl-mba6b"
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
diff --git a/configs/tqma6dl_mba6_spi_defconfig b/configs/tqma6dl_mba6_spi_defconfig
index ccec893a7da3..09966422ed14 100644
--- a/configs/tqma6dl_mba6_spi_defconfig
+++ b/configs/tqma6dl_mba6_spi_defconfig
@@ -4,8 +4,8 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x80000
CONFIG_ENV_SECT_SIZE=0x10000
+CONFIG_MX6DL=y
CONFIG_TARGET_TQMA6=y
-CONFIG_TQMA6DL=y
CONFIG_TQMA6X_SPI_BOOT=y
CONFIG_ENV_OFFSET_REDUND=0x90000
CONFIG_DEFAULT_DEVICE_TREE="imx6dl-mba6b"
diff --git a/configs/tqma6q_mba6_mmc_defconfig b/configs/tqma6q_mba6_mmc_defconfig
index 9ce24d9c6ae5..8bc9684eeb36 100644
--- a/configs/tqma6q_mba6_mmc_defconfig
+++ b/configs/tqma6q_mba6_mmc_defconfig
@@ -3,6 +3,7 @@ CONFIG_ARCH_MX6=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6Q=y
CONFIG_TARGET_TQMA6=y
CONFIG_DEFAULT_DEVICE_TREE="imx6q-mba6b"
CONFIG_FIT=y
diff --git a/configs/tqma6q_mba6_spi_defconfig b/configs/tqma6q_mba6_spi_defconfig
index df4567a0f5aa..49521cd7e98d 100644
--- a/configs/tqma6q_mba6_spi_defconfig
+++ b/configs/tqma6q_mba6_spi_defconfig
@@ -4,6 +4,7 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x80000
CONFIG_ENV_SECT_SIZE=0x10000
+CONFIG_MX6Q=y
CONFIG_TARGET_TQMA6=y
CONFIG_TQMA6X_SPI_BOOT=y
CONFIG_ENV_OFFSET_REDUND=0x90000
diff --git a/configs/tqma6s_mba6_mmc_defconfig b/configs/tqma6s_mba6_mmc_defconfig
index 39b609e7f357..55ed840b1c3d 100644
--- a/configs/tqma6s_mba6_mmc_defconfig
+++ b/configs/tqma6s_mba6_mmc_defconfig
@@ -3,8 +3,8 @@ CONFIG_ARCH_MX6=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6S=y
CONFIG_TARGET_TQMA6=y
-CONFIG_TQMA6S=y
CONFIG_DEFAULT_DEVICE_TREE="imx6dl-mba6b"
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
diff --git a/configs/tqma6s_mba6_spi_defconfig b/configs/tqma6s_mba6_spi_defconfig
index fc439e14bc2d..420be4b1e141 100644
--- a/configs/tqma6s_mba6_spi_defconfig
+++ b/configs/tqma6s_mba6_spi_defconfig
@@ -4,8 +4,8 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x80000
CONFIG_ENV_SECT_SIZE=0x10000
+CONFIG_MX6S=y
CONFIG_TARGET_TQMA6=y
-CONFIG_TQMA6S=y
CONFIG_TQMA6X_SPI_BOOT=y
CONFIG_ENV_OFFSET_REDUND=0x90000
CONFIG_DEFAULT_DEVICE_TREE="imx6dl-mba6b"
diff --git a/configs/tqma6s_wru4_mmc_defconfig b/configs/tqma6s_wru4_mmc_defconfig
index beda6ecb6e90..721583311c14 100644
--- a/configs/tqma6s_wru4_mmc_defconfig
+++ b/configs/tqma6s_wru4_mmc_defconfig
@@ -3,11 +3,11 @@ CONFIG_ARCH_MX6=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x100000
+CONFIG_MX6S=y
CONFIG_TARGET_TQMA6=y
CONFIG_SYS_I2C_MXC_I2C1=y
CONFIG_SYS_I2C_MXC_I2C2=y
CONFIG_SYS_I2C_MXC_I2C3=y
-CONFIG_TQMA6S=y
CONFIG_WRU4=y
CONFIG_SYS_BOOTCOUNT_ADDR=0x00900000
CONFIG_FIT=y
diff --git a/configs/udoo_defconfig b/configs/udoo_defconfig
index a76b8d1b0d2b..0c9d90b28dba 100644
--- a/configs/udoo_defconfig
+++ b/configs/udoo_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6QDL=y
CONFIG_TARGET_UDOO=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/udoo_neo_defconfig b/configs/udoo_neo_defconfig
index 214e942d387c..0f6854f31045 100644
--- a/configs/udoo_neo_defconfig
+++ b/configs/udoo_neo_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x80000
+CONFIG_MX6SX=y
CONFIG_TARGET_UDOO_NEO=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/variscite_dart6ul_defconfig b/configs/variscite_dart6ul_defconfig
index 3fca70012cee..37d9687c065c 100644
--- a/configs/variscite_dart6ul_defconfig
+++ b/configs/variscite_dart6ul_defconfig
@@ -6,6 +6,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SYS_MALLOC_F_LEN=0x4000
CONFIG_NR_DRAM_BANKS=8
CONFIG_ENV_SIZE=0x2000
+CONFIG_MX6ULL=y
CONFIG_TARGET_DART_6UL=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/vining_2000_defconfig b/configs/vining_2000_defconfig
index 6399d1f71bfe..35ee142cc2b2 100644
--- a/configs/vining_2000_defconfig
+++ b/configs/vining_2000_defconfig
@@ -8,6 +8,7 @@ CONFIG_SYS_MALLOC_F_LEN=0x4000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x80000
+CONFIG_MX6SX=y
CONFIG_MX6_DDRCAL=y
CONFIG_TARGET_SOFTING_VINING_2000=y
CONFIG_DM_GPIO=y
diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig
index 5ff1b15fb396..4687ec2683b3 100644
--- a/configs/wandboard_defconfig
+++ b/configs/wandboard_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xC0000
+CONFIG_MX6QDL=y
CONFIG_TARGET_WANDBOARD=y
CONFIG_SYS_I2C_MXC_I2C1=y
CONFIG_SYS_I2C_MXC_I2C2=y
diff --git a/configs/warp_defconfig b/configs/warp_defconfig
index 91549464f2a0..7a82265b3d0a 100644
--- a/configs/warp_defconfig
+++ b/configs/warp_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x60000
+CONFIG_MX6SL=y
CONFIG_TARGET_WARP=y
# CONFIG_CMD_BMODE is not set
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/warp/imximage.cfg"
diff --git a/configs/xpress_defconfig b/configs/xpress_defconfig
index b0fac0f1ba60..e39393fe3c59 100644
--- a/configs/xpress_defconfig
+++ b/configs/xpress_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x87800000
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x80000
+CONFIG_MX6UL=y
CONFIG_TARGET_XPRESS=y
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/ccv/xpress/imximage.cfg"
CONFIG_BOOTDELAY=3
diff --git a/configs/xpress_spl_defconfig b/configs/xpress_spl_defconfig
index b95a8c814078..63decf86ee36 100644
--- a/configs/xpress_spl_defconfig
+++ b/configs/xpress_spl_defconfig
@@ -7,6 +7,7 @@ CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x80000
+CONFIG_MX6UL=y
CONFIG_TARGET_XPRESS=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
diff --git a/configs/zc5202_defconfig b/configs/zc5202_defconfig
index 00dce4086968..7847a341eaff 100644
--- a/configs/zc5202_defconfig
+++ b/configs/zc5202_defconfig
@@ -8,6 +8,7 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x0
CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
+CONFIG_MX6Q=y
CONFIG_TARGET_ZC5202=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
@@ -17,7 +18,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI_SUPPORT=y
CONFIG_DISTRO_DEFAULTS=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6Q"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_BOOTDELAY=3
CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd"
CONFIG_DEFAULT_FDT_FILE="imx6q-zc5202.dtb"
diff --git a/configs/zc5601_defconfig b/configs/zc5601_defconfig
index 0bd9cc4937e4..7c88e1fdb0f7 100644
--- a/configs/zc5601_defconfig
+++ b/configs/zc5601_defconfig
@@ -8,6 +8,7 @@ CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0x0
CONFIG_SYS_SPI_U_BOOT_OFFS=0x10000
+CONFIG_MX6Q=y
CONFIG_TARGET_ZC5601=y
CONFIG_SPL_TEXT_BASE=0x00908000
CONFIG_SPL_MMC_SUPPORT=y
@@ -17,7 +18,7 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI_SUPPORT=y
CONFIG_DISTRO_DEFAULTS=y
-CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg,MX6Q"
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg"
CONFIG_BOOTDELAY=3
CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd"
CONFIG_DEFAULT_FDT_FILE="imx6q-zc5601.dtb"
diff --git a/include/configs/titanium.h b/include/configs/titanium.h
index 7678f69dede3..895c79f1a9d2 100644
--- a/include/configs/titanium.h
+++ b/include/configs/titanium.h
@@ -14,8 +14,6 @@
#include "mx6_common.h"
-#define CONFIG_MX6Q
-
/* Provide the MACH_TYPE value that the vendor kernel requires. */
#define CONFIG_MACH_TYPE 3769
--
2.17.1
3
2

[PATCH V2] ARM: imx6q_logic: Fix broken booting by moving fdt_addr_r address
by Adam Ford 25 Aug '20
by Adam Ford 25 Aug '20
25 Aug '20
The loading address is too close to the kernel address, so newer kernels
may overlap memory space, so loading the device tree may corrupt zImage.
This patch moves the fdt_addr_r to 0x14000000 which is also consistent
with guidance that the kernel be allocated 32MB. This places it
in the same place as the ramdisk, so this patch moves the ramdisk address
512KB after the fdt.
Signed-off-by: Adam Ford <aford173(a)gmail.com>
---
V2: Use 0x14000000 instead of 0x18000000 and move ramdisk to
0x14080000
diff --git a/include/configs/imx6_logic.h b/include/configs/imx6_logic.h
index 63662dd18d..6b992f9ab8 100644
--- a/include/configs/imx6_logic.h
+++ b/include/configs/imx6_logic.h
@@ -34,8 +34,8 @@
"script=boot.scr\0" \
"image=zImage\0" \
"bootm_size=0x10000000\0" \
- "fdt_addr_r=0x13000000\0" \
- "ramdisk_addr_r=0x14000000\0" \
+ "fdt_addr_r=0x14000000\0" \
+ "ramdisk_addr_r=0x14080000\0" \
"kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
"ramdisk_file=rootfs.cpio.uboot\0" \
"boot_fdt=try\0" \
--
2.17.1
4
3
As explained in the CONFIG_DM_MDIO text inside drivers/net/Kconfig:
"Useful in particular for systems that support
DM_ETH and have a stand-alone MDIO hardware block shared by multiple
Ethernet interfaces."
i.MX6 has a single FEC instance, so there is no need to select
CONFIG_DM_MDIO.
Signed-off-by: Fabio Estevam <festevam(a)gmail.com>
---
configs/pico-imx6_defconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig
index 2316544398..cd560ba3b8 100644
--- a/configs/pico-imx6_defconfig
+++ b/configs/pico-imx6_defconfig
@@ -67,7 +67,6 @@ CONFIG_FSL_USDHC=y
CONFIG_PHYLIB=y
CONFIG_PHY_ATHEROS=y
CONFIG_DM_ETH=y
-CONFIG_DM_MDIO=y
CONFIG_RGMII=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_IMX6=y
--
2.17.1
2
1