From: Henry Beberman <Henry.Beberman@microsoft.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 00/11] Enable Windows 10 IoT Core on i.MX6 and i.MX7
Date: Sat, 14 Jul 2018 00:11:45 +0000 [thread overview]
Message-ID: <20180714001117.14584-1-hebeberm@microsoft.com> (raw)
From: Henry Beberman <henry.beberman@microsoft.com>
This patch series is a collaboration between Microsoft and NXP to
enable Windows 10 IoT Core on NXP's iMX6 and iMX7 platforms.
The series contains reference configurations to enable Windows boot on the following
platforms: mx6sabresd, mx7dsabresd, mx6cuboxi, udoo_neo, and cl-som-imx7
These patches enable the following Windows boot flow:
1) U-Boot SPL loads from the MMC into on-chip RAM.
2) SPL loads a Flat Image Tree containing the OP-TEE runtime and U-Boot Proper.
3) SPL disables caches/interrupts and jumps into OP-TEE.
4) OP-TEE initializes then returns to the entry point of U-Boot
Proper in normal mode. OP-TEE is later used as a runtime for Trusted Applications from within Windows.
5) U-Boot Proper initializes the platform bypassing several actions
that would require secure world access.
6) The U-Boot Proper bootcmd loads a UEFI firmware binary from the
first FAT partition of the MMC into memory.
7) An overridden go command will stash the platform MAC address
from the U-Boot env into a page of memory that is preserved for UEFI.
8) The overridden go command will disable caches and interrupts then
jump into UEFI.
9) UEFI initializes the platform further and boots Windows from MMC.
Henry Beberman (11):
imx: Add bootcmd to load and run UEFI from mmc
arm: Allow U-Boot Proper to run in normal world
spl: Add FIT boot into OP-TEE then U-Boot proper
spl: imx: Add optional lds to keep SPL entirely in on-chip RAM
mx6sabresd: nt: Add Windows boot support for iMX6 Sabre
mx7dsabresd: Add Windows boot support for iMX7 Sabre
mx6cuboxi: Add Windows boot support for mx6cuboxi
udoo_neo: Add Windows boot support for UDOO Neo
cl-som-imx7: Add Windows boot support for cl-som-imx7
imx: Reserve a global page in memory to pass configuration to UEFI
imx: Add MAC addresses to global page to pass MAC into UEFI
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: Robert Solomon <robsol@exchange.microsoft.com>
Cc: Chirag Shah <chsha@microsoft.com>
Cc: Robert Oshana <robert.oshana@nxp.com>
Cc: Patrick Stilwell <patrick.stilwell@nxp.com>
arch/arm/cpu/armv7/Kconfig | 7 ++
arch/arm/cpu/armv7/Makefile | 1 +
arch/arm/cpu/armv7/optee_jump.S | 31 +++++++++
arch/arm/cpu/armv7/start.S | 11 ++--
arch/arm/dts/Makefile | 4 ++
arch/arm/dts/imx6qdl-mx6cuboxi.dts | 8 +++
arch/arm/dts/imx6qdl-sdb.dts | 8 +++
arch/arm/dts/imx6sx-udoo-neo.dts | 8 +++
arch/arm/dts/imx7d-cl-som-imx7.dts | 8 +++
arch/arm/lib/spl.c | 16 +++++
arch/arm/mach-imx/Kconfig | 23 +++++++
arch/arm/mach-imx/Makefile | 2 +
arch/arm/mach-imx/boot.c | 25 ++++++++
arch/arm/mach-imx/global_page.c | 52 +++++++++++++++
arch/arm/mach-imx/mx7/Kconfig | 1 +
arch/arm/mach-imx/mx7/soc.c | 7 +-
arch/arm/mach-imx/syscounter.c | 2 +
arch/arm/mach-imx/u-boot-spl-sram.lds | 59 +++++++++++++++++
board/compulab/cl-som-imx7/MAINTAINERS | 2 +
board/compulab/cl-som-imx7/cl-som-imx7.c | 47 +++++++++++++-
board/compulab/cl-som-imx7/spl.c | 7 ++
board/freescale/mx6sabresd/MAINTAINERS | 2 +
board/freescale/mx6sabresd/mx6sabresd.c | 9 ++-
board/freescale/mx7dsabresd/MAINTAINERS | 1 +
board/freescale/mx7dsabresd/mx7dsabresd.c | 79 +++++++++++++++++++++++
board/solidrun/mx6cuboxi/MAINTAINERS | 2 +
board/solidrun/mx6cuboxi/mx6cuboxi.c | 7 ++
board/udoo/neo/MAINTAINERS | 2 +
board/udoo/neo/neo.c | 7 ++
common/Kconfig | 17 +++++
common/spl/Kconfig | 9 +++
common/spl/spl.c | 6 ++
configs/cl-som-imx7_nt_defconfig | 82 ++++++++++++++++++++++++
configs/mx6cuboxi_nt_defconfig | 64 +++++++++++++++++++
configs/mx6sabresd_nt_defconfig | 60 ++++++++++++++++++
configs/mx7dsabresd_nt_defconfig | 102 ++++++++++++++++++++++++++++++
configs/udoo_neo_nt_defconfig | 57 +++++++++++++++++
drivers/gpio/Makefile | 3 +
drivers/pinctrl/nxp/pinctrl-imx7.c | 4 +-
include/config_uefi_bootcmd.h | 29 +++++++++
include/configs/cl-som-imx7.h | 18 +++++-
include/configs/imx6_spl.h | 2 +
include/configs/imx7_spl.h | 2 +
include/configs/mx6_common.h | 16 +++++
include/configs/mx6cuboxi.h | 8 +++
include/configs/mx6sabre_common.h | 10 +++
include/configs/mx7_common.h | 10 +++
include/configs/mx7dsabresd.h | 10 +++
include/configs/udoo_neo.h | 8 +++
include/global_page.h | 32 ++++++++++
include/spl.h | 21 ++++++
51 files changed, 995 insertions(+), 13 deletions(-)
create mode 100644 arch/arm/cpu/armv7/optee_jump.S
create mode 100644 arch/arm/dts/imx6qdl-mx6cuboxi.dts
create mode 100644 arch/arm/dts/imx6qdl-sdb.dts
create mode 100644 arch/arm/dts/imx6sx-udoo-neo.dts
create mode 100644 arch/arm/dts/imx7d-cl-som-imx7.dts
create mode 100644 arch/arm/mach-imx/boot.c
create mode 100644 arch/arm/mach-imx/global_page.c
create mode 100644 arch/arm/mach-imx/u-boot-spl-sram.lds
create mode 100644 configs/cl-som-imx7_nt_defconfig
create mode 100644 configs/mx6cuboxi_nt_defconfig
create mode 100644 configs/mx6sabresd_nt_defconfig
create mode 100644 configs/mx7dsabresd_nt_defconfig
create mode 100644 configs/udoo_neo_nt_defconfig
create mode 100644 include/config_uefi_bootcmd.h
create mode 100644 include/global_page.h
--
2.16.2.gvfs.1.33.gf5370f1
next reply other threads:[~2018-07-14 0:11 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-14 0:11 Henry Beberman [this message]
2018-07-14 0:11 ` [U-Boot] [PATCH 01/11] imx: Add bootcmd to load and run UEFI from mmc Henry Beberman
2018-07-16 17:16 ` Trent Piepho
2018-07-16 22:28 ` Henry Beberman
2018-07-16 22:45 ` Trent Piepho
2018-07-16 23:56 ` Henry Beberman
2018-07-17 17:24 ` Trent Piepho
2018-07-18 0:52 ` Henry Beberman
2018-07-17 17:09 ` Fabio Estevam
2018-07-17 17:20 ` Henry Beberman
2018-08-07 11:11 ` Stefano Babic
2018-08-07 11:16 ` Tom Rini
2018-08-07 13:45 ` Alexander Graf
2018-08-08 2:24 ` Henry Beberman
2018-08-15 14:46 ` Alexander Graf
2018-07-14 0:11 ` [U-Boot] [PATCH 03/11] spl: Add FIT boot into OP-TEE then U-Boot proper Henry Beberman
2018-07-14 0:11 ` [U-Boot] [PATCH 02/11] arm: Allow U-Boot Proper to run in normal world Henry Beberman
2018-07-14 0:11 ` [U-Boot] [PATCH 04/11] spl: imx: Add optional lds to keep SPL entirely in on-chip RAM Henry Beberman
2018-07-16 17:32 ` Trent Piepho
2018-07-16 22:48 ` Henry Beberman
2018-08-07 12:17 ` Stefano Babic
2018-08-08 3:22 ` Henry Beberman
2018-07-14 0:11 ` [U-Boot] [PATCH 05/11] mx6sabresd: Add Windows boot support for iMX6 Sabre Henry Beberman
2018-07-14 0:11 ` [U-Boot] [PATCH 07/11] mx6cuboxi: Add Windows boot support for mx6cuboxi Henry Beberman
2018-07-14 0:11 ` [U-Boot] [PATCH 06/11] mx7dsabresd: Add Windows boot support for iMX7 Sabre Henry Beberman
2018-07-16 18:22 ` Trent Piepho
2018-07-17 1:41 ` Henry Beberman
2018-07-17 17:02 ` Trent Piepho
2018-07-17 21:31 ` Henry Beberman
2018-07-14 0:11 ` [U-Boot] [PATCH 08/11] udoo_neo: Add Windows boot support for UDOO Neo Henry Beberman
2018-07-14 0:11 ` [U-Boot] [PATCH 09/11] cl-som-imx7: Add Windows boot support for cl-som-imx7 Henry Beberman
2018-07-14 0:11 ` [U-Boot] [PATCH 11/11] imx: Add MAC addresses to global page to pass MAC into UEFI Henry Beberman
2018-07-14 0:11 ` [U-Boot] [PATCH 10/11] imx: Reserve a global page in memory to pass configuration to UEFI Henry Beberman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180714001117.14584-1-hebeberm@microsoft.com \
--to=henry.beberman@microsoft.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox