[U-Boot] [PATCH 08/11] udoo_neo: Add Windows boot support for UDOO Neo
Henry Beberman
Henry.Beberman at microsoft.com
Sat Jul 14 00:11:51 UTC 2018
From: Henry Beberman <henry.beberman at 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 at microsoft.com>
Cc: Stefano Babic <sbabic at denx.de>
Cc: Fabio Estevam <fabio.estevam at nxp.com>
Cc: Breno Lima <breno.lima at nxp.com>
Cc: Francesco Montefoschi <francesco.montefoschi at 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
--
2.16.2.gvfs.1.33.gf5370f1
More information about the U-Boot
mailing list