
From: Henry Beberman henry.beberman@microsoft.com
This patch adds a new bootable configuration for Windows 10 IoT Core on the i.MX6 Quad HummingBoard.
It also adds a new device tree sources file for imx6qdl-mx6cuboxi.dts. This is not required by Windows or UEFI but the build system requires a device tree when building SPL with flat image tree support.
Signed-off-by: Henry Beberman henry.beberman@microsoft.com Cc: Stefano Babic sbabic@denx.de Cc: Fabio Estevam fabio.estevam@nxp.com Cc: Jon Nettleton jon@solid-run.com --- arch/arm/dts/Makefile | 1 + arch/arm/dts/imx6qdl-mx6cuboxi.dts | 8 +++++ board/solidrun/mx6cuboxi/MAINTAINERS | 2 ++ board/solidrun/mx6cuboxi/mx6cuboxi.c | 7 ++++ configs/mx6cuboxi_nt_defconfig | 62 ++++++++++++++++++++++++++++++++++++ include/configs/mx6cuboxi.h | 8 +++++ 6 files changed, 88 insertions(+) create mode 100644 arch/arm/dts/imx6qdl-mx6cuboxi.dts create mode 100644 configs/mx6cuboxi_nt_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 7d90bd39f3..109a00219d 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -411,6 +411,7 @@ dtb-$(CONFIG_MX6QDL) += \ imx6dl-icore-rqs.dtb \ imx6dl-mamoj.dtb \ imx6qdl-sdb.dtb \ + imx6qdl-mx6cuboxi.dtb \ imx6q-cm-fx6.dtb \ imx6q-icore.dtb \ imx6q-icore-mipi.dtb \ diff --git a/arch/arm/dts/imx6qdl-mx6cuboxi.dts b/arch/arm/dts/imx6qdl-mx6cuboxi.dts new file mode 100644 index 0000000000..907f44859f --- /dev/null +++ b/arch/arm/dts/imx6qdl-mx6cuboxi.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Microsoft Corporation + */ + +/dts-v1/; + +#include "imx6q.dtsi" diff --git a/board/solidrun/mx6cuboxi/MAINTAINERS b/board/solidrun/mx6cuboxi/MAINTAINERS index 81f82bc9b5..1e4ed35d36 100644 --- a/board/solidrun/mx6cuboxi/MAINTAINERS +++ b/board/solidrun/mx6cuboxi/MAINTAINERS @@ -4,3 +4,5 @@ S: Maintained F: board/solidrun/mx6cuboxi/ F: include/configs/mx6cuboxi.h F: configs/mx6cuboxi_defconfig +F: configs/mx6cuboxi_nt_defconfig +F: arch/arm/dts/imx6qdl-mx6cuboxi.dts diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index 38d89f0130..bc423c3a86 100644 --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -143,6 +143,13 @@ static iomux_v3_cfg_t const usb_pads[] = { IOMUX_PADS(PAD_GPIO_0__GPIO1_IO00 | MUX_PAD_CTRL(NO_PAD_CTRL)), };
+#if defined(CONFIG_MULTI_DTB_FIT) || defined(CONFIG_SPL_LOAD_FIT) +int board_fit_config_name_match(const char *name) +{ + return 0; +} +#endif + static void setup_iomux_uart(void) { SETUP_IOMUX_PADS(uart1_pads); diff --git a/configs/mx6cuboxi_nt_defconfig b/configs/mx6cuboxi_nt_defconfig new file mode 100644 index 0000000000..087569d2e9 --- /dev/null +++ b/configs/mx6cuboxi_nt_defconfig @@ -0,0 +1,62 @@ +CONFIG_ARCH_MX6=y +CONFIG_ARM=y +CONFIG_SYS_TEXT_BASE=0x17800000 +CONFIG_TARGET_MX6CUBOXI=y +CONFIG_DEFAULT_DEVICE_TREE="imx6qdl-mx6cuboxi" +CONFIG_OF_CONTROL=y +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_SPL_OPTEE_BOOT=y +CONFIG_BOARD_EARLY_INIT_F=y +CONFIG_BOOTDELAY=-2 +CONFIG_UEFI_BOOT=y +CONFIG_UEFI_LOAD_ADDR=0x10820000 +CONFIG_EFI_LOADER=n +CONFIG_CMD_BOOTD=n +CONFIG_CMD_BOOTM=n +CONFIG_CMD_CACHE=y +CONFIG_CMD_FAT=y +CONFIG_CMD_GPIO=y +CONFIG_CMD_HDMIDETECT=y +CONFIG_CMD_I2C=n +CONFIG_CMD_MMC=y +CONFIG_CMD_PART=y +CONFIG_CMD_SPL=n +CONFIG_CMD_USB=y +CONFIG_DISTRO_DEFAULTS=n +CONFIG_DM=y +CONFIG_DM_THERMAL=y +CONFIG_HUSH_PARSER=y +CONFIG_CONS_INDEX=1 +CONFIG_PCI=n +CONFIG_FSL_ESDHC=y +CONFIG_PHYLIB=y +CONFIG_SECURE_BOOT=y +CONFIG_SPL=y +CONFIG_SPL_LOAD_FIT=y +CONFIG_SPL_LEGACY_IMAGE_SUPPORT=n +CONFIG_SPL_OF_LIBFDT=y +CONFIG_SPL_DM=n +CONFIG_SPL_SYS_MALLOC_SIMPLE=y +CONFIG_SPL_CRYPTO_SUPPORT=y +CONFIG_SPL_EXT_SUPPORT=n +CONFIG_SPL_GPIO_SUPPORT=y +CONFIG_SPL_I2C_SUPPORT=n +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBDISK_SUPPORT=n +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_SPL_MMC_SUPPORT=y +CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_SPL_SPI_SUPPORT=n +CONFIG_SPL_USE_ARCH_MEMCPY=n +CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_SPL_LDSCRIPT="arch/arm/mach-imx/u-boot-spl-sram.lds" +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/mach-imx/spl_sd.cfg" +CONFIG_SYS_L2CACHE_OFF=y +CONFIG_SYS_MALLOC_F_LEN=0x800 +CONFIG_USB_KEYBOARD=y +CONFIG_USB_STORAGE=y +CONFIG_USB=y +CONFIG_USE_TINY_PRINTF=y +CONFIG_VIDEO=y +CONFIG_OF_LIBFDT=y \ No newline at end of file diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h index 803661cfa8..34fad495b1 100644 --- a/include/configs/mx6cuboxi.h +++ b/include/configs/mx6cuboxi.h @@ -71,6 +71,13 @@ #define CONFIG_SYS_MMC_ENV_DEV 0 /* SDHC2 */
#ifndef CONFIG_SPL_BUILD +#ifdef CONFIG_UEFI_BOOT +#include <config_uefi_bootcmd.h> + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "mmcdev=0\0" \ + BOOTENV +#else #define CONFIG_EXTRA_ENV_SETTINGS \ "fdtfile=undefined\0" \ "fdt_addr_r=0x18000000\0" \ @@ -125,6 +132,7 @@ func(DHCP, dhcp, na)
#include <config_distro_bootcmd.h> +#endif /* CONFIG_UEFI_BOOT */
#else #define CONFIG_EXTRA_ENV_SETTINGS