Message ID | 20240711060531.4067193-1-p-bhagat@ti.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [v4] boot/ti-k3-boot-firmware: Add config option to specify version | expand |
Hello Paresh, All, Le 11/07/2024 à 08:05, 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. Is the main reason to add an option to specify the ti-k3-boot-firmware version is because it must match exactly with the selected u-boot or ti-k3-r5-loader version due to the TI-SCI protocol and the DMSC prebuilt firmware binary (provided by TI) (DMSC is the Security Manager Core in the SoC)? > > Signed-off-by: Paresh Bhagat <p-bhagat@ti.com> > > --- > 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. When you use this option, you need to disable the hash checking with: BR_NO_CHECK_HASH_FOR += $(TI_K3_BOOT_FIRMWARE_SOURCE) Otherwise you get: ERROR: No hash found for ti-linux-firmware-10.00.05.tar.xz See how it's done for ti-k3-r5-loader: ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION),y) BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE) endif Best regards, Romain > + > +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
On July 12, 2024 thus sayeth Romain Naour via buildroot: > Hello Paresh, All, > > Le 11/07/2024 à 08:05, 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. > > Is the main reason to add an option to specify the ti-k3-boot-firmware version > is because it must match exactly with the selected u-boot or ti-k3-r5-loader > version due to the TI-SCI protocol and the DMSC prebuilt firmware binary > (provided by TI) (DMSC is the Security Manager Core in the SoC)? > The TI-SCI protocol will always be backward compatible. There should be no worries about using an older TIFS/DM/DMSC firmware with newer kernels and bootloaders and any errors anyone sees should be reported to TI so it can be addressed. It gets a little weird with the TIFS <-> DM communication so it's recommended to keep those in sync. I haven't seen any issues but that doesn't mean they don't exist. > > > > Signed-off-by: Paresh Bhagat <p-bhagat@ti.com> > > > > --- > > 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. > > When you use this option, you need to disable the hash checking with: > > BR_NO_CHECK_HASH_FOR += $(TI_K3_BOOT_FIRMWARE_SOURCE) > > Otherwise you get: > > ERROR: No hash found for ti-linux-firmware-10.00.05.tar.xz > > See how it's done for ti-k3-r5-loader: > > ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION),y) > BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE) > endif > Ah yeah and we should probably add the corresponding hash files in the board directory of the boards who use this for when this version changes. Oops ~Bryan > Best regards, > Romain > > > > + > > +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
Hi Bryan, Le 12/07/2024 à 22:39, Bryan Brattlof a écrit : > On July 12, 2024 thus sayeth Romain Naour via buildroot: >> Hello Paresh, All, >> >> Le 11/07/2024 à 08:05, 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. >> >> Is the main reason to add an option to specify the ti-k3-boot-firmware version >> is because it must match exactly with the selected u-boot or ti-k3-r5-loader >> version due to the TI-SCI protocol and the DMSC prebuilt firmware binary >> (provided by TI) (DMSC is the Security Manager Core in the SoC)? >> > > The TI-SCI protocol will always be backward compatible. There should be > no worries about using an older TIFS/DM/DMSC firmware with newer kernels > and bootloaders and any errors anyone sees should be reported to TI so > it can be addressed. > > It gets a little weird with the TIFS <-> DM communication so it's > recommended to keep those in sync. I haven't seen any issues but that > doesn't mean they don't exist. Thanks for the info, can you add this recommendation in the commit log? > >>> >>> Signed-off-by: Paresh Bhagat <p-bhagat@ti.com> >>> >>> --- >>> 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. >> >> When you use this option, you need to disable the hash checking with: >> >> BR_NO_CHECK_HASH_FOR += $(TI_K3_BOOT_FIRMWARE_SOURCE) >> >> Otherwise you get: >> >> ERROR: No hash found for ti-linux-firmware-10.00.05.tar.xz >> >> See how it's done for ti-k3-r5-loader: >> >> ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION),y) >> BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE) >> endif >> > > Ah yeah and we should probably add the corresponding hash files in the > board directory of the boards who use this for when this version > changes. Oops Yes, perfect! Best regards, Romain > > ~Bryan > >> Best regards, >> Romain >> >> >>> + >>> +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
Hi Bryan, Romain On 13/07/24 02:09, Bryan Brattlof wrote: > On July 12, 2024 thus sayeth Romain Naour via buildroot: >> Hello Paresh, All, >> >> Le 11/07/2024 à 08:05, 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. >> Is the main reason to add an option to specify the ti-k3-boot-firmware version >> is because it must match exactly with the selected u-boot or ti-k3-r5-loader >> version due to the TI-SCI protocol and the DMSC prebuilt firmware binary >> (provided by TI) (DMSC is the Security Manager Core in the SoC)? >> > The TI-SCI protocol will always be backward compatible. There should be > no worries about using an older TIFS/DM/DMSC firmware with newer kernels > and bootloaders and any errors anyone sees should be reported to TI so > it can be addressed. > > It gets a little weird with the TIFS <-> DM communication so it's > recommended to keep those in sync. I haven't seen any issues but that > doesn't mean they don't exist. > >>> Signed-off-by: Paresh Bhagat <p-bhagat@ti.com> >>> >>> --- >>> 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. >> When you use this option, you need to disable the hash checking with: >> >> BR_NO_CHECK_HASH_FOR += $(TI_K3_BOOT_FIRMWARE_SOURCE) >> >> Otherwise you get: >> >> ERROR: No hash found for ti-linux-firmware-10.00.05.tar.xz >> >> See how it's done for ti-k3-r5-loader: >> >> ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION),y) >> BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE) >> endif >> > Ah yeah and we should probably add the corresponding hash files in the > board directory of the boards who use this for when this version > changes. Oops > > ~Bryan I see hash checking is disabled only when using the latest version and not when a custom version is specified. So should i disable hash checking for latest version here too? Regards, Paresh > >> Best regards, >> Romain >> >> >>> + >>> +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
On July 15, 2024 thus sayeth Paresh Bhagat via buildroot: > Hi Bryan, Romain > On 13/07/24 02:09, Bryan Brattlof wrote: > > On July 12, 2024 thus sayeth Romain Naour via buildroot: > > > Hello Paresh, All, > > > > > > Le 11/07/2024 à 08:05, 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. > > > Is the main reason to add an option to specify the ti-k3-boot-firmware version > > > is because it must match exactly with the selected u-boot or ti-k3-r5-loader > > > version due to the TI-SCI protocol and the DMSC prebuilt firmware binary > > > (provided by TI) (DMSC is the Security Manager Core in the SoC)? > > > > > The TI-SCI protocol will always be backward compatible. There should be > > no worries about using an older TIFS/DM/DMSC firmware with newer kernels > > and bootloaders and any errors anyone sees should be reported to TI so > > it can be addressed. > > > > It gets a little weird with the TIFS <-> DM communication so it's > > recommended to keep those in sync. I haven't seen any issues but that > > doesn't mean they don't exist. > > > > > > Signed-off-by: Paresh Bhagat <p-bhagat@ti.com> > > > > > > > > --- > > > > 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. > > > When you use this option, you need to disable the hash checking with: > > > > > > BR_NO_CHECK_HASH_FOR += $(TI_K3_BOOT_FIRMWARE_SOURCE) > > > > > > Otherwise you get: > > > > > > ERROR: No hash found for ti-linux-firmware-10.00.05.tar.xz > > > > > > See how it's done for ti-k3-r5-loader: > > > > > > ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION),y) > > > BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE) > > > endif > > > > > Ah yeah and we should probably add the corresponding hash files in the > > board directory of the boards who use this for when this version > > changes. Oops > > > > ~Bryan > > I see hash checking is disabled only when using the latest version and not > when a custom version is specified. So should i disable hash checking for > latest version here too? > Hmm I see what you're talking about. We may not want to disable the hash check for any option. If we allow boards to begin pinning a custom/specific version of TIFS/DM/DMSC they will need to put the hash in their board folder to avoid bad downloads. If they want to prototype something quickly they should probably use the locka.mk override system. ~Bryan > Regards, > > Paresh > > > > > > Best regards, > > > Romain > > > > > > > > > > + > > > > +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 > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
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
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. Signed-off-by: Paresh Bhagat <p-bhagat@ti.com> --- 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(-)