Message ID | 14cd8556-8d61-f80c-3b5d-e36a777ad52b@denx.de |
---|---|
State | Changes Requested |
Delegated to: | Tom Rini |
Headers | show |
Series | [U-Boot,PULL] Please pull u-boot-imx | expand |
On Tue, Oct 23, 2018 at 09:52:58AM +0200, Stefano Babic wrote: > Hi Tom, > > please pull from u-boot-imx (tag: u-boot-imx-20181023) thanks ! > > The tree contains fixes for i.MX6 and improvement in docs, but the most > important part is the introduction of the i.MX8 architecture (thanks to > Peng and Antolji for their work !). Build on Travis reported no error, > but I get a build issue with the VF610 boards - this will be require a > fix in next days. i.MX8 can be built following exactly the instruction > of the README file (NXP firmware requires to acknowledge the EULA). I know the i.MX8 stuff has been kicking around for a while so.. OK, yes, I won't be too upset about pushing it so late in the cycle. But, my travis builds do see an error: https://travis-ci.org/trini/u-boot/jobs/445069389#L1038 which is "Fail open first container file ahab-container.img" for imx8qxp_mek and I also see that locally. This feels like the same class of error that we have to deal with on other AArch64 platforms, namely of throwing a user visible error that what they just built will not boot due to lack of other files. Also: $ ./tools/genboardscfg.py -o /dev/null WARNING: no status info for 'warp7_bl33' WARNING: no maintainers for 'warp7_bl33' which I would have just fixed-up, but since we need to address that imx8qxp_mek problem, please update the appropriate MAINTAINERS file too for warp7_bl33. Thanks!
Hi Tom, On 23/10/18 16:29, Tom Rini wrote: > On Tue, Oct 23, 2018 at 09:52:58AM +0200, Stefano Babic wrote: > >> Hi Tom, >> >> please pull from u-boot-imx (tag: u-boot-imx-20181023) thanks ! >> >> The tree contains fixes for i.MX6 and improvement in docs, but the most >> important part is the introduction of the i.MX8 architecture (thanks to >> Peng and Antolji for their work !). Build on Travis reported no error, >> but I get a build issue with the VF610 boards - this will be require a >> fix in next days. i.MX8 can be built following exactly the instruction >> of the README file (NXP firmware requires to acknowledge the EULA). > > I know the i.MX8 stuff has been kicking around for a while so.. OK, yes, > I won't be too upset about pushing it so late in the cycle. But, my > travis builds do see an error: > https://travis-ci.org/trini/u-boot/jobs/445069389#L1038 which is "Fail > open first container file ahab-container.img" for imx8qxp_mek and I also > see that locally. I know: to build i.MX8, we need to download external firmware. In fact, we have to provide the files according to board/freescale/mx8mq_evk/README. Near "imx-atf" (this is not a problem, loaded and built), we need two additional "closed" firmware, that is firmware-imx (currently, 7.6) and imx-sc-firmware. They can be downloaded but they underly the acknowledge of NXP's EULA. They are self extracting scripts and we could hack it to have an automatic build, but I *guess* this breaks the license. I do not know if we are allowed to do this, and both of these firmwares do not provide a way to "implicitely" skip the EULA as we do in OE by setting a variable in local.conf. > This feels like the same class of error that we have > to deal with on other AArch64 platforms, namely of throwing a user > visible error that what they just built will not boot due to lack of > other files. I am unsure: mkimage packs all files together as part of the build, when they are available. User cannot even try to boot, because the build stops if these files are not available. The error at mkimage step is saying us that build is not complete due to missing files (atf, firmware-imx and imx-sc-firmware). > > Also: > $ ./tools/genboardscfg.py -o /dev/null > WARNING: no status info for 'warp7_bl33' > WARNING: no maintainers for 'warp7_bl33' I have not seen, thanks, this must be fixed. > > which I would have just fixed-up, but since we need to address that > imx8qxp_mek problem, please update the appropriate MAINTAINERS file too > for warp7_bl33. Thanks! Regards, Stefano
On Tue, Oct 23, 2018 at 04:42:53PM +0200, Stefano Babic wrote: > Hi Tom, > > On 23/10/18 16:29, Tom Rini wrote: > > On Tue, Oct 23, 2018 at 09:52:58AM +0200, Stefano Babic wrote: > > > >> Hi Tom, > >> > >> please pull from u-boot-imx (tag: u-boot-imx-20181023) thanks ! > >> > >> The tree contains fixes for i.MX6 and improvement in docs, but the most > >> important part is the introduction of the i.MX8 architecture (thanks to > >> Peng and Antolji for their work !). Build on Travis reported no error, > >> but I get a build issue with the VF610 boards - this will be require a > >> fix in next days. i.MX8 can be built following exactly the instruction > >> of the README file (NXP firmware requires to acknowledge the EULA). > > > > I know the i.MX8 stuff has been kicking around for a while so.. OK, yes, > > I won't be too upset about pushing it so late in the cycle. But, my > > travis builds do see an error: > > https://travis-ci.org/trini/u-boot/jobs/445069389#L1038 which is "Fail > > open first container file ahab-container.img" for imx8qxp_mek and I also > > see that locally. > > I know: to build i.MX8, we need to download external firmware. In fact, > we have to provide the files according to board/freescale/mx8mq_evk/README. > > Near "imx-atf" (this is not a problem, loaded and built), we need two > additional "closed" firmware, that is firmware-imx (currently, 7.6) and > imx-sc-firmware. They can be downloaded but they underly the acknowledge > of NXP's EULA. They are self extracting scripts and we could hack it to > have an automatic build, but I *guess* this breaks the license. I do not > know if we are allowed to do this, and both of these firmwares do not > provide a way to "implicitely" skip the EULA as we do in OE by setting a > variable in local.conf. > > > This feels like the same class of error that we have > > to deal with on other AArch64 platforms, namely of throwing a user > > visible error that what they just built will not boot due to lack of > > other files. > > I am unsure: mkimage packs all files together as part of the build, when > they are available. User cannot even try to boot, because the build > stops if these files are not available. The error at mkimage step is > saying us that build is not complete due to missing files (atf, > firmware-imx and imx-sc-firmware). Yup, this is the same problem we have in other platforms. Take a look at board/sunxi/mksunxi_fit_atf.sh or tools/k3_fit_atf.sh for what we do on some other platforms so that CI build completes but it's clear to the end user that the binary will not work and what they need to do / read to get a functional build. There's also arch/arm/mach-omap2/config_secure.mk as an example of all the fun we have for building the secure TI platforms that more closely follow the problem you have here, namely of needing EULA'd packages (and in those cases, also NDA, iirc) installed to complete a functional build. I think you'll need to do something closer to the xxxx_fit_atf.sh scripts in this case, to check for required blobs and if not found, not call mkimage and echo something loud and visible to the user.
Hi Tom, new PR (and new tag: u-boot-imx-20181024) with the fixes we discussed: - fix build i.MX8 for Travis - fix warnings (Warp) The following changes since commit 0a60a81ba3860946551cb79aa6486aa076e357f3: Kconfig: sandbox: enable cmd_avb and dependencies (2018-10-07 13:34:19 -0400) are available in the Git repository at: git://www.denx.de/git/u-boot-imx.git tags/u-boot-imx-20181024 for you to fetch changes up to cf0f7fde7b2cd3944364c1e70a65603cdd3fa889: imx: mkimage: avoid stop CI when required files not exists (2018-10-24 13:23:36 +0200) ---------------------------------------------------------------- Merged imx8 architecture, fix build for imx8 + warnings ---------------------------------------------------------------- Anatolij Gustschin (3): imx8: cpu: add function for reading FEC MAC from fuse imx8: cpu: add uclass based CPU driver i2c: imx_lpi2c: fix typo and register base address format Bernhard Messerklinger (1): serial: mxc: Add match string for i.mx6 quad/dual lite serial Breno Matheus Lima (7): doc: imx: reorganize i.MX documentation doc: imx: Move SPD related info to the appropriate doc doc: imx: mkimage: reorganize i.MX mkimage documentation doc: imx: Reorganize i.MX SoC common documentation doc: imx: hab: Reorganize High Assurance Boot documentation doc: imx: misc: Reorganize miscellaneous documentation doc: imx: Improve i.MX documentation naming Dan Cimpoca (1): board: ge: bx50v3: fix initialization of i2c bus0 Fabien Lahoudere (1): board: ge: bx50v3: Change maintainer Fabio Estevam (5): pico-imx7d: Make SPL binary fit into 64kB pico-imx7d: Add USB Host support colibri_imx7: prime get_ram_size() using imx_ddr_size() configs: mx7: Remove CONFIG_DBG_MONITOR warp7: MAINTAINERS: Add an entry for warp7_bl33_defconfig Ian Ray (2): board: ge: bx50v3: correct LDB clock board: ge: bx50v3: b{4,6}50v3 modeline Marcel Ziswiler (1): imx: mx7: fix potential overflow in imx_ddr_size() Marek Vasut (3): arm: imx: mx5: Make videoskip available on MX5 arm: mx5: Add LDB clock config code arm: mx5: Add M53Menlo board Otavio Salvador (2): pico-imx6ul, pico-imx7d: Use eMMC user partition by default pico-imx6ul, pico-imx7d: Enable USB and PXE boot support Peng Fan (34): dt-bindings: pinctrl: add i.MX8QXP pads definition dt-bindings: clock: dt-bindings: pinctrl: add i.MX8QXP clocks definition dt-bindings: soc: add i.MX8QXP pm and rsrc definition imx8: add scfw macro definition imx: add Kconfig entry for i.MX8QXP arm: build mach-imx for i.MX8 arm: global_data: add scu_dev for i.MX8 misc: add i.MX8 misc driver misc: imx8: add scfw api impementation imx: boot_mode: Add FLEXSPI boot entry imx8: add imx-regs header file imx8: pins: include i.MX8QXP pin header when CONFIG_IMX8QXP defined imx: add i.MX8 cpu type armv8: add cpu core helper functions imx8: add basic cpu support imx8: add boot device detection imx8: implement mmc_get_env_dev imx8: add mmu and dram related functions imx8: add arch_cpu_init arch_cpu_init_dm imx8: add iomux configuration api imx8: add dummy clock gpio: mxc_gpio: add support for i.MX8 pinctrl: Add pinctrl driver for i.MX8 power: Add power domain driver for i.MX8 clk: imx: add clk driver for i.MX8QXP serial_lpuart: Update lpuart driver to support i.MX8 serial: lpuart: support uclass clk api mmc: fsl_esdhc: add uclass clk support arm: dts: introduce dtsi for i.MX8QXP imx: add i.MX8QXP MEK board support tools: add i.MX8/8X image support arm: imx: include imx8image support imx: imx8qxp_mek: update to build image in U-Boot imx: mkimage: avoid stop CI when required files not exists Rui Miguel Silva (4): imx: mx7: avoid some initialization if low level is skipped optee: adjust dependencies and default values for dram warp7: include: configs: set skip low level init warp7: configs: add bl33 defconfig Sébastien Szymanski (1): ARM: opos6ul: make the board boot again Xiaoliang Yang (1): Kconfig: Convert CONFIG_IMX_WATCHDOG to Kconfig Ye Li (2): serial: lpuart: Enable RX and TX FIFO fsl_esdhc: Update usdhc driver to support i.MX8 arch/arm/Kconfig | 8 + arch/arm/Makefile | 2 +- arch/arm/dts/Makefile | 2 + arch/arm/dts/fsl-imx8-ca35.dtsi | 66 +++++++ arch/arm/dts/fsl-imx8dx.dtsi | 499 +++++++++++++++++++++++++++++++++++++++++++++++++++ arch/arm/dts/fsl-imx8dxp.dtsi | 11 ++ arch/arm/dts/fsl-imx8qxp-mek.dts | 246 ++++++++++++++++++++++++++ arch/arm/dts/fsl-imx8qxp.dtsi | 51 ++++++ arch/arm/dts/imx6ul-opos6ul-u-boot.dtsi | 28 +++ arch/arm/dts/imx6ul-opos6ul.dtsi | 2 - arch/arm/dts/imx6ul-opos6uldev-u-boot.dtsi | 24 +++ arch/arm/dts/imx6ul-opos6uldev.dts | 2 - arch/arm/include/asm/arch-imx/cpu.h | 6 + arch/arm/include/asm/arch-imx8/clock.h | 27 +++ arch/arm/include/asm/arch-imx8/gpio.h | 21 +++ arch/arm/include/asm/arch-imx8/imx-regs.h | 46 +++++ arch/arm/include/asm/arch-imx8/imx8-pins.h | 15 ++ arch/arm/include/asm/arch-imx8/iomux.h | 40 +++++ arch/arm/include/asm/arch-imx8/power-domain.h | 15 ++ arch/arm/include/asm/arch-imx8/sci/rpc.h | 158 +++++++++++++++++ arch/arm/include/asm/arch-imx8/sci/sci.h | 88 +++++++++ arch/arm/include/asm/arch-imx8/sci/svc/misc/api.h | 30 ++++ arch/arm/include/asm/arch-imx8/sci/svc/pad/api.h | 57 ++++++ arch/arm/include/asm/arch-imx8/sci/svc/pm/api.h | 44 +++++ arch/arm/include/asm/arch-imx8/sci/svc/rm/api.h | 69 ++++++++ arch/arm/include/asm/arch-imx8/sci/types.h | 220 +++++++++++++++++++++++ arch/arm/include/asm/arch-imx8/sys_proto.h | 19 ++ arch/arm/include/asm/arch-mx5/clock.h | 1 + arch/arm/include/asm/armv8/cpu.h | 26 +++ arch/arm/include/asm/global_data.h | 4 + arch/arm/include/asm/mach-imx/boot_mode.h | 1 + arch/arm/include/asm/mach-imx/sys_proto.h | 3 + arch/arm/mach-imx/Makefile | 26 ++- arch/arm/mach-imx/imx8/Kconfig | 26 +++ arch/arm/mach-imx/imx8/Makefile | 7 + arch/arm/mach-imx/imx8/clock.c | 21 +++ arch/arm/mach-imx/imx8/cpu.c | 646 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ arch/arm/mach-imx/imx8/iomux.c | 43 +++++ arch/arm/mach-imx/mx5/Kconfig | 6 + arch/arm/mach-imx/mx5/clock.c | 29 +++ arch/arm/mach-imx/mx7/ddr.c | 4 + arch/arm/mach-imx/mx7/soc.c | 2 + arch/arm/mach-imx/syscounter.c | 2 + board/freescale/imx8qxp_mek/Kconfig | 14 ++ board/freescale/imx8qxp_mek/MAINTAINERS | 6 + board/freescale/imx8qxp_mek/Makefile | 7 + board/freescale/imx8qxp_mek/README | 55 ++++++ board/freescale/imx8qxp_mek/imx8qxp_mek.c | 170 ++++++++++++++++++ board/freescale/imx8qxp_mek/imximage.cfg | 25 +++ board/freescale/mx8mq_evk/README | 81 +++++++++ board/ge/bx50v3/MAINTAINERS | 2 +- board/ge/bx50v3/bx50v3.c | 38 ++-- board/menlo/m53menlo/Kconfig | 15 ++ board/menlo/m53menlo/MAINTAINERS | 7 + board/menlo/m53menlo/Makefile | 9 + board/menlo/m53menlo/imximage.cfg | 91 ++++++++++ board/menlo/m53menlo/m53menlo.c | 513 +++++++++++++++++++++++++++++++++++++++++++++++++++++ board/technexion/pico-imx7d/pico-imx7d.c | 29 ++- board/toradex/colibri_imx7/colibri_imx7.c | 2 +- board/warp7/MAINTAINERS | 1 + common/image.c | 1 + configs/aristainetos2_defconfig | 1 + configs/aristainetos2b_defconfig | 1 + configs/aristainetos_defconfig | 1 + configs/dh_imx6_defconfig | 1 + configs/display5_defconfig | 1 + configs/display5_factory_defconfig | 1 + configs/ge_bx50v3_defconfig | 1 + configs/imx8qxp_mek_defconfig | 52 ++++++ configs/kp_imx6q_tpc_defconfig | 1 + configs/m53menlo_defconfig | 60 +++++++ configs/mx53ppd_defconfig | 1 + configs/pico-hobbit-imx7d_defconfig | 1 - configs/pico-imx7d_defconfig | 1 - configs/pico-pi-imx7d_defconfig | 1 - configs/tqma6s_wru4_mmc_defconfig | 1 + configs/warp7_bl33_defconfig | 42 +++++ configs/warp7_defconfig | 2 + configs/warp_defconfig | 1 + doc/{README.imx25 => imx/common/imx25.txt} | 0 doc/{README.imx27 => imx/common/imx27.txt} | 0 doc/{README.imx5 => imx/common/imx5.txt} | 0 doc/{README.imx6 => imx/common/imx6.txt} | 25 --- doc/{README.mxs => imx/common/mxs.txt} | 0 doc/imx/hab/habv4/encrypted_boot.txt | 43 +++++ doc/{README.mxc_hab => imx/hab/habv4/secure_boot.txt} | 44 ----- doc/{README.sdp => imx/misc/sdp.txt} | 22 ++- doc/{README.imximage => imx/mkimage/imximage.txt} | 0 doc/{README.mxsimage => imx/mkimage/mxsimage.txt} | 0 drivers/clk/Kconfig | 1 + drivers/clk/Makefile | 1 + drivers/clk/imx/Kconfig | 6 + drivers/clk/imx/Makefile | 5 + drivers/clk/imx/clk-imx8.c | 393 +++++++++++++++++++++++++++++++++++++++++ drivers/gpio/mxc_gpio.c | 30 +++- drivers/i2c/imx_lpi2c.c | 4 +- drivers/misc/Makefile | 1 + drivers/misc/imx8/Makefile | 3 + drivers/misc/imx8/scu.c | 266 ++++++++++++++++++++++++++++ drivers/misc/imx8/scu_api.c | 367 ++++++++++++++++++++++++++++++++++++++ drivers/mmc/fsl_esdhc.c | 34 +++- drivers/pinctrl/nxp/Kconfig | 18 ++ drivers/pinctrl/nxp/Makefile | 2 + drivers/pinctrl/nxp/pinctrl-imx.c | 209 ++++++++++++---------- drivers/pinctrl/nxp/pinctrl-imx.h | 16 ++ drivers/pinctrl/nxp/pinctrl-imx8.c | 40 +++++ drivers/pinctrl/nxp/pinctrl-scu.c | 66 +++++++ drivers/power/domain/Kconfig | 8 +- drivers/power/domain/Makefile | 1 + drivers/power/domain/imx8-power-domain.c | 315 +++++++++++++++++++++++++++++++++ drivers/serial/serial_lpuart.c | 143 ++++++++++++--- drivers/serial/serial_mxc.c | 1 + drivers/watchdog/Kconfig | 7 + include/configs/aristainetos-common.h | 3 - include/configs/cl-som-imx7.h | 2 - include/configs/colibri-imx6ull.h | 1 - include/configs/colibri_imx7.h | 3 - include/configs/dh_imx6.h | 2 - include/configs/display5.h | 2 - include/configs/ge_bx50v3.h | 2 - include/configs/imx8qxp_mek.h | 157 +++++++++++++++++ include/configs/kp_imx6q_tpc.h | 2 - include/configs/m53menlo.h | 246 ++++++++++++++++++++++++++ include/configs/mx53ppd.h | 2 - include/configs/mx7dsabresd.h | 1 - include/configs/pico-imx6ul.h | 6 +- include/configs/pico-imx7d.h | 6 +- include/configs/tqma6_wru4.h | 2 - include/configs/warp.h | 2 - include/configs/warp7.h | 11 ++ include/dt-bindings/clock/imx8qxp-clock.h | 583 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/dt-bindings/pinctrl/pads-imx8qxp.h | 757 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/dt-bindings/soc/imx8_pd.h | 188 ++++++++++++++++++++ include/dt-bindings/soc/imx_rsrc.h | 557 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/fsl_lpuart.h | 2 +- include/image.h | 1 + include/imx8image.h | 273 ++++++++++++++++++++++++++++ lib/optee/Kconfig | 8 +- scripts/config_whitelist.txt | 2 - tools/Makefile | 1 + tools/imagetool.h | 1 + tools/imx8_cntr_image.sh | 32 ++++ tools/imx8image.c | 961 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ tools/mkimage.c | 7 + 144 files changed, 9491 insertions(+), 282 deletions(-) create mode 100644 arch/arm/dts/fsl-imx8-ca35.dtsi create mode 100644 arch/arm/dts/fsl-imx8dx.dtsi create mode 100644 arch/arm/dts/fsl-imx8dxp.dtsi create mode 100644 arch/arm/dts/fsl-imx8qxp-mek.dts create mode 100644 arch/arm/dts/fsl-imx8qxp.dtsi create mode 100644 arch/arm/dts/imx6ul-opos6ul-u-boot.dtsi create mode 100644 arch/arm/dts/imx6ul-opos6uldev-u-boot.dtsi create mode 100644 arch/arm/include/asm/arch-imx8/clock.h create mode 100644 arch/arm/include/asm/arch-imx8/gpio.h create mode 100644 arch/arm/include/asm/arch-imx8/imx-regs.h create mode 100644 arch/arm/include/asm/arch-imx8/imx8-pins.h create mode 100644 arch/arm/include/asm/arch-imx8/iomux.h create mode 100644 arch/arm/include/asm/arch-imx8/power-domain.h create mode 100644 arch/arm/include/asm/arch-imx8/sci/rpc.h create mode 100644 arch/arm/include/asm/arch-imx8/sci/sci.h create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/misc/api.h create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/pad/api.h create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/pm/api.h create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/rm/api.h create mode 100644 arch/arm/include/asm/arch-imx8/sci/types.h create mode 100644 arch/arm/include/asm/arch-imx8/sys_proto.h create mode 100644 arch/arm/include/asm/armv8/cpu.h create mode 100644 arch/arm/mach-imx/imx8/Kconfig create mode 100644 arch/arm/mach-imx/imx8/Makefile create mode 100644 arch/arm/mach-imx/imx8/clock.c create mode 100644 arch/arm/mach-imx/imx8/cpu.c create mode 100644 arch/arm/mach-imx/imx8/iomux.c create mode 100644 board/freescale/imx8qxp_mek/Kconfig create mode 100644 board/freescale/imx8qxp_mek/MAINTAINERS create mode 100644 board/freescale/imx8qxp_mek/Makefile create mode 100644 board/freescale/imx8qxp_mek/README create mode 100644 board/freescale/imx8qxp_mek/imx8qxp_mek.c create mode 100644 board/freescale/imx8qxp_mek/imximage.cfg create mode 100644 board/freescale/mx8mq_evk/README create mode 100644 board/menlo/m53menlo/Kconfig create mode 100644 board/menlo/m53menlo/MAINTAINERS create mode 100644 board/menlo/m53menlo/Makefile create mode 100644 board/menlo/m53menlo/imximage.cfg create mode 100644 board/menlo/m53menlo/m53menlo.c create mode 100644 configs/imx8qxp_mek_defconfig create mode 100644 configs/m53menlo_defconfig create mode 100644 configs/warp7_bl33_defconfig rename doc/{README.imx25 => imx/common/imx25.txt} (100%) rename doc/{README.imx27 => imx/common/imx27.txt} (100%) rename doc/{README.imx5 => imx/common/imx5.txt} (100%) rename doc/{README.imx6 => imx/common/imx6.txt} (73%) rename doc/{README.mxs => imx/common/mxs.txt} (100%) create mode 100644 doc/imx/hab/habv4/encrypted_boot.txt rename doc/{README.mxc_hab => imx/hab/habv4/secure_boot.txt} (68%) rename doc/{README.sdp => imx/misc/sdp.txt} (82%) rename doc/{README.imximage => imx/mkimage/imximage.txt} (100%) rename doc/{README.mxsimage => imx/mkimage/mxsimage.txt} (100%) create mode 100644 drivers/clk/imx/Kconfig create mode 100644 drivers/clk/imx/Makefile create mode 100644 drivers/clk/imx/clk-imx8.c create mode 100644 drivers/misc/imx8/Makefile create mode 100644 drivers/misc/imx8/scu.c create mode 100644 drivers/misc/imx8/scu_api.c create mode 100644 drivers/pinctrl/nxp/pinctrl-imx8.c create mode 100644 drivers/pinctrl/nxp/pinctrl-scu.c create mode 100644 drivers/power/domain/imx8-power-domain.c create mode 100644 include/configs/imx8qxp_mek.h create mode 100644 include/configs/m53menlo.h create mode 100644 include/dt-bindings/clock/imx8qxp-clock.h create mode 100644 include/dt-bindings/pinctrl/pads-imx8qxp.h create mode 100644 include/dt-bindings/soc/imx8_pd.h create mode 100644 include/dt-bindings/soc/imx_rsrc.h create mode 100644 include/imx8image.h create mode 100755 tools/imx8_cntr_image.sh create mode 100644 tools/imx8image.c On 23/10/18 16:52, Tom Rini wrote: > On Tue, Oct 23, 2018 at 04:42:53PM +0200, Stefano Babic wrote: >> Hi Tom, >> >> On 23/10/18 16:29, Tom Rini wrote: >>> On Tue, Oct 23, 2018 at 09:52:58AM +0200, Stefano Babic wrote: >>> >>>> Hi Tom, >>>> >>>> please pull from u-boot-imx (tag: u-boot-imx-20181023) thanks ! >>>> >>>> The tree contains fixes for i.MX6 and improvement in docs, but the most >>>> important part is the introduction of the i.MX8 architecture (thanks to >>>> Peng and Antolji for their work !). Build on Travis reported no error, >>>> but I get a build issue with the VF610 boards - this will be require a >>>> fix in next days. i.MX8 can be built following exactly the instruction >>>> of the README file (NXP firmware requires to acknowledge the EULA). >>> >>> I know the i.MX8 stuff has been kicking around for a while so.. OK, yes, >>> I won't be too upset about pushing it so late in the cycle. But, my >>> travis builds do see an error: >>> https://travis-ci.org/trini/u-boot/jobs/445069389#L1038 which is "Fail >>> open first container file ahab-container.img" for imx8qxp_mek and I also >>> see that locally. >> >> I know: to build i.MX8, we need to download external firmware. In fact, >> we have to provide the files according to board/freescale/mx8mq_evk/README. >> >> Near "imx-atf" (this is not a problem, loaded and built), we need two >> additional "closed" firmware, that is firmware-imx (currently, 7.6) and >> imx-sc-firmware. They can be downloaded but they underly the acknowledge >> of NXP's EULA. They are self extracting scripts and we could hack it to >> have an automatic build, but I *guess* this breaks the license. I do not >> know if we are allowed to do this, and both of these firmwares do not >> provide a way to "implicitely" skip the EULA as we do in OE by setting a >> variable in local.conf. >> >>> This feels like the same class of error that we have >>> to deal with on other AArch64 platforms, namely of throwing a user >>> visible error that what they just built will not boot due to lack of >>> other files. >> >> I am unsure: mkimage packs all files together as part of the build, when >> they are available. User cannot even try to boot, because the build >> stops if these files are not available. The error at mkimage step is >> saying us that build is not complete due to missing files (atf, >> firmware-imx and imx-sc-firmware). > > Yup, this is the same problem we have in other platforms. Take a look > at board/sunxi/mksunxi_fit_atf.sh or tools/k3_fit_atf.sh for what we do > on some other platforms so that CI build completes but it's clear to the > end user that the binary will not work and what they need to do / read > to get a functional build. There's also > arch/arm/mach-omap2/config_secure.mk as an example of all the fun we > have for building the secure TI platforms that more closely follow the > problem you have here, namely of needing EULA'd packages (and in those > cases, also NDA, iirc) installed to complete a functional build. I > think you'll need to do something closer to the xxxx_fit_atf.sh scripts > in this case, to check for required blobs and if not found, not call > mkimage and echo something loud and visible to the user. > Regards, Stefano
Hi Tom, please just wait a little for this. Fix for i.MX8 is still WIP, and now it is in test. I will send a new PR later. Thanks, Stefano On 24/10/18 15:38, Stefano Babic wrote: > Hi Tom, > > new PR (and new tag: u-boot-imx-20181024) with the fixes we discussed: > > - fix build i.MX8 for Travis > - fix warnings (Warp) > > The following changes since commit 0a60a81ba3860946551cb79aa6486aa076e357f3: > > Kconfig: sandbox: enable cmd_avb and dependencies (2018-10-07 13:34:19 > -0400) > > are available in the Git repository at: > > git://www.denx.de/git/u-boot-imx.git tags/u-boot-imx-20181024 > > for you to fetch changes up to cf0f7fde7b2cd3944364c1e70a65603cdd3fa889: > > imx: mkimage: avoid stop CI when required files not exists (2018-10-24 > 13:23:36 +0200) > > ---------------------------------------------------------------- > Merged imx8 architecture, fix build for imx8 + warnings > > ---------------------------------------------------------------- > Anatolij Gustschin (3): > imx8: cpu: add function for reading FEC MAC from fuse > imx8: cpu: add uclass based CPU driver > i2c: imx_lpi2c: fix typo and register base address format > > Bernhard Messerklinger (1): > serial: mxc: Add match string for i.mx6 quad/dual lite serial > > Breno Matheus Lima (7): > doc: imx: reorganize i.MX documentation > doc: imx: Move SPD related info to the appropriate doc > doc: imx: mkimage: reorganize i.MX mkimage documentation > doc: imx: Reorganize i.MX SoC common documentation > doc: imx: hab: Reorganize High Assurance Boot documentation > doc: imx: misc: Reorganize miscellaneous documentation > doc: imx: Improve i.MX documentation naming > > Dan Cimpoca (1): > board: ge: bx50v3: fix initialization of i2c bus0 > > Fabien Lahoudere (1): > board: ge: bx50v3: Change maintainer > > Fabio Estevam (5): > pico-imx7d: Make SPL binary fit into 64kB > pico-imx7d: Add USB Host support > colibri_imx7: prime get_ram_size() using imx_ddr_size() > configs: mx7: Remove CONFIG_DBG_MONITOR > warp7: MAINTAINERS: Add an entry for warp7_bl33_defconfig > > Ian Ray (2): > board: ge: bx50v3: correct LDB clock > board: ge: bx50v3: b{4,6}50v3 modeline > > Marcel Ziswiler (1): > imx: mx7: fix potential overflow in imx_ddr_size() > > Marek Vasut (3): > arm: imx: mx5: Make videoskip available on MX5 > arm: mx5: Add LDB clock config code > arm: mx5: Add M53Menlo board > > Otavio Salvador (2): > pico-imx6ul, pico-imx7d: Use eMMC user partition by default > pico-imx6ul, pico-imx7d: Enable USB and PXE boot support > > Peng Fan (34): > dt-bindings: pinctrl: add i.MX8QXP pads definition > dt-bindings: clock: dt-bindings: pinctrl: add i.MX8QXP clocks > definition > dt-bindings: soc: add i.MX8QXP pm and rsrc definition > imx8: add scfw macro definition > imx: add Kconfig entry for i.MX8QXP > arm: build mach-imx for i.MX8 > arm: global_data: add scu_dev for i.MX8 > misc: add i.MX8 misc driver > misc: imx8: add scfw api impementation > imx: boot_mode: Add FLEXSPI boot entry > imx8: add imx-regs header file > imx8: pins: include i.MX8QXP pin header when CONFIG_IMX8QXP defined > imx: add i.MX8 cpu type > armv8: add cpu core helper functions > imx8: add basic cpu support > imx8: add boot device detection > imx8: implement mmc_get_env_dev > imx8: add mmu and dram related functions > imx8: add arch_cpu_init arch_cpu_init_dm > imx8: add iomux configuration api > imx8: add dummy clock > gpio: mxc_gpio: add support for i.MX8 > pinctrl: Add pinctrl driver for i.MX8 > power: Add power domain driver for i.MX8 > clk: imx: add clk driver for i.MX8QXP > serial_lpuart: Update lpuart driver to support i.MX8 > serial: lpuart: support uclass clk api > mmc: fsl_esdhc: add uclass clk support > arm: dts: introduce dtsi for i.MX8QXP > imx: add i.MX8QXP MEK board support > tools: add i.MX8/8X image support > arm: imx: include imx8image support > imx: imx8qxp_mek: update to build image in U-Boot > imx: mkimage: avoid stop CI when required files not exists > > Rui Miguel Silva (4): > imx: mx7: avoid some initialization if low level is skipped > optee: adjust dependencies and default values for dram > warp7: include: configs: set skip low level init > warp7: configs: add bl33 defconfig > > Sébastien Szymanski (1): > ARM: opos6ul: make the board boot again > > Xiaoliang Yang (1): > Kconfig: Convert CONFIG_IMX_WATCHDOG to Kconfig > > Ye Li (2): > serial: lpuart: Enable RX and TX FIFO > fsl_esdhc: Update usdhc driver to support i.MX8 > > arch/arm/Kconfig | 8 + > arch/arm/Makefile | 2 +- > arch/arm/dts/Makefile | 2 + > arch/arm/dts/fsl-imx8-ca35.dtsi | 66 +++++++ > arch/arm/dts/fsl-imx8dx.dtsi | 499 > +++++++++++++++++++++++++++++++++++++++++++++++++++ > arch/arm/dts/fsl-imx8dxp.dtsi | 11 ++ > arch/arm/dts/fsl-imx8qxp-mek.dts | 246 > ++++++++++++++++++++++++++ > arch/arm/dts/fsl-imx8qxp.dtsi | 51 ++++++ > arch/arm/dts/imx6ul-opos6ul-u-boot.dtsi | 28 +++ > arch/arm/dts/imx6ul-opos6ul.dtsi | 2 - > arch/arm/dts/imx6ul-opos6uldev-u-boot.dtsi | 24 +++ > arch/arm/dts/imx6ul-opos6uldev.dts | 2 - > arch/arm/include/asm/arch-imx/cpu.h | 6 + > arch/arm/include/asm/arch-imx8/clock.h | 27 +++ > arch/arm/include/asm/arch-imx8/gpio.h | 21 +++ > arch/arm/include/asm/arch-imx8/imx-regs.h | 46 +++++ > arch/arm/include/asm/arch-imx8/imx8-pins.h | 15 ++ > arch/arm/include/asm/arch-imx8/iomux.h | 40 +++++ > arch/arm/include/asm/arch-imx8/power-domain.h | 15 ++ > arch/arm/include/asm/arch-imx8/sci/rpc.h | 158 > +++++++++++++++++ > arch/arm/include/asm/arch-imx8/sci/sci.h | 88 +++++++++ > arch/arm/include/asm/arch-imx8/sci/svc/misc/api.h | 30 ++++ > arch/arm/include/asm/arch-imx8/sci/svc/pad/api.h | 57 ++++++ > arch/arm/include/asm/arch-imx8/sci/svc/pm/api.h | 44 +++++ > arch/arm/include/asm/arch-imx8/sci/svc/rm/api.h | 69 ++++++++ > arch/arm/include/asm/arch-imx8/sci/types.h | 220 > +++++++++++++++++++++++ > arch/arm/include/asm/arch-imx8/sys_proto.h | 19 ++ > arch/arm/include/asm/arch-mx5/clock.h | 1 + > arch/arm/include/asm/armv8/cpu.h | 26 +++ > arch/arm/include/asm/global_data.h | 4 + > arch/arm/include/asm/mach-imx/boot_mode.h | 1 + > arch/arm/include/asm/mach-imx/sys_proto.h | 3 + > arch/arm/mach-imx/Makefile | 26 ++- > arch/arm/mach-imx/imx8/Kconfig | 26 +++ > arch/arm/mach-imx/imx8/Makefile | 7 + > arch/arm/mach-imx/imx8/clock.c | 21 +++ > arch/arm/mach-imx/imx8/cpu.c | 646 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > arch/arm/mach-imx/imx8/iomux.c | 43 +++++ > arch/arm/mach-imx/mx5/Kconfig | 6 + > arch/arm/mach-imx/mx5/clock.c | 29 +++ > arch/arm/mach-imx/mx7/ddr.c | 4 + > arch/arm/mach-imx/mx7/soc.c | 2 + > arch/arm/mach-imx/syscounter.c | 2 + > board/freescale/imx8qxp_mek/Kconfig | 14 ++ > board/freescale/imx8qxp_mek/MAINTAINERS | 6 + > board/freescale/imx8qxp_mek/Makefile | 7 + > board/freescale/imx8qxp_mek/README | 55 ++++++ > board/freescale/imx8qxp_mek/imx8qxp_mek.c | 170 > ++++++++++++++++++ > board/freescale/imx8qxp_mek/imximage.cfg | 25 +++ > board/freescale/mx8mq_evk/README | 81 +++++++++ > board/ge/bx50v3/MAINTAINERS | 2 +- > board/ge/bx50v3/bx50v3.c | 38 ++-- > board/menlo/m53menlo/Kconfig | 15 ++ > board/menlo/m53menlo/MAINTAINERS | 7 + > board/menlo/m53menlo/Makefile | 9 + > board/menlo/m53menlo/imximage.cfg | 91 ++++++++++ > board/menlo/m53menlo/m53menlo.c | 513 > +++++++++++++++++++++++++++++++++++++++++++++++++++++ > board/technexion/pico-imx7d/pico-imx7d.c | 29 ++- > board/toradex/colibri_imx7/colibri_imx7.c | 2 +- > board/warp7/MAINTAINERS | 1 + > common/image.c | 1 + > configs/aristainetos2_defconfig | 1 + > configs/aristainetos2b_defconfig | 1 + > configs/aristainetos_defconfig | 1 + > configs/dh_imx6_defconfig | 1 + > configs/display5_defconfig | 1 + > configs/display5_factory_defconfig | 1 + > configs/ge_bx50v3_defconfig | 1 + > configs/imx8qxp_mek_defconfig | 52 ++++++ > configs/kp_imx6q_tpc_defconfig | 1 + > configs/m53menlo_defconfig | 60 +++++++ > configs/mx53ppd_defconfig | 1 + > configs/pico-hobbit-imx7d_defconfig | 1 - > configs/pico-imx7d_defconfig | 1 - > configs/pico-pi-imx7d_defconfig | 1 - > configs/tqma6s_wru4_mmc_defconfig | 1 + > configs/warp7_bl33_defconfig | 42 +++++ > configs/warp7_defconfig | 2 + > configs/warp_defconfig | 1 + > doc/{README.imx25 => imx/common/imx25.txt} | 0 > doc/{README.imx27 => imx/common/imx27.txt} | 0 > doc/{README.imx5 => imx/common/imx5.txt} | 0 > doc/{README.imx6 => imx/common/imx6.txt} | 25 --- > doc/{README.mxs => imx/common/mxs.txt} | 0 > doc/imx/hab/habv4/encrypted_boot.txt | 43 +++++ > doc/{README.mxc_hab => imx/hab/habv4/secure_boot.txt} | 44 ----- > doc/{README.sdp => imx/misc/sdp.txt} | 22 ++- > doc/{README.imximage => imx/mkimage/imximage.txt} | 0 > doc/{README.mxsimage => imx/mkimage/mxsimage.txt} | 0 > drivers/clk/Kconfig | 1 + > drivers/clk/Makefile | 1 + > drivers/clk/imx/Kconfig | 6 + > drivers/clk/imx/Makefile | 5 + > drivers/clk/imx/clk-imx8.c | 393 > +++++++++++++++++++++++++++++++++++++++++ > drivers/gpio/mxc_gpio.c | 30 +++- > drivers/i2c/imx_lpi2c.c | 4 +- > drivers/misc/Makefile | 1 + > drivers/misc/imx8/Makefile | 3 + > drivers/misc/imx8/scu.c | 266 > ++++++++++++++++++++++++++++ > drivers/misc/imx8/scu_api.c | 367 > ++++++++++++++++++++++++++++++++++++++ > drivers/mmc/fsl_esdhc.c | 34 +++- > drivers/pinctrl/nxp/Kconfig | 18 ++ > drivers/pinctrl/nxp/Makefile | 2 + > drivers/pinctrl/nxp/pinctrl-imx.c | 209 > ++++++++++++---------- > drivers/pinctrl/nxp/pinctrl-imx.h | 16 ++ > drivers/pinctrl/nxp/pinctrl-imx8.c | 40 +++++ > drivers/pinctrl/nxp/pinctrl-scu.c | 66 +++++++ > drivers/power/domain/Kconfig | 8 +- > drivers/power/domain/Makefile | 1 + > drivers/power/domain/imx8-power-domain.c | 315 > +++++++++++++++++++++++++++++++++ > drivers/serial/serial_lpuart.c | 143 ++++++++++++--- > drivers/serial/serial_mxc.c | 1 + > drivers/watchdog/Kconfig | 7 + > include/configs/aristainetos-common.h | 3 - > include/configs/cl-som-imx7.h | 2 - > include/configs/colibri-imx6ull.h | 1 - > include/configs/colibri_imx7.h | 3 - > include/configs/dh_imx6.h | 2 - > include/configs/display5.h | 2 - > include/configs/ge_bx50v3.h | 2 - > include/configs/imx8qxp_mek.h | 157 > +++++++++++++++++ > include/configs/kp_imx6q_tpc.h | 2 - > include/configs/m53menlo.h | 246 > ++++++++++++++++++++++++++ > include/configs/mx53ppd.h | 2 - > include/configs/mx7dsabresd.h | 1 - > include/configs/pico-imx6ul.h | 6 +- > include/configs/pico-imx7d.h | 6 +- > include/configs/tqma6_wru4.h | 2 - > include/configs/warp.h | 2 - > include/configs/warp7.h | 11 ++ > include/dt-bindings/clock/imx8qxp-clock.h | 583 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > include/dt-bindings/pinctrl/pads-imx8qxp.h | 757 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > include/dt-bindings/soc/imx8_pd.h | 188 > ++++++++++++++++++++ > include/dt-bindings/soc/imx_rsrc.h | 557 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > include/fsl_lpuart.h | 2 +- > include/image.h | 1 + > include/imx8image.h | 273 > ++++++++++++++++++++++++++++ > lib/optee/Kconfig | 8 +- > scripts/config_whitelist.txt | 2 - > tools/Makefile | 1 + > tools/imagetool.h | 1 + > tools/imx8_cntr_image.sh | 32 ++++ > tools/imx8image.c | 961 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > tools/mkimage.c | 7 + > 144 files changed, 9491 insertions(+), 282 deletions(-) > create mode 100644 arch/arm/dts/fsl-imx8-ca35.dtsi > create mode 100644 arch/arm/dts/fsl-imx8dx.dtsi > create mode 100644 arch/arm/dts/fsl-imx8dxp.dtsi > create mode 100644 arch/arm/dts/fsl-imx8qxp-mek.dts > create mode 100644 arch/arm/dts/fsl-imx8qxp.dtsi > create mode 100644 arch/arm/dts/imx6ul-opos6ul-u-boot.dtsi > create mode 100644 arch/arm/dts/imx6ul-opos6uldev-u-boot.dtsi > create mode 100644 arch/arm/include/asm/arch-imx8/clock.h > create mode 100644 arch/arm/include/asm/arch-imx8/gpio.h > create mode 100644 arch/arm/include/asm/arch-imx8/imx-regs.h > create mode 100644 arch/arm/include/asm/arch-imx8/imx8-pins.h > create mode 100644 arch/arm/include/asm/arch-imx8/iomux.h > create mode 100644 arch/arm/include/asm/arch-imx8/power-domain.h > create mode 100644 arch/arm/include/asm/arch-imx8/sci/rpc.h > create mode 100644 arch/arm/include/asm/arch-imx8/sci/sci.h > create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/misc/api.h > create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/pad/api.h > create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/pm/api.h > create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/rm/api.h > create mode 100644 arch/arm/include/asm/arch-imx8/sci/types.h > create mode 100644 arch/arm/include/asm/arch-imx8/sys_proto.h > create mode 100644 arch/arm/include/asm/armv8/cpu.h > create mode 100644 arch/arm/mach-imx/imx8/Kconfig > create mode 100644 arch/arm/mach-imx/imx8/Makefile > create mode 100644 arch/arm/mach-imx/imx8/clock.c > create mode 100644 arch/arm/mach-imx/imx8/cpu.c > create mode 100644 arch/arm/mach-imx/imx8/iomux.c > create mode 100644 board/freescale/imx8qxp_mek/Kconfig > create mode 100644 board/freescale/imx8qxp_mek/MAINTAINERS > create mode 100644 board/freescale/imx8qxp_mek/Makefile > create mode 100644 board/freescale/imx8qxp_mek/README > create mode 100644 board/freescale/imx8qxp_mek/imx8qxp_mek.c > create mode 100644 board/freescale/imx8qxp_mek/imximage.cfg > create mode 100644 board/freescale/mx8mq_evk/README > create mode 100644 board/menlo/m53menlo/Kconfig > create mode 100644 board/menlo/m53menlo/MAINTAINERS > create mode 100644 board/menlo/m53menlo/Makefile > create mode 100644 board/menlo/m53menlo/imximage.cfg > create mode 100644 board/menlo/m53menlo/m53menlo.c > create mode 100644 configs/imx8qxp_mek_defconfig > create mode 100644 configs/m53menlo_defconfig > create mode 100644 configs/warp7_bl33_defconfig > rename doc/{README.imx25 => imx/common/imx25.txt} (100%) > rename doc/{README.imx27 => imx/common/imx27.txt} (100%) > rename doc/{README.imx5 => imx/common/imx5.txt} (100%) > rename doc/{README.imx6 => imx/common/imx6.txt} (73%) > rename doc/{README.mxs => imx/common/mxs.txt} (100%) > create mode 100644 doc/imx/hab/habv4/encrypted_boot.txt > rename doc/{README.mxc_hab => imx/hab/habv4/secure_boot.txt} (68%) > rename doc/{README.sdp => imx/misc/sdp.txt} (82%) > rename doc/{README.imximage => imx/mkimage/imximage.txt} (100%) > rename doc/{README.mxsimage => imx/mkimage/mxsimage.txt} (100%) > create mode 100644 drivers/clk/imx/Kconfig > create mode 100644 drivers/clk/imx/Makefile > create mode 100644 drivers/clk/imx/clk-imx8.c > create mode 100644 drivers/misc/imx8/Makefile > create mode 100644 drivers/misc/imx8/scu.c > create mode 100644 drivers/misc/imx8/scu_api.c > create mode 100644 drivers/pinctrl/nxp/pinctrl-imx8.c > create mode 100644 drivers/pinctrl/nxp/pinctrl-scu.c > create mode 100644 drivers/power/domain/imx8-power-domain.c > create mode 100644 include/configs/imx8qxp_mek.h > create mode 100644 include/configs/m53menlo.h > create mode 100644 include/dt-bindings/clock/imx8qxp-clock.h > create mode 100644 include/dt-bindings/pinctrl/pads-imx8qxp.h > create mode 100644 include/dt-bindings/soc/imx8_pd.h > create mode 100644 include/dt-bindings/soc/imx_rsrc.h > create mode 100644 include/imx8image.h > create mode 100755 tools/imx8_cntr_image.sh > create mode 100644 tools/imx8image.c > > On 23/10/18 16:52, Tom Rini wrote: >> On Tue, Oct 23, 2018 at 04:42:53PM +0200, Stefano Babic wrote: >>> Hi Tom, >>> >>> On 23/10/18 16:29, Tom Rini wrote: >>>> On Tue, Oct 23, 2018 at 09:52:58AM +0200, Stefano Babic wrote: >>>> >>>>> Hi Tom, >>>>> >>>>> please pull from u-boot-imx (tag: u-boot-imx-20181023) thanks ! >>>>> >>>>> The tree contains fixes for i.MX6 and improvement in docs, but the most >>>>> important part is the introduction of the i.MX8 architecture (thanks to >>>>> Peng and Antolji for their work !). Build on Travis reported no error, >>>>> but I get a build issue with the VF610 boards - this will be require a >>>>> fix in next days. i.MX8 can be built following exactly the instruction >>>>> of the README file (NXP firmware requires to acknowledge the EULA). >>>> >>>> I know the i.MX8 stuff has been kicking around for a while so.. OK, yes, >>>> I won't be too upset about pushing it so late in the cycle. But, my >>>> travis builds do see an error: >>>> https://travis-ci.org/trini/u-boot/jobs/445069389#L1038 which is "Fail >>>> open first container file ahab-container.img" for imx8qxp_mek and I also >>>> see that locally. >>> >>> I know: to build i.MX8, we need to download external firmware. In fact, >>> we have to provide the files according to board/freescale/mx8mq_evk/README. >>> >>> Near "imx-atf" (this is not a problem, loaded and built), we need two >>> additional "closed" firmware, that is firmware-imx (currently, 7.6) and >>> imx-sc-firmware. They can be downloaded but they underly the acknowledge >>> of NXP's EULA. They are self extracting scripts and we could hack it to >>> have an automatic build, but I *guess* this breaks the license. I do not >>> know if we are allowed to do this, and both of these firmwares do not >>> provide a way to "implicitely" skip the EULA as we do in OE by setting a >>> variable in local.conf. >>> >>>> This feels like the same class of error that we have >>>> to deal with on other AArch64 platforms, namely of throwing a user >>>> visible error that what they just built will not boot due to lack of >>>> other files. >>> >>> I am unsure: mkimage packs all files together as part of the build, when >>> they are available. User cannot even try to boot, because the build >>> stops if these files are not available. The error at mkimage step is >>> saying us that build is not complete due to missing files (atf, >>> firmware-imx and imx-sc-firmware). >> >> Yup, this is the same problem we have in other platforms. Take a look >> at board/sunxi/mksunxi_fit_atf.sh or tools/k3_fit_atf.sh for what we do >> on some other platforms so that CI build completes but it's clear to the >> end user that the binary will not work and what they need to do / read >> to get a functional build. There's also >> arch/arm/mach-omap2/config_secure.mk as an example of all the fun we >> have for building the secure TI platforms that more closely follow the >> problem you have here, namely of needing EULA'd packages (and in those >> cases, also NDA, iirc) installed to complete a functional build. I >> think you'll need to do something closer to the xxxx_fit_atf.sh scripts >> in this case, to check for required blobs and if not found, not call >> mkimage and echo something loud and visible to the user. >> > > Regards, > Stefano >