
From: Henry Beberman henry.beberman@microsoft.com
This patch adds a new bootable configuration for Windows 10 IoT Core on the i.MX6 SoloX UDOO Neo.
It also adds a new device tree sources file for imx6sx-udoo-neo.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: Breno Lima breno.lima@nxp.com Cc: Francesco Montefoschi francesco.montefoschi@udoo.org --- arch/arm/dts/Makefile | 1 + arch/arm/dts/imx6sx-udoo-neo.dts | 8 ++++++ board/udoo/neo/MAINTAINERS | 2 ++ board/udoo/neo/neo.c | 7 +++++ configs/udoo_neo_nt_defconfig | 55 ++++++++++++++++++++++++++++++++++++++++ include/configs/udoo_neo.h | 8 ++++++ 6 files changed, 81 insertions(+) create mode 100644 arch/arm/dts/imx6sx-udoo-neo.dts create mode 100644 configs/udoo_neo_nt_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 109a00219d..1bbb9bf388 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -424,6 +424,7 @@ dtb-$(CONFIG_MX6SL) += imx6sll-evk.dtb
dtb-$(CONFIG_MX6SX) += \ imx6sx-sabreauto.dtb \ + imx6sx-udoo-neo.dtb \ imx6sx-sdb.dtb
dtb-$(CONFIG_MX6UL) += \ diff --git a/arch/arm/dts/imx6sx-udoo-neo.dts b/arch/arm/dts/imx6sx-udoo-neo.dts new file mode 100644 index 0000000000..f5b35a6175 --- /dev/null +++ b/arch/arm/dts/imx6sx-udoo-neo.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Microsoft Corporation + */ + +/dts-v1/; + +#include "imx6sx.dtsi" diff --git a/board/udoo/neo/MAINTAINERS b/board/udoo/neo/MAINTAINERS index 743fe33d05..4ab862e3dc 100644 --- a/board/udoo/neo/MAINTAINERS +++ b/board/udoo/neo/MAINTAINERS @@ -5,3 +5,5 @@ S: Maintained F: board/udoo/neo/ F: include/configs/udoo_neo.h F: configs/udoo_neo_defconfig +F: configs/udoo_neo_nt_defconfig +F: arch/arm/dts/imx6sx-udoo-neo.dts diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c index 828161360c..8429063bb0 100644 --- a/board/udoo/neo/neo.c +++ b/board/udoo/neo/neo.c @@ -593,3 +593,10 @@ void board_init_f(ulong dummy) }
#endif + +#if defined(CONFIG_MULTI_DTB_FIT) || defined(CONFIG_SPL_LOAD_FIT) +int board_fit_config_name_match(const char *name) +{ + return 0; +} +#endif diff --git a/configs/udoo_neo_nt_defconfig b/configs/udoo_neo_nt_defconfig new file mode 100644 index 0000000000..d5123369ca --- /dev/null +++ b/configs/udoo_neo_nt_defconfig @@ -0,0 +1,55 @@ +CONFIG_ARCH_MX6=y +CONFIG_ARM=y +CONFIG_SYS_TEXT_BASE=0x87800000 +CONFIG_TARGET_UDOO_NEO=y +CONFIG_DEFAULT_DEVICE_TREE="imx6sx-udoo-neo" +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=0x82004000 +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_I2C=n +CONFIG_CMD_MMC=y +CONFIG_CMD_PART=y +CONFIG_CMD_SPL=n +CONFIG_DISTRO_DEFAULTS=n +CONFIG_ENV_IS_IN_MMC=n +CONFIG_HUSH_PARSER=y +CONFIG_PCI=n +CONFIG_FSL_ESDHC=y +CONFIG_PHYLIB=y +CONFIG_SECURE_BOOT=y +CONFIG_SPL=y +CONFIG_SPL_FIT=y +CONFIG_SPL_LOAD_FIT=y +CONFIG_SPL_LEGACY_IMAGE_SUPPORT=n +CONFIG_SPL_OF_LIBFDT=y +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_USE_TINY_PRINTF=y +CONFIG_PHY_MICREL=y +CONFIG_OF_LIBFDT=y \ No newline at end of file diff --git a/include/configs/udoo_neo.h b/include/configs/udoo_neo.h index 2924e3143a..a71e9d64b2 100644 --- a/include/configs/udoo_neo.h +++ b/include/configs/udoo_neo.h @@ -25,6 +25,13 @@ #define CONFIG_MXC_UART_BASE UART1_BASE #define CONFIG_SYS_MMC_ENV_DEV 0 /*USDHC2*/
+#ifdef CONFIG_UEFI_BOOT +#include <config_uefi_bootcmd.h> + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "mmcdev=0\0" \ + BOOTENV +#else /* Linux only */ #define CONFIG_EXTRA_ENV_SETTINGS \ "console=ttymxc0,115200\0" \ @@ -58,6 +65,7 @@ func(DHCP, dhcp, na)
#include <config_distro_bootcmd.h> +#endif /* CONFIG_UEFI_BOOT */
/* Miscellaneous configurable options */ #define CONFIG_SYS_MEMTEST_START 0x80000000