1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
# 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, next, 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"
# ==========
# next
# upcoming upstream/mainline kernel, u-boot
# ==========
BSP_KERNEL_PROVIDER:bsp-next = "linux-ti-next"
BSP_KERNEL_VERSION:bsp-next = "%"
BSP_BOOTLOADER_PROVIDER:bsp-next = "u-boot-ti-next"
BSP_BOOTLOADER_VERSION:bsp-next = "%"
# GPU support requires out-of-tree SGX and Rogue drivers not available
# in next, usually present in TI staging or derivative like BB.org
MACHINE_FEATURES:remove:bsp-next = "gpu"
# ==========
# ti-6_12
# TI staging kernel 6.12, u-boot 2024.10
# ==========
BSP_KERNEL_PROVIDER:bsp-ti-6_12 = "linux-ti-staging"
BSP_KERNEL_VERSION:bsp-ti-6_12 = "6.12%"
BSP_BOOTLOADER_PROVIDER:bsp-ti-6_12 = "u-boot-ti-staging"
BSP_BOOTLOADER_VERSION:bsp-ti-6_12 = "2024.10%"
# GPU support requires out-of-tree SGX and Rogue drivers not available
# in 6.12 yet
MACHINE_FEATURES:remove:bsp-ti-6_12 = "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.04%"
# 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.04%"
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_VERSION_${BSP_KERNEL_PROVIDER}-rt ?= "${BSP_KERNEL_VERSION}"
PREFERRED_VERSION_${BSP_KERNEL_PROVIDER}-systest ?= "${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}"
|