From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0A01BC433FE for ; Mon, 7 Nov 2022 11:38:25 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7083484DC3; Mon, 7 Nov 2022 12:38:23 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="Ry7RYxPL"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 89F9B80705; Sun, 6 Nov 2022 23:40:25 +0100 (CET) Received: from mail-il1-x131.google.com (mail-il1-x131.google.com [IPv6:2607:f8b0:4864:20::131]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E72BF84BE3 for ; Sun, 6 Nov 2022 23:40:19 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sjg@chromium.org Received: by mail-il1-x131.google.com with SMTP id bp12so3766730ilb.9 for ; Sun, 06 Nov 2022 14:40:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=JzrCEcgCn9UF6HB5NkA28i+h0NbeHNPq3y0KV77fhDE=; b=Ry7RYxPLgMYwev7yr58NX0pM619rlphaX3LV7VijH1ioS2mfA1//X6NHmdFjFuAo3a KcYX8jnKO7Zd358Z6kLnW/ZHzShCweSJt/aB9m3JHBSCiglAUf7hEYmEonjWYYOlMM93 NIh9rFcrRd5Es4yu4aOZNUPYwdBnm9VUhBzt8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JzrCEcgCn9UF6HB5NkA28i+h0NbeHNPq3y0KV77fhDE=; b=RAgAldueiOYspfrQBXon0vn5BgkyZMx3FpgUuzPb6mah8BuFvpC6zXjHu68m7bVCQs OjW1wyQA86Y8pHukIEp54z/3fOGhb66KIhoWqpGaHzQH5Y0EzVlkQvkLNpb2DtJAo8q1 7UOukTuDRUxkRbECkbaE5ubLtcIzaOfd1mtiIJ9AfhaqJs4QyEuKf0kRRJS0+BmHzD8v hK18M2KVki8pqlgD6QtvZwDiGYmQOQyYNRJXK3q6fZvhdZkc5q+mDYE+iMTzU2sqoV2T Q4Jq0WEjL3g5e/ggpPJqHg51g0So0s2cjOMQjKEY+LsU3HzJQFxghTBkLWQy4VRgaisO Mh7Q== X-Gm-Message-State: ACrzQf1YYF3zKTyw5u/9rkt81lz70665u7WqQHiRU0JkAdw7BzDbknRD Pzo0A6CuaYxbkh0Tx4xBLrN96GttIr7qOw== X-Google-Smtp-Source: AMsMyM4daJa4TX0xl6nV2Ci2hP9UtzTqvIp9ItkCAOEC8WF29pWkyO9RISLLlRAxjhOPehMGDfmRSA== X-Received: by 2002:a05:6e02:134e:b0:300:e88b:bdec with SMTP id k14-20020a056e02134e00b00300e88bbdecmr8641785ilr.321.1667774418235; Sun, 06 Nov 2022 14:40:18 -0800 (PST) Received: from sjg1.roam.corp.google.com (c-67-190-102-125.hsd1.co.comcast.net. [67.190.102.125]) by smtp.gmail.com with ESMTPSA id u192-20020a0223c9000000b00363b8ef4bc5sm2021742jau.71.2022.11.06.14.40.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 06 Nov 2022 14:40:17 -0800 (PST) From: Simon Glass To: U-Boot Mailing List Cc: Roger Quadros , Alper Nebi Yasak , Peter Geis , Philippe Reynes , Ivan Mikhaylov , Tom Rini , huang lin , Jeffy Chen , Simon Glass , Kever Yang , Philipp Tomsich , Adam Ford , Alifer Moraes , Andre Przywara , Andreas Geisreiter , "Andrew F. Davis" , Angus Ainslie , Ariel D'Alessandro , Aswath Govindraju , Bin Meng , Chee Hong Ang , Chee Tien Fong , "Chia-Wei, Wang" , Chin-Liang See , Christoph Niedermaier , Dinh Nguyen , Fabio Estevam , Frieder Schrempf , Heiko Thiery , Heinrich Schuchardt , Ilko Iliev , Jagan Teki , Jan Kiszka , Le Jin , Ley Foon Tan , Luca Ceresoli , Lukasz Majewski , Manoj Sai , Marcel Ziswiler , Marco Franchi , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Marek Vasut , Matteo Lisi , Michael Trimarchi , Michael Walle , Michal Simek , Mingkai Hu , Olaf Mandel , Oliver Graute , =?UTF-8?q?Pali=20Roh=C3=A1r?= , Patrice Chotard , Patrick Delaunay , =?UTF-8?q?Pawe=C5=82=20Anikiel?= , Peng Fan , Philipp Tomsich , Quentin Schulz , Rajesh Bhagat , Siew Chin Lim , Stefan Herbrechtsmeier , Teresa Remmet , Tim Harvey , "Ying-Chun Liu (PaulLiu)" , kernel@puri.sm, u-boot@dh-electronics.com, uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Date: Sun, 6 Nov 2022 15:40:03 -0700 Message-Id: <20221106224011.606743-1-sjg@chromium.org> X-Mailer: git-send-email 2.38.1.431.g37b22c650d-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Mon, 07 Nov 2022 12:38:21 +0100 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean At present rockchip 64-bit boards make use of a FIT-generator script written in Python. The script supports splitting an ELF file into several 'loadable' nodes in the FIT. Binman does not current support this feature. This series adds binman support for ELF splitting. This works by adding a new 'fit,operation' property to the FIT subnodes, allowing this new way of generating nodes. Some other fixes and improvements are needed along the way. A new, common binman description is added for 64-bit boards which includes the required u-boot.itb file. The existing script is removed, so that only a few zynq boards are now using a SPL_FIT_GENERATOR script: avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0 xilinx_zynqmp_virt Migration of those is hopefully in progress. Note however that tools/k3_fit_atf.sh remains, used by a few boards that enable CONFIG_TI_SECURE_DEVICE so this series is copied there too: am335x_hs_evm am335x_hs_evm_uart am43xx_hs_evm am57xx_hs_evm am57xx_hs_evm_usb am65x_hs_evm_a53 am65x_hs_evm_r5 dra7xx_hs_evm dra7xx_hs_evm_usb j721e_hs_evm_a72 j721e_hs_evm_r5 k2e_hs_evm k2g_hs_evm k2hk_hs_evm k2l_hs_evm Ivan Mikhaylov has sent a patch to help with these, but I need to take a look at the testing side. In any case they should really be using binman for the image generation. Changes in v4: - Add new patch to disable USE_SPL_FIT_GENERATOR by default Changes in v3: - Add an offset to the FIT description - Add support for writing sections in binman - Rebase to master Changes in v2: - Rename op-tee to tee-os - Drop use of .itb2 - Drop patches previously applied - Add various suggestions from Alper Nebi Yasak - Add patches to refactor binman's FIT support Simon Glass (7): binman: Allow writing section contents to a file rockchip: evb-rk3288: Drop raw-image support rockchip: Include binman script in 64-bit boards rockchip: Support building the all output files in binman rockchip: Convert all boards to use binman rockchip: Drop the FIT generator script treewide: Disable USE_SPL_FIT_GENERATOR by default Makefile | 11 +- arch/arm/dts/rk3368-u-boot.dtsi | 1 + arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi | 2 +- arch/arm/dts/rk3399-u-boot.dtsi | 3 + arch/arm/dts/rockchip-u-boot.dtsi | 73 ++++- arch/arm/mach-rockchip/Kconfig | 6 + arch/arm/mach-rockchip/make_fit_atf.py | 267 ------------------ boot/Kconfig | 6 +- configs/am335x_evm_defconfig | 1 - configs/am335x_hs_evm_defconfig | 1 - configs/am335x_hs_evm_uart_defconfig | 1 - configs/am43xx_evm_defconfig | 1 - configs/am43xx_evm_rtconly_defconfig | 1 - configs/am43xx_evm_usbhost_boot_defconfig | 1 - configs/am43xx_hs_evm_defconfig | 1 - configs/am57xx_evm_defconfig | 1 - configs/am57xx_hs_evm_defconfig | 1 - configs/am57xx_hs_evm_usb_defconfig | 1 - configs/am65x_evm_a53_defconfig | 1 - configs/am65x_evm_r5_defconfig | 1 - configs/am65x_hs_evm_a53_defconfig | 1 - configs/am65x_hs_evm_r5_defconfig | 1 - ...edev_cc_v1_0_ultrazedev_som_v1_0_defconfig | 1 + configs/cgtqmx8_defconfig | 1 - configs/chromebook_link64_defconfig | 1 - configs/dh_imx6_defconfig | 1 - configs/display5_defconfig | 1 - configs/display5_factory_defconfig | 1 - configs/dra7xx_evm_defconfig | 1 - configs/dra7xx_hs_evm_defconfig | 1 - configs/dra7xx_hs_evm_usb_defconfig | 1 - configs/evb-ast2600_defconfig | 1 - configs/evb-rk3229_defconfig | 1 - configs/evb-rk3288_defconfig | 2 +- configs/gwventana_emmc_defconfig | 1 - configs/gwventana_gw5904_defconfig | 1 - configs/gwventana_nand_defconfig | 1 - configs/imx6qdl_icore_mipi_defconfig | 1 - configs/imx6qdl_icore_mmc_defconfig | 1 - configs/imx6qdl_icore_rqs_defconfig | 1 - configs/imx8mm-cl-iot-gate-optee_defconfig | 1 - configs/imx8mm-cl-iot-gate_defconfig | 1 - configs/imx8mm-icore-mx8mm-ctouch2_defconfig | 1 - configs/imx8mm-icore-mx8mm-edimm2.2_defconfig | 1 - configs/imx8mm-mx8menlo_defconfig | 1 - configs/imx8mm_beacon_defconfig | 1 - configs/imx8mm_data_modul_edm_sbc_defconfig | 1 - configs/imx8mm_evk_defconfig | 1 - configs/imx8mm_evk_fspi_defconfig | 1 - configs/imx8mm_venice_defconfig | 1 - configs/imx8mn_beacon_2g_defconfig | 1 - configs/imx8mn_beacon_defconfig | 1 - configs/imx8mn_bsh_smm_s2_defconfig | 1 - configs/imx8mn_bsh_smm_s2pro_defconfig | 1 - configs/imx8mn_ddr4_evk_defconfig | 1 - configs/imx8mn_evk_defconfig | 1 - configs/imx8mn_var_som_defconfig | 1 - configs/imx8mn_venice_defconfig | 1 - configs/imx8mp-icore-mx8mp-edimm2.2_defconfig | 1 - configs/imx8mp_dhcom_pdk2_defconfig | 1 - configs/imx8mp_evk_defconfig | 1 - configs/imx8mp_rsb3720a1_4G_defconfig | 1 - configs/imx8mp_rsb3720a1_6G_defconfig | 1 - configs/imx8mp_venice_defconfig | 1 - configs/imx8mq_cm_defconfig | 1 - configs/imx8mq_evk_defconfig | 1 - configs/imx8mq_phanbell_defconfig | 1 - configs/imx8qm_rom7720_a1_4G_defconfig | 1 - configs/iot2050_defconfig | 1 - configs/j7200_evm_a72_defconfig | 1 - configs/j7200_evm_r5_defconfig | 1 - configs/j7200_hs_evm_a72_defconfig | 1 - configs/j7200_hs_evm_r5_defconfig | 1 - configs/j721e_evm_a72_defconfig | 1 - configs/j721e_evm_r5_defconfig | 1 - configs/j721e_hs_evm_a72_defconfig | 1 - configs/j721e_hs_evm_r5_defconfig | 1 - configs/j721s2_evm_a72_defconfig | 1 - configs/j721s2_evm_r5_defconfig | 1 - configs/j721s2_hs_evm_a72_defconfig | 1 - configs/j721s2_hs_evm_r5_defconfig | 1 - configs/kontron-sl-mx6ul_defconfig | 1 - configs/kontron-sl-mx8mm_defconfig | 1 - configs/kontron_pitx_imx8m_defconfig | 1 - configs/kontron_sl28_defconfig | 1 - configs/librem5_defconfig | 1 - configs/ls1046ardb_qspi_spl_defconfig | 1 - configs/mccmon6_nor_defconfig | 1 - configs/mccmon6_sd_defconfig | 1 - configs/mx6sabreauto_defconfig | 1 - configs/mx6sabresd_defconfig | 1 - configs/phycore-imx8mm_defconfig | 1 - configs/phycore-imx8mp_defconfig | 1 - configs/pico-imx6_defconfig | 1 - configs/pico-imx8mq_defconfig | 1 - configs/qemu-x86_64_defconfig | 1 - configs/sandbox_noinst_defconfig | 1 - configs/sandbox_spl_defconfig | 1 - configs/sandbox_vpl_defconfig | 1 - configs/socfpga_agilex_atf_defconfig | 1 - configs/socfpga_agilex_vab_defconfig | 1 - configs/socfpga_arria10_defconfig | 1 - configs/socfpga_chameleonv3_defconfig | 1 - configs/socfpga_n5x_atf_defconfig | 1 - configs/socfpga_n5x_vab_defconfig | 1 - configs/socfpga_stratix10_atf_defconfig | 1 - configs/stm32mp15_dhcom_basic_defconfig | 1 - configs/stm32mp15_dhcor_basic_defconfig | 1 - configs/verdin-imx8mm_defconfig | 1 - configs/verdin-imx8mp_defconfig | 1 - configs/wandboard_defconfig | 1 - configs/xilinx_zynq_virt_defconfig | 1 - configs/xilinx_zynqmp_virt_defconfig | 1 + tools/binman/binman.rst | 5 + tools/binman/etype/section.py | 12 +- tools/binman/ftest.py | 14 + tools/binman/image.py | 3 - tools/binman/test/261_section_fname.dts | 29 ++ 118 files changed, 145 insertions(+), 393 deletions(-) delete mode 100755 arch/arm/mach-rockchip/make_fit_atf.py create mode 100644 tools/binman/test/261_section_fname.dts -- 2.38.1.431.g37b22c650d-goog