diff mbox series

[master/scarthgap,v2,1/4] conf/machine, ti-bsp: add support for multiple BSP providers

Message ID 20240614215721.796496-1-denis@denix.org
State Accepted
Delegated to: Ryan Eatmon
Headers show
Series [master/scarthgap,v2,1/4] conf/machine, ti-bsp: add support for multiple BSP providers | expand

Commit Message

Denys Dmytriyenko June 14, 2024, 9:57 p.m. UTC
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>
---
v2 - rename TI_DEFAULT_BSP to TI_PREFERRED_BSP

 meta-ti-bsp/conf/machine/beagleplay-k3r5.conf |   3 -
 meta-ti-bsp/conf/machine/beagleplay.conf      |   5 +-
 meta-ti-bsp/conf/machine/include/am62pxx.inc  |   2 +-
 meta-ti-bsp/conf/machine/include/am62xx.inc   |   2 +-
 meta-ti-bsp/conf/machine/include/am65xx.inc   |   2 +-
 meta-ti-bsp/conf/machine/include/am68.inc     |   2 +-
 meta-ti-bsp/conf/machine/include/am69.inc     |   2 +-
 meta-ti-bsp/conf/machine/include/beagle.inc   |   4 +-
 meta-ti-bsp/conf/machine/include/j721e.inc    |   2 +-
 meta-ti-bsp/conf/machine/include/j721s2.inc   |   2 +-
 meta-ti-bsp/conf/machine/include/j722s.inc    |   2 +-
 meta-ti-bsp/conf/machine/include/j784s4.inc   |   2 +-
 meta-ti-bsp/conf/machine/include/k3.inc       |   4 +-
 meta-ti-bsp/conf/machine/include/k3r5.inc     |   4 +-
 meta-ti-bsp/conf/machine/include/omap-a15.inc |   6 +-
 meta-ti-bsp/conf/machine/include/omapl138.inc |   4 +-
 meta-ti-bsp/conf/machine/include/ti-bsp.inc   | 109 ++++++++++++++++++
 meta-ti-bsp/conf/machine/include/ti-soc.inc   |   3 +-
 meta-ti-bsp/conf/machine/include/ti33x.inc    |   7 +-
 meta-ti-bsp/conf/machine/include/ti43x.inc    |   7 +-
 20 files changed, 131 insertions(+), 43 deletions(-)
 create mode 100644 meta-ti-bsp/conf/machine/include/ti-bsp.inc
diff mbox series

Patch

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_PREFERRED_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_PREFERRED_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_PREFERRED_BSP ??= "ti-6_6"
+
+# Use bsp-* namespace for overrides
+MACHINEOVERRIDES =. "bsp-${TI_PREFERRED_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"