diff mbox series

[v5] boot/ti-k3-boot-firmware: Add config option to specify version

Message ID 20240722133804.2794134-1-p-bhagat@ti.com
State New
Headers show
Series [v5] boot/ti-k3-boot-firmware: Add config option to specify version | expand

Commit Message

Paresh Bhagat July 22, 2024, 1:38 p.m. UTC
Previously the version of ti-k3-boot-firmware (TI_K3_BOOT_FIRMWARE_VERSION) was
fixed in mk file. Introduce a new config option 
BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION so that user can change the version 
for ti-k3-boot-firmware using menuconfig.

This provides greater flexibility for users to select different versions of
ti-k3-boot-firmware without modifying the build script directly. Note that
there might be version difference between ti-k3-boot-firmware and u-boot or
ki-k3-r5-bootloader, they should still work together due to TI-SCI protocol
being backward compatible. However, to avoid any potential issues ( e.g. in
case of TIFS-DM ), it is recommended to synchronize these components
when using custom version or sources for the build. For stricter version 
check, hash checking is not disabled.

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>

---
Changes v4 -> v5:
	- Include recommendation regarding version mismatch in commit msg
	  (Suggested by Bryan and Romain)

Changes v3 -> v4:
	- Ti k3 -> TI K3 (Suggested by Andreas Dannenberg)
	- git.ti.org -> git.ti.com (Suggested by Andreas Dannenberg)

Changes v2 -> v3:
	- flexibilty -> flexibility (Suggested by Chirag Shilwant)

Changes v1 -> v2:
	- Fix whitespaces/indentation in Config.in file (Suggested by Bryan Brattlof)

---
 boot/ti-k3-boot-firmware/Config.in            | 30 +++++++++++++++++++
 .../ti-k3-boot-firmware.mk                    |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)

Comments

Romain Naour Dec. 11, 2024, 2:59 p.m. UTC | #1
Hello Paresh, All,

Le 22/07/2024 à 15:38, Paresh Bhagat via buildroot a écrit :
> Previously the version of ti-k3-boot-firmware (TI_K3_BOOT_FIRMWARE_VERSION) was
> fixed in mk file. Introduce a new config option 
> BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION so that user can change the version 
> for ti-k3-boot-firmware using menuconfig.
> 
> This provides greater flexibility for users to select different versions of
> ti-k3-boot-firmware without modifying the build script directly. Note that
> there might be version difference between ti-k3-boot-firmware and u-boot or
> ki-k3-r5-bootloader, they should still work together due to TI-SCI protocol
> being backward compatible. However, to avoid any potential issues ( e.g. in
> case of TIFS-DM ), it is recommended to synchronize these components
> when using custom version or sources for the build. For stricter version 
> check, hash checking is not disabled.
> 
> Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>

I remembered previous discussions about ti-k3-boot-firmware package and retrieve
the first comment from Bryan Brattlof [1]:

"Looks great to me! I will say the process is starting internally to move
away from this linux-firmware fork in favor for sending things to
linux-firmware directly. My hope is we can begin deprecating this
package in a few months depending on how things go."

For now we are fine using the version provided by the .mk file and since the
goal is to deprecate ti-k3-boot-firmware and replace by linux-firmware, I'm not
sure it worth the effort?

If really needed, users can still use OVERRIDE_SRCDIR to replace
ti-k3-boot-firmware sources [2].

Thoughts?

[1]
https://lore.kernel.org/buildroot/20240605170205.ac4cmm7q5ondqgiq@bryanbrattlof.com/
[2] https://buildroot.org/downloads/manual/manual.html#_advanced_usage

Best regards,
Romain


> 
> ---
> Changes v4 -> v5:
> 	- Include recommendation regarding version mismatch in commit msg
> 	  (Suggested by Bryan and Romain)
> 
> Changes v3 -> v4:
> 	- Ti k3 -> TI K3 (Suggested by Andreas Dannenberg)
> 	- git.ti.org -> git.ti.com (Suggested by Andreas Dannenberg)
> 
> Changes v2 -> v3:
> 	- flexibilty -> flexibility (Suggested by Chirag Shilwant)
> 
> Changes v1 -> v2:
> 	- Fix whitespaces/indentation in Config.in file (Suggested by Bryan Brattlof)
> 
> ---
>  boot/ti-k3-boot-firmware/Config.in            | 30 +++++++++++++++++++
>  .../ti-k3-boot-firmware.mk                    |  2 +-
>  2 files changed, 31 insertions(+), 1 deletion(-)
> 
> diff --git a/boot/ti-k3-boot-firmware/Config.in b/boot/ti-k3-boot-firmware/Config.in
> index d80bb4bdb3..581ec0c3b9 100644
> --- a/boot/ti-k3-boot-firmware/Config.in
> +++ b/boot/ti-k3-boot-firmware/Config.in
> @@ -5,3 +5,33 @@ config BR2_TARGET_TI_K3_BOOT_FIRMWARE
>  	  This package downloads and installs the TI-specific ti-sysfw
>  	  and ti-dm firmware needed to boot TI K3 platforms (which
>  	  include AM62x, AM64x, AM65x and more).
> +
> +if BR2_TARGET_TI_K3_BOOT_FIRMWARE
> +choice
> +	prompt "ti-k3-boot-firmware version"
> +	default BR2_TARGET_TI_K3_BOOT_FIRMWARE_LATEST_VERSION
> +	help
> +	  Select the version of TI K3 boot firmware you want to use.
> +
> +config BR2_TARGET_TI_K3_BOOT_FIRMWARE_LATEST_VERSION
> +	bool "09.02.00.009"
> +
> +config BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION
> +	bool "Custom version"
> +	help
> +	  This option allows to use a specific official version from
> +	  git.ti.com.
> +
> +endchoice
> +
> +config BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION_VALUE
> +	string "Custom ti-k3-boot-firmware version"
> +	depends on BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION
> +
> +config BR2_TARGET_TI_K3_BOOT_FIRMWARE_VERSION
> +	string
> +	default "09.02.00.009"     if BR2_TARGET_TI_K3_BOOT_FIRMWARE_LATEST_VERSION
> +	default BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION_VALUE \
> +				if BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION
> +
> +endif
> diff --git a/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk
> index 9332732ad4..350381ebbe 100644
> --- a/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk
> +++ b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -TI_K3_BOOT_FIRMWARE_VERSION = 09.02.00.009
> +TI_K3_BOOT_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_BOOT_FIRMWARE_VERSION))
>  TI_K3_BOOT_FIRMWARE_SITE = https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/snapshot
>  TI_K3_BOOT_FIRMWARE_SOURCE = ti-linux-firmware-$(TI_K3_BOOT_FIRMWARE_VERSION).tar.xz
>  TI_K3_BOOT_FIRMWARE_INSTALL_IMAGES = YES
Bryan Brattlof Dec. 13, 2024, 4:03 p.m. UTC | #2
On December 11, 2024 thus sayeth Romain Naour via buildroot:
> Hello Paresh, All,
> 
> Le 22/07/2024 à 15:38, Paresh Bhagat via buildroot a écrit :
> > Previously the version of ti-k3-boot-firmware (TI_K3_BOOT_FIRMWARE_VERSION) was
> > fixed in mk file. Introduce a new config option 
> > BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION so that user can change the version 
> > for ti-k3-boot-firmware using menuconfig.
> > 
> > This provides greater flexibility for users to select different versions of
> > ti-k3-boot-firmware without modifying the build script directly. Note that
> > there might be version difference between ti-k3-boot-firmware and u-boot or
> > ki-k3-r5-bootloader, they should still work together due to TI-SCI protocol
> > being backward compatible. However, to avoid any potential issues ( e.g. in
> > case of TIFS-DM ), it is recommended to synchronize these components
> > when using custom version or sources for the build. For stricter version 
> > check, hash checking is not disabled.
> > 
> > Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
> 
> I remembered previous discussions about ti-k3-boot-firmware package and retrieve
> the first comment from Bryan Brattlof [1]:
> 
> "Looks great to me! I will say the process is starting internally to move
> away from this linux-firmware fork in favor for sending things to
> linux-firmware directly. My hope is we can begin deprecating this
> package in a few months depending on how things go."
> 
> For now we are fine using the version provided by the .mk file and since the
> goal is to deprecate ti-k3-boot-firmware and replace by linux-firmware, I'm not
> sure it worth the effort?
> 
> If really needed, users can still use OVERRIDE_SRCDIR to replace
> ti-k3-boot-firmware sources [2].
> 
> Thoughts?
> 

Yeah this effort seems to have stalled. I'll poke some people 
internally. But I agree we should just update the versions every time a 
new build of firmware is ready. 

~Bryan

> [1]
> https://lore.kernel.org/buildroot/20240605170205.ac4cmm7q5ondqgiq@bryanbrattlof.com/
> [2] https://buildroot.org/downloads/manual/manual.html#_advanced_usage
> 
> Best regards,
> Romain
> 
> 
> > 
> > ---
> > Changes v4 -> v5:
> > 	- Include recommendation regarding version mismatch in commit msg
> > 	  (Suggested by Bryan and Romain)
> > 
> > Changes v3 -> v4:
> > 	- Ti k3 -> TI K3 (Suggested by Andreas Dannenberg)
> > 	- git.ti.org -> git.ti.com (Suggested by Andreas Dannenberg)
> > 
> > Changes v2 -> v3:
> > 	- flexibilty -> flexibility (Suggested by Chirag Shilwant)
> > 
> > Changes v1 -> v2:
> > 	- Fix whitespaces/indentation in Config.in file (Suggested by Bryan Brattlof)
> > 
> > ---
> >  boot/ti-k3-boot-firmware/Config.in            | 30 +++++++++++++++++++
> >  .../ti-k3-boot-firmware.mk                    |  2 +-
> >  2 files changed, 31 insertions(+), 1 deletion(-)
> > 
> > diff --git a/boot/ti-k3-boot-firmware/Config.in b/boot/ti-k3-boot-firmware/Config.in
> > index d80bb4bdb3..581ec0c3b9 100644
> > --- a/boot/ti-k3-boot-firmware/Config.in
> > +++ b/boot/ti-k3-boot-firmware/Config.in
> > @@ -5,3 +5,33 @@ config BR2_TARGET_TI_K3_BOOT_FIRMWARE
> >  	  This package downloads and installs the TI-specific ti-sysfw
> >  	  and ti-dm firmware needed to boot TI K3 platforms (which
> >  	  include AM62x, AM64x, AM65x and more).
> > +
> > +if BR2_TARGET_TI_K3_BOOT_FIRMWARE
> > +choice
> > +	prompt "ti-k3-boot-firmware version"
> > +	default BR2_TARGET_TI_K3_BOOT_FIRMWARE_LATEST_VERSION
> > +	help
> > +	  Select the version of TI K3 boot firmware you want to use.
> > +
> > +config BR2_TARGET_TI_K3_BOOT_FIRMWARE_LATEST_VERSION
> > +	bool "09.02.00.009"
> > +
> > +config BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION
> > +	bool "Custom version"
> > +	help
> > +	  This option allows to use a specific official version from
> > +	  git.ti.com.
> > +
> > +endchoice
> > +
> > +config BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION_VALUE
> > +	string "Custom ti-k3-boot-firmware version"
> > +	depends on BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION
> > +
> > +config BR2_TARGET_TI_K3_BOOT_FIRMWARE_VERSION
> > +	string
> > +	default "09.02.00.009"     if BR2_TARGET_TI_K3_BOOT_FIRMWARE_LATEST_VERSION
> > +	default BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION_VALUE \
> > +				if BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION
> > +
> > +endif
> > diff --git a/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk
> > index 9332732ad4..350381ebbe 100644
> > --- a/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk
> > +++ b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk
> > @@ -4,7 +4,7 @@
> >  #
> >  ################################################################################
> >  
> > -TI_K3_BOOT_FIRMWARE_VERSION = 09.02.00.009
> > +TI_K3_BOOT_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_BOOT_FIRMWARE_VERSION))
> >  TI_K3_BOOT_FIRMWARE_SITE = https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/snapshot
> >  TI_K3_BOOT_FIRMWARE_SOURCE = ti-linux-firmware-$(TI_K3_BOOT_FIRMWARE_VERSION).tar.xz
> >  TI_K3_BOOT_FIRMWARE_INSTALL_IMAGES = YES
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/boot/ti-k3-boot-firmware/Config.in b/boot/ti-k3-boot-firmware/Config.in
index d80bb4bdb3..581ec0c3b9 100644
--- a/boot/ti-k3-boot-firmware/Config.in
+++ b/boot/ti-k3-boot-firmware/Config.in
@@ -5,3 +5,33 @@  config BR2_TARGET_TI_K3_BOOT_FIRMWARE
 	  This package downloads and installs the TI-specific ti-sysfw
 	  and ti-dm firmware needed to boot TI K3 platforms (which
 	  include AM62x, AM64x, AM65x and more).
+
+if BR2_TARGET_TI_K3_BOOT_FIRMWARE
+choice
+	prompt "ti-k3-boot-firmware version"
+	default BR2_TARGET_TI_K3_BOOT_FIRMWARE_LATEST_VERSION
+	help
+	  Select the version of TI K3 boot firmware you want to use.
+
+config BR2_TARGET_TI_K3_BOOT_FIRMWARE_LATEST_VERSION
+	bool "09.02.00.009"
+
+config BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION
+	bool "Custom version"
+	help
+	  This option allows to use a specific official version from
+	  git.ti.com.
+
+endchoice
+
+config BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION_VALUE
+	string "Custom ti-k3-boot-firmware version"
+	depends on BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION
+
+config BR2_TARGET_TI_K3_BOOT_FIRMWARE_VERSION
+	string
+	default "09.02.00.009"     if BR2_TARGET_TI_K3_BOOT_FIRMWARE_LATEST_VERSION
+	default BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION_VALUE \
+				if BR2_TARGET_TI_K3_BOOT_FIRMWARE_CUSTOM_VERSION
+
+endif
diff --git a/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk
index 9332732ad4..350381ebbe 100644
--- a/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk
+++ b/boot/ti-k3-boot-firmware/ti-k3-boot-firmware.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-TI_K3_BOOT_FIRMWARE_VERSION = 09.02.00.009
+TI_K3_BOOT_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_BOOT_FIRMWARE_VERSION))
 TI_K3_BOOT_FIRMWARE_SITE = https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/snapshot
 TI_K3_BOOT_FIRMWARE_SOURCE = ti-linux-firmware-$(TI_K3_BOOT_FIRMWARE_VERSION).tar.xz
 TI_K3_BOOT_FIRMWARE_INSTALL_IMAGES = YES