Message ID | 20240613172254.770920-1-denis@denix.org |
---|---|
State | Superseded |
Delegated to: | Ryan Eatmon |
Headers | show |
Series | [master/scarthgap,1/4] conf/machine, ti-bsp: add support for multiple BSP providers | expand |
On 6/13/2024 12:22 PM, Denys Dmytriyenko wrote: > From: Denys Dmytriyenko <denys@konsulko.com> > > This adds a facility to define multiple supported BSPs with their own > preferences for individual components, as well as lets machine configs > specify conditional configurations for different BSPs. > > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > --- <snip> > + > +# ========== > +# ti-6_6 > +# TI staging kernel 6.6, u-boot 2024.04 > +# ========== > +BSP_KERNEL_PROVIDER:bsp-ti-6_6 = "linux-ti-staging" > +BSP_KERNEL_VERSION:bsp-ti-6_6 = "6.6%" > +BSP_BOOTLOADER_PROVIDER:bsp-ti-6_6 = "u-boot-ti-staging" > +BSP_BOOTLOADER_VERSION:bsp-ti-6_6 = "2024%" > + > +# Only Rogue is enabled so far, SGX falls back to SW rendering > +BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_6 = "ti-img-rogue-driver" > +BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_6 = "24%" > +BSP_ROGUE_UMLIBS_VERSION:bsp-ti-6_6 = "24%" > +BSP_MESA_PVR_VERSION:bsp-ti-6_6 = "23%" > + > +# ========== > +# ti-6_1 > +# TI staging kernel 6.1, u-boot 2023.04 > +# ========== > +BSP_KERNEL_PROVIDER:bsp-ti-6_1 = "linux-ti-staging" > +BSP_KERNEL_VERSION:bsp-ti-6_1 = "6.1%" > +BSP_BOOTLOADER_PROVIDER:bsp-ti-6_1 = "u-boot-ti-staging" > +BSP_BOOTLOADER_VERSION:bsp-ti-6_1 = "2023%" > + > +BSP_SGX_DRIVER_PROVIDER:bsp-ti-6_1 = "ti-sgx-ddk-km" > +BSP_SGX_DRIVER_VERSION:bsp-ti-6_1 = "1.17%" > +BSP_SGX_UMLIBS_VERSION:bsp-ti-6_1 = "1.17%" > +BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_1 = "ti-img-rogue-driver" > +BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_1 = "23%" > +BSP_ROGUE_UMLIBS_VERSION:bsp-ti-6_1 = "23%" > +BSP_MESA_PVR_VERSION:bsp-ti-6_1 = "22%" I wonder if I can use this same system to support the upstream testing... After we accept this series I need to look at how the upstream testing flow can leverage this concept.
On Thu, Jun 13, 2024 at 02:29:34PM -0500, Ryan Eatmon wrote: > > > On 6/13/2024 12:22 PM, Denys Dmytriyenko wrote: > >From: Denys Dmytriyenko <denys@konsulko.com> > > > >This adds a facility to define multiple supported BSPs with their own > >preferences for individual components, as well as lets machine configs > >specify conditional configurations for different BSPs. > > > >Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > >--- > > <snip> > > >+ > >+# ========== > >+# ti-6_6 > >+# TI staging kernel 6.6, u-boot 2024.04 > >+# ========== > >+BSP_KERNEL_PROVIDER:bsp-ti-6_6 = "linux-ti-staging" > >+BSP_KERNEL_VERSION:bsp-ti-6_6 = "6.6%" > >+BSP_BOOTLOADER_PROVIDER:bsp-ti-6_6 = "u-boot-ti-staging" > >+BSP_BOOTLOADER_VERSION:bsp-ti-6_6 = "2024%" > >+ > >+# Only Rogue is enabled so far, SGX falls back to SW rendering > >+BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_6 = "ti-img-rogue-driver" > >+BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_6 = "24%" > >+BSP_ROGUE_UMLIBS_VERSION:bsp-ti-6_6 = "24%" > >+BSP_MESA_PVR_VERSION:bsp-ti-6_6 = "23%" > >+ > >+# ========== > >+# ti-6_1 > >+# TI staging kernel 6.1, u-boot 2023.04 > >+# ========== > >+BSP_KERNEL_PROVIDER:bsp-ti-6_1 = "linux-ti-staging" > >+BSP_KERNEL_VERSION:bsp-ti-6_1 = "6.1%" > >+BSP_BOOTLOADER_PROVIDER:bsp-ti-6_1 = "u-boot-ti-staging" > >+BSP_BOOTLOADER_VERSION:bsp-ti-6_1 = "2023%" > >+ > >+BSP_SGX_DRIVER_PROVIDER:bsp-ti-6_1 = "ti-sgx-ddk-km" > >+BSP_SGX_DRIVER_VERSION:bsp-ti-6_1 = "1.17%" > >+BSP_SGX_UMLIBS_VERSION:bsp-ti-6_1 = "1.17%" > >+BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_1 = "ti-img-rogue-driver" > >+BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_1 = "23%" > >+BSP_ROGUE_UMLIBS_VERSION:bsp-ti-6_1 = "23%" > >+BSP_MESA_PVR_VERSION:bsp-ti-6_1 = "22%" > > I wonder if I can use this same system to support the upstream > testing... After we accept this series I need to look at how the > upstream testing flow can leverage this concept. That's the mainline setup...
On 6/13/2024 2:47 PM, Denys Dmytriyenko wrote: > On Thu, Jun 13, 2024 at 02:29:34PM -0500, Ryan Eatmon wrote: >> >> >> On 6/13/2024 12:22 PM, Denys Dmytriyenko wrote: >>> From: Denys Dmytriyenko <denys@konsulko.com> >>> >>> This adds a facility to define multiple supported BSPs with their own >>> preferences for individual components, as well as lets machine configs >>> specify conditional configurations for different BSPs. >>> >>> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> >>> --- >> >> <snip> >> >>> + >>> +# ========== >>> +# ti-6_6 >>> +# TI staging kernel 6.6, u-boot 2024.04 >>> +# ========== >>> +BSP_KERNEL_PROVIDER:bsp-ti-6_6 = "linux-ti-staging" >>> +BSP_KERNEL_VERSION:bsp-ti-6_6 = "6.6%" >>> +BSP_BOOTLOADER_PROVIDER:bsp-ti-6_6 = "u-boot-ti-staging" >>> +BSP_BOOTLOADER_VERSION:bsp-ti-6_6 = "2024%" >>> + >>> +# Only Rogue is enabled so far, SGX falls back to SW rendering >>> +BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_6 = "ti-img-rogue-driver" >>> +BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_6 = "24%" >>> +BSP_ROGUE_UMLIBS_VERSION:bsp-ti-6_6 = "24%" >>> +BSP_MESA_PVR_VERSION:bsp-ti-6_6 = "23%" >>> + >>> +# ========== >>> +# ti-6_1 >>> +# TI staging kernel 6.1, u-boot 2023.04 >>> +# ========== >>> +BSP_KERNEL_PROVIDER:bsp-ti-6_1 = "linux-ti-staging" >>> +BSP_KERNEL_VERSION:bsp-ti-6_1 = "6.1%" >>> +BSP_BOOTLOADER_PROVIDER:bsp-ti-6_1 = "u-boot-ti-staging" >>> +BSP_BOOTLOADER_VERSION:bsp-ti-6_1 = "2023%" >>> + >>> +BSP_SGX_DRIVER_PROVIDER:bsp-ti-6_1 = "ti-sgx-ddk-km" >>> +BSP_SGX_DRIVER_VERSION:bsp-ti-6_1 = "1.17%" >>> +BSP_SGX_UMLIBS_VERSION:bsp-ti-6_1 = "1.17%" >>> +BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_1 = "ti-img-rogue-driver" >>> +BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_1 = "23%" >>> +BSP_ROGUE_UMLIBS_VERSION:bsp-ti-6_1 = "23%" >>> +BSP_MESA_PVR_VERSION:bsp-ti-6_1 = "22%" >> >> I wonder if I can use this same system to support the upstream >> testing... After we accept this series I need to look at how the >> upstream testing flow can leverage this concept. > > That's the mainline setup... For the kernel we use linux-ti-next not mainline.
On 6/13/2024 12:22 PM, Denys Dmytriyenko wrote: > From: Denys Dmytriyenko <denys@konsulko.com> > > This adds a facility to define multiple supported BSPs with their own > preferences for individual components, as well as lets machine configs > specify conditional configurations for different BSPs. > > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > diff --git a/meta-ti-bsp/conf/machine/include/ti-bsp.inc b/meta-ti-bsp/conf/machine/include/ti-bsp.inc > new file mode 100644 > index 00000000..3bb94a7f > --- /dev/null > +++ b/meta-ti-bsp/conf/machine/include/ti-bsp.inc > @@ -0,0 +1,109 @@ > +# Support multiple BSP providers > +# The main input is TI_DEFAULT_BSP, which translates into default > +# preferences for kernel, bootloader and graphics components, as > +# well as a dedicated machine override. > + > +# Supported options are: mainline, ti-6_6, ti-6_1, bb_org > +TI_DEFAULT_BSP ??= "ti-6_6" Should this variable be named TI_DEFAULT_BSP? That implies that this is the value of the default for this feature. But in reality this variable is what chooses the TI BSP version. Should it be something like TI_BSP_VERSION instead?
Hi, On 14/06/24 02:48, Ryan Eatmon via lists.yoctoproject.org wrote: > On 6/13/2024 12: 22 PM, Denys Dmytriyenko wrote: > From: Denys > Dmytriyenko <denys@ konsulko. com> > > This adds a facility to define > multiple supported BSPs with their own > preferences for individual > components, as well as lets > ZjQcmQRYFpfptBannerStart > This message was sent from outside of Texas Instruments. > Do not click links or open attachments unless you recognize the source > of this email and know the content is safe. If you wish to report this > message to IT Security, please forward the message as an attachment to > phishing@list.ti.com > ZjQcmQRYFpfptBannerEnd > On 6/13/2024 12:22 PM, Denys Dmytriyenko wrote: > > From: Denys Dmytriyenko <denys@konsulko.com> > > > > This adds a facility to define multiple supported BSPs with their own > > preferences for individual components, as well as lets machine configs > > specify conditional configurations for different BSPs. > > > > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > > > > > diff --git a/meta-ti-bsp/conf/machine/include/ti-bsp.inc b/meta-ti-bsp/conf/machine/include/ti-bsp.inc > > new file mode 100644 > > index 00000000..3bb94a7f > > --- /dev/null > > +++ b/meta-ti-bsp/conf/machine/include/ti-bsp.inc > > @@ -0,0 +1,109 @@ > > +# Support multiple BSP providers > > +# The main input is TI_DEFAULT_BSP, which translates into default > > +# preferences for kernel, bootloader and graphics components, as > > +# well as a dedicated machine override. > > + > > +# Supported options are: mainline, ti-6_6, ti-6_1, bb_org > > +TI_DEFAULT_BSP ??= "ti-6_6" > > Should this variable be named TI_DEFAULT_BSP? That implies that this is > the value of the default for this feature. But in reality this variable > is what chooses the TI BSP version. Should it be something like > TI_BSP_VERSION instead? Yeah, I agree with Ryan. TI_BSP_VERSION or evenTI_DEFAULT_BSP_VERSION sounds more appropriate. Regards, Chirag > > > > -- > Ryan Eatmon reatmon@ti.com > ----------------------------------------- > Texas Instruments, Inc. - LCPD - MGTS > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#17726): https://urldefense.com/v3/__https://lists.yoctoproject.org/g/meta-ti/message/17726__;!!G3vK!U20F4gdpOgKdlGIbMEeQpRYgCKi78PnQ6YHMrbGMH1hlJTtzu_lGfmzbJo65qk3jLSUv9WYdTMcNDNNnyKMh2-VE1HTlFHCXiw$ > Mute This Topic: https://urldefense.com/v3/__https://lists.yoctoproject.org/mt/106655975/7030289__;!!G3vK!U20F4gdpOgKdlGIbMEeQpRYgCKi78PnQ6YHMrbGMH1hlJTtzu_lGfmzbJo65qk3jLSUv9WYdTMcNDNNnyKMh2-VE1HQhq36_xA$ > Group Owner: meta-ti+owner@lists.yoctoproject.org > Unsubscribe: https://urldefense.com/v3/__https://lists.yoctoproject.org/g/meta-ti/unsub__;!!G3vK!U20F4gdpOgKdlGIbMEeQpRYgCKi78PnQ6YHMrbGMH1hlJTtzu_lGfmzbJo65qk3jLSUv9WYdTMcNDNNnyKMh2-VE1HSRPq9VLw$ [c-shilwant@ti.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Thu, Jun 13, 2024 at 04:18:16PM -0500, Ryan Eatmon wrote: > > > On 6/13/2024 12:22 PM, Denys Dmytriyenko wrote: > >From: Denys Dmytriyenko <denys@konsulko.com> > > > >This adds a facility to define multiple supported BSPs with their own > >preferences for individual components, as well as lets machine configs > >specify conditional configurations for different BSPs. > > > >Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > > > > >diff --git a/meta-ti-bsp/conf/machine/include/ti-bsp.inc b/meta-ti-bsp/conf/machine/include/ti-bsp.inc > >new file mode 100644 > >index 00000000..3bb94a7f > >--- /dev/null > >+++ b/meta-ti-bsp/conf/machine/include/ti-bsp.inc > >@@ -0,0 +1,109 @@ > >+# Support multiple BSP providers > >+# The main input is TI_DEFAULT_BSP, which translates into default > >+# preferences for kernel, bootloader and graphics components, as > >+# well as a dedicated machine override. > >+ > >+# Supported options are: mainline, ti-6_6, ti-6_1, bb_org > >+TI_DEFAULT_BSP ??= "ti-6_6" > > Should this variable be named TI_DEFAULT_BSP? That implies that > this is the value of the default for this feature. But in reality > this variable is what chooses the TI BSP version. Should it be > something like TI_BSP_VERSION instead? It's not just the version, it's entire BSP stack. E.g. "mainline" vs. "bb_org" Initially I started with only 2 options - "ti" vs. "bb_org", but eventually expanded it to support "mainline" and in case of "ti" also different LTS versions - "ti-6_1" and "ti-6_6"... Hence the original name stayed. And not sure how long both LTS versions will be supported in meta-ti... Anyway, I'm fine changing it to something else, but I thing calling it "version" will be more confusing.
On Thu, Jun 13, 2024 at 04:09:46PM -0500, Ryan Eatmon wrote: > > > On 6/13/2024 2:47 PM, Denys Dmytriyenko wrote: > >On Thu, Jun 13, 2024 at 02:29:34PM -0500, Ryan Eatmon wrote: > >> > >> > >>On 6/13/2024 12:22 PM, Denys Dmytriyenko wrote: > >>>From: Denys Dmytriyenko <denys@konsulko.com> > >>> > >>>This adds a facility to define multiple supported BSPs with their own > >>>preferences for individual components, as well as lets machine configs > >>>specify conditional configurations for different BSPs. > >>> > >>>Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > >>>--- > >> > >><snip> > >> > >>>+ > >>>+# ========== > >>>+# ti-6_6 > >>>+# TI staging kernel 6.6, u-boot 2024.04 > >>>+# ========== > >>>+BSP_KERNEL_PROVIDER:bsp-ti-6_6 = "linux-ti-staging" > >>>+BSP_KERNEL_VERSION:bsp-ti-6_6 = "6.6%" > >>>+BSP_BOOTLOADER_PROVIDER:bsp-ti-6_6 = "u-boot-ti-staging" > >>>+BSP_BOOTLOADER_VERSION:bsp-ti-6_6 = "2024%" > >>>+ > >>>+# Only Rogue is enabled so far, SGX falls back to SW rendering > >>>+BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_6 = "ti-img-rogue-driver" > >>>+BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_6 = "24%" > >>>+BSP_ROGUE_UMLIBS_VERSION:bsp-ti-6_6 = "24%" > >>>+BSP_MESA_PVR_VERSION:bsp-ti-6_6 = "23%" > >>>+ > >>>+# ========== > >>>+# ti-6_1 > >>>+# TI staging kernel 6.1, u-boot 2023.04 > >>>+# ========== > >>>+BSP_KERNEL_PROVIDER:bsp-ti-6_1 = "linux-ti-staging" > >>>+BSP_KERNEL_VERSION:bsp-ti-6_1 = "6.1%" > >>>+BSP_BOOTLOADER_PROVIDER:bsp-ti-6_1 = "u-boot-ti-staging" > >>>+BSP_BOOTLOADER_VERSION:bsp-ti-6_1 = "2023%" > >>>+ > >>>+BSP_SGX_DRIVER_PROVIDER:bsp-ti-6_1 = "ti-sgx-ddk-km" > >>>+BSP_SGX_DRIVER_VERSION:bsp-ti-6_1 = "1.17%" > >>>+BSP_SGX_UMLIBS_VERSION:bsp-ti-6_1 = "1.17%" > >>>+BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_1 = "ti-img-rogue-driver" > >>>+BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_1 = "23%" > >>>+BSP_ROGUE_UMLIBS_VERSION:bsp-ti-6_1 = "23%" > >>>+BSP_MESA_PVR_VERSION:bsp-ti-6_1 = "22%" > >> > >>I wonder if I can use this same system to support the upstream > >>testing... After we accept this series I need to look at how the > >>upstream testing flow can leverage this concept. > > > >That's the mainline setup... > > For the kernel we use linux-ti-next not mainline. Right, linux-next tree vs. torvalds one. I considered supporting both in ti-bsp.inc, but thought that mainline pulling torvalds tree would be more useful for 99% of meta-ti users, than pulling ever-changing linux-next. Other than the kernel tree, the rest is exactly the same as bsp-mainline, and it is still possible to overwrite PREFERRED_PROVIDER on top: https://git.yoctoproject.org/meta-arago/tree/meta-arago-distro/conf/distro/include/branding-next.inc?h=scarthgap-wip Even w/o meta-arago, all it takes is 2 lines: TI_DEFAULT_BSP = "mainline" PREFERRED_PROVIDER_virtual/kernel = "linux-ti-next" BTW, linux-ti-next and linux-ti-mainline recipes originally were quite different, but over time became very similar. I'm thinking these can be cleaned up and unified - either one includes another and adjusts SRC_URI, or potentially even a single recipe with a switch...
On Fri, Jun 14, 2024 at 12:34:23PM -0400, Denys Dmytriyenko wrote: > On Thu, Jun 13, 2024 at 04:18:16PM -0500, Ryan Eatmon wrote: > > > > > > On 6/13/2024 12:22 PM, Denys Dmytriyenko wrote: > > >From: Denys Dmytriyenko <denys@konsulko.com> > > > > > >This adds a facility to define multiple supported BSPs with their own > > >preferences for individual components, as well as lets machine configs > > >specify conditional configurations for different BSPs. > > > > > >Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> > > > > > > > > >diff --git a/meta-ti-bsp/conf/machine/include/ti-bsp.inc b/meta-ti-bsp/conf/machine/include/ti-bsp.inc > > >new file mode 100644 > > >index 00000000..3bb94a7f > > >--- /dev/null > > >+++ b/meta-ti-bsp/conf/machine/include/ti-bsp.inc > > >@@ -0,0 +1,109 @@ > > >+# Support multiple BSP providers > > >+# The main input is TI_DEFAULT_BSP, which translates into default > > >+# preferences for kernel, bootloader and graphics components, as > > >+# well as a dedicated machine override. > > >+ > > >+# Supported options are: mainline, ti-6_6, ti-6_1, bb_org > > >+TI_DEFAULT_BSP ??= "ti-6_6" > > > > Should this variable be named TI_DEFAULT_BSP? That implies that > > this is the value of the default for this feature. But in reality > > this variable is what chooses the TI BSP version. Should it be > > something like TI_BSP_VERSION instead? > > It's not just the version, it's entire BSP stack. E.g. "mainline" vs. "bb_org" > Initially I started with only 2 options - "ti" vs. "bb_org", but eventually > expanded it to support "mainline" and in case of "ti" also different LTS > versions - "ti-6_1" and "ti-6_6"... Hence the original name stayed. And not > sure how long both LTS versions will be supported in meta-ti... > > Anyway, I'm fine changing it to something else, but I thing calling it > "version" will be more confusing. How about TI_PREFERRED_BSP or something along those lines?
On 6/14/2024 1:55 PM, Denys Dmytriyenko wrote: > On Fri, Jun 14, 2024 at 12:34:23PM -0400, Denys Dmytriyenko wrote: >> On Thu, Jun 13, 2024 at 04:18:16PM -0500, Ryan Eatmon wrote: >>> >>> >>> On 6/13/2024 12:22 PM, Denys Dmytriyenko wrote: >>>> From: Denys Dmytriyenko <denys@konsulko.com> >>>> >>>> This adds a facility to define multiple supported BSPs with their own >>>> preferences for individual components, as well as lets machine configs >>>> specify conditional configurations for different BSPs. >>>> >>>> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> >>> >>> >>> >>>> diff --git a/meta-ti-bsp/conf/machine/include/ti-bsp.inc b/meta-ti-bsp/conf/machine/include/ti-bsp.inc >>>> new file mode 100644 >>>> index 00000000..3bb94a7f >>>> --- /dev/null >>>> +++ b/meta-ti-bsp/conf/machine/include/ti-bsp.inc >>>> @@ -0,0 +1,109 @@ >>>> +# Support multiple BSP providers >>>> +# The main input is TI_DEFAULT_BSP, which translates into default >>>> +# preferences for kernel, bootloader and graphics components, as >>>> +# well as a dedicated machine override. >>>> + >>>> +# Supported options are: mainline, ti-6_6, ti-6_1, bb_org >>>> +TI_DEFAULT_BSP ??= "ti-6_6" >>> >>> Should this variable be named TI_DEFAULT_BSP? That implies that >>> this is the value of the default for this feature. But in reality >>> this variable is what chooses the TI BSP version. Should it be >>> something like TI_BSP_VERSION instead? >> >> It's not just the version, it's entire BSP stack. E.g. "mainline" vs. "bb_org" >> Initially I started with only 2 options - "ti" vs. "bb_org", but eventually >> expanded it to support "mainline" and in case of "ti" also different LTS >> versions - "ti-6_1" and "ti-6_6"... Hence the original name stayed. And not >> sure how long both LTS versions will be supported in meta-ti... >> >> Anyway, I'm fine changing it to something else, but I thing calling it >> "version" will be more confusing. > > How about TI_PREFERRED_BSP or something along those lines? I like that.
diff --git a/meta-ti-bsp/conf/machine/beagleplay-k3r5.conf b/meta-ti-bsp/conf/machine/beagleplay-k3r5.conf index 601cbbf7..e38029ff 100644 --- a/meta-ti-bsp/conf/machine/beagleplay-k3r5.conf +++ b/meta-ti-bsp/conf/machine/beagleplay-k3r5.conf @@ -4,9 +4,6 @@ require conf/machine/include/k3r5.inc -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-bb.org" -PREFERRED_PROVIDER_u-boot = "u-boot-bb.org" - SYSFW_SOC = "am62x" SYSFW_CONFIG = "evm" SYSFW_SUFFIX = "gp" diff --git a/meta-ti-bsp/conf/machine/beagleplay.conf b/meta-ti-bsp/conf/machine/beagleplay.conf index 02bc6566..a09c0d13 100644 --- a/meta-ti-bsp/conf/machine/beagleplay.conf +++ b/meta-ti-bsp/conf/machine/beagleplay.conf @@ -11,7 +11,7 @@ MACHINE_FEATURES += "screen gpu" SERIAL_CONSOLES = "115200;ttyS2" require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" TFA_BOARD = "lite" TFA_K3_SYSTEM_SUSPEND = "1" @@ -25,9 +25,6 @@ UBOOT_MACHINE = "am62x_evm_a53_defconfig" # under meta-ti-bsp/recipes-bsp/u-boot/ for more details. UBOOT_CONFIG_FRAGMENTS = "am625_beagleplay_a53.config" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-bb.org" -PREFERRED_PROVIDER_u-boot = "u-boot-bb.org" - KERNEL_DEVICETREE_PREFIX = " \ ti/k3-am625 \ ti/k3-am62x-sk \ diff --git a/meta-ti-bsp/conf/machine/include/am62pxx.inc b/meta-ti-bsp/conf/machine/include/am62pxx.inc index 38e35851..a2825905 100644 --- a/meta-ti-bsp/conf/machine/include/am62pxx.inc +++ b/meta-ti-bsp/conf/machine/include/am62pxx.inc @@ -4,7 +4,7 @@ SOC_FAMILY:append = ":am62pxx" MACHINE_FEATURES += "screen gpu" require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" # Default tiboot3.bin on AM62Px is for HS-FS IMAGE_BOOT_FILES += "tiboot3-am62px-hs-fs-evm.bin" diff --git a/meta-ti-bsp/conf/machine/include/am62xx.inc b/meta-ti-bsp/conf/machine/include/am62xx.inc index a0ec944f..070a691b 100644 --- a/meta-ti-bsp/conf/machine/include/am62xx.inc +++ b/meta-ti-bsp/conf/machine/include/am62xx.inc @@ -4,7 +4,7 @@ SOC_FAMILY:append = ":am62xx" MACHINE_FEATURES += "screen gpu" require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" # Default tiboot3.bin on AM62x is for HS-FS IMAGE_BOOT_FILES += "tiboot3-am62x-hs-fs-evm.bin" diff --git a/meta-ti-bsp/conf/machine/include/am65xx.inc b/meta-ti-bsp/conf/machine/include/am65xx.inc index 48b89638..e033c09b 100644 --- a/meta-ti-bsp/conf/machine/include/am65xx.inc +++ b/meta-ti-bsp/conf/machine/include/am65xx.inc @@ -4,7 +4,7 @@ SOC_FAMILY:append = ":am65xx" MACHINE_FEATURES += "screen touchscreen gpu" require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_SGX_DRIVER_PROVIDER}" KERNEL_DEVICETREE_PREFIX = "ti/k3-am654" diff --git a/meta-ti-bsp/conf/machine/include/am68.inc b/meta-ti-bsp/conf/machine/include/am68.inc index cb3d1026..327366be 100644 --- a/meta-ti-bsp/conf/machine/include/am68.inc +++ b/meta-ti-bsp/conf/machine/include/am68.inc @@ -4,7 +4,7 @@ SOC_FAMILY:append = ":j721s2" MACHINE_FEATURES += "screen gpu" require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" # Default tiboot3.bin on AM68 is for SR1.0 HS-FS IMAGE_BOOT_FILES += "tiboot3-j721s2-hs-fs-evm.bin" diff --git a/meta-ti-bsp/conf/machine/include/am69.inc b/meta-ti-bsp/conf/machine/include/am69.inc index 81be1397..488f9c33 100644 --- a/meta-ti-bsp/conf/machine/include/am69.inc +++ b/meta-ti-bsp/conf/machine/include/am69.inc @@ -4,7 +4,7 @@ SOC_FAMILY:append = ":j784s4" MACHINE_FEATURES += "screen gpu" require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" # Default tiboot3.bin on AM69 is for SR1.0 HS-FS IMAGE_BOOT_FILES += "tiboot3-j784s4-hs-fs-evm.bin" diff --git a/meta-ti-bsp/conf/machine/include/beagle.inc b/meta-ti-bsp/conf/machine/include/beagle.inc index 27e3298d..e5050096 100644 --- a/meta-ti-bsp/conf/machine/include/beagle.inc +++ b/meta-ti-bsp/conf/machine/include/beagle.inc @@ -1,3 +1 @@ - -PREFERRED_PROVIDER_virtual/kernel ?= "linux-bb.org" - +TI_DEFAULT_BSP ?= "bb_org" diff --git a/meta-ti-bsp/conf/machine/include/j721e.inc b/meta-ti-bsp/conf/machine/include/j721e.inc index 6040feb0..a54c3f2f 100644 --- a/meta-ti-bsp/conf/machine/include/j721e.inc +++ b/meta-ti-bsp/conf/machine/include/j721e.inc @@ -4,7 +4,7 @@ SOC_FAMILY:append = ":j721e" MACHINE_FEATURES += "screen gpu" require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" IMAGE_BOOT_FILES += "sysfw.itb" diff --git a/meta-ti-bsp/conf/machine/include/j721s2.inc b/meta-ti-bsp/conf/machine/include/j721s2.inc index 5289ec5a..9cd88d9b 100644 --- a/meta-ti-bsp/conf/machine/include/j721s2.inc +++ b/meta-ti-bsp/conf/machine/include/j721s2.inc @@ -4,7 +4,7 @@ SOC_FAMILY:append = ":j721s2" MACHINE_FEATURES += "screen gpu" require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" # Default tiboot3.bin on J721S2 is for GP IMAGE_BOOT_FILES += "tiboot3-j721s2-gp-evm.bin" diff --git a/meta-ti-bsp/conf/machine/include/j722s.inc b/meta-ti-bsp/conf/machine/include/j722s.inc index 3b051f1b..3c0717a0 100644 --- a/meta-ti-bsp/conf/machine/include/j722s.inc +++ b/meta-ti-bsp/conf/machine/include/j722s.inc @@ -4,7 +4,7 @@ SOC_FAMILY:append = ":j722s" MACHINE_FEATURES += "screen gpu" require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" # Default tiboot3.bin on J722S is for HS-FS IMAGE_BOOT_FILES += "tiboot3-j722s-hs-fs-evm.bin" diff --git a/meta-ti-bsp/conf/machine/include/j784s4.inc b/meta-ti-bsp/conf/machine/include/j784s4.inc index 92062cdf..883c4a6e 100644 --- a/meta-ti-bsp/conf/machine/include/j784s4.inc +++ b/meta-ti-bsp/conf/machine/include/j784s4.inc @@ -4,7 +4,7 @@ SOC_FAMILY:append = ":j784s4" MACHINE_FEATURES += "screen gpu" require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "ti-img-rogue-driver" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}" # Default tiboot3.bin on J784S4 is for GP IMAGE_BOOT_FILES += "tiboot3-j784s4-gp-evm.bin" diff --git a/meta-ti-bsp/conf/machine/include/k3.inc b/meta-ti-bsp/conf/machine/include/k3.inc index e3da9e12..2b82cb82 100644 --- a/meta-ti-bsp/conf/machine/include/k3.inc +++ b/meta-ti-bsp/conf/machine/include/k3.inc @@ -10,9 +10,7 @@ BBMULTICONFIG += "k3r5" # Increase this everytime you change something in the kernel MACHINE_KERNEL_PR = "r0" -PREFERRED_PROVIDER_virtual/kernel ?= "linux-ti-staging" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" -PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" +require conf/machine/include/ti-bsp.inc KERNEL_IMAGETYPE = "Image" KERNEL_IMAGETYPES = "Image fitImage" diff --git a/meta-ti-bsp/conf/machine/include/k3r5.inc b/meta-ti-bsp/conf/machine/include/k3r5.inc index 63267a5e..fcd54254 100644 --- a/meta-ti-bsp/conf/machine/include/k3r5.inc +++ b/meta-ti-bsp/conf/machine/include/k3r5.inc @@ -11,9 +11,9 @@ require conf/machine/include/arm/armv7a/tune-cortexa8.inc # https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/doc/board/ti/j721e_evm.rst # https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/doc/board/ti/am62x_sk.rst # https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/doc/board/ti/k3.rst + +require conf/machine/include/ti-bsp.inc PREFERRED_PROVIDER_virtual/kernel = "linux-dummy" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" -PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" SPL_SUFFIX = "bin" SPL_BINARY = "tiboot3-${SYSFW_SOC}-${SYSFW_SUFFIX}-${SYSFW_CONFIG}.${SPL_SUFFIX}" diff --git a/meta-ti-bsp/conf/machine/include/omap-a15.inc b/meta-ti-bsp/conf/machine/include/omap-a15.inc index 9ca41403..3637ad0a 100644 --- a/meta-ti-bsp/conf/machine/include/omap-a15.inc +++ b/meta-ti-bsp/conf/machine/include/omap-a15.inc @@ -7,13 +7,11 @@ require conf/machine/include/arm/armv7a/tune-cortexa15.inc # Increase this everytime you change something in the kernel MACHINE_KERNEL_PR = "r7" -PREFERRED_PROVIDER_virtual/kernel ?= "linux-ti-staging" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" -PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" +require conf/machine/include/ti-bsp.inc # Graphics providers and variables require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_SGX_DRIVER_PROVIDER}" PVR_DISPLAY_CONTROLLER_ALIAS ?= "omapdrm" KERNEL_IMAGETYPE = "zImage" diff --git a/meta-ti-bsp/conf/machine/include/omapl138.inc b/meta-ti-bsp/conf/machine/include/omapl138.inc index 7f8262a5..486de05d 100644 --- a/meta-ti-bsp/conf/machine/include/omapl138.inc +++ b/meta-ti-bsp/conf/machine/include/omapl138.inc @@ -5,9 +5,7 @@ require conf/machine/include/arm/armv5/tune-arm926ejs.inc KERNEL_IMAGETYPE = "zImage" -PREFERRED_PROVIDER_virtual/kernel ?= "linux-ti-staging" -PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging" -PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging" +require conf/machine/include/ti-bsp.inc EXTRA_IMAGEDEPENDS += "virtual/bootloader" diff --git a/meta-ti-bsp/conf/machine/include/ti-bsp.inc b/meta-ti-bsp/conf/machine/include/ti-bsp.inc new file mode 100644 index 00000000..3bb94a7f --- /dev/null +++ b/meta-ti-bsp/conf/machine/include/ti-bsp.inc @@ -0,0 +1,109 @@ +# Support multiple BSP providers +# The main input is TI_DEFAULT_BSP, which translates into default +# preferences for kernel, bootloader and graphics components, as +# well as a dedicated machine override. + +# Supported options are: mainline, ti-6_6, ti-6_1, bb_org +TI_DEFAULT_BSP ??= "ti-6_6" + +# Use bsp-* namespace for overrides +MACHINEOVERRIDES =. "bsp-${TI_DEFAULT_BSP}:" + +# ========== +# mainline +# latest upstream/mainline kernel, u-boot +# ========== +BSP_KERNEL_PROVIDER:bsp-mainline = "linux-ti-mainline" +BSP_KERNEL_VERSION:bsp-mainline = "%" +BSP_BOOTLOADER_PROVIDER:bsp-mainline = "u-boot-ti-mainline" +BSP_BOOTLOADER_VERSION:bsp-mainline = "%" + +# GPU support requires out-of-tree SGX and Rogue drivers not available +# in mainline, usually present in TI staging or derivative like BB.org +MACHINE_FEATURES:remove:bsp-mainline = "gpu" + +# ========== +# ti-6_6 +# TI staging kernel 6.6, u-boot 2024.04 +# ========== +BSP_KERNEL_PROVIDER:bsp-ti-6_6 = "linux-ti-staging" +BSP_KERNEL_VERSION:bsp-ti-6_6 = "6.6%" +BSP_BOOTLOADER_PROVIDER:bsp-ti-6_6 = "u-boot-ti-staging" +BSP_BOOTLOADER_VERSION:bsp-ti-6_6 = "2024%" + +# Only Rogue is enabled so far, SGX falls back to SW rendering +BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_6 = "ti-img-rogue-driver" +BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_6 = "24%" +BSP_ROGUE_UMLIBS_VERSION:bsp-ti-6_6 = "24%" +BSP_MESA_PVR_VERSION:bsp-ti-6_6 = "23%" + +# ========== +# ti-6_1 +# TI staging kernel 6.1, u-boot 2023.04 +# ========== +BSP_KERNEL_PROVIDER:bsp-ti-6_1 = "linux-ti-staging" +BSP_KERNEL_VERSION:bsp-ti-6_1 = "6.1%" +BSP_BOOTLOADER_PROVIDER:bsp-ti-6_1 = "u-boot-ti-staging" +BSP_BOOTLOADER_VERSION:bsp-ti-6_1 = "2023%" + +BSP_SGX_DRIVER_PROVIDER:bsp-ti-6_1 = "ti-sgx-ddk-km" +BSP_SGX_DRIVER_VERSION:bsp-ti-6_1 = "1.17%" +BSP_SGX_UMLIBS_VERSION:bsp-ti-6_1 = "1.17%" +BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_1 = "ti-img-rogue-driver" +BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_1 = "23%" +BSP_ROGUE_UMLIBS_VERSION:bsp-ti-6_1 = "23%" +BSP_MESA_PVR_VERSION:bsp-ti-6_1 = "22%" + +# ========== +# bb_org +# BeagleBoard.org kernel 6.1, u-boot 2023.04 +# based on TI staging trees with extra Beagle-specific features +# but may not be up-to-date with TI version +# ========== +BSP_KERNEL_PROVIDER:bsp-bb_org = "linux-bb.org" +BSP_KERNEL_VERSION:bsp-bb_org = "%" +BSP_BOOTLOADER_PROVIDER:bsp-bb_org = "u-boot-bb.org" +BSP_BOOTLOADER_VERSION:bsp-bb_org = "%" + +BSP_SGX_DRIVER_PROVIDER:bsp-bb_org = "ti-sgx-ddk-km" +BSP_SGX_DRIVER_VERSION:bsp-bb_org = "1.17%" +BSP_SGX_UMLIBS_VERSION:bsp-bb_org = "1.17%" +BSP_ROGUE_DRIVER_PROVIDER:bsp-bb_org = "ti-img-rogue-driver" +BSP_ROGUE_DRIVER_VERSION:bsp-bb_org = "23%" +BSP_ROGUE_UMLIBS_VERSION:bsp-bb_org = "23%" +BSP_MESA_PVR_VERSION:bsp-bb_org = "22%" + +# ========== +# sane fallback defaults +# if specific values are not defined or bsp is set incorrectly +# use default preference TI staging and SW-rendering graphics +# ========== +BSP_KERNEL_PROVIDER ?= "linux-ti-staging" +BSP_KERNEL_VERSION ?= "%" +BSP_BOOTLOADER_PROVIDER ?= "u-boot-ti-staging" +BSP_BOOTLOADER_VERSION ?= "%" + +BSP_SGX_DRIVER_PROVIDER ?= "" +BSP_SGX_DRIVER_VERSION ?= "" +BSP_ROGUE_DRIVER_PROVIDER ?= "" +BSP_ROGUE_DRIVER_VERSION ?= "" +BSP_SGX_UMLIBS_VERSION ?= "" +BSP_ROGUE_UMLIBS_VERSION ?= "" +BSP_MESA_PVR_VERSION ?= "" + +# ========== +# global preferences +# ========== +PREFERRED_PROVIDER_virtual/kernel ?= "${BSP_KERNEL_PROVIDER}" +PREFERRED_VERSION_${BSP_KERNEL_PROVIDER} ?= "${BSP_KERNEL_VERSION}" +PREFERRED_PROVIDER_virtual/bootloader ?= "${BSP_BOOTLOADER_PROVIDER}" +PREFERRED_PROVIDER_u-boot ?= "${BSP_BOOTLOADER_PROVIDER}" +PREFERRED_VERSION_${BSP_BOOTLOADER_PROVIDER} ?= "${BSP_BOOTLOADER_VERSION}" + +# GPU provider gets set in machine configs, as some machines are headless +# Select default preferred versions here +PREFERRED_VERSION_ti-sgx-ddk-km ?= "${BSP_SGX_DRIVER_VERSION}" +PREFERRED_VERSION_ti-sgx-ddk-um ?= "${BSP_SGX_UMLIBS_VERSION}" +PREFERRED_VERSION_ti-img-rogue-driver ?= "${BSP_ROGUE_DRIVER_VERSION}" +PREFERRED_VERSION_ti-img-rogue-umlibs ?= "${BSP_ROGUE_UMLIBS_VERSION}" +PREFERRED_VERSION_mesa-pvr ?= "${BSP_MESA_PVR_VERSION}" diff --git a/meta-ti-bsp/conf/machine/include/ti-soc.inc b/meta-ti-bsp/conf/machine/include/ti-soc.inc index a1fd3cbf..5d77e719 100644 --- a/meta-ti-bsp/conf/machine/include/ti-soc.inc +++ b/meta-ti-bsp/conf/machine/include/ti-soc.inc @@ -1,9 +1,8 @@ # This is a generic TI SOC family. It is a superset of all other SOCs # and platforms defined in meta-ti to allow BSP-level overrides. SOC_FAMILY = "ti-soc" +require conf/machine/include/soc-family.inc # TI platforms all use devicetrees with overlays MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-devicetree" KERNEL_DTB_OVERLAY_SUPPORT ?= "1" - -require conf/machine/include/soc-family.inc diff --git a/meta-ti-bsp/conf/machine/include/ti33x.inc b/meta-ti-bsp/conf/machine/include/ti33x.inc index 6fd65b2d..45934aa0 100644 --- a/meta-ti-bsp/conf/machine/include/ti33x.inc +++ b/meta-ti-bsp/conf/machine/include/ti33x.inc @@ -7,14 +7,11 @@ require conf/machine/include/arm/armv7a/tune-cortexa8.inc # Increase this everytime you change something in the kernel MACHINE_KERNEL_PR = "r22" -# Default providers, may need to override for specific machines -PREFERRED_PROVIDER_virtual/kernel ?= "linux-ti-staging" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" -PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" +require conf/machine/include/ti-bsp.inc # Graphics providers and variables require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_SGX_DRIVER_PROVIDER}" PVR_DISPLAY_CONTROLLER_ALIAS ?= "tilcdc" KERNEL_IMAGETYPE = "zImage" diff --git a/meta-ti-bsp/conf/machine/include/ti43x.inc b/meta-ti-bsp/conf/machine/include/ti43x.inc index 0a3ef4c3..c6a3c510 100644 --- a/meta-ti-bsp/conf/machine/include/ti43x.inc +++ b/meta-ti-bsp/conf/machine/include/ti43x.inc @@ -7,14 +7,11 @@ require conf/machine/include/arm/armv7a/tune-cortexa9.inc # Increase this everytime you change something in the kernel MACHINE_KERNEL_PR = "r3" -# Default providers, may need to override for specific machines -PREFERRED_PROVIDER_virtual/kernel ?= "linux-ti-staging" -PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-ti-staging" -PREFERRED_PROVIDER_u-boot ?= "u-boot-ti-staging" +require conf/machine/include/ti-bsp.inc # Graphics providers and variables require conf/machine/include/mesa-pvr.inc -PREFERRED_PROVIDER_virtual/gpudriver ?= "" +PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_SGX_DRIVER_PROVIDER}" PVR_DISPLAY_CONTROLLER_ALIAS ?= "omapdrm" KERNEL_IMAGETYPE = "zImage"