[v8,15/23] boot/ti-k3/ti-k3-r5-loader: install tiboot3.bin

Message ID 20240301133620.3547430-16-dario.binacchi@amarulasolutions.com
State New
Headers show
Series
  • Add support for AM62x-SK HS-FS devices
Related show

Commit Message

Dario Binacchi March 1, 2024, 1:36 p.m. UTC
Recent versions of U-Boot are capable of building tiboot3.bin using
Binman. In this case, let's copy it to the binaries directory.

The use of `find' command is justified by the need to use a regex
expression to select the correct file. This is not possible with a
simple `cp' command.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

---

Changes in v8:
- Use the `find' command in pipe with the `cp' command.

Changes in v6:
- Replace `find' command with `cp' one.

Changes in v5:
- Replace tiboot3-*-$(TI_K3_R5_LOADER_SECTYPE)-*.bin with
  tiboot3-$(TI_K3_R5_LOADER_SOC)-$(TI_K3_R5_LOADER_SECTYPE)-*.bin

Added in v4

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
 boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Romain Naour March 2, 2024, 11:03 p.m. UTC | #1
Hello Dario,

Le 01/03/2024 à 14:36, Dario Binacchi a écrit :
> Recent versions of U-Boot are capable of building tiboot3.bin using
> Binman. In this case, let's copy it to the binaries directory.
> 
> The use of `find' command is justified by the need to use a regex
> expression to select the correct file. This is not possible with a
> simple `cp' command.
> 
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> 
> ---
> 
> Changes in v8:
> - Use the `find' command in pipe with the `cp' command.
> 
> Changes in v6:
> - Replace `find' command with `cp' one.
> 
> Changes in v5:
> - Replace tiboot3-*-$(TI_K3_R5_LOADER_SECTYPE)-*.bin with
>   tiboot3-$(TI_K3_R5_LOADER_SOC)-$(TI_K3_R5_LOADER_SECTYPE)-*.bin
> 
> Added in v4
> 
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> ---
>  boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> index fdb058f3b72a..9a05d005067a 100644
> --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> @@ -70,8 +70,12 @@ define TI_K3_R5_LOADER_BUILD_CMDS
>  	$(TARGET_CONFIGURE_OPTS) $(TI_K3_R5_LOADER_MAKE) -C $(@D) $(TI_K3_R5_LOADER_MAKE_OPTS)
>  endef
>  
> +TI_K3_R5_LOADER_SECTYPE = $(call qstrip,$(BR2_PACKAGE_TI_K3_SECTYPE))
> +TI_K3_R5_LOADER_SOC = $(call qstrip,$(BR2_PACKAGE_TI_K3_SOC))
> +
>  define TI_K3_R5_LOADER_INSTALL_IMAGES_CMDS
>  	cp $(@D)/spl/u-boot-spl.bin $(BINARIES_DIR)/r5-u-boot-spl.bin
> +	cd $(@D); find ./ -type f -regex "\.\/tiboot3-$(TI_K3_R5_LOADER_SOC)-$(TI_K3_R5_LOADER_SECTYPE)-[^-]*..bin" -exec cp {} $(BINARIES_DIR)/tiboot3.bin \;

I believe there is missing step here for the AM65 variant (using split binary
based Boot Flow) [1].

With the ti-k3-image-gen removal, we need to copy sysfw*.itb generated by binman
(ti-k3-r5-loader) otherwise the system won't boot.

Too bad that we don't have a AM65 defconfig for testing.
Andreas, Do you think you can contribute a new defconfig for the TMDX654IDKEVM ?

On my side, I have a patch series for the SK-TDA4VM that also requires
sysfw*.itb binary.

[1] http://lists.busybox.net/pipermail/buildroot/2024-February/685666.html

Best regards,
Romain


>  endef
>  
>  $(eval $(kconfig-package))
Dario Binacchi March 3, 2024, 9:54 a.m. UTC | #2
Hello Romain,

On Sun, Mar 3, 2024 at 12:03 AM Romain Naour <romain.naour@smile.fr> wrote:
>
> Hello Dario,
>
> Le 01/03/2024 à 14:36, Dario Binacchi a écrit :
> > Recent versions of U-Boot are capable of building tiboot3.bin using
> > Binman. In this case, let's copy it to the binaries directory.
> >
> > The use of `find' command is justified by the need to use a regex
> > expression to select the correct file. This is not possible with a
> > simple `cp' command.
> >
> > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> >
> > ---
> >
> > Changes in v8:
> > - Use the `find' command in pipe with the `cp' command.
> >
> > Changes in v6:
> > - Replace `find' command with `cp' one.
> >
> > Changes in v5:
> > - Replace tiboot3-*-$(TI_K3_R5_LOADER_SECTYPE)-*.bin with
> >   tiboot3-$(TI_K3_R5_LOADER_SOC)-$(TI_K3_R5_LOADER_SECTYPE)-*.bin
> >
> > Added in v4
> >
> > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > ---
> >  boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > index fdb058f3b72a..9a05d005067a 100644
> > --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > @@ -70,8 +70,12 @@ define TI_K3_R5_LOADER_BUILD_CMDS
> >       $(TARGET_CONFIGURE_OPTS) $(TI_K3_R5_LOADER_MAKE) -C $(@D) $(TI_K3_R5_LOADER_MAKE_OPTS)
> >  endef
> >
> > +TI_K3_R5_LOADER_SECTYPE = $(call qstrip,$(BR2_PACKAGE_TI_K3_SECTYPE))
> > +TI_K3_R5_LOADER_SOC = $(call qstrip,$(BR2_PACKAGE_TI_K3_SOC))
> > +
> >  define TI_K3_R5_LOADER_INSTALL_IMAGES_CMDS
> >       cp $(@D)/spl/u-boot-spl.bin $(BINARIES_DIR)/r5-u-boot-spl.bin
> > +     cd $(@D); find ./ -type f -regex "\.\/tiboot3-$(TI_K3_R5_LOADER_SOC)-$(TI_K3_R5_LOADER_SECTYPE)-[^-]*..bin" -exec cp {} $(BINARIES_DIR)/tiboot3.bin \;
>
> I believe there is missing step here for the AM65 variant (using split binary
> based Boot Flow) [1].
>
> With the ti-k3-image-gen removal, we need to copy sysfw*.itb generated by binman
> (ti-k3-r5-loader) otherwise the system won't boot.
>
> Too bad that we don't have a AM65 defconfig for testing.
> Andreas, Do you think you can contribute a new defconfig for the TMDX654IDKEVM ?
>
> On my side, I have a patch series for the SK-TDA4VM that also requires
> sysfw*.itb binary.
>
> [1] http://lists.busybox.net/pipermail/buildroot/2024-February/685666.html

Can we, for now, consider this modification unnecessary, merge the
series, and proceed later
with any further improvements? Especially considering that there isn't
currently a configuration
for am65 in Buildroot?

Thanks and regards,
Dario

>
> Best regards,
> Romain
>
>
> >  endef
> >
> >  $(eval $(kconfig-package))
>
'Jan Kiszka' via Amarula Linux March 5, 2024, 7:07 a.m. UTC | #3
Hi Dario, Romain,

On Sun, Mar 03, 2024 at 10:54:09AM +0100, Dario Binacchi wrote:
> Hello Romain,
> 
> On Sun, Mar 3, 2024 at 12:03 AM Romain Naour <romain.naour@smile.fr> wrote:
> >
> > Hello Dario,
> >
> > Le 01/03/2024 à 14:36, Dario Binacchi a écrit :
> > > Recent versions of U-Boot are capable of building tiboot3.bin using
> > > Binman. In this case, let's copy it to the binaries directory.
> > >
> > > The use of `find' command is justified by the need to use a regex
> > > expression to select the correct file. This is not possible with a
> > > simple `cp' command.
> > >
> > > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > >
> > > ---
> > >
> > > Changes in v8:
> > > - Use the `find' command in pipe with the `cp' command.
> > >
> > > Changes in v6:
> > > - Replace `find' command with `cp' one.
> > >
> > > Changes in v5:
> > > - Replace tiboot3-*-$(TI_K3_R5_LOADER_SECTYPE)-*.bin with
> > >   tiboot3-$(TI_K3_R5_LOADER_SOC)-$(TI_K3_R5_LOADER_SECTYPE)-*.bin
> > >
> > > Added in v4
> > >
> > > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > > ---
> > >  boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > > index fdb058f3b72a..9a05d005067a 100644
> > > --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > > +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > > @@ -70,8 +70,12 @@ define TI_K3_R5_LOADER_BUILD_CMDS
> > >       $(TARGET_CONFIGURE_OPTS) $(TI_K3_R5_LOADER_MAKE) -C $(@D) $(TI_K3_R5_LOADER_MAKE_OPTS)
> > >  endef
> > >
> > > +TI_K3_R5_LOADER_SECTYPE = $(call qstrip,$(BR2_PACKAGE_TI_K3_SECTYPE))
> > > +TI_K3_R5_LOADER_SOC = $(call qstrip,$(BR2_PACKAGE_TI_K3_SOC))
> > > +
> > >  define TI_K3_R5_LOADER_INSTALL_IMAGES_CMDS
> > >       cp $(@D)/spl/u-boot-spl.bin $(BINARIES_DIR)/r5-u-boot-spl.bin
> > > +     cd $(@D); find ./ -type f -regex "\.\/tiboot3-$(TI_K3_R5_LOADER_SOC)-$(TI_K3_R5_LOADER_SECTYPE)-[^-]*..bin" -exec cp {} $(BINARIES_DIR)/tiboot3.bin \;
> >
> > I believe there is missing step here for the AM65 variant (using split binary
> > based Boot Flow) [1].
> >
> > With the ti-k3-image-gen removal, we need to copy sysfw*.itb generated by binman
> > (ti-k3-r5-loader) otherwise the system won't boot.

Correct, good catch Romain.

> > Too bad that we don't have a AM65 defconfig for testing.
> > Andreas, Do you think you can contribute a new defconfig for the TMDX654IDKEVM ?
> >
> > On my side, I have a patch series for the SK-TDA4VM that also requires
> > sysfw*.itb binary.

Romain, Would you mind rolling this 'cp' addition into your upcoming
J721E* variant series?  Since it's the same boot architecture I think
that would be a good combination, and this way you can make sure it
really works for you.

Then, as a follow-up, I would then like to prepare/test an AM65
defconfig and related board support and submit it upstream. I feel
I really want to take this on since I consider AM65 to be "my baby" (I
was the first to integrate/debug/bringup and successfully execute the
full ROM->U-Boot->Linux boot flow before we even had silicon...:)

Thanks, Andreas

--
Andreas Dannenberg
Texas Instruments Inc

> >
> > [1] http://lists.busybox.net/pipermail/buildroot/2024-February/685666.html
> 
> Can we, for now, consider this modification unnecessary, merge the
> series, and proceed later
> with any further improvements? Especially considering that there isn't
> currently a configuration
> for am65 in Buildroot?
> 
> Thanks and regards,
> Dario
> 
> >
> > Best regards,
> > Romain
> >
> >
> > >  endef
> > >
> > >  $(eval $(kconfig-package))
> >
> 
> 
> -- 
> 
> Dario Binacchi
> 
> Senior Embedded Linux Developer
> 
> dario.binacchi@amarulasolutions.com
> 
> __________________________________
> 
> 
> Amarula Solutions SRL
> 
> Via Le Canevare 30, 31100 Treviso, Veneto, IT
> 
> T. +39 042 243 5310
> info@amarulasolutions.com
> 
> www.amarulasolutions.com
Romain Naour March 13, 2024, 10:05 a.m. UTC | #4
Hi Andreas, Dario, All,

Le 05/03/2024 à 08:07, Andreas Dannenberg a écrit :
> Hi Dario, Romain,
> 
> On Sun, Mar 03, 2024 at 10:54:09AM +0100, Dario Binacchi wrote:
>> Hello Romain,
>>
>> On Sun, Mar 3, 2024 at 12:03 AM Romain Naour <romain.naour@smile.fr> wrote:
>>>
>>> Hello Dario,
>>>
>>> Le 01/03/2024 à 14:36, Dario Binacchi a écrit :
>>>> Recent versions of U-Boot are capable of building tiboot3.bin using
>>>> Binman. In this case, let's copy it to the binaries directory.
>>>>
>>>> The use of `find' command is justified by the need to use a regex
>>>> expression to select the correct file. This is not possible with a
>>>> simple `cp' command.
>>>>
>>>> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
>>>>
>>>> ---
>>>>
>>>> Changes in v8:
>>>> - Use the `find' command in pipe with the `cp' command.
>>>>
>>>> Changes in v6:
>>>> - Replace `find' command with `cp' one.
>>>>
>>>> Changes in v5:
>>>> - Replace tiboot3-*-$(TI_K3_R5_LOADER_SECTYPE)-*.bin with
>>>>   tiboot3-$(TI_K3_R5_LOADER_SOC)-$(TI_K3_R5_LOADER_SECTYPE)-*.bin
>>>>
>>>> Added in v4
>>>>
>>>> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
>>>> ---
>>>>  boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 4 ++++
>>>>  1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
>>>> index fdb058f3b72a..9a05d005067a 100644
>>>> --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
>>>> +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
>>>> @@ -70,8 +70,12 @@ define TI_K3_R5_LOADER_BUILD_CMDS
>>>>       $(TARGET_CONFIGURE_OPTS) $(TI_K3_R5_LOADER_MAKE) -C $(@D) $(TI_K3_R5_LOADER_MAKE_OPTS)
>>>>  endef
>>>>
>>>> +TI_K3_R5_LOADER_SECTYPE = $(call qstrip,$(BR2_PACKAGE_TI_K3_SECTYPE))
>>>> +TI_K3_R5_LOADER_SOC = $(call qstrip,$(BR2_PACKAGE_TI_K3_SOC))
>>>> +
>>>>  define TI_K3_R5_LOADER_INSTALL_IMAGES_CMDS
>>>>       cp $(@D)/spl/u-boot-spl.bin $(BINARIES_DIR)/r5-u-boot-spl.bin
>>>> +     cd $(@D); find ./ -type f -regex "\.\/tiboot3-$(TI_K3_R5_LOADER_SOC)-$(TI_K3_R5_LOADER_SECTYPE)-[^-]*..bin" -exec cp {} $(BINARIES_DIR)/tiboot3.bin \;
>>>
>>> I believe there is missing step here for the AM65 variant (using split binary
>>> based Boot Flow) [1].
>>>
>>> With the ti-k3-image-gen removal, we need to copy sysfw*.itb generated by binman
>>> (ti-k3-r5-loader) otherwise the system won't boot.
> 
> Correct, good catch Romain.
> 
>>> Too bad that we don't have a AM65 defconfig for testing.
>>> Andreas, Do you think you can contribute a new defconfig for the TMDX654IDKEVM ?
>>>
>>> On my side, I have a patch series for the SK-TDA4VM that also requires
>>> sysfw*.itb binary.
> 
> Romain, Would you mind rolling this 'cp' addition into your upcoming
> J721E* variant series?  Since it's the same boot architecture I think
> that would be a good combination, and this way you can make sure it
> really works for you.

Sorry, I was AFK last week and I haven't reviewed the v9 yet.

> 
> Then, as a follow-up, I would then like to prepare/test an AM65
> defconfig and related board support and submit it upstream. I feel
> I really want to take this on since I consider AM65 to be "my baby" (I
> was the first to integrate/debug/bringup and successfully execute the
> full ROM->U-Boot->Linux boot flow before we even had silicon...:)

:)

Best regards,
Romain


> 
> Thanks, Andreas
> 
> --
> Andreas Dannenberg
> Texas Instruments Inc
> 
>>>
>>> [1] http://lists.busybox.net/pipermail/buildroot/2024-February/685666.html
>>
>> Can we, for now, consider this modification unnecessary, merge the
>> series, and proceed later
>> with any further improvements? Especially considering that there isn't
>> currently a configuration
>> for am65 in Buildroot?
>>
>> Thanks and regards,
>> Dario
>>
>>>
>>> Best regards,
>>> Romain
>>>
>>>
>>>>  endef
>>>>
>>>>  $(eval $(kconfig-package))
>>>
>>
>>
>> -- 
>>
>> Dario Binacchi
>>
>> Senior Embedded Linux Developer
>>
>> dario.binacchi@amarulasolutions.com
>>
>> __________________________________
>>
>>
>> Amarula Solutions SRL
>>
>> Via Le Canevare 30, 31100 Treviso, Veneto, IT
>>
>> T. +39 042 243 5310
>> info@amarulasolutions.com
>>
>> www.amarulasolutions.com

Patch

diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
index fdb058f3b72a..9a05d005067a 100644
--- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
+++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
@@ -70,8 +70,12 @@  define TI_K3_R5_LOADER_BUILD_CMDS
 	$(TARGET_CONFIGURE_OPTS) $(TI_K3_R5_LOADER_MAKE) -C $(@D) $(TI_K3_R5_LOADER_MAKE_OPTS)
 endef
 
+TI_K3_R5_LOADER_SECTYPE = $(call qstrip,$(BR2_PACKAGE_TI_K3_SECTYPE))
+TI_K3_R5_LOADER_SOC = $(call qstrip,$(BR2_PACKAGE_TI_K3_SOC))
+
 define TI_K3_R5_LOADER_INSTALL_IMAGES_CMDS
 	cp $(@D)/spl/u-boot-spl.bin $(BINARIES_DIR)/r5-u-boot-spl.bin
+	cd $(@D); find ./ -type f -regex "\.\/tiboot3-$(TI_K3_R5_LOADER_SOC)-$(TI_K3_R5_LOADER_SECTYPE)-[^-]*..bin" -exec cp {} $(BINARIES_DIR)/tiboot3.bin \;
 endef
 
 $(eval $(kconfig-package))