diff --git a/Makefile b/Makefile index c52a33b403239554e29779a213a53424bae86539..c1af9307b38e2b941d651bc316dcdf82e1bff8e6 100644 --- a/Makefile +++ b/Makefile @@ -893,7 +893,7 @@ cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \ >$(MKIMAGEOUTPUT) $(if $(KBUILD_VERBOSE:0=), && cat $(MKIMAGEOUTPUT)) quiet_cmd_mkfitimage = MKIMAGE $@ -cmd_mkfitimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -f $(U_BOOT_ITS) -E -p $(CONFIG_FIT_EXTERNAL_OFFSET) $@\ +cmd_mkfitimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -f $(U_BOOT_ITS) -p $(CONFIG_FIT_EXTERNAL_OFFSET) $@\ >$(MKIMAGEOUTPUT) $(if $(KBUILD_VERBOSE:0=), && cat $(MKIMAGEOUTPUT)) quiet_cmd_cat = CAT $@ @@ -1200,6 +1200,12 @@ u-boot-dtb.img u-boot.img u-boot.kwb u-boot.pbl u-boot-ivt.img: \ $(call if_changed,mkimage) $(BOARD_SIZE_CHECK) +ifeq ($(CONFIG_SPL_LOAD_FIT_FULL),y) +MKIMAGEFLAGS_u-boot.itb = +else +MKIMAGEFLAGS_u-boot.itb = -E +endif + u-boot.itb: u-boot-nodtb.bin dts/dt.dtb $(U_BOOT_ITS) FORCE $(call if_changed,mkfitimage) $(BOARD_SIZE_CHECK) diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig index f0536038d680225b91309c19dd784eb89c2d8a2c..7405c3a4a1c4a5688df9d0759d63d37d5ebcda9e 100644 --- a/arch/arm/cpu/armv8/Kconfig +++ b/arch/arm/cpu/armv8/Kconfig @@ -3,7 +3,7 @@ if ARM64 config ARMV8_SPL_EXCEPTION_VECTORS bool "Install crash dump exception vectors" depends on SPL - default y + default n help The default exception vector table is only used for the crash dump, but still takes quite a lot of space in the image size. diff --git a/arch/arm/cpu/armv8/start.S b/arch/arm/cpu/armv8/start.S index 12a78ee38b41e629a2af5b5aac8cf3351f9a2fbb..fe52166e28f08f637094dfb714bebe6bc2e529ad 100644 --- a/arch/arm/cpu/armv8/start.S +++ b/arch/arm/cpu/armv8/start.S @@ -88,7 +88,7 @@ pie_fixup_done: bl reset_sctrl #endif -#if defined(CONFIG_ARMV8__SPL_EXCEPTION_VECTORS) || !defined(CONFIG_SPL_BUILD) +#if defined(CONFIG_ARMV8_SPL_EXCEPTION_VECTORS) || !defined(CONFIG_SPL_BUILD) .macro set_vbar, regname, reg msr \regname, \reg .endm @@ -354,7 +354,7 @@ ENDPROC(smp_kick_all_cpus) /*-----------------------------------------------------------------------*/ ENTRY(c_runtime_cpu_setup) -#if defined(CONFIG_ARMV8__SPL_EXCEPTION_VECTORS) || !defined(CONFIG_SPL_BUILD) +#if defined(CONFIG_ARMV8_SPL_EXCEPTION_VECTORS) || !defined(CONFIG_SPL_BUILD) /* Relocate vBAR */ adr x0, vectors switch_el x1, 3f, 2f, 1f diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 2a040b20a539fd86b9e665b2085f7bec094918be..0e2ffdb87f07a94df05ed5ce97647bd203419199 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -16,6 +16,8 @@ dtb-$(CONFIG_EXYNOS4) += exynos4210-origen.dtb \ dtb-$(CONFIG_TARGET_HIKEY) += hi6220-hikey.dtb +dtb-$(CONFIG_TARGET_POPLAR) += hi3798cv200-poplar.dtb + dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ exynos5250-snow.dtb \ exynos5250-spring.dtb \ @@ -25,10 +27,44 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \ exynos5800-peach-pi.dtb \ exynos5422-odroidxu3.dtb dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb + +dtb-$(CONFIG_ARCH_DAVINCI) += \ + da850-evm.dtb \ + da850-lcdk.dtb + +dtb-$(CONFIG_KIRKWOOD) += \ + kirkwood-atl-sbx81lifkw.dtb \ + kirkwood-atl-sbx81lifxcat.dtb \ + kirkwood-blackarmor-nas220.dtb \ + kirkwood-d2net.dtb \ + kirkwood-dns325.dtb \ + kirkwood-dockstar.dtb \ + kirkwood-dreamplug.dtb \ + kirkwood-ds109.dtb \ + kirkwood-goflexnet.dtb \ + kirkwood-guruplug-server-plus.dtb \ + kirkwood-ib62x0.dtb \ + kirkwood-iconnect.dtb \ + kirkwood-is2.dtb \ + kirkwood-km_kirkwood.dtb \ + kirkwood-lsxhl.dtb \ + kirkwood-lschlv2.dtb \ + kirkwood-net2big.dtb \ + kirkwood-ns2.dtb \ + kirkwood-ns2lite.dtb \ + kirkwood-ns2max.dtb \ + kirkwood-ns2mini.dtb \ + kirkwood-pogo_e02.dtb \ + kirkwood-sheevaplug.dtb + +dtb-$(CONFIG_ARCH_OWL) += \ + bubblegum_96.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += \ rk3036-sdk.dtb \ rk3128-evb.dtb \ rk3188-radxarock.dtb \ + rk3229-evb.dtb \ rk3288-evb.dtb \ rk3288-fennec.dtb \ rk3288-firefly.dtb \ @@ -50,6 +86,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ rk3368-px5-evb.dtb \ rk3399-evb.dtb \ rk3399-firefly.dtb \ + rk3399-gru-bob.dtb \ rk3399-puma-ddr1333.dtb \ rk3399-puma-ddr1600.dtb \ rk3399-puma-ddr1866.dtb \ @@ -96,12 +133,13 @@ dtb-$(CONFIG_ARCH_MVEBU) += \ armada-3720-db.dtb \ armada-3720-espressobin.dtb \ armada-3720-turris-mox.dtb \ - armada-3720-uDPU.dts \ + armada-3720-uDPU.dtb \ armada-375-db.dtb \ armada-388-clearfog.dtb \ armada-388-gp.dtb \ armada-388-helios4.dtb \ armada-385-amc.dtb \ + armada-385-turris-omnia.dtb \ armada-7040-db.dtb \ armada-7040-db-nand.dtb \ armada-8040-db.dtb \ @@ -140,6 +178,7 @@ dtb-$(CONFIG_ARCH_UNIPHIER_SLD8) += \ uniphier-sld8-ref.dtb dtb-$(CONFIG_ARCH_ZYNQ) += \ + bitmain-antminer-s9.dtb \ zynq-cc108.dtb \ zynq-cse-nand.dtb \ zynq-cse-nor.dtb \ @@ -156,6 +195,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \ zynq-zc706.dtb \ zynq-zc770-xm010.dtb \ zynq-zc770-xm011.dtb \ + zynq-zc770-xm011-x16.dtb \ zynq-zc770-xm012.dtb \ zynq-zc770-xm013.dtb \ zynq-zed.dtb \ @@ -192,7 +232,14 @@ dtb-$(CONFIG_ARCH_VERSAL) += \ versal-mini-emmc1.dtb dtb-$(CONFIG_ARCH_ZYNQMP_R5) += \ zynqmp-r5.dtb -dtb-$(CONFIG_AM33XX) += am335x-boneblack.dtb am335x-bone.dtb \ +dtb-$(CONFIG_AM33XX) += \ + am335x-baltos.dtb \ + am335x-bone.dtb \ + am335x-boneblack.dtb \ + am335x-brppt1-mmc.dtb \ + am335x-brppt1-nand.dtb \ + am335x-brppt1-spi.dtb \ + am335x-brxre1.dtb \ am335x-draco.dtb \ am335x-evm.dtb \ am335x-evmsk.dtb \ @@ -209,6 +256,7 @@ dtb-$(CONFIG_AM43XX) += am437x-gp-evm.dtb am437x-sk-evm.dtb \ am43x-epos-evm.dtb \ am437x-idk-evm.dtb \ am4372-generic.dtb +dtb-$(CONFIG_TARGET_AM3517_EVM) += am3517-evm.dtb dtb-$(CONFIG_TI816X) += dm8168-evm.dtb dtb-$(CONFIG_THUNDERX) += thunderx-88xx.dtb @@ -355,6 +403,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \ sun7i-a20-olinuxino-lime2.dtb \ sun7i-a20-olinuxino-lime2-emmc.dtb \ sun7i-a20-olinuxino-micro.dtb \ + sun7i-a20-olinuxino-micro-emmc.dtb \ sun7i-a20-orangepi.dtb \ sun7i-a20-orangepi-mini.dtb \ sun7i-a20-pcduino3.dtb \ @@ -383,7 +432,7 @@ dtb-$(CONFIG_MACH_SUN8I_A83T) += \ sun8i-a83t-allwinner-h8homlet-v2.dtb \ sun8i-a83t-bananapi-m3.dtb \ sun8i-a83t-cubietruck-plus.dtb \ - sun8i-a83t-tbs-a711.dts + sun8i-a83t-tbs-a711.dtb dtb-$(CONFIG_MACH_SUN8I_H3) += \ sun8i-h2-plus-bananapi-m2-zero.dtb \ sun8i-h2-plus-libretech-all-h3-cc.dtb \ @@ -408,6 +457,7 @@ dtb-$(CONFIG_MACH_SUN8I_R40) += \ dtb-$(CONFIG_MACH_SUN8I_V3S) += \ sun8i-v3s-licheepi-zero.dtb dtb-$(CONFIG_MACH_SUN50I_H5) += \ + sun50i-h5-bananapi-m2-plus.dtb \ sun50i-h5-emlid-neutis-n5-devboard.dtb \ sun50i-h5-libretech-all-h3-cc.dtb \ sun50i-h5-nanopi-neo2.dtb \ @@ -426,6 +476,7 @@ dtb-$(CONFIG_MACH_SUN50I) += \ sun50i-a64-nanopi-a64.dtb \ sun50i-a64-olinuxino.dtb \ sun50i-a64-orangepi-win.dtb \ + sun50i-a64-pine64-lts.dtb \ sun50i-a64-pine64-plus.dtb \ sun50i-a64-pine64.dtb \ sun50i-a64-pinebook.dtb \ @@ -441,7 +492,12 @@ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \ pcm052.dtb \ bk4r1.dtb -dtb-$(CONFIG_MX53) += imx53-cx9020.dtb +dtb-$(CONFIG_MX53) += imx53-cx9020.dtb \ + imx53-kp.dtb + +dtb-$(CONFIG_MX6Q) += \ + imx6q-display5.dtb \ + imx6q-logicpd.dtb dtb-$(CONFIG_MX6QDL) += \ imx6dl-icore.dtb \ @@ -452,7 +508,6 @@ dtb-$(CONFIG_MX6QDL) += \ imx6q-icore.dtb \ imx6q-icore-mipi.dtb \ imx6q-icore-rqs.dtb \ - imx6q-logicpd.dtb \ imx6q-sabreauto.dtb \ imx6q-sabresd.dtb \ imx6dl-sabreauto.dtb \ @@ -462,7 +517,7 @@ dtb-$(CONFIG_MX6QDL) += \ dtb-$(CONFIG_MX6SL) += imx6sl-evk.dtb -dtb-$(CONFIG_MX6SL) += imx6sll-evk.dtb +dtb-$(CONFIG_MX6SLL) += imx6sll-evk.dtb dtb-$(CONFIG_MX6SX) += \ imx6sx-sabreauto.dtb \ @@ -477,12 +532,19 @@ dtb-$(CONFIG_MX6UL) += \ imx6ul-9x9-evk.dtb \ imx6ul-9x9-evk.dtb \ imx6ul-liteboard.dtb \ - imx6ul-phycore-segin.dtb + imx6ul-phycore-segin.dtb \ + imx6ul-pico-hobbit.dtb \ + imx6ul-pico-pi.dtb -dtb-$(CONFIG_MX6ULL) += imx6ull-14x14-evk.dtb +dtb-$(CONFIG_MX6ULL) += \ + imx6ull-14x14-evk.dtb \ + imx6ull-colibri.dtb \ dtb-$(CONFIG_MX7) += imx7d-sdb.dtb \ - imx7d-sdb-qspi.dtb + imx7d-sdb-qspi.dtb \ + imx7-colibri-emmc.dtb \ + imx7-colibri-rawnand.dtb \ + imx7s-warp.dtb dtb-$(CONFIG_ARCH_MX7ULP) += imx7ulp-evk.dtb @@ -490,6 +552,16 @@ dtb-$(CONFIG_ARCH_IMX8) += fsl-imx8qxp-mek.dtb dtb-$(CONFIG_ARCH_IMX8M) += fsl-imx8mq-evk.dtb +dtb-$(CONFIG_RCAR_GEN2) += \ + r8a7790-lager-u-boot.dtb \ + r8a7790-stout-u-boot.dtb \ + r8a7791-koelsch-u-boot.dtb \ + r8a7791-porter-u-boot.dtb \ + r8a7792-blanche-u-boot.dtb \ + r8a7793-gose-u-boot.dtb \ + r8a7794-alt-u-boot.dtb \ + r8a7794-silk-u-boot.dtb + dtb-$(CONFIG_RCAR_GEN3) += \ r8a7795-h3ulcb-u-boot.dtb \ r8a7795-salvator-x-u-boot.dtb \ @@ -509,8 +581,12 @@ dtb-$(CONFIG_SOC_KEYSTONE) += keystone-k2hk-evm.dtb \ dtb-$(CONFIG_TARGET_AT91SAM9261EK) += at91sam9261ek.dtb +dtb-$(CONFIG_TARGET_PM9261) += at91sam9261ek.dtb + dtb-$(CONFIG_TARGET_PM9263) += at91sam9263ek.dtb +dtb-$(CONFIG_TARGET_MEESC) += at91sam9263ek.dtb + dtb-$(CONFIG_TARGET_AT91SAM9263EK) += at91sam9263ek.dtb dtb-$(CONFIG_TARGET_AT91SAM9RLEK) += at91sam9rlek.dtb @@ -531,9 +607,15 @@ dtb-$(CONFIG_TARGET_AT91SAM9X5EK) += \ dtb-$(CONFIG_TARGET_AT91SAM9N12EK) += at91sam9n12ek.dtb +dtb-$(CONFIG_TARGET_ETHERNUT5) += ethernut5.dtb + +dtb-$(CONFIG_TARGET_USB_A9263) += usb_a9263.dtb + dtb-$(CONFIG_TARGET_OMAP3_LOGIC) += \ - logicpd-torpedo-37xx-devkit.dtb \ - logicpd-som-lv-37xx-devkit.dtb + logicpd-som-lv-35xx-devkit.dtb \ + logicpd-som-lv-37xx-devkit.dtb \ + logicpd-torpedo-35xx-devkit.dtb \ + logicpd-torpedo-37xx-devkit.dtb dtb-$(CONFIG_TARGET_OMAP3_EVM) += \ omap3-evm-37xx.dtb \ @@ -582,9 +664,16 @@ dtb-$(CONFIG_ARCH_BCM283X) += \ bcm2835-rpi-b-plus.dtb \ bcm2835-rpi-b-rev2.dtb \ bcm2835-rpi-b.dtb \ + bcm2835-rpi-zero-w.dtb \ bcm2836-rpi-2-b.dtb \ bcm2837-rpi-3-b.dtb +dtb-$(CONFIG_ARCH_BCM63158) += \ + bcm963158.dtb + +dtb-$(CONFIG_ARCH_BCM6858) += \ + bcm968580xref.dtb + dtb-$(CONFIG_ARCH_ASPEED) += ast2500-evb.dtb dtb-$(CONFIG_ARCH_STI) += stih410-b2260.dtb diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 329f20c2bfe50e2a466d41839bf35da9e47ed64d..bf68a5ba62241c2b7336710e89046d7b78e06e2e 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -88,8 +88,6 @@ __weak void board_quiesce_devices(void) */ static void announce_and_cleanup(int fake) { - printf("\nStarting kernel ...%s\n\n", fake ? - "(fake run for tracing)" : ""); bootstage_mark_name(BOOTSTAGE_ID_BOOTM_HANDOFF, "start_kernel"); #ifdef CONFIG_BOOTSTAGE_FDT bootstage_fdt_add_report(); @@ -104,6 +102,8 @@ static void announce_and_cleanup(int fake) board_quiesce_devices(); + printf("\nStarting kernel ...%s\n\n", fake ? + "(fake run for tracing)" : ""); /* * Call remove function of all devices with a removal flag set. * This may be useful for last-stage operations, like cancelling diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile index b94b582837e97df75537b57a0d3e9a7c0a02cc03..665d3cc8c1ca71d81aaebfdfa9a5513a317c4fd3 100644 --- a/arch/mips/dts/Makefile +++ b/arch/mips/dts/Makefile @@ -1,5 +1,8 @@ # SPDX-License-Identifier: GPL-2.0+ +dtb-$(CONFIG_ARCH_MT7620) += \ + gardena-smart-gateway-mt7688.dtb \ + linkit-smart-7688.dtb dtb-$(CONFIG_TARGET_AP121) += ap121.dtb dtb-$(CONFIG_TARGET_AP143) += ap143.dtb dtb-$(CONFIG_TARGET_BOSTON) += img,boston.dtb @@ -17,6 +20,8 @@ dtb-$(CONFIG_BOARD_NETGEAR_DGND3700V2) += netgear,dgnd3700v2.dtb dtb-$(CONFIG_BOARD_SAGEM_FAST1704) += sagem,f@st1704.dtb dtb-$(CONFIG_BOARD_TPLINK_WDR4300) += tplink_wdr4300.dtb dtb-$(CONFIG_TARGET_JZ4780_CI20) += ci20.dtb +dtb-$(CONFIG_SOC_BMIPS_BCM6358) += sfr,nb4-ser.dtb +dtb-$(CONFIG_SOC_BMIPS_BCM6838) += brcm,bcm968380gerg.dtb dtb-$(CONFIG_SOC_LUTON) += luton_pcb090.dtb luton_pcb091.dtb dtb-$(CONFIG_SOC_OCELOT) += ocelot_pcb120.dtb ocelot_pcb123.dtb dtb-$(CONFIG_SOC_JR2) += jr2_pcb110.dtb jr2_pcb111.dtb serval2_pcb112.dtb diff --git a/arch/powerpc/dts/Makefile b/arch/powerpc/dts/Makefile index 172bed4c2029dde3234990ad708f76557e8af9bc..f080a9689197ad69afefd7882ed9da397981b418 100644 --- a/arch/powerpc/dts/Makefile +++ b/arch/powerpc/dts/Makefile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0+ dtb-$(CONFIG_TARGET_T2080QDS) += t2080qds.dtb -dtb-$(CONFIG_MCR3000) += mcr3000.dtb +dtb-$(CONFIG_TARGET_MCR3000) += mcr3000.dtb targets += $(dtb-y) diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c index 7063345dccd92eaa783152fde20594fe207da84f..1a903f13a6b4e666fa999ed4b5ab3c4b60d1d0c1 100644 --- a/board/ti/am57xx/board.c +++ b/board/ti/am57xx/board.c @@ -1096,6 +1096,16 @@ int board_fit_config_name_match(const char *name) } #endif +#if CONFIG_IS_ENABLED(FASTBOOT) && !CONFIG_IS_ENABLED(ENV_IS_NOWHERE) +int fastboot_set_reboot_flag(void) +{ + printf("Setting reboot to fastboot flag ...\n"); + env_set("dofastboot", "1"); + env_save(); + return 0; +} +#endif + #ifdef CONFIG_TI_SECURE_DEVICE void board_fit_image_post_process(void **p_image, size_t *p_size) { @@ -1107,15 +1117,5 @@ void board_tee_image_process(ulong tee_image, size_t tee_size) secure_tee_install((u32)tee_image); } -#if CONFIG_IS_ENABLED(FASTBOOT) && !CONFIG_IS_ENABLED(ENV_IS_NOWHERE) -int fastboot_set_reboot_flag(void) -{ - printf("Setting reboot to fastboot flag ...\n"); - env_set("dofastboot", "1"); - env_save(); - return 0; -} -#endif - U_BOOT_FIT_LOADABLE_HANDLER(IH_TYPE_TEE, board_tee_image_process); #endif diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c index d69641e3a055ed80e4de6dfda022a06a05d33a52..060c47103261da9a209d395812d57dd27b3096cf 100644 --- a/board/ti/dra7xx/evm.c +++ b/board/ti/dra7xx/evm.c @@ -1092,6 +1092,16 @@ int board_fit_config_name_match(const char *name) } #endif +#if CONFIG_IS_ENABLED(FASTBOOT) && !CONFIG_IS_ENABLED(ENV_IS_NOWHERE) +int fastboot_set_reboot_flag(void) +{ + printf("Setting reboot to fastboot flag ...\n"); + env_set("dofastboot", "1"); + env_save(); + return 0; +} +#endif + #ifdef CONFIG_TI_SECURE_DEVICE void board_fit_image_post_process(void **p_image, size_t *p_size) { @@ -1103,15 +1113,5 @@ void board_tee_image_process(ulong tee_image, size_t tee_size) secure_tee_install((u32)tee_image); } -#if CONFIG_IS_ENABLED(FASTBOOT) && !CONFIG_IS_ENABLED(ENV_IS_NOWHERE) -int fastboot_set_reboot_flag(void) -{ - printf("Setting reboot to fastboot flag ...\n"); - env_set("dofastboot", "1"); - env_save(); - return 0; -} -#endif - U_BOOT_FIT_LOADABLE_HANDLER(IH_TYPE_TEE, board_tee_image_process); #endif diff --git a/common/image-android-dt.c b/common/image-android-dt.c index c0683ee70f36eecd46d76c4df1c8fcfa0ffcfd74..691682617932ec4758bc93a1896d7f66d0b158ff 100644 --- a/common/image-android-dt.c +++ b/common/image-android-dt.c @@ -53,8 +53,8 @@ bool android_dt_get_fdt_by_index(ulong hdr_addr, u32 index, ulong *addr, entry_size = fdt32_to_cpu(hdr->dt_entry_size); unmap_sysmem(hdr); - if (index > entry_count) { - printf("Error: index > dt_entry_count (%u > %u)\n", index, + if (index >= entry_count) { + printf("Error: index >= dt_entry_count (%u >= %u)\n", index, entry_count); return false; } diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c index db436268cbcd6051e148121228651ab1bbe6b4b1..c9bfe0cc8aee0808248a61ea0d347a4954b18e6d 100644 --- a/common/spl/spl_fit.c +++ b/common/spl/spl_fit.c @@ -491,6 +491,10 @@ int spl_load_simple_fit(struct spl_image_info *spl_image, if (!spl_fit_image_get_os(fit, node, &os_type)) debug("Loadable is %s\n", genimg_get_os_name(os_type)); +#if CONFIG_IS_ENABLED(FIT_IMAGE_TINY) + else + os_type = IH_OS_U_BOOT; +#endif if (os_type == IH_OS_U_BOOT) { spl_fit_append_fdt(&image_info, info, sector, diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig index 92411683525171ba0289741b09962327fd05c62e..6c791be374cd10fa6643ac985085bf775f5fb42b 100644 --- a/configs/am335x_evm_defconfig +++ b/configs/am335x_evm_defconfig @@ -31,7 +31,6 @@ CONFIG_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="am335x-evm" CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2" CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -# CONFIG_BLK is not set CONFIG_BOOTCOUNT_LIMIT=y CONFIG_DFU_MMC=y CONFIG_DFU_NAND=y diff --git a/configs/am335x_hs_evm_defconfig b/configs/am335x_hs_evm_defconfig index faa6c2b05fcda35822c7e421b1464dd621210b32..825b0f31a14d402660a4d936f95db601fb5b32a5 100644 --- a/configs/am335x_hs_evm_defconfig +++ b/configs/am335x_hs_evm_defconfig @@ -32,7 +32,6 @@ CONFIG_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="am335x-evm" CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2" CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -# CONFIG_BLK is not set CONFIG_BOOTCOUNT_LIMIT=y CONFIG_DFU_MMC=y CONFIG_DFU_NAND=y diff --git a/configs/am335x_hs_evm_uart_defconfig b/configs/am335x_hs_evm_uart_defconfig index 02332db0a6e97b50ca8626607f5c07398472e10c..9d662b5aaf1c6c2ae0bd825d87699d79ffbc6f74 100644 --- a/configs/am335x_hs_evm_uart_defconfig +++ b/configs/am335x_hs_evm_uart_defconfig @@ -34,7 +34,6 @@ CONFIG_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="am335x-evm" CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2" CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -# CONFIG_BLK is not set CONFIG_BOOTCOUNT_LIMIT=y CONFIG_DFU_MMC=y CONFIG_DFU_NAND=y diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig index ef061501ef35ec34449d05e8ad9612a2380b5bb5..3f25a2ec281e33ce290d012fb181b03aac3046a1 100644 --- a/configs/dra7xx_evm_defconfig +++ b/configs/dra7xx_evm_defconfig @@ -36,6 +36,7 @@ CONFIG_OF_LIST="dra7-evm dra72-evm dra72-evm-revc dra71-evm dra76-evm" CONFIG_SPL_MULTI_DTB_FIT=y CONFIG_SPL_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x9000 CONFIG_OF_SPL_REMOVE_PROPS="clocks clock-names interrupt-parent" +# CONFIG_ENV_IS_IN_FAT is not set CONFIG_ENV_IS_IN_MMC=y CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y CONFIG_DM=y diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig index 3cf765949667b4bf332a0f2fd78f147ba2d49465..ee28e0c6ec1aa04ca00303f9d0cc2c43623d7d6b 100644 --- a/configs/dra7xx_hs_evm_defconfig +++ b/configs/dra7xx_hs_evm_defconfig @@ -40,6 +40,7 @@ CONFIG_OF_LIST="dra7-evm dra72-evm dra72-evm-revc dra71-evm dra76-evm" CONFIG_SPL_MULTI_DTB_FIT=y CONFIG_SPL_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x9000 CONFIG_OF_SPL_REMOVE_PROPS="clocks clock-names interrupt-parent" +# CONFIG_ENV_IS_IN_FAT is not set CONFIG_ENV_IS_IN_MMC=y CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y CONFIG_DM=y diff --git a/dts/Makefile b/dts/Makefile index 4970223b3d2ee438f8d84ba150689f81bb086411..1f83e615e8aa9a07c97e6589a6ae87e25a874569 100644 --- a/dts/Makefile +++ b/dts/Makefile @@ -10,14 +10,10 @@ ifeq ($(DEVICE_TREE),) DEVICE_TREE := unset endif -ARCH_PATH := arch/$(ARCH)/dts -dtb_depends := arch-dtbs - ifneq ($(EXT_DTB),) DTB := $(EXT_DTB) else -DTB := $(ARCH_PATH)/$(DEVICE_TREE).dtb -dtb_depends += $(DTB:.dtb=.dts) +DTB := arch/$(ARCH)/dts/$(DEVICE_TREE).dtb endif $(obj)/dt-spl.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE @@ -28,10 +24,7 @@ $(obj)/dt.dtb: $(DTB) FORCE targets += dt.dtb dt-spl.dtb -$(DTB): $(dtb_depends) -ifeq ($(EXT_DTB),) - $(Q)$(MAKE) $(build)=$(ARCH_PATH) $@ -endif +$(DTB): arch-dtbs $(Q)test -e $@ || ( \ echo >&2; \ echo >&2 "Device Tree Source is not correctly specified."; \ @@ -42,7 +35,7 @@ endif PHONY += arch-dtbs arch-dtbs: - $(Q)$(MAKE) $(build)=$(ARCH_PATH) dtbs + $(Q)$(MAKE) $(build)=arch/$(ARCH)/dts dtbs ifeq ($(CONFIG_SPL_BUILD),y) obj-$(CONFIG_OF_EMBED) := dt-spl.dtb.o diff --git a/fs/ext4/ext4_write.c b/fs/ext4/ext4_write.c index a7f543f7df7ddc0ed905734f30e864c90bdd1385..4eb77c327ef32a9bd4a6f98280b3c660d85e12e6 100644 --- a/fs/ext4/ext4_write.c +++ b/fs/ext4/ext4_write.c @@ -864,6 +864,12 @@ int ext4fs_write(const char *fname, unsigned char *buffer, printf("error in File System init\n"); return -1; } + + if (le32_to_cpu(fs->sb->feature_ro_compat) & EXT4_FEATURE_RO_COMPAT_METADATA_CSUM) { + printf("Unsupported feature metadata_csum found, not writing.\n"); + return -1; + } + inodes_per_block = fs->blksz / fs->inodesz; parent_inodeno = ext4fs_get_parent_inode_num(fname, filename, F_FILE); if (parent_inodeno == -1) diff --git a/include/command.h b/include/command.h index 2e24e8ad3eefeb7838a1e2d043d051bfa28e08bd..be74f6ac92f77e20ccb1c80a81011df4a7e573dd 100644 --- a/include/command.h +++ b/include/command.h @@ -18,7 +18,7 @@ /* Default to a width of 8 characters for help message command width */ #ifndef CONFIG_SYS_HELP_CMD_WIDTH -#define CONFIG_SYS_HELP_CMD_WIDTH 8 +#define CONFIG_SYS_HELP_CMD_WIDTH 10 #endif #ifndef __ASSEMBLY__ diff --git a/include/ext4fs.h b/include/ext4fs.h index bb556391072516a6fee6ffb662ab552e96ad7c9e..24210113411a73f3b727277f59d491b952b55057 100644 --- a/include/ext4fs.h +++ b/include/ext4fs.h @@ -32,6 +32,7 @@ #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ #define EXT4_EXT_MAGIC 0xf30a #define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010 +#define EXT4_FEATURE_RO_COMPAT_METADATA_CSUM 0x0400 #define EXT4_FEATURE_INCOMPAT_EXTENTS 0x0040 #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080 #define EXT4_INDIRECT_BLOCKS 12 diff --git a/include/pci.h b/include/pci.h index 936cfe975cbe706ce679d0decb5e7d6f843cab7d..5fb212cab1a9eada9b0bc9ca5b9fdd2ad1ca0ad3 100644 --- a/include/pci.h +++ b/include/pci.h @@ -499,9 +499,20 @@ static inline void pci_set_region(struct pci_region *reg, typedef int pci_dev_t; #define PCI_BUS(d) (((d) >> 16) & 0xff) + +/* + * Please note the difference in DEVFN usage in U-Boot vs Linux. U-Boot + * uses DEVFN in bits 15-8 but Linux instead expects DEVFN in bits 7-0. + * Please see the Linux header include/uapi/linux/pci.h for more details. + * This is relevant for the following macros: + * PCI_DEV, PCI_FUNC, PCI_DEVFN + * The U-Boot macro PCI_DEV is equivalent to the Linux PCI_SLOT version with + * the remark from above (input d in bits 15-8 instead of 7-0. + */ #define PCI_DEV(d) (((d) >> 11) & 0x1f) #define PCI_FUNC(d) (((d) >> 8) & 0x7) #define PCI_DEVFN(d, f) ((d) << 11 | (f) << 8) + #define PCI_MASK_BUS(bdf) ((bdf) & 0xffff) #define PCI_ADD_BUS(bus, devfn) (((bus) << 16) | (devfn)) #define PCI_BDF(b, d, f) ((b) << 16 | PCI_DEVFN(d, f)) diff --git a/tools/fit_image.c b/tools/fit_image.c index 4b626354fb3f1e235af40a3c1110de5830236ae8..3b867e06564e34e2e80f4997b3ce84967fd35f76 100644 --- a/tools/fit_image.c +++ b/tools/fit_image.c @@ -298,6 +298,7 @@ static void fit_write_configs(struct image_tool_params *params, char *fdt) typename = genimg_get_type_short_name(params->fit_image_type); snprintf(str, sizeof(str), "%s-1", typename); fdt_property_string(fdt, typename, str); + fdt_property_string(fdt, FIT_LOADABLE_PROP, str); if (params->fit_ramdisk) fdt_property_string(fdt, FIT_RAMDISK_PROP,