From: Andrew Davis <afd@ti.com>
To: Roger Quadros <rogerq@kernel.org>,
Neha Malcom Francis <n-francis@ti.com>, <u-boot@lists.denx.de>
Cc: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Subject: Re: [PATCH RFC v2 11/11] ti: dtsi: j721e: Use binman to package tispl.bin
Date: Wed, 1 Jun 2022 07:47:50 -0500 [thread overview]
Message-ID: <248e9917-6086-5ca4-d76e-0077368009c0@ti.com> (raw)
In-Reply-To: <38c25cbb-5f5d-9a20-a5c9-af4be81c31c0@kernel.org>
On 6/1/22 5:55 AM, Roger Quadros wrote:
>
>
> On 01/06/2022 13:42, Neha Malcom Francis wrote:
>> Hi Roger,
>>
>> On 01/06/22 14:53, Roger Quadros wrote:
>>> Hi,
>>>
>>> On 01/06/2022 09:08, Neha Malcom Francis wrote:
>>>> Hi Roger,
>>>>
>>>> On 31/05/22 16:32, Roger Quadros wrote:
>>>>>
>>>>>
>>>>> On 06/05/2022 07:37, Neha Malcom Francis wrote:
>>>>>> Explicit make commands were earlier used to generate tispl.bin image,
>>>>>> now it is replaced using binman.
>>>>>>
>>>>>> Binman picks up and packages entries according to the description of
>>>>>> entries given in the binman node in the device tree. The make commands
>>>>>> that were earlier responsible for generating tispl.bin has been removed.
>>>>>>
>>>>>> k3-j721e-a72-binman.dtsi has been introduced for A72 specific binman node.
>>>>>> It can be included in files that require it like
>>>>>> k3-j721e-common-proc-board-u-boot.dtsi.
>>>>>>
>>>>>> Note that make commands for secure devices has also been removed as
>>>>>> focus is on general purpose devices at present time.
>>>>>>
>>>>>> Signed-off-by: Tarun Sahu <t-sahu@ti.com>
>>>>>> [n-francis@ti.com: prepared patch for upstreaming]
>>>>>> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
>>>>>> ---
>>>>>> arch/arm/dts/k3-j721e-a72-binman.dtsi | 86 +++++++++++++++++++
>>>>>> .../k3-j721e-common-proc-board-u-boot.dtsi | 1 +
>>>>>> arch/arm/mach-k3/config.mk | 33 -------
>>>>>> board/ti/j721e/Kconfig | 1 +
>>>>>> scripts/Makefile.spl | 4 -
>>>>>> 5 files changed, 88 insertions(+), 37 deletions(-)
>>>>>> create mode 100644 arch/arm/dts/k3-j721e-a72-binman.dtsi
>>>>>>
>>>>>> diff --git a/arch/arm/dts/k3-j721e-a72-binman.dtsi b/arch/arm/dts/k3-j721e-a72-binman.dtsi
>>>>>> new file mode 100644
>>>>>> index 0000000000..beb3424bb9
>>>>>> --- /dev/null
>>>>>> +++ b/arch/arm/dts/k3-j721e-a72-binman.dtsi
>>>>>> @@ -0,0 +1,86 @@
>>>>>> +// SPDX-License-Identifier: GPL-2.0+
>>>>>> +// Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
>>>>>> +
>>>>>> +#include <config.h>
>>>>>> +
>>>>>> +#ifdef CONFIG_ARM64
>>>>>> +/ {
>>>>>> + binman: binman {
>>>>>> + multiple-images;
>>>>>> + };
>>>>>> +};
>>>>>> +
>>>>>> +&binman {
>>>>>> + tispl {
>>>>>> + filename = "tispl.bin";
>>>>>> + fit {
>>>>>> + description = "FIT IMAGE";
>>>>>> + #address-cells = <1>;
>>>>>> + images {
>>>>>> + atf {
>>>>>> + description = "ARM Trusted Firmware";
>>>>>> + type = "firmware";
>>>>>> + arch = "arm64";
>>>>>> + compression = "none";
>>>>>> + os = "arm-trusted-firmware";
>>>>>> + load = <CONFIG_K3_ATF_LOAD_ADDR>;
>>>>>> + entry = <CONFIG_K3_ATF_LOAD_ADDR>;
>>>>>> + atf-bl31 {
>>>>>> + };
>>>>>> + };
>>>>>> + tee {
>>>>>> + description = "OPTEE";
>>>>>> + type = "tee";
>>>>>> + arch = "arm64";
>>>>>> + compression = "none";
>>>>>> + os = "tee";
>>>>>> + load = <0x9e800000>;
>>>>>> + entry = <0x9e800000>;
>>>>>> + tee-os {
>>>>>> + };
>>>>>> + };
>>>>>> + dm {
>>>>>> + description = "DM binary";
>>>>>> + type = "firmware";
>>>>>> + arch = "arm32";
>>>>>> + compression = "none";
>>>>>> + os = "DM";
>>>>>> + load = <0x89000000>;
>>>>>> + entry = <0x89000000>;
>>>>>> + ti-dm {
>>>>>> + };
>>>>>> + };
>>>>>> + spl {
>>>>>> + description = "SPL (64-bit)";
>>>>>> + type = "standalone";
>>>>>> + os = "U-Boot";
>>>>>> + arch = "arm64";
>>>>>> + compression = "none";
>>>>>> + load = <CONFIG_SPL_TEXT_BASE>;
>>>>>> + entry = <CONFIG_SPL_TEXT_BASE>;
>>>>>> + u-boot-spl-nodtb {
>>>>>> + };
>>>>>> + };
>>>>>> + k3-j721e-common-proc-board.dtb {
>>>>>> + description = "k3-j721e-common-proc-board";
>>>>>> + type = "flat_dt";
>>>>>> + arch = "arm";
>>>>>> + compression = "none";
>>>>>> + blob-ext {
>>>>>> + filename = "spl/dts/k3-j721e-common-proc-board.dtb";
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> + configurations {
>>>>>> + default = "conf";
>>>>>> + conf {
>>>>>> + description = "k3-j721e-common-proc-board";
>>>>>> + firmware = "atf";
>>>>>> + loadables = "tee", "dm", "spl";
>>>>>> + fdt = "k3-j721e-common-proc-board.dtb";
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> +};
>>>>>> +#endif
>>>>>> diff --git a/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi b/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi
>>>>>> index 677a72d2a2..6490d71f7e 100644
>>>>>> --- a/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi
>>>>>> +++ b/arch/arm/dts/k3-j721e-common-proc-board-u-boot.dtsi
>>>>>> @@ -4,6 +4,7 @@
>>>>>> */
>>>>>> #include <dt-bindings/net/ti-dp83867.h>
>>>>>> +#include "k3-j721e-a72-binman.dtsi"
>>>>>> / {
>>>>>> chosen {
>>>>>> diff --git a/arch/arm/mach-k3/config.mk b/arch/arm/mach-k3/config.mk
>>>>>> index 49f80ae79b..e0d9ea97c9 100644
>>>>>> --- a/arch/arm/mach-k3/config.mk
>>>>>> +++ b/arch/arm/mach-k3/config.mk
>>>>>> @@ -52,38 +52,5 @@ ifeq ($(CONFIG_SOC_K3_J721E),)
>>>>>> export DM := /dev/null
>>>>>> endif
>>>>>> -ifeq ($(CONFIG_TI_SECURE_DEVICE),y)
>>>>>> -SPL_ITS := u-boot-spl-k3_HS.its
>>>>>> -$(SPL_ITS): export IS_HS=1
>>>>>> -INPUTS-y += tispl.bin_HS
>>>>>> -else
>>>>>> -SPL_ITS := u-boot-spl-k3.its
>>>>>> -INPUTS-y += tispl.bin
>>>>>> -endif
>>>>>> -
>>>>>> -ifeq ($(CONFIG_SPL_OF_LIST),)
>>>>>> -LIST_OF_DTB := $(CONFIG_DEFAULT_DEVICE_TREE)
>>>>>> -else
>>>>>> -LIST_OF_DTB := $(CONFIG_SPL_OF_LIST)
>>>>>> endif
>>>>>> -
>>>>>> -quiet_cmd_k3_mkits = MKITS $@
>>>>>> -cmd_k3_mkits = \
>>>>>> - $(srctree)/tools/k3_fit_atf.sh \
>>>>>> - $(CONFIG_K3_ATF_LOAD_ADDR) \
>>>>>> - $(patsubst %,$(obj)/dts/%.dtb,$(subst ",,$(LIST_OF_DTB))) > $@
>>>>>> -
>>>>>> -$(SPL_ITS): FORCE
>>>>>> - $(call cmd,k3_mkits)
>>>>>> endif
>>>>>> -
>>>>>> -else
>>>>>> -
>>>>>> -ifeq ($(CONFIG_TI_SECURE_DEVICE),y)
>>>>>> -INPUTS-y += u-boot.img_HS
>>>>>> -else
>>>>>> -INPUTS-y += u-boot.img
>>>>>> -endif
>>>>>> -endif
>>>>>> -
>>>>>> -include $(srctree)/arch/arm/mach-k3/config_secure.mk
>>>>>
>>>>> You can't yet remove these as all K3 platforms are not converted to use binman.
>>>>> Please include them under #ifndef CONFIG_BINMAN...#endif
>>>>>
>>>>> One more question I have is that how are _HS binaries being created with binman?
>>>>>
>>>>
>>>> I will make the changes accordingly that do not affect any of the other builds. _HS binaries are not being created with binman in this series.
>>>>
>>>> But there is a patch series that does create HS images (tispl.bin and u-boot.img) using binman for AM64x: https://patchwork.ozlabs.org/project/uboot/patch/20220509072936.12899-4-rogerq@kernel.org/
>>>
>>> That series still depends on "TI_SECURE_DEV_PKG//scripts/secure-binary-image.sh"
>>> to sign the image.
>>>
>>> Funny thing is that I'm no longer able to download the above package from ti.com
>>> to see what it is doing. Any pointers on how to get it?
>>>
>>> cheers,
>>> -roger
>>>
>>
>> Did you try to access using the browser using https link?
>>
>> I am able to access the script by cloning git://git.ti.com/security-development-tools/core-secdev-k3.git
>>
>
> Aha! sure I can access that.
> But according to doc/README.ti-secure I should be getting it from
> http://www.ti.com/mysecuresoftware
> And I couldn't get anything there.
>
> Looks like we need to update the doc to point to the git repo instead?
>
The mysecuresoftware is for the AM335x-AM57x class devices, that is still
the place to get the tools for those. For K3 forward the git.ti.com is
the right spot. We can add a new doc for K3 devices.
Andrew
>>>>
>>>>>> diff --git a/board/ti/j721e/Kconfig b/board/ti/j721e/Kconfig
>>>>>> index a3a9d504ae..3cf05f0d3b 100644
>>>>>> --- a/board/ti/j721e/Kconfig
>>>>>> +++ b/board/ti/j721e/Kconfig
>>>>>> @@ -14,6 +14,7 @@ config TARGET_J721E_A72_EVM
>>>>>> select BOARD_LATE_INIT
>>>>>> imply TI_I2C_BOARD_DETECT
>>>>>> select SYS_DISABLE_DCACHE_OPS
>>>>>> + select BINMAN
>>>>>> config TARGET_J721E_R5_EVM
>>>>>> bool "TI K3 based J721E EVM running on R5"
>>>>>> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
>>>>>> index 6ad82cecfb..5f8a8487c5 100644
>>>>>> --- a/scripts/Makefile.spl
>>>>>> +++ b/scripts/Makefile.spl
>>>>>> @@ -577,7 +577,3 @@ $(obj)/$(SPL_BIN).multidtb.fit.gz: $(obj)/$(SPL_BIN).multidtb.fit
>>>>>> $(obj)/$(SPL_BIN).multidtb.fit.lzo: $(obj)/$(SPL_BIN).multidtb.fit
>>>>>> @lzop -f9 $< > $@
>>>>>> -ifdef CONFIG_ARCH_K3
>>>>>> -tispl.bin: $(obj)/u-boot-spl-nodtb.bin $(SHRUNK_ARCH_DTB) $(SPL_ITS) FORCE
>>>>>> - $(call if_changed,mkfitimage)
>>>>>> -endif
>>>>>
>>>>> Please don't remove this but include it under #ifndef CONFIG_BINMAN...#endif
>>>>>
>>>>> cheers,
>>>>> -roger
>>>>
>>
>
> cheers,
> -roger
next prev parent reply other threads:[~2022-06-01 12:48 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-06 4:37 [PATCH RFC v2 00/11] Integration of sysfw, tispl and tiboot3 Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 01/11] j721e_evm: schema: yaml: Add general schema and J721E board config files Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 02/11] ti: tools: config: Add board config class to generate config binaries Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 03/11] ti: etype: sysfw: Add entry type for sysfw Neha Malcom Francis
2022-05-31 8:44 ` Roger Quadros
2022-06-01 5:58 ` Neha Malcom Francis
2022-06-01 7:29 ` Neha Malcom Francis
2022-06-01 9:26 ` Roger Quadros
2022-05-06 4:37 ` [PATCH RFC v2 04/11] ti: etype: dm: Add entry type for TI DM Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 05/11] ti: etype: x509: Add etype for x509 certificate for K3 devices Neha Malcom Francis
2022-05-31 9:20 ` Roger Quadros
2022-06-01 6:02 ` Neha Malcom Francis
2022-06-01 9:24 ` Roger Quadros
2022-06-01 9:48 ` Neha Malcom Francis
2022-06-01 10:48 ` Roger Quadros
2022-06-02 4:09 ` Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 06/11] ti: sysfw: Add support for packaging sysfw.itb Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 07/11] ti: tiboot3.bin: Remove tiboot3.bin target from makefile Neha Malcom Francis
2022-05-31 10:51 ` Roger Quadros
2022-05-06 4:37 ` [PATCH RFC v2 08/11] ti: tispl.bin: Removed script that packages tispl.bin Neha Malcom Francis
2022-05-31 10:53 ` Roger Quadros
2022-05-06 4:37 ` [PATCH RFC v2 09/11] ti: x509: Remove shell script used for signing Neha Malcom Francis
2022-05-31 10:54 ` Roger Quadros
2022-05-06 4:37 ` [PATCH RFC v2 10/11] ti: dtsi: j721e: Use binman to package sysfw.itb and tiboot3.bin Neha Malcom Francis
2022-05-06 4:37 ` [PATCH RFC v2 11/11] ti: dtsi: j721e: Use binman to package tispl.bin Neha Malcom Francis
2022-05-31 11:02 ` Roger Quadros
2022-06-01 6:08 ` Neha Malcom Francis
2022-06-01 9:23 ` Roger Quadros
2022-06-01 10:42 ` Neha Malcom Francis
2022-06-01 10:55 ` Roger Quadros
2022-06-01 12:47 ` Andrew Davis [this message]
2022-06-03 8:49 ` Roger Quadros
2022-05-10 20:05 ` [PATCH RFC v2 00/11] Integration of sysfw, tispl and tiboot3 Tom Rini
2022-05-11 18:56 ` Alper Nebi Yasak
2022-05-31 8:21 ` Roger Quadros
2022-06-01 5:54 ` Neha Malcom Francis
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=248e9917-6086-5ca4-d76e-0077368009c0@ti.com \
--to=afd@ti.com \
--cc=alpernebiyasak@gmail.com \
--cc=n-francis@ti.com \
--cc=rogerq@kernel.org \
--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;
as well as URLs for NNTP newsgroup(s).