1
0
mirror of https://git.yoctoproject.org/meta-ti synced 2026-01-12 09:30:21 +00:00

Compare commits

..

65 Commits

Author SHA1 Message Date
Denys Dmytriyenko
a00cd08b11 linux-ti-staging: add 2 new DRA7 RevC LCD DTBs
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-07-12 16:54:31 -04:00
Denys Dmytriyenko
707d948fd0 linux-ti-staging: update to ti2016.02-rc4 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-07-10 15:40:47 -04:00
Denys Dmytriyenko
35effcffb1 u-boot-ti-staging: add HS_X-LOADER images, update to ti2016.02-rc4 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-07-10 15:40:45 -04:00
Sam Nelson
5a92176066 ti-ipc: Update to new version 3.43.01.03
Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-07-10 15:40:40 -04:00
Denys Dmytriyenko
457d1a75e8 machine: bump max_leb_cnt numbers again
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-07-04 02:06:58 -04:00
Denys Dmytriyenko
79e9297b3b linux-ti-staging: update to ti2016.02-rc3 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-07-03 22:13:59 -04:00
Denys Dmytriyenko
3bf185e2c1 u-boot-ti-staging: update to ti2016.02-rc3 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-07-03 22:13:54 -04:00
Denys Dmytriyenko
501709c38d uio-module-drv-test: replace machine override with SOC override
This package is now used for multiple omap-a15 SOCs, having only single machine
covered in overrides breaks other machines.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-07-03 22:13:50 -04:00
Justin Sobota
e03eaff8ef edma3-lld: Bump version
Signed-off-by: Justin Sobota <jsobota@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-07-03 22:13:46 -04:00
Denys Dmytriyenko
540818aaff uio-module-drv-test: correct COMPATIBLE_MACHINE
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 22:23:22 -04:00
Denys Dmytriyenko
8a9eb5d977 uio-test-pruss: correct COMPATIBLE_MACHINE
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 21:27:16 -04:00
Jacob Stiffler
f175c88c01 openmp-rtos: bump SRCREV to version 2.3.1.0
Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:10:08 -04:00
Jacob Stiffler
daed2c1462 ti-ipc-rtos: add dependency on zip-native
* The zip utility is used during the build

Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:10:03 -04:00
Justin Sobota
5a84f7d923 dfe-lld: Bump version
Signed-off-by: Justin Sobota <jsobota@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:09:54 -04:00
Justin Sobota
dd8ec293a2 srio-lld: Bump version
Signed-off-by: Justin Sobota <jsobota@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:09:46 -04:00
Justin Sobota
39fcf40916 sa-lld: Bump version
Signed-off-by: Justin Sobota <jsobota@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:09:39 -04:00
Justin Sobota
3aa5480876 rm-lld: Bump version
Signed-off-by: Justin Sobota <jsobota@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:09:35 -04:00
Justin Sobota
8da412de38 pa-lld: Bump version
Signed-off-by: Justin Sobota <jsobota@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:09:30 -04:00
Justin Sobota
5aa6c4eb0a common-csl-ip: Move to new make infrastructure & Bump version
Signed-off-by: Justin Sobota <jsobota@ti.com>
Tested-by: Jacob Stiffler <j-stiffler@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:09:23 -04:00
Justin Sobota
1a4349fb9c ti-pdk: Add makefile support to ti-pdk.bbclass for RTOS components
Signed-off-by: Justin Sobota <jsobota@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:08:57 -04:00
Anand Balagopalakrishnan
542b6d1fc2 ti-sgx-ddk-km: disable active power management
Disable active power management in SGX. This will enable host triggered
suspend-resume for SGX.

Signed-off-by: Anand Balagopalakrishnan <anandb@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:08:34 -04:00
Anand Balagopalakrishnan
dc856da7db ti-sgx-ddk-um: disable active power management
Disable active power management in SGX. This will enable host triggered
suspend-resume for SGX.

Signed-off-by: Anand Balagopalakrishnan <anandb@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-29 17:08:31 -04:00
Denys Dmytriyenko
3008194df2 linux-ti-staging: update to ti2016.02-rc2 tag, update DTBs
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-24 15:32:56 -04:00
Denys Dmytriyenko
30f47c86e7 u-boot-ti-staging: update to ti2016.02-rc2 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-24 15:32:51 -04:00
Sam Nelson
13df93b1a4 ti-ipc: Update comment on IPC tag
Updated tag added to ipc dev branch to the same commit id
to avoid confusion.

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-24 15:32:46 -04:00
Karthik Ramanan
6e4d479296 dspdce-fw: Update SRCREV for adding new API
This API will allow querying remote core information

Signed-off-by: Karthik Ramanan <a0393906@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-24 10:28:56 -04:00
Karthik Ramanan
f39872ef3f ipumm: Update SRCREV for adding new API
This API will allow querying remote core information

Signed-off-by: Karthik Ramanan <a0393906@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-24 10:28:49 -04:00
Karthik Ramanan
980c0fa6d2 libdce: add API for query remote proc information
This update contains two main changes:
 * Fix for multimedia playback failure with core dumped
 * New API addition for querying remote proc information

Signed-off-by: Karthik Ramanan <a0393906@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-24 10:28:42 -04:00
Sam Nelson
a71da0f824 uio-module-drv-test: Updates to fix issues with Keystone platforms
Made the package machine dependent due to content changes with platform
Fixed DEVICE_NAME to keystone instead of keystone-evm

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-24 10:28:18 -04:00
Denys Dmytriyenko
18437aed99 u-boot-ti-staging: add support for AM57xx HS platform
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-22 11:13:36 -04:00
Denys Dmytriyenko
36519bd18f netcp-pa-fw: update to version 3.0.1.17
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-21 00:48:06 -04:00
Denys Dmytriyenko
1a6fcfa8bd amx3-cm3: update to the latest for am3 ddr fixes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-21 00:48:04 -04:00
Denys Dmytriyenko
1f91eb7883 am57xx-hs-evm: add AM5 HS platform config
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-20 17:43:35 -04:00
Denys Dmytriyenko
4086b6a18d u-boot-ti-staging: update to ti2016.02-rc1 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-20 16:55:04 -04:00
Denys Dmytriyenko
f71f4fd821 linux-ti-staging: update to 4.4.13, use new defconfig builder
Convert to using tisdk configs from defconfig_map processed by defconfig_builder.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-20 16:54:59 -04:00
Sam Nelson
cbfd89ceb7 uio-test-pruss: Add recipe to build uio pruss test firmware
This firmware images are expected to be used with uio pruss test code

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-20 16:54:54 -04:00
Sam Nelson
82a1312883 mpm-transport: Update to new version 2.0.1.2
- Adapts to API change in uio-module-drv

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-20 16:54:49 -04:00
Sam Nelson
1eae6f96fe uio-module-drv: Update to new version 2.1.0.0
One API change in read/write
Additional test code added

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-20 16:54:44 -04:00
Sam Nelson
eb25debd49 ti-ipc: Update to new patch version 3.43.01.02
Only examples and documentation updated

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-20 16:54:39 -04:00
Jason Reeder
145755b476 pru-icss: add new device support and bump SRCREV
The PRU Software Support Package now includes examples for
the k2g device that need to be built and then placed into
the file system.

The Linux driver now supports loading firmwares into both
PRU-ICSS subsystems on the am437x device so the recipe was
also updated to build and install those firmwares.

Non-backward compatible changes were made to the inner
workings of rpmsg that required a major revision bump. The
package revision was bumped to 5.0.0 and this commit moves
the SRCREV to the v5.0.0 tag.

Signed-off-by: Jason Reeder <jreeder@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-20 16:54:33 -04:00
Denys Dmytriyenko
c51663d849 libdce: move from meta-arago
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-10 13:32:59 -04:00
Denys Dmytriyenko
b9c4f9f467 README: update branch
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-07 18:47:20 -04:00
Denys Dmytriyenko
1456932959 recipes: cleanup
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-07 18:45:09 -04:00
Denys Dmytriyenko
c0c9802a68 ipumm-fw: bump for codec updates and bugfixes
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-07 18:08:12 -04:00
Denys Dmytriyenko
1ae0cadb12 u-boot-ti-staging: update to ti2016.01-rc4 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-02 20:12:04 -04:00
Denys Dmytriyenko
31212fec61 linux-ti-staging: update to 4.4.12 and ti2016.01-rc4 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-02 20:12:00 -04:00
Denys Dmytriyenko
4b7a863b9d cm3-pm-firmware: correct license to TI-TSPA
It was incorrectly identified as BSD-3-Clause

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-01 23:55:42 -04:00
Sam Nelson
f43d380691 linux-ti-staging: Update uio entries for am572x
Rearranged memory sections
Added additional memory section to accomodate required sections more
than 8
Incremented PR append for linux-ti-staging

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-01 15:45:37 -04:00
Sam Nelson
3ac974779d ti-ipc: Update to new version 3.43
Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-01 15:45:19 -04:00
Ming Wei
10960c248c ti-ccsv6-native: update to new version 6.1.3.00033
updated ARM-CGT version and MD5/SHAR256 checksum

Signed-off-by: Ming Wei <mwei@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-06-01 15:45:14 -04:00
Sam Nelson
55dc15a8f4 ti-ipc-rtos: Update to include examples and documentation with the package
Updated to new version 3.42.01.03
Added procedures and source urls for adding examples and documentation
into src package.
Added dependency on doxygen for document creation
Added big endian c66 targets
Updated uniform formatting

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-27 17:18:28 -04:00
e-ruei1@ti.com
2a57c4c768 ti-sgx-ddk-um: update srcrev and bump PR
* bring in the fix of QML overlay display problem

Signed-off-by: Eric Ruei <e-ruei1@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-26 21:59:31 -04:00
Denys Dmytriyenko
b094cd07c1 machine: explicitly list ubifs in IMAGE_FSTYPES, so RM_OLD_IMAGE works
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-26 21:59:16 -04:00
Jacob Stiffler
3f2d7dff00 k2g-evm: add opencl feature
Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-26 21:59:07 -04:00
Sam Nelson
d098dfccc1 linux-ti-staging: Update pru uio dtb entries
added additional entries to allow access to ecap and uart regions
Update Kernel PR to force rebuild

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-26 21:58:57 -04:00
Denys Dmytriyenko
2658df4437 machine: bump max_leb_cnt for am3 and am4 platforms
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-22 23:58:42 -04:00
Denys Dmytriyenko
8599d32a62 u-boot-ti-staging: update to final 2016.05 and ti2016.01-rc3 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-22 12:31:31 -04:00
Denys Dmytriyenko
594cbb0142 linux-ti-staging: update to 4.4.11 and ti2016.01-rc3 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-22 12:31:29 -04:00
Denys Dmytriyenko
9954e289e6 machine: add opencl feature to corresponding platforms
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-22 12:31:24 -04:00
Sam Nelson
2a8d94c1fa linux-ti-staging: Add new device tree target am572x-idk-pru-excl-uio.dtb
This new device tree file is to support pruss with uio based drivers
alone.
Adds uio entries for pruss susbsystem and disables other drivers
controlling the same.
New dtb is added only if ENABLE_TI_UIO_DEVICES is enabled.

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-18 16:50:38 -04:00
Denys Dmytriyenko
8166221b76 u-boot-ti-staging: update for ti2016.01-rc2 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-16 12:21:34 -04:00
Denys Dmytriyenko
c59c597aae linux-ti-staging: update to 4.4.10 and ti2016.01-rc2 tag
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-16 12:21:30 -04:00
Sam Nelson
7656af805f uio-module-drv: Update to 2.0.0.0 GA version
Reformatted recipes to have one common PV between module and test
recipes

Signed-off-by: Sam Nelson <sam.nelson@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-13 14:57:16 -04:00
Anand Balagopalakrishnan
3f896e1c52 ti-sgx-ddk-um: update srcrev and bump PR
* rebuild SGX user mode driver with GCC 5.3

Signed-off-by: Anand Balagopalakrishnan <anandb@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-13 14:57:08 -04:00
Jacob Stiffler
6cc3e56407 ti-softhsmv2: bump SRCREV to version to 2.0.0.0
* License checksum has changed due to an updated date in the LICENSE
  file

Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
2016-05-13 14:57:02 -04:00
696 changed files with 15255 additions and 11733 deletions

6
.gitignore vendored
View File

@@ -1,6 +0,0 @@
*.pyc
*.pyo
*.swp
*.orig
*.rej
*~

23
README
View File

@@ -1,4 +1,23 @@
Collection of layers for the OE-core universe
The official OpenEmbedded/Yocto BSP layer for Texas Instruments platforms.
Please see the respective READMEs in the layer subdirectories
It is hosted on http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/ with the
source repository at git://git.yoctoproject.org/meta-ti
This layer depends on:
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: krogoth
The base BSP part of meta-ti should work with different OpenEmbedded/Yocto
distributions and layer stacks, such as:
distro-less (only with OE-Core), with Yocto/Poky, with Angstrom or Arago.
Please follow the recommended setup procedures of your OE distribution.
Send pull requests, patches, comments or questions to meta-ti@yoctoproject.org
Maintainers: Denys Dmytriyenko <denys@ti.com>

2
TODO
View File

@@ -1,2 +0,0 @@
This TODO list allows us to track certain actions and lists of patches that
need to be removed at a future date.

View File

@@ -1,52 +0,0 @@
{
"APPEND-1" : {
"skip_vars" : [ "ALTERNATIVE", "FILES", "INSANE_SKIP", "RDEPENDS", "RRECOMMENDS" ]
},
"APPEND-2" : {
"skip_vars" : [ "KERNEL_LOCALVERSION", "PR", "PV", "S" ],
"file_regex" : {
"meta-ti-bsp\\/recipes-graphics\\/mesa\\/mesa-pvr_\\S+\\.bb" : {
"skip_vars": [ "GALLIUMDRIVERS", "VULKAN_DRIVERS" ]
},
"meta-ti-bsp\\/recipes-graphics\\/mesa\\/mesa-pvr\\.inc" : {
"skip_vars": [ "TOOLS", "TOOLS_DEPS", "GALLIUMDRIVERS", "VULKAN_DRIVERS" ]
}
}
},
"GUARD-1" : {
"skip_files" : [
"meta-ti-bsp/recipes-core/udev/eudev_%.bbappend",
"meta-ti-bsp/recipes-devtools/binutils/binutils-cross-canadian_%.bbappend",
"meta-ti-bsp/recipes-security/optee/optee-%.bbappend",
"meta-ti-bsp/dynamic-layers/openembedded-layer/recipes-bsp/u-boot/u-boot-ti-%.bbappend",
"meta-ti-bsp/dynamic-layers/openembedded-layer/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bbappend"
]
},
"GUARD-2" : {
"skip_vars" : [ "k3" , "ti-soc" ]
},
"GUARD-3" : {
"skip_files" : [
"meta-ti-bsp/recipes-security/optee/optee-os-tadevkit_%.bbappend"
]
},
"PV-1" :{
"skip_files" : [
"meta-ti-bsp/recipes-kernel/linux/ti-kernel-fitimage.bb",
"meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/ti-multimedia-udev.bb",
"meta-ti-bsp/recipes-ti/initramfs/packagegroup-ti-core-initramfs.bb",
"meta-ti-bsp/recipes-ti/initramfs/ti-core-initramfs.bb",
"meta-ti-bsp/recipes-ti/secdev/ti-k3-secdev_git.bb",
"meta-ti-extras/recipes-connectivity/cc33xx-target-scripts/cc33xx-target-scripts_git.bb",
"meta-ti-extras/recipes-ti/beagleboard/beaglebone-capes.bb",
"meta-ti-extras/recipes-ti/beagleboard/beaglebone-getting-started.bb",
"meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb",
"meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos_git.bb"
]
},
"SUMMARY-1" : {
"skip_files" : [
"meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos_git.bb"
]
}
}

101
classes/ti-pdk.bbclass Normal file
View File

@@ -0,0 +1,101 @@
require recipes-ti/includes/ti-paths.inc
require recipes-ti/includes/ti-staging.inc
inherit perlnative
DEPENDS = "ti-xdctools ti-cg-xml-native ti-sysbios common-csl-ip-rtos libxml-simple-perl-native gcc-arm-none-eabi-native ti-cgt6x-native ti-pdk-build-rtos"
DEPENDS_append_omap-a15 = " ti-ccsv6-native"
DEPENDS_remove_ti33x = "ti-cgt6x-native"
DEPENDS_remove_ti43x = "ti-cgt6x-native"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
# HTML hyperlink text
PDK_COMP_LINK_TEXT ?= ""
DOC_FILE = "API_Documentation_${PN}.html"
create_doc_link () {
PDK_COMP_DIR=`get_build_dir_bash`
echo "<a href=\"${PDK_COMP_DIR}/docs/doxygen/html/index.html\">${PDK_COMP_LINK_TEXT}</a>" >> ${D}${PDK_INSTALL_DIR_RECIPE}/packages/.extras/doc/${DOC_FILE}
}
get_build_dir_bash() {
if [ -f ${S}/package.xdc ]
then
grep '^package' ${S}/package.xdc | sed -e 's|\[.*$||' | awk '{ print $2 }' | sed -e 's|\.|/|g'
else
echo ${S}
return 1
fi
}
export CROSS_TOOL_PRFX="arm-none-eabi-"
export TOOLCHAIN_PATH_A8 = "${GCC_ARM_NONE_TOOLCHAIN}"
export TOOLCHAIN_PATH_A9 = "${GCC_ARM_NONE_TOOLCHAIN}"
export TOOLCHAIN_PATH_A15 = "${GCC_ARM_NONE_TOOLCHAIN}"
export TOOLCHAIN_PATH_M4 = "${M4_TOOLCHAIN_INSTALL_DIR}"
export C6X_GEN_INSTALL_PATH = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"
export ROOTDIR = "${B}"
export BIOS_INSTALL_PATH = "${SYSBIOS_INSTALL_DIR}"
export XDC_INSTALL_PATH = "${XDC_INSTALL_DIR}"
export PDK_INSTALL_PATH = "${PDK_INSTALL_DIR}/packages"
export XDCPATH = "${XDC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages;${PDK_INSTALL_DIR}/packages"
export SECTTI="perl ${CG_XML_INSTALL_DIR}/ofd/sectti.pl"
XDCMAKE ?= "1"
LIMSOCS ?= ""
LIMBOARDS ?= ""
PARALLEL_XDC = "--jobs=${BB_NUMBER_THREADS}"
do_configure() {
BUILD_DIR=${B}/`get_build_dir_bash`
mkdir -p ${BUILD_DIR}
cp -r ${S}/* ${BUILD_DIR}
if [ "${XDCMAKE}" == "1" ]
then
cd ${BUILD_DIR}
sed -i "s/\ \"\.\\\\\\\\\"\ +//" src/Module.xs
find -name "*.xs" -exec sed -i "s/ofd6x\.exe/ofd6x/" {} \;
find -name "*.xs" -exec sed -i "s/sectti\.exe/sectti/" {} \;
find -name "*.xs" -exec sed -i "/\.chm/d" {} \;
find -name "*.xs" -exec sed -i "s/pasm\_dos/pasm\_linux/" {} \;
fi
}
do_compile() {
if [ "${XDCMAKE}" == "1" ]
then
${XDC_INSTALL_DIR}/xdc clean ${PARALLEL_XDC} -PR .
${XDC_INSTALL_DIR}/xdc all ${PARALLEL_XDC} XDCARGS="${XDCARGS}" ROOTDIR="${ROOTDIR}" -PR .
${XDC_INSTALL_DIR}/xdc release XDCARGS="${XDCARGS}" -PR .
else
BUILD_DIR=${B}/`get_build_dir_bash`
cd ${BUILD_DIR}
make release LIMIT_SOCS="${LIMSOCS}" LIMIT_BOARDS="${LIMBOARDS}"
fi
}
do_install () {
install -d ${D}${PDK_INSTALL_DIR_RECIPE}/packages
find -name "*.tar" -exec tar xf {} -C ${D}${PDK_INSTALL_DIR_RECIPE}/packages \;
if [ "${PDK_COMP_LINK_TEXT}" != "" ]
then
install -d ${D}${PDK_INSTALL_DIR_RECIPE}/packages/.extras/doc
create_doc_link
fi
}
FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages"

27
conf/layer.conf Normal file
View File

@@ -0,0 +1,27 @@
# We have a conf and classes directory, append to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-ti"
BBFILE_PATTERN_meta-ti := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-ti = "6"
LICENSE_PATH += "${LAYERDIR}/licenses"
SIGGEN_EXCLUDERECIPES_ABISAFE += " \
ti-sgx-ddk-km \
ti-sgx-ddk-um \
ti-ipc \
ti-ipc-rtos \
cmem-mod \
hplib-mod \
gdbserverproxy-module-drv \
debugss-module-drv \
uio-module-drv \
mpm-transport \
cppi-lld \
qmss-lld \
multiprocmgr \
"

View File

@@ -0,0 +1,16 @@
#@TYPE: Machine
#@NAME: AM180x CPUs on an AM180x EVM board
#@DESCRIPTION: Machine configuration for the TI AM180x EVM board
require conf/machine/include/davinci.inc
require conf/machine/include/omapl138.inc
UBOOT_MACHINE = "da850_am18xxevm_config"
UBOOT_SUFFIX = "ais"
UBOOT_ENTRYPOINT = "0xc0008000"
UBOOT_LOADADDRESS = "0xc0008000"
IMAGE_FSTYPES += "tar.gz"
SERIAL_CONSOLE = "115200 ttyS2"

View File

@@ -4,12 +4,16 @@
require conf/machine/include/ti33x.inc
MACHINE_FEATURES += "screen touchscreen"
# Use built-in LCD by default
XSERVER += "xf86-input-tslib"
MACHINE_GUI_CLASS = "smallscreen"
MACHINE_FEATURES += "touchscreen"
IMAGE_FSTYPES += "ubifs ubi"
IMAGE_FSTYPES += "ubifs ubi tar.gz tar.xz"
# Normally AM335 boards use ttyS0, but ICE uses ttyS3, so try both
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS3"
SERIAL_CONSOLE = ""
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyO0 115200;ttyS3 115200;ttyO3"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
# UBI information. Note that this is board and kernel specific. Changes
# in your kernel port may require changes in these variables. For more
@@ -22,7 +26,7 @@ SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS3"
# UBI: logical eraseblock size: 126976 bytes
# from ubiattach stdout:
# UBI device number 0, total 1988 LEBs
MKUBIFS_ARGS ?= "-F -m 2048 -e 126976 -c 18000"
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 5100"
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
# from dmesg:
@@ -30,4 +34,4 @@ MKUBIFS_ARGS ?= "-F -m 2048 -e 126976 -c 18000"
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 512
# UBI: VID header offset: 2048 (aligned 2048)
UBINIZE_ARGS ?= "-m 2048 -p 128KiB -s 512 -O 2048"
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048"

View File

@@ -0,0 +1,35 @@
#@TYPE: Machine
#@NAME: AM3517 EVM
#@DESCRIPTION: Machine configuration for the TI Sitara AM3517 EVM
require conf/machine/include/omap3.inc
# Use built-in LCD by default
XSERVER += "xf86-input-tslib"
MACHINE_GUI_CLASS = "smallscreen"
MACHINE_FEATURES += "touchscreen ethernet"
IMAGE_FSTYPES += "ubi tar.gz"
EXTRA_IMAGECMD_jffs2 = "-lnp -e 0x20000 -s 2048"
SERIAL_CONSOLE = "115200 ttyO2"
USE_VT = "2"
UBOOT_MACHINE = "am3517_evm_config"
XLOAD_MACHINE = "am3517evm_config"
# NOTE: there are NAND and OneNAND versions of this board...
# do ubiattach /dev/ubi_ctrl -m 4
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 129024 bytes
# from ubiattach stdout:
# UBI device number 0, total 1996 LEBs
MKUBIFS_ARGS = "-m 2048 -e 129024 -c 1996"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 512
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"

View File

@@ -0,0 +1,31 @@
#@TYPE: Machine
#@NAME: AM37x EVM
#@DESCRIPTION: Machine configuration for the TI AM37x EVM
require conf/machine/include/omap3.inc
# Use built-in LCD by default
XSERVER += "xf86-input-tslib"
MACHINE_GUI_CLASS = "smallscreen"
MACHINE_FEATURES += "touchscreen ethernet"
IMAGE_FSTYPES += "ubi tar.gz"
EXTRA_IMAGECMD_jffs2 = "-lnp -e 0x20000 -s 2048"
SERIAL_CONSOLE = "115200 ttyO0"
# NOTE: there are NAND and OneNAND versions of this board...
# do ubiattach /dev/ubi_ctrl -m 4
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 129024 bytes
# from ubiattach stdout:
# UBI device number 0, total 1996 LEBs
MKUBIFS_ARGS = "-m 2048 -e 129024 -c 1996"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 512
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"

View File

@@ -4,11 +4,16 @@
require conf/machine/include/ti43x.inc
# Use built-in LCD by default
XSERVER += "xf86-input-tslib"
MACHINE_GUI_CLASS = "smallscreen"
MACHINE_FEATURES += "touchscreen"
IMAGE_FSTYPES += "ubifs ubi"
IMAGE_FSTYPES += "ubifs ubi tar.gz tar.xz"
SERIAL_CONSOLES = "115200;ttyS0"
SERIAL_CONSOLE = ""
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyO0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
# UBI information. Note that this is board and kernel specific. Changes
# in your kernel port may require changes in these variables. For more
@@ -21,7 +26,7 @@ SERIAL_CONSOLES = "115200;ttyS0"
# UBI: logical eraseblock size: 253952 bytes
# from ubiattach stdout:
# UBI device number 0, total 994 LEBs
MKUBIFS_ARGS = "-F -m 4096 -e 253952 -c 10000"
MKUBIFS_ARGS = "-F -m 4096 -e 253952 -c 2400"
# do ubiattach /dev/ubi_ctrl -m 11 -O 4096
# from dmesg:

View File

@@ -0,0 +1,7 @@
#@TYPE: Machine
#@NAME: AM437x HS EVM
#@DESCRIPTION: Machine configuration for the TI AM437x HS EVM
require conf/machine/am437x-evm.conf
UBOOT_MACHINE = "am43xx_hs_evm_config"

View File

@@ -0,0 +1,36 @@
#@TYPE: Machine
#@NAME: DRA7xx EVM
#@DESCRIPTION: Machine configuration for the TI DRA7xx EVM
require conf/machine/include/dra7xx.inc
MACHINE_FEATURES += "touchscreen"
IMAGE_FSTYPES += "ubifs ubi tar.gz tar.xz"
SERIAL_CONSOLE = ""
SERIAL_CONSOLES = "115200;ttyS2 115200;ttyO2"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
UBOOT_MACHINE = "am57xx_evm_config"
# UBI information. Note that this is board and kernel specific. Changes
# in your kernel port may require changes in these variables. For more
# details about this board please see
# http://processors.wiki.ti.com/index.php/UBIFS_Support
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 126976 bytes
# from ubiattach stdout:
# UBI device number 0, total 1988 LEBs
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 8192"
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 512
# UBI: VID header offset: 2048 (aligned 2048)
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048"

View File

@@ -0,0 +1,7 @@
#@TYPE: Machine
#@NAME: AM57xx HS EVM
#@DESCRIPTION: Machine configuration for the TI AM57xx HS EVM
require conf/machine/am57xx-evm.conf
UBOOT_MACHINE = "am57xx_hs_evm_config"

View File

@@ -0,0 +1,36 @@
#@TYPE: Machine
#@NAME: Beagleboard machine
#@DESCRIPTION: Machine configuration for the http://beagleboard.org/ board
require conf/machine/include/omap3.inc
# Only has DVI connector for external screen
MACHINE_GUI_CLASS = "bigscreen"
IMAGE_FSTYPES += "tar.gz ubi"
EXTRA_IMAGECMD_jffs2 = "-lnp"
SERIAL_CONSOLE = "115200 ttyO2"
UBOOT_MACHINE = "omap3_beagle_config"
# do ubiattach /dev/ubi_ctrl -m 4
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 129024 bytes
# from ubiattach stdout:
# UBI device number 0, total 1996 LEBs
#
# Beagleboard C5 has 3998 LEBS (490MiB)
MKUBIFS_ARGS = "-m 2048 -e 129024 -c 1996"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 512
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
# For a modularized kernel we want to drag in networking, sound, rtc etc."
MACHINE_EXTRA_RRECOMMENDS = "kernel-module-smsc95xx kernel-module-snd-soc-twl4030 kernel-module-rtc-twl \
kernel-module-snd-soc-omap kernel-module-snd-soc-omap-mcbsp kernel-module-snd-soc-omap3beagle"

View File

@@ -0,0 +1,14 @@
#@TYPE: Machine
#@NAME: BeagleBone machine
#@DESCRIPTION: Machine configuration for the http://beagleboard.org/bone board
require conf/machine/include/ti33x.inc
# Only has DVI connector for external screen
MACHINE_GUI_CLASS = "bigscreen"
IMAGE_FSTYPES += "tar.gz"
SERIAL_CONSOLE = "115200 ttyO0"
UBOOT_MACHINE = "am335x_boneblack_config"

View File

@@ -2,26 +2,15 @@
#@NAME: DRA7xx EVM
#@DESCRIPTION: Machine configuration for the TI DRA7xx EVM
require conf/machine/include/am57xx.inc
require conf/machine/include/dra7xx.inc
MACHINE_FEATURES += "touchscreen"
SERIAL_CONSOLES = "115200;ttyS0"
IMAGE_FSTYPES += "ubifs ubi tar.gz tar.xz"
KERNEL_DEVICETREE_PREFIX = " \
dra7 \
ti/dra7 \
ti/lcd \
ti/omap/dra7 \
"
KERNEL_DEVICETREE = " \
ti/omap/dra7-evm.dtb \
ti/omap/dra71-evm.dtb \
ti/omap/dra72-evm.dtb \
ti/omap/dra72-evm-revc.dtb \
ti/omap/dra76-evm.dtb \
"
SERIAL_CONSOLE = ""
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyO0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
UBOOT_MACHINE = "dra7xx_evm_config"

View File

@@ -0,0 +1,7 @@
#@TYPE: Machine
#@NAME: DRA7xx HS EVM
#@DESCRIPTION: Machine configuration for the TI DRA7xx HS EVM
require conf/machine/dra7xx-evm.conf
UBOOT_MACHINE = "dra7xx_hs_evm_config"

View File

@@ -0,0 +1,22 @@
require conf/machine/include/tune-arm926ejs.inc
# Increase this everytime you change something in the kernel
MACHINE_KERNEL_PR = "r54"
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"
UBOOT_MACHINE = "davinci_dvevm_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
EXTRA_IMAGEDEPENDS += "u-boot"
SERIAL_CONSOLE ?= "115200 ttyS0"
EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
MACHINE_FEATURES = "kernel26 serial ethernet usbhost usbgadget mmc alsa"

View File

@@ -0,0 +1,4 @@
require conf/machine/include/omap-a15.inc
SOC_FAMILY_append = ":dra7xx"
MACHINE_FEATURES += "pci opencl"

View File

@@ -0,0 +1,27 @@
SOC_FAMILY = "keystone"
require conf/machine/include/soc-family.inc
DEFAULTTUNE ?= "cortexa15thf-neon"
require conf/machine/include/tune-cortexa15.inc
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging"
# Increase this everytime you change something in the kernel
MACHINE_KERNEL_PR = "r10"
KERNEL_IMAGETYPE = "zImage"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
# Use the expected value of the ubifs filesystem's volume name in the kernel
# and u-boot.
UBI_VOLNAME = "rootfs"
EXTRA_IMAGEDEPENDS += "u-boot"
EXTRA_IMAGEDEPENDS += "boot-monitor"
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat pci"
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"

View File

@@ -0,0 +1,34 @@
SOC_FAMILY = "omap-a15"
require conf/machine/include/soc-family.inc
DEFAULTTUNE ?= "cortexa15thf-neon"
require conf/machine/include/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"
KERNEL_IMAGETYPE = "zImage"
UBOOT_ARCH = "arm"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
EXTRA_IMAGEDEPENDS += "virtual/bootloader"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-video-fbdev"
MACHINE_GUI_CLASS = "smallscreen"
# Use the expected value of the ubifs filesystem's volume name in the kernel
# and u-boot.
UBI_VOLNAME = "rootfs"
# List common SoC features, may need to add touchscreen for specific machines
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx mmip"

View File

@@ -0,0 +1,40 @@
SOC_FAMILY = "omap3"
require conf/machine/include/soc-family.inc
DEFAULTTUNE ?= "cortexa8thf-neon"
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
# For built-in LCD, add xf86-input-tslib
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-video-omapfb \
xf86-input-keyboard"
# Default to external video, change to smallscreen for built-in LCD
MACHINE_GUI_CLASS = "bigscreen"
# Increase this everytime you change something in the kernel
MACHINE_KERNEL_PR = "r127"
KERNEL_IMAGETYPE = "zImage"
# 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"
UBOOT_ARCH = "arm"
UBOOT_MACHINE = "omap3_evm_config"
XLOAD_MACHINE = "omap3evm_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
# If SPL is not used, may need to add x-load
EXTRA_IMAGEDEPENDS += "u-boot"
# List common SoC features, may need to add touchscreen/ethernet for specific machines
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa sgx"

View File

@@ -0,0 +1,27 @@
SOC_FAMILY = "omap4"
require conf/machine/include/soc-family.inc
DEFAULTTUNE ?= "cortexa9thf-neon"
require conf/machine/include/tune-cortexa9.inc
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xserver-xorg-module-exa \
xf86-input-evdev \
xf86-video-omap"
# Increase this everytime you change something in the kernel
MACHINE_KERNEL_PR = "r4"
KERNEL_IMAGETYPE = "zImage"
UBOOT_MACHINE = "omap4_panda_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
EXTRA_IMAGEDEPENDS += "u-boot"

View File

@@ -0,0 +1,2 @@
SOC_FAMILY = "omapl138"
require conf/machine/include/soc-family.inc

View File

@@ -0,0 +1,42 @@
SOC_FAMILY = "ti33x"
require conf/machine/include/soc-family.inc
DEFAULTTUNE ?= "cortexa8thf-neon"
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
# For built-in LCD, add xf86-input-tslib
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-video-fbdev \
xf86-input-keyboard"
# Default to external video, change to smallscreen for built-in LCD
MACHINE_GUI_CLASS = "bigscreen"
# 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"
KERNEL_IMAGETYPE = "zImage"
UBOOT_ARCH = "arm"
UBOOT_MACHINE = "am335x_evm_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
# Use the expected value of the ubifs filesystem's volume name in the kernel
# and u-boot.
UBI_VOLNAME = "rootfs"
EXTRA_IMAGEDEPENDS += "u-boot"
# List common SoC features, may need to add touchscreen for specific machines
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx"

View File

@@ -0,0 +1,42 @@
SOC_FAMILY = "ti43x"
require conf/machine/include/soc-family.inc
DEFAULTTUNE ?= "cortexa9thf-neon"
require conf/machine/include/tune-cortexa9.inc
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
# For built-in LCD, add xf86-input-tslib
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-video-fbdev \
xf86-input-keyboard"
# Default to external video, change to smallscreen for built-in LCD
MACHINE_GUI_CLASS = "bigscreen"
# 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"
KERNEL_IMAGETYPE = "zImage"
UBOOT_ARCH = "arm"
UBOOT_MACHINE = "am43xx_evm_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
# Use the expected value of the ubifs filesystem's volume name in the kernel
# and u-boot.
UBI_VOLNAME = "rootfs"
EXTRA_IMAGEDEPENDS += "u-boot"
# List common SoC features, may need to add touchscreen for specific machines
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx"

34
conf/machine/k2e-evm.conf Normal file
View File

@@ -0,0 +1,34 @@
#@TYPE: Machine
#@NAME: Keystone 2 K2E machine
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2E EVM
require conf/machine/include/keystone.inc
MACHINE_FEATURES += "opencl"
UBOOT_MACHINE = "k2e_evm_config"
BOOT_MONITOR_MAKE_TARGET = "k2e"
IMAGE_FSTYPES += "ubifs ubi tar.gz tar.xz cpio"
SERIAL_CONSOLE = ""
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyO0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
SYSVINIT_ENABLED_GETTYS = ""
# do ubiattach /dev/ubi_ctrl -m 4
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 126976 bytes
# from ubiattach stdout:
# UBI device number 0, total 3856 LEBs
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3856"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 2048
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 2048 -O 2048"

34
conf/machine/k2g-evm.conf Normal file
View File

@@ -0,0 +1,34 @@
#@TYPE: Machine
#@NAME: Keystone 2 K2G machine
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2G EVM
require conf/machine/include/keystone.inc
MACHINE_FEATURES += "alsa opencl"
UBOOT_MACHINE = "k2g_evm_config"
BOOT_MONITOR_MAKE_TARGET = "k2g"
IMAGE_FSTYPES += "ubifs ubi tar.gz tar.xz cpio"
SERIAL_CONSOLE = ""
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyO0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
SYSVINIT_ENABLED_GETTYS = ""
# do ubiattach /dev/ubi_ctrl -m 4
# From dmesg:
# UBI: smallest flash I/O unit: 4096
# UBI: logical eraseblock size: 253952 bytes
# from ubiattach stdout:
# UBI device number 0, total 1926 LEBs
MKUBIFS_ARGS = "-F -m 4096 -e 253952 -c 1926"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:
# UBI: smallest flash I/O unit: 4096
# UBI: physical eraseblock size: 256 KiB
# UBI: sub-page size: 4096
UBINIZE_ARGS = "-m 4096 -p 256KiB -s 4096 -O 4096"

View File

@@ -0,0 +1,34 @@
#@TYPE: Machine
#@NAME: Keystone 2 K2HK machine
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2HK EVM
require conf/machine/include/keystone.inc
MACHINE_FEATURES += "opencl"
UBOOT_MACHINE = "k2hk_evm_config"
BOOT_MONITOR_MAKE_TARGET = "k2hk"
IMAGE_FSTYPES += "ubifs ubi tar.gz tar.xz cpio"
SERIAL_CONSOLE = ""
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyO0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
SYSVINIT_ENABLED_GETTYS = ""
# do ubiattach /dev/ubi_ctrl -m 4
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 126976 bytes
# from ubiattach stdout:
# UBI device number 0, total 3856 LEBs
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3900"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 2048
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 2048 -O 2048"

34
conf/machine/k2l-evm.conf Normal file
View File

@@ -0,0 +1,34 @@
#@TYPE: Machine
#@NAME: Keystone 2 K2L machine
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2L EVM
require conf/machine/include/keystone.inc
MACHINE_FEATURES += "opencl"
UBOOT_MACHINE = "k2l_evm_config"
BOOT_MONITOR_MAKE_TARGET = "k2l"
IMAGE_FSTYPES += "ubifs ubi tar.gz tar.xz cpio"
SERIAL_CONSOLE = ""
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyO0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
SYSVINIT_ENABLED_GETTYS = ""
# do ubiattach /dev/ubi_ctrl -m 4
# From dmesg:
# UBI: smallest flash I/O unit: 4096
# UBI: logical eraseblock size: 253952 bytes
# from ubiattach stdout:
# UBI device number 0, total 1926 LEBs
MKUBIFS_ARGS = "-F -m 4096 -e 253952 -c 1926"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:
# UBI: smallest flash I/O unit: 4096
# UBI: physical eraseblock size: 256 KiB
# UBI: sub-page size: 4096
UBINIZE_ARGS = "-m 4096 -p 256KiB -s 4096 -O 4096"

View File

@@ -0,0 +1,34 @@
#@TYPE: Machine
#@NAME: OMAP3 EVM
#@DESCRIPTION: Machine configuration for the TI OMAP3 EVM
require conf/machine/include/omap3.inc
# Use built-in LCD by default
XSERVER += "xf86-input-tslib"
MACHINE_GUI_CLASS = "smallscreen"
MACHINE_FEATURES += "touchscreen ethernet"
IMAGE_FSTYPES += "jffs2 tar.gz"
EXTRA_IMAGECMD_jffs2 = "-lnp -e 0x20000 -s 2048"
SERIAL_CONSOLE = "115200 ttyS0"
USE_VT = "0"
EXTRA_IMAGEDEPENDS += "x-load"
# NOTE: there are NAND and OneNAND versions of this board...
# do ubiattach /dev/ubi_ctrl -m 4
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 129024 bytes
# from ubiattach stdout:
# UBI device number 0, total 1996 LEBs
MKUBIFS_ARGS = "-m 2048 -e 129024 -c 1996"
# do ubiattach /dev/ubi_ctrl -m 4
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 512
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"

View File

@@ -0,0 +1,32 @@
#@TYPE: Machine
#@NAME: OMAP5 EVM
#@DESCRIPTION: Machine configuration for the TI OMAP5 uEVM
require conf/machine/include/omap-a15.inc
IMAGE_FSTYPES += "ubi tar.gz"
SERIAL_CONSOLE = "115200 ttyO2"
# UBI information. Note that this is board and kernel specific. Changes
# in your kernel port may require changes in these variables. For more
# details about this board please see
# http://processors.wiki.ti.com/index.php/UBIFS_Support
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 126976 bytes
# from ubiattach stdout:
# UBI device number 0, total 1988 LEBs
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 4300"
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 512
# UBI: VID header offset: 2048 (aligned 2048)
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048"
UBOOT_MACHINE = "omap5_uevm_config"

View File

@@ -0,0 +1,14 @@
#@TYPE: Machine
#@NAME: Pandaboard
#@DESCRIPTION: Machine configuration for the OMAP4430 Panda
require conf/machine/include/omap4.inc
MACHINE_GUI_CLASS = "bigscreen"
IMAGE_FSTYPES += "tar.gz"
SERIAL_CONSOLE = "115200 ttyO2"
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
MACHINE_FEATURES = "kernel26 wifi bluetooth alsa apm ext2 screen usbgadget usbhost vfat sgx"

View File

@@ -1,17 +0,0 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@@ -1,31 +0,0 @@
OpenEmbedded/Yocto layer that extends meta-ti-bsp with BeagleBoard.org platforms.
It is hosted on http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/ with the
source repository at git://git.yoctoproject.org/meta-ti
This layer depends on:
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: master
URI: git://git.yoctoproject.org/meta-arm
layers: meta-arm
branch: master
URI: git://git.yoctoproject.org/meta-ti
branch: master
revision: HEAD
layers: meta-ti-bsp
Send pull requests, patches, comments or questions to:
meta-ti@lists.yoctoproject.org
Please note - meta-ti mailing list requires subscription for posting:
https://lists.yoctoproject.org/g/meta-ti
Maintainers:
Denys Dmytriyenko <denys@konsulko.com>
Ryan Eatmon <reatmon@ti.com>

View File

@@ -1,20 +0,0 @@
How to Report a Potential Vulnerability?
========================================
If you would like to report a public issue (for example, one with a released
CVE number), please report it to the mailing list:
https://lists.yoctoproject.org/g/meta-ti
If you are dealing with a not-yet released or urgent issue, please send a
message to one of the maintainers listed in the README. Include as many
details as possible:
- the layer or software module affected
- the recipe and its version
- any example code, if available
Branches maintained with security fixes
---------------------------------------
See https://wiki.yoctoproject.org/wiki/Releases for the list of current
releases. We only accept patches for the LTS releases and the master branch.

View File

@@ -1,17 +0,0 @@
# We have a conf and classes directory, append to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-beagle"
BBFILE_PATTERN_meta-beagle := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-beagle = "6"
LAYERSERIES_COMPAT_meta-beagle = "whinlatter"
LAYERDEPENDS_meta-beagle = " \
meta-ti-bsp \
"
HOSTTOOLS_NONFATAL += "lz4c"

View File

@@ -1,48 +0,0 @@
#@TYPE: Machine
#@NAME: BeagleBoard X15
#@DESCRIPTION: Machine configuration for the BeagleBoard X15
require conf/machine/include/am57xx.inc
require conf/machine/include/beagle-bsp.inc
KERNEL_DEVICETREE_PREFIX = " \
ti/omap/am57xx-beagle-x15 \
ti/omap/am57xx-idk-lcd \
"
KERNEL_DEVICETREE:bsp-bb_org-6_6 = " \
ti/omap/am571x-idk.dtb \
ti/omap/am571x-idk-touchscreen.dtbo \
ti/omap/am5729-beagleboneai.dtb \
ti/omap/am572x-idk.dtb \
ti/omap/am572x-idk-touchscreen.dtbo \
ti/omap/am574x-idk.dtb \
ti/omap/am57xx-beagle-x15.dtb \
ti/omap/am57xx-beagle-x15-revb1.dtb \
ti/omap/am57xx-beagle-x15-revc.dtb \
ti/omap/am57xx-evm.dtbo \
ti/omap/am57xx-idk-lcd-osd101t2045.dtbo \
ti/omap/am57xx-idk-lcd-osd101t2587.dtbo \
"
KERNEL_DEVICETREE:bsp-bb_org-6_12 = " \
ti/omap/am571x-idk.dtb \
ti/omap/am571x-idk-touchscreen.dtbo \
ti/omap/am5729-beagleboneai.dtb \
ti/omap/am572x-idk.dtb \
ti/omap/am572x-idk-touchscreen.dtbo \
ti/omap/am574x-idk.dtb \
ti/omap/am57xx-beagle-x15.dtb \
ti/omap/am57xx-beagle-x15-revb1.dtb \
ti/omap/am57xx-beagle-x15-revc.dtb \
ti/omap/am57xx-evm.dtbo \
ti/omap/am57xx-evm-ov10635.dtbo \
ti/omap/am57xx-idk-lcd-osd101t2045.dtbo \
ti/omap/am57xx-idk-lcd-osd101t2587.dtbo \
"
MACHINE_GUI_CLASS = "bigscreen"
SERIAL_CONSOLES = "115200;ttyS2"
UBOOT_MACHINE = "am57xx_evm_config"

View File

@@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: BeagleBone AI-64 (R5F)
#@DESCRIPTION: Machine configuration for the BeagleBone AI-64 (R5F core)
require conf/machine/include/k3r5.inc
require conf/machine/include/beagle-bsp.inc
UBOOT_MACHINE = "j721e_beagleboneai64_r5_defconfig"

View File

@@ -1,95 +0,0 @@
#@TYPE: Machine
#@NAME: BeagleBone AI-64 (A72)
#@DESCRIPTION: Machine configuration for the BeagleBone AI-64 board (A72 core)
require conf/machine/include/j721e.inc
require conf/machine/include/beagle-bsp.inc
UBOOT_MACHINE = "j721e_beagleboneai64_a72_defconfig"
SPL_BINARY = "tispl.bin_unsigned"
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-j721e \
"
KERNEL_DEVICETREE:bsp-bb_org-6_6 = " \
ti/k3-j721e-beagleboneai64-BBORG_MOTOR.dtbo \
ti/k3-j721e-beagleboneai64-dsi-rpi-7inch-panel.dtbo \
ti/k3-j721e-beagleboneai64.dtb \
ti/k3-j721e-beagleboneai64-microtips-mf070zima-lcd3.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm0-p8_13.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm0-p8_13-p8_19.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm0-p8_19.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm2-p9_14.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm2-p9_14-p9_16.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm2-p9_16.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm4-p9_25.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi1-cs0.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi1-cs0-no-miso.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi2-cs0.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi3-cs0-no-miso.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi6-cs0-cs1.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi6-cs0.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi6-cs1-no-miso.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi7-cs0.dtbo \
ti/k3-j721e-common-proc-board.dtb \
ti/k3-j721e-common-proc-board-infotainment.dtbo \
ti/k3-j721e-evm-csi2-ov5640.dtbo \
ti/k3-j721e-evm-ethfw.dtbo \
ti/k3-j721e-evm-fusion.dtbo \
ti/k3-j721e-evm-gesi-exp-board.dtbo \
ti/k3-j721e-evm-ina2xx.dtbo \
ti/k3-j721e-evm-pcie0-ep.dtbo \
ti/k3-j721e-evm-pcie1-ep.dtbo \
ti/k3-j721e-evm-quad-port-eth-exp.dtbo \
ti/k3-j721e-sk-csi2-dual-imx219.dtbo \
ti/k3-j721e-sk-csi2-ov5640.dtbo \
ti/k3-j721e-sk.dtb \
ti/k3-j721e-sk-fpdlink-fusion.dtbo \
ti/k3-j721e-sk-rpi-hdr-ehrpwm.dtbo \
"
KERNEL_DEVICETREE:bsp-bb_org-6_12 = " \
ti/k3-j721e-beagleboneai64-BBORG_MOTOR.dtbo \
ti/k3-j721e-beagleboneai64-dsi-rpi-7inch-panel.dtbo \
ti/k3-j721e-beagleboneai64.dtb \
ti/k3-j721e-beagleboneai64-microtips-mf070zima-lcd3.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm0-p8_13.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm0-p8_13-p8_19.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm0-p8_19.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm2-p9_14.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm2-p9_14-p9_16.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm2-p9_16.dtbo \
ti/k3-j721e-beagleboneai64-pwm-epwm4-p9_25.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi1-cs0.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi1-cs0-no-miso.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi2-cs0.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi3-cs0-no-miso.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi6-cs0-cs1.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi6-cs0.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi6-cs1-no-miso.dtbo \
ti/k3-j721e-beagleboneai64-spi-mcspi7-cs0.dtbo \
ti/k3-j721e-common-proc-board.dtb \
ti/k3-j721e-common-proc-board-infotainment.dtbo \
ti/k3-j721e-evm-csi2-ov5640.dtbo \
ti/k3-j721e-evm-ethfw.dtbo \
ti/k3-j721e-evm-fusion.dtbo \
ti/k3-j721e-evm-gesi-exp-board.dtbo \
ti/k3-j721e-evm-pcie0-ep.dtbo \
ti/k3-j721e-evm-pcie1-ep.dtbo \
ti/k3-j721e-evm-pcie-ntb.dtbo \
ti/k3-j721e-evm-quad-port-eth-exp.dtbo \
ti/k3-j721e-evm-ub954.dtbo \
ti/k3-j721e-sk-csi2-dual-imx219.dtbo \
ti/k3-j721e-sk-csi2-ov5640.dtbo \
ti/k3-j721e-sk.dtb \
ti/k3-j721e-sk-fpdlink-fusion.dtbo \
"
MACHINE_GUI_CLASS = "bigscreen"
# TI has moved a driver out of its kernel tree and into an out of tree module.
# We need to not include that for older kernels since the module is still in
# the kernel.
TI_VXE_VXD_DRIVER:bsp-bb_org-6_6 = ""

View File

@@ -1,62 +0,0 @@
#@TYPE: Machine
#@NAME: BeagleBone machine
#@DESCRIPTION: Machine configuration for the http://beagleboard.org/bone board
require conf/machine/include/ti33x.inc
require conf/machine/include/beagle-bsp.inc
KERNEL_DEVICETREE_PREFIX = " \
ti/omap/am335x-bone \
ti/omap/am335x-pocketbeagle \
ti/omap/am335x-sancloud-bbe \
"
KERNEL_DEVICETREE:bsp-bb_org-6_6 = " \
ti/omap/am335x-boneblack.dtb \
ti/omap/am335x-boneblack-revd.dtb \
ti/omap/am335x-boneblack-uboot.dtb \
ti/omap/am335x-boneblack-uboot-univ.dtb \
ti/omap/am335x-boneblack-wireless.dtb \
ti/omap/am335x-boneblue.dtb \
ti/omap/am335x-bone.dtb \
ti/omap/am335x-bonegreen.dtb \
ti/omap/am335x-bonegreen-gateway.dtb \
ti/omap/am335x-bonegreen-wireless.dtb \
ti/omap/am335x-bonegreen-wireless-uboot-univ.dtb \
ti/omap/am335x-evm.dtb \
ti/omap/am335x-evmsk.dtb \
ti/omap/am335x-icev2.dtb \
ti/omap/am335x-osd3358-sm-red.dtb \
ti/omap/am335x-pocketbeagle.dtb \
ti/omap/am335x-sancloud-bbe.dtb \
ti/omap/am335x-sancloud-bbe-extended-wifi.dtb \
ti/omap/am335x-sancloud-bbe-lite.dtb \
"
KERNEL_DEVICETREE:bsp-bb_org-6_12 = " \
ti/omap/am335x-boneblack.dtb \
ti/omap/am335x-boneblack-revd.dtb \
ti/omap/am335x-boneblack-uboot.dtb \
ti/omap/am335x-boneblack-uboot-univ.dtb \
ti/omap/am335x-boneblack-wireless.dtb \
ti/omap/am335x-boneblue.dtb \
ti/omap/am335x-bone.dtb \
ti/omap/am335x-bonegreen.dtb \
ti/omap/am335x-bonegreen-eco.dtb \
ti/omap/am335x-bonegreen-gateway.dtb \
ti/omap/am335x-bonegreen-wireless.dtb \
ti/omap/am335x-bonegreen-wireless-uboot-univ.dtb \
ti/omap/am335x-evm.dtb \
ti/omap/am335x-evmsk.dtb \
ti/omap/am335x-icev2.dtb \
ti/omap/am335x-osd3358-sm-red.dtb \
ti/omap/am335x-pocketbeagle.dtb \
ti/omap/am335x-sancloud-bbe.dtb \
ti/omap/am335x-sancloud-bbe-extended-wifi.dtb \
ti/omap/am335x-sancloud-bbe-lite.dtb \
"
MACHINE_GUI_CLASS = "bigscreen"
MACHINE_FEATURES += "screen"
SERIAL_CONSOLES = "115200;ttyS0"

View File

@@ -1,7 +0,0 @@
#@TYPE: Machine
#@NAME: BeaglePlay (R5F)
#@DESCRIPTION: Machine configuration for the BeaglePlay (R5F core)
require conf/machine/beagleplay-ti-k3r5.conf
require conf/machine/include/beagle-bsp.inc

View File

@@ -1,62 +0,0 @@
#@TYPE: Machine
#@NAME: BeaglePlay (A53)
#@DESCRIPTION: Machine configuration for the BeaglePlay board (A53 core)
require conf/machine/beagleplay-ti.conf
require conf/machine/include/beagle-bsp.inc
KERNEL_DEVICETREE:bsp-bb_org-6_6 = " \
ti/k3-am625-beagleplay-csi2-ov5640.dtbo \
ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtbo \
ti/k3-am625-beagleplay.dtb \
ti/k3-am625-beagleplay-lincolntech-lcd185-panel.dtbo \
ti/k3-am625-minimal.dtb \
ti/k3-am625-sk.dtb \
ti/k3-am625-sk-ecap-capture.dtbo \
ti/k3-am625-sk-lincolntech-lcd185-panel.dtbo \
ti/k3-am625-sk-m2-cc3301.dtbo \
ti/k3-am625-sk-mcspi-loopback.dtbo \
ti/k3-am625-sk-microtips-mf101hie-panel.dtbo \
ti/k3-am625-sk-rpi-hdr-ehrpwm.dtbo \
ti/k3-am62x-sk-csi2-imx219.dtbo \
ti/k3-am62x-sk-csi2-ov5640.dtbo \
ti/k3-am62x-sk-csi2-tevi-ov5640.dtbo \
ti/k3-am62x-sk-csi2-v3link-fusion.dtbo \
ti/k3-am62x-sk-dmtimer-pwm.dtbo \
ti/k3-am62x-sk-eqep.dtbo \
ti/k3-am62x-sk-fastboot-disable-hdmi.dtbo \
ti/k3-am62x-sk-hdmi-audio.dtbo \
ti/k3-am62x-sk-lpm-wkup-sources.dtbo \
ti/k3-am62x-sk-mcan.dtbo \
ti/k3-am62x-sk-microtips-mf103hie-lcd2.dtbo \
ti/k3-am62x-sk-pwm.dtbo \
"
KERNEL_DEVICETREE:bsp-bb_org-6_12 = " \
ti/k3-am625-beagleplay-bcfserial-no-firmware.dtbo \
ti/k3-am625-beagleplay-csi2-ov5640.dtbo \
ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtbo \
ti/k3-am625-beagleplay.dtb \
ti/k3-am625-beagleplay-lincolntech-lcd185-panel.dtbo \
ti/k3-am625-sk.dtb \
ti/k3-am625-sk-lincolntech-lcd185-panel.dtbo \
ti/k3-am625-sk-m2-cc3351.dtbo \
ti/k3-am625-sk-mcspi-loopback.dtbo \
ti/k3-am625-sk-microtips-mf101hie-panel.dtbo \
ti/k3-am625-sk-rpi-hdr-ehrpwm.dtbo \
ti/k3-am62x-sk-csi2-imx219.dtbo \
ti/k3-am62x-sk-csi2-ov5640.dtbo \
ti/k3-am62x-sk-csi2-tevi-ov5640.dtbo \
ti/k3-am62x-sk-csi2-v3link-fusion.dtbo \
ti/k3-am62x-sk-dmtimer-pwm.dtbo \
ti/k3-am62x-sk-ecap-capture.dtbo \
ti/k3-am62x-sk-eqep.dtbo \
ti/k3-am62x-sk-fastboot-disable-hdmi.dtbo \
ti/k3-am62x-sk-hdmi-audio.dtbo \
ti/k3-am62x-sk-lpm-io-ddr-wkup-sources.dtbo \
ti/k3-am62x-sk-lpm-wkup-sources.dtbo \
ti/k3-am62x-sk-mcan.dtbo \
ti/k3-am62x-sk-microtips-mf103hie-lcd2.dtbo \
ti/k3-am62x-sk-pwm.dtbo \
"

View File

@@ -1,11 +0,0 @@
#@TYPE: Machine
#@NAME: BeagleY AI (R5F)
#@DESCRIPTION: Machine configuration for the BeagleY AI (R5F core)
require conf/machine/include/k3r5.inc
require conf/machine/include/beagle-bsp.inc
UBOOT_MACHINE = "am67a_beagley_ai_r5_defconfig"
UBOOT_MACHINE:bsp-bb_org-6_6 = "j722s_evm_r5_defconfig"
UBOOT_MACHINE:bsp-ti-6_6 = "j722s_evm_r5_defconfig"
UBOOT_MACHINE:bsp-ti-6_12 = "j722s_evm_r5_defconfig"

View File

@@ -1,108 +0,0 @@
#@TYPE: Machine
#@NAME: BeagleY AI (A53)
#@DESCRIPTION: Machine configuration for the BeagleY AI board (A53 core)
require conf/machine/include/j722s.inc
require conf/machine/include/beagle-bsp.inc
UBOOT_MACHINE = "am67a_beagley_ai_a53_defconfig"
UBOOT_MACHINE:bsp-bb_org-6_6 = "j722s_evm_a53_config"
UBOOT_MACHINE:bsp-ti-6_6 = "j722s_evm_a53_config"
UBOOT_MACHINE:bsp-ti-6_12 = "j722s_evm_a53_config"
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am67a \
ti/k3-j722s \
"
KERNEL_DEVICETREE:bsp-bb_org-6_6 = " \
ti/k3-am67a-beagley-ai.dtb \
ti/k3-am67a-beagley-ai-i2c1-400000.dtbo \
ti/k3-am67a-beagley-ai-i2c1-ads1115.dtbo \
ti/k3-am67a-beagley-ai-i2c1-rtc-rv3028.dtbo \
ti/k3-am67a-beagley-ai-i2c1-ssd1306.dtbo \
ti/k3-am67a-beagley-ai-mikroe-eth.dtbo \
ti/k3-am67a-beagley-ai-mikroe-microsd.dtbo \
ti/k3-am67a-beagley-ai-pps-gpio18.dtbo \
ti/k3-am67a-beagley-ai-pwm-ecap0-gpio12.dtbo \
ti/k3-am67a-beagley-ai-pwm-ecap1-gpio16.dtbo \
ti/k3-am67a-beagley-ai-pwm-ecap1-gpio21.dtbo \
ti/k3-am67a-beagley-ai-pwm-ecap2-gpio17.dtbo \
ti/k3-am67a-beagley-ai-pwm-ecap2-gpio18.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio12.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio14.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio15.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio15-gpio12.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio15-gpio14.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio5.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio5-gpio12.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio5-gpio14.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio13.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio20.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio21.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio21-gpio13.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio21-gpio20.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio6.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio6-gpio13.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio6-gpio20.dtbo \
ti/k3-am67a-beagley-ai-spi0-1cs.dtbo \
ti/k3-am67a-beagley-ai-spi0-2cs.dtbo \
ti/k3-am67a-beagley-ai-spidev0.dtbo \
ti/k3-am67a-beagley-ai-uart-ttyama0.dtbo \
ti/k3-j722s-evm-csi2-ov5640.dtbo \
ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo \
ti/k3-j722s-evm-csi2-quad-tevi-ov5640.dtbo \
ti/k3-j722s-evm-dsi-rpi-7inch-panel.dtbo \
ti/k3-j722s-evm.dtb \
ti/k3-j722s-evm-fpdlink-fusion.dtbo \
ti/k3-j722s-evm-microtips-mf101hie-panel.dtbo \
ti/k3-j722s-evm-pwm.dtbo \
ti/k3-j722s-evm-v3link-fusion.dtbo \
"
KERNEL_DEVICETREE:bsp-bb_org-6_12 = " \
ti/k3-am67a-beagley-ai.dtb \
ti/k3-am67a-beagley-ai-i2c1-400000.dtbo \
ti/k3-am67a-beagley-ai-i2c1-ads1115.dtbo \
ti/k3-am67a-beagley-ai-i2c1-rtc-rv3028.dtbo \
ti/k3-am67a-beagley-ai-i2c1-ssd1306.dtbo \
ti/k3-am67a-beagley-ai-mikroe-eth.dtbo \
ti/k3-am67a-beagley-ai-mikroe-microsd.dtbo \
ti/k3-am67a-beagley-ai-pps-gpio18.dtbo \
ti/k3-am67a-beagley-ai-pwm-ecap0-gpio12.dtbo \
ti/k3-am67a-beagley-ai-pwm-ecap1-gpio16.dtbo \
ti/k3-am67a-beagley-ai-pwm-ecap1-gpio21.dtbo \
ti/k3-am67a-beagley-ai-pwm-ecap2-gpio17.dtbo \
ti/k3-am67a-beagley-ai-pwm-ecap2-gpio18.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio12.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio14.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio15.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio15-gpio12.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio15-gpio14.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio5.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio5-gpio12.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm0-gpio5-gpio14.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio13.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio20.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio21.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio21-gpio13.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio21-gpio20.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio6.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio6-gpio13.dtbo \
ti/k3-am67a-beagley-ai-pwm-epwm1-gpio6-gpio20.dtbo \
ti/k3-am67a-beagley-ai-spi0-1cs.dtbo \
ti/k3-am67a-beagley-ai-spi0-2cs.dtbo \
ti/k3-am67a-beagley-ai-spidev0.dtbo \
ti/k3-am67a-beagley-ai-uart-ttyama0.dtbo \
ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo \
ti/k3-j722s-evm-csi2-quad-tevi-ov5640.dtbo \
ti/k3-j722s-evm-dsi-rpi-7inch-panel.dtbo \
ti/k3-j722s-evm.dtb \
ti/k3-j722s-evm-fpdlink-fusion.dtbo \
ti/k3-j722s-evm-fpdlink-iv-fusion.dtbo \
ti/k3-j722s-evm-microtips-mf101hie-panel.dtbo \
ti/k3-j722s-evm-pwm.dtbo \
ti/k3-j722s-evm-v3link-fusion.dtbo \
"
MACHINE_GUI_CLASS = "bigscreen"

View File

@@ -1,47 +0,0 @@
# Use meta-ti-bsp "multi-BSP" facility to create a custom "bb_org" BSP profile
# with default preferences for Beagle platforms
# Default is bb_org-6_12, but can override with any of the existing options
TI_PREFERRED_BSP ?= "bb_org-6_12"
# ===========
# bb_org-6_12
# BeagleBoard.org kernel 6.12, u-boot 2025.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-6_12 = "linux-bb.org"
BSP_KERNEL_VERSION:bsp-bb_org-6_12 = "6.12.%"
BSP_BOOTLOADER_PROVIDER:bsp-bb_org-6_12 = "u-boot-bb.org"
BSP_BOOTLOADER_VERSION:bsp-bb_org-6_12 = "2025.%"
KERNEL_DEVICETREE_PREFIX:bsp-bb_org-6_12 = ""
BSP_SGX_DRIVER_PROVIDER:bsp-bb_org-6_12 = "ti-sgx-ddk-km"
BSP_SGX_DRIVER_VERSION:bsp-bb_org-6_12 = "1.17%"
BSP_ROGUE_DRIVER_PROVIDER:bsp-bb_org-6_12 = "ti-img-rogue-driver"
BSP_ROGUE_DRIVER_VERSION:bsp-bb_org-6_12 = "25%"
BSP_MESA_PVR_VERSION:bsp-bb_org-6_12 = "24%"
# GC320 support requires out-of-tree drivers not yet available in bb.org 6.12
MACHINE_FEATURES:remove:bsp-bb_org-6_12 = "gc320"
# ==========
# bb_org-6_6
# BeagleBoard.org kernel 6.6, u-boot 2024.10
# 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-6_6 = "linux-bb.org"
BSP_KERNEL_VERSION:bsp-bb_org-6_6 = "6.6.%"
BSP_BOOTLOADER_PROVIDER:bsp-bb_org-6_6 = "u-boot-bb.org"
BSP_BOOTLOADER_VERSION:bsp-bb_org-6_6 = "2024.%"
KERNEL_DEVICETREE_PREFIX:bsp-bb_org-6_6 = ""
BSP_SGX_DRIVER_PROVIDER:bsp-bb_org-6_6 = "ti-sgx-ddk-km"
BSP_SGX_DRIVER_VERSION:bsp-bb_org-6_6 = "1.17%"
BSP_ROGUE_DRIVER_PROVIDER:bsp-bb_org-6_6 = "ti-img-rogue-driver"
BSP_ROGUE_DRIVER_VERSION:bsp-bb_org-6_6 = "25%"
BSP_MESA_PVR_VERSION:bsp-bb_org-6_6 = "24%"
# GC320 support requires out-of-tree drivers not yet available in bb.org 6.6
MACHINE_FEATURES:remove:bsp-bb_org-6_6 = "gc320"

View File

@@ -1,8 +0,0 @@
#@TYPE: Machine
#@NAME: PocketBeagle2 (R5F)
#@DESCRIPTION: Machine configuration for the PocketBeagle2 (R5F core)
require conf/machine/include/k3r5.inc
require conf/machine/include/beagle-bsp.inc
UBOOT_MACHINE = "am62_pocketbeagle2_r5_defconfig"

View File

@@ -1,58 +0,0 @@
#@TYPE: Machine
#@NAME: PocketBeagle2 (A53)
#@DESCRIPTION: Machine configuration for the PocketBeagle2 board (A53 core)
require conf/machine/include/k3.inc
require conf/machine/include/mc_k3r5.inc
require conf/machine/include/beagle-bsp.inc
SOC_FAMILY:append = ":am62xx"
SERIAL_CONSOLES = "115200;ttyS2"
TFA_BOARD = "lite"
TFA_K3_SYSTEM_SUSPEND = "1"
OPTEEMACHINE = "k3-am62x"
UBOOT_MACHINE = "am62_pocketbeagle2_a53_defconfig"
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am6232 \
ti/k3-am62-pocket \
"
KERNEL_DEVICETREE = " \
ti/k3-am6232-pocketbeagle2.dtb \
ti/k3-am6232-pocketbeagle2-techlab-cape.dtbo \
ti/k3-am625-beagleplay-bcfserial-no-firmware.dtbo \
ti/k3-am625-beagleplay-csi2-ov5640.dtbo \
ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtbo \
ti/k3-am625-beagleplay.dtb \
ti/k3-am625-beagleplay-lincolntech-lcd185-panel.dtbo \
ti/k3-am625-sk.dtb \
ti/k3-am625-sk-lincolntech-lcd185-panel.dtbo \
ti/k3-am625-sk-m2-cc3351.dtbo \
ti/k3-am625-sk-mcspi-loopback.dtbo \
ti/k3-am625-sk-microtips-mf101hie-panel.dtbo \
ti/k3-am625-sk-rpi-hdr-ehrpwm.dtbo \
ti/k3-am62-pocketbeagle2-ardupilot-cape.dtbo \
ti/k3-am62-pocketbeagle2.dtb \
ti/k3-am62-pocketbeagle2-leds-off.dtbo \
ti/k3-am62-pocketbeagle2-techlab-cape.dtbo \
ti/k3-am62x-sk-csi2-imx219.dtbo \
ti/k3-am62x-sk-csi2-ov5640.dtbo \
ti/k3-am62x-sk-csi2-tevi-ov5640.dtbo \
ti/k3-am62x-sk-csi2-v3link-fusion.dtbo \
ti/k3-am62x-sk-dmtimer-pwm.dtbo \
ti/k3-am62x-sk-ecap-capture.dtbo \
ti/k3-am62x-sk-eqep.dtbo \
ti/k3-am62x-sk-fastboot-disable-hdmi.dtbo \
ti/k3-am62x-sk-hdmi-audio.dtbo \
ti/k3-am62x-sk-lpm-io-ddr-wkup-sources.dtbo \
ti/k3-am62x-sk-lpm-wkup-sources.dtbo \
ti/k3-am62x-sk-mcan.dtbo \
ti/k3-am62x-sk-microtips-mf103hie-lcd2.dtbo \
ti/k3-am62x-sk-pwm.dtbo \
"

View File

@@ -1 +0,0 @@
CONFIG_BOOTCOMMAND="run bootcmd_ti_mmc"

View File

@@ -1,14 +0,0 @@
require recipes-bsp/u-boot/u-boot-ti.inc
SUMMARY = "BeagleBoard.org U-Boot"
COMPATIBLE_MACHINE = "beagle.*"
PV = "2024.10"
SRC_URI += "file://0001-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch"
UBOOT_GIT_URI = "git://github.com/beagleboard/u-boot.git"
UBOOT_GIT_PROTOCOL = "https"
BRANCH = "v2024.10-Beagle"
SRCREV = "bf0e9d0b7274d2b561bd24c858affec2038250f9"

View File

@@ -1,19 +0,0 @@
require recipes-bsp/u-boot/u-boot-ti.inc
SUMMARY = "BeagleBoard.org U-Boot"
COMPATIBLE_MACHINE = "pocketbeagle2|beagle.*"
PV = "2025.10"
UBOOT_GIT_URI = "git://github.com/beagleboard/u-boot.git"
UBOOT_GIT_PROTOCOL = "https"
BRANCH = "v2025.10-Beagle"
SRCREV = "6825d60bea17774358f4199c4c7062801cfb931e"
BRANCH:pocketbeagle2 = "v2025.10-am62-pocketbeagle2"
BRANCH:pocketbeagle2-k3r5 = "v2025.10-am62-pocketbeagle2"
SRCREV:pocketbeagle2 = "4e0b6294a1185029d34eff6ed91f3ad1734b643f"
SRCREV:pocketbeagle2-k3r5 = "4e0b6294a1185029d34eff6ed91f3ad1734b643f"
SRC_URI:append:pocketbeagle2 = " file://bootcmd-ti-mmc.cfg"

View File

@@ -1 +0,0 @@
use-kernel-config=bb.org_defconfig

View File

@@ -1 +0,0 @@
use-kernel-config=bb.org_defconfig

View File

@@ -1 +0,0 @@
CONFIG_FORTIFY_SOURCE=n

View File

@@ -1,67 +0,0 @@
# Look in the generic major.minor directory for files
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-6.12:"
SECTION = "kernel"
SUMMARY = "BeagleBoard.org Linux kernel"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
COMPATIBLE_MACHINE = "pocketbeagle2|beagle.*"
inherit kernel
require recipes-kernel/linux/setup-defconfig.inc
require recipes-kernel/linux/ti-kernel.inc
DEPENDS += "gmp-native libmpc-native"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
# Extra DT overlays/capes
KERNEL_DEVICETREE:append:armv7a = " \
ti/omap/BB-ADC-00A0.dtbo \
ti/omap/BB-BBBW-WL1835-00A0.dtbo \
ti/omap/BB-BBGG-WL1835-00A0.dtbo \
ti/omap/BB-BBGW-WL1835-00A0.dtbo \
ti/omap/BB-BONE-4D5R-01-00A1.dtbo \
ti/omap/BB-BONE-eMMC1-01-00A0.dtbo \
ti/omap/BB-BONE-LCD4-01-00A1.dtbo \
ti/omap/BB-BONE-NH7C-01-A0.dtbo \
ti/omap/BB-CAPE-DISP-CT4-00A0.dtbo \
ti/omap/BB-HDMI-TDA998x-00A0.dtbo \
ti/omap/BB-I2C1-MCP7940X-00A0.dtbo \
ti/omap/BB-I2C1-RTC-DS3231.dtbo \
ti/omap/BB-I2C1-RTC-PCF8563.dtbo \
ti/omap/BB-I2C2-BME680.dtbo \
ti/omap/BB-I2C2-MPU6050.dtbo \
ti/omap/BB-LCD-ADAFRUIT-24-SPI1-00A0.dtbo \
ti/omap/BB-NHDMI-TDA998x-00A0.dtbo \
ti/omap/BBORG_COMMS-00A2.dtbo \
ti/omap/BBORG_FAN-A000.dtbo \
ti/omap/BBORG_RELAY-00A2.dtbo \
ti/omap/BB-SPIDEV0-00A0.dtbo \
ti/omap/BB-SPIDEV1-00A0.dtbo \
ti/omap/BB-UART1-00A0.dtbo \
ti/omap/BB-UART2-00A0.dtbo \
ti/omap/BB-UART4-00A0.dtbo \
ti/omap/BB-W1-P9.12-00A0.dtbo \
ti/omap/BONE-ADC.dtbo \
ti/omap/M-BB-BBG-00A0.dtbo \
ti/omap/M-BB-BBGG-00A0.dtbo \
ti/omap/PB-MIKROBUS-0.dtbo \
ti/omap/PB-MIKROBUS-1.dtbo \
"
S = "${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}"
# 6.12.34 version for 32-bit
SRCREV:armv7a = "9e419b26243bd7efcd103ae0f6456f828592b34b"
PV:armv7a = "6.12.34+git"
BRANCH:armv7a = "v6.12.34-ti-arm32-r12"
# 6.12.43 version for 64-bit
SRCREV:aarch64 = "84c4b4613a852db269620a3fdfed65de90569fa1"
PV:aarch64 = "6.12.43+git"
BRANCH:aarch64 = "v6.12.43-ti-arm64-r54"
KERNEL_GIT_URI = "git://github.com/beagleboard/linux.git"

View File

@@ -1,71 +0,0 @@
# Look in the generic major.minor directory for files
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-6.6:"
SECTION = "kernel"
SUMMARY = "BeagleBoard.org Linux kernel"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
COMPATIBLE_MACHINE = "beagle.*"
inherit kernel
require recipes-kernel/linux/setup-defconfig.inc
require recipes-kernel/linux/ti-kernel.inc
DEPENDS += "gmp-native libmpc-native"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
# Extra DT overlays/capes
KERNEL_DEVICETREE:append:armv7a = " \
ti/omap/AM335X-PRU-UIO-00A0.dtbo \
ti/omap/BB-ADC-00A0.dtbo \
ti/omap/BB-BBBW-WL1835-00A0.dtbo \
ti/omap/BB-BBGG-WL1835-00A0.dtbo \
ti/omap/BB-BBGW-WL1835-00A0.dtbo \
ti/omap/BB-BONE-4D5R-01-00A1.dtbo \
ti/omap/BB-BONE-eMMC1-01-00A0.dtbo \
ti/omap/BB-BONE-LCD4-01-00A1.dtbo \
ti/omap/BB-BONE-NH7C-01-A0.dtbo \
ti/omap/BB-CAPE-DISP-CT4-00A0.dtbo \
ti/omap/BB-HDMI-TDA998x-00A0.dtbo \
ti/omap/BB-I2C1-MCP7940X-00A0.dtbo \
ti/omap/BB-I2C1-RTC-DS3231.dtbo \
ti/omap/BB-I2C1-RTC-PCF8563.dtbo \
ti/omap/BB-I2C2-BME680.dtbo \
ti/omap/BB-I2C2-MPU6050.dtbo \
ti/omap/BB-LCD-ADAFRUIT-24-SPI1-00A0.dtbo \
ti/omap/BB-NHDMI-TDA998x-00A0.dtbo \
ti/omap/BBORG_COMMS-00A2.dtbo \
ti/omap/BBORG_FAN-A000.dtbo \
ti/omap/BBORG_RELAY-00A2.dtbo \
ti/omap/BB-SPIDEV0-00A0.dtbo \
ti/omap/BB-SPIDEV1-00A0.dtbo \
ti/omap/BB-UART1-00A0.dtbo \
ti/omap/BB-UART2-00A0.dtbo \
ti/omap/BB-UART4-00A0.dtbo \
ti/omap/BB-W1-P9.12-00A0.dtbo \
ti/omap/BONE-ADC.dtbo \
ti/omap/M-BB-BBG-00A0.dtbo \
ti/omap/M-BB-BBGG-00A0.dtbo \
ti/omap/PB-MIKROBUS-0.dtbo \
ti/omap/PB-MIKROBUS-1.dtbo \
"
S = "${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}"
# 6.6.58 version for 32-bit
SRCREV:armv7a = "3d519995234675748a38b1e3bc087baa03e3ac25"
PV:armv7a = "6.6.58+git"
BRANCH:armv7a = "v6.6.58-ti-arm32-r12"
# 6.6.58 version for 64-bit
SRCREV:aarch64 = "1de9481cd5749807550148086aea959295bd11db"
PV:aarch64 = "6.6.58+git"
BRANCH:aarch64 = "v6.6.58-ti-arm64-r30"
KERNEL_GIT_URI = "git://github.com/beagleboard/linux.git"
SRC_URI += "file://no-fortify.cfg"
KERNEL_CONFIG_FRAGMENTS += "${UNPACKDIR}/no-fortify.cfg"

View File

@@ -1,17 +0,0 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@@ -1,33 +0,0 @@
The official OpenEmbedded/Yocto BSP layer for Texas Instruments platforms.
It is hosted on http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/ with the
source repository at git://git.yoctoproject.org/meta-ti
This layer depends on:
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: master
URI: git://git.yoctoproject.org/meta-arm
layers: meta-arm
branch: master
The base BSP part of meta-ti should work with different OpenEmbedded/Yocto
distributions and layer stacks, such as:
distro-less (only with OE-Core), with Yocto/Poky, with Angstrom or Arago.
Please follow the recommended setup procedures of your OE distribution.
Send pull requests, patches, comments or questions to:
meta-ti@lists.yoctoproject.org
Please note - meta-ti mailing list requires subscription for posting:
https://lists.yoctoproject.org/g/meta-ti
Maintainers:
Ryan Eatmon <reatmon@ti.com>
Denys Dmytriyenko <denys@konsulko.com>

View File

@@ -1,20 +0,0 @@
How to Report a Potential Vulnerability?
========================================
If you would like to report a public issue (for example, one with a released
CVE number), please report it to the mailing list:
https://lists.yoctoproject.org/g/meta-ti
If you are dealing with a not-yet released or urgent issue, please send a
message to one of the maintainers listed in the README. Include as many
details as possible:
- the layer or software module affected
- the recipe and its version
- any example code, if available
Branches maintained with security fixes
---------------------------------------
See https://wiki.yoctoproject.org/wiki/Releases for the list of current
releases. We only accept patches for the LTS releases and the master branch.

View File

@@ -1,767 +0,0 @@
inherit ti-secdev kernel-uboot-legacyhs uboot-sign-legacyhs
FITIMAGE_HASH_ALGO ?= "sha1"
FITIMAGE_PACK_TEE ?= "0"
FITIMAGE_DTB_BY_NAME ?= "0"
FITIMAGE_TEE_BY_NAME ?= "0"
FITIMAGE_CONF_BY_NAME ?= "0"
python __anonymous () {
kerneltypes = d.getVar('KERNEL_IMAGETYPES') or ""
if 'fitImage' in kerneltypes.split():
depends = d.getVar("DEPENDS")
depends = "%s u-boot-mkimage-native dtc-native" % depends
d.setVar("DEPENDS", depends)
uarch = d.getVar("UBOOT_ARCH")
if uarch == "arm64":
replacementtype = "Image"
elif uarch == "mips":
replacementtype = "vmlinuz.bin"
elif uarch == "x86":
replacementtype = "bzImage"
elif uarch == "microblaze":
replacementtype = "linux.bin"
else:
replacementtype = "zImage"
# Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal
# to kernel.bbclass . We have to override it, since we pack zImage
# (at least for now) into the fitImage .
typeformake = d.getVar("KERNEL_IMAGETYPE_FOR_MAKE") or ""
if 'fitImage' in typeformake.split():
d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', typeformake.replace('fitImage', replacementtype))
image = d.getVar('INITRAMFS_IMAGE')
if image:
d.appendVarFlag('do_assemble_fitimage_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
# Verified boot will sign the fitImage and append the public key to
# U-boot dtb. We ensure the U-Boot dtb is deployed before assembling
# the fitImage:
if d.getVar('UBOOT_SIGN_ENABLE'):
uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_deploy' % uboot_pn)
if d.getVar('FITIMAGE_PACK_TEE') == "1":
d.appendVarFlag('do_assemble_fitimage', 'depends', ' optee-os:do_deploy')
}
# Options for the device tree compiler passed to mkimage '-D' feature:
UBOOT_MKIMAGE_DTCOPTS ??= ""
fitimage_ti_secure() {
if test -f "${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh"; then
export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG}
${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh $1 $2
else
cp $1 $2
fi
}
#
# Emit the fitImage ITS header
#
# $1 ... .its filename
fitimage_emit_fit_header() {
cat << EOF >> ${1}
/dts-v1/;
/ {
description = "U-Boot fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}";
#address-cells = <1>;
EOF
}
#
# Emit the fitImage section bits
#
# $1 ... .its filename
# $2 ... Section bit type: imagestart - image section start
# confstart - configuration section start
# sectend - section end
# fitend - fitimage end
#
fitimage_emit_section_maint() {
case $2 in
imagestart)
cat << EOF >> ${1}
images {
EOF
;;
confstart)
cat << EOF >> ${1}
configurations {
EOF
;;
sectend)
cat << EOF >> ${1}
};
EOF
;;
fitend)
cat << EOF >> ${1}
};
EOF
;;
esac
}
#
# Emit the fitImage ITS kernel section
#
# $1 ... .its filename
# $2 ... Image counter
# $3 ... Path to kernel image
# $4 ... Compression type
fitimage_emit_section_kernel() {
kernel_csum=${FITIMAGE_HASH_ALGO}
ENTRYPOINT="${UBOOT_ENTRYPOINT}"
if test -n "${UBOOT_ENTRYSYMBOL}"; then
ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \
awk '$4=="${UBOOT_ENTRYSYMBOL}" {print $2}'`
fi
cat << EOF >> ${1}
kernel-${2} {
description = "Linux kernel";
data = /incbin/("${3}");
type = "kernel";
arch = "${UBOOT_ARCH}";
os = "linux";
compression = "${4}";
load = <${UBOOT_LOADADDRESS}>;
entry = <${ENTRYPOINT}>;
EOF
if test -n "${FITIMAGE_HASH_ALGO}"; then
cat << EOF >> ${1}
hash-1 {
algo = "${kernel_csum}";
};
EOF
fi
cat << EOF >> ${1}
};
EOF
}
#
# Emit the fitImage ITS DTB section
#
# $1 ... .its filename
# $2 ... Image counter/name
# $3 ... Path to DTB image
# $4 ... Load address
fitimage_emit_section_dtb() {
dtb_csum=${FITIMAGE_HASH_ALGO}
dtb_loadline="${4}"
cat << EOF >> ${1}
${2} {
description = "Flattened Device Tree blob";
data = /incbin/("${3}");
type = "flat_dt";
arch = "${UBOOT_ARCH}";
compression = "none";
${dtb_loadline}
EOF
if test -n "${FITIMAGE_HASH_ALGO}"; then
cat << EOF >> ${1}
hash-1 {
algo = "${dtb_csum}";
};
EOF
fi
cat << EOF >> ${1}
};
EOF
}
#
# Emit the fitImage ITS TEE section
#
# $1 ... .its filename
# $2 ... Image counter/name
# $3 ... Path to TEE image
fitimage_emit_section_tee() {
tee_csum=${FITIMAGE_HASH_ALGO}
cat << EOF >> ${1}
${2} {
description = "OPTEE OS Image";
data = /incbin/("${3}");
type = "tee";
arch = "${UBOOT_ARCH}";
compression = "none";
EOF
if test -n "${FITIMAGE_HASH_ALGO}"; then
cat << EOF >> ${1}
hash-1 {
algo = "${tee_csum}";
};
EOF
fi
cat << EOF >> ${1}
};
EOF
}
#
# Emit the fitImage ITS setup section
#
# $1 ... .its filename
# $2 ... Image counter
# $3 ... Path to setup image
fitimage_emit_section_setup() {
setup_csum=${FITIMAGE_HASH_ALGO}
cat << EOF >> ${1}
setup-${2} {
description = "Linux setup.bin";
data = /incbin/("${3}");
type = "x86_setup";
arch = "${UBOOT_ARCH}";
os = "linux";
compression = "none";
load = <0x00090000>;
entry = <0x00090000>;
EOF
if test -n "${FITIMAGE_HASH_ALGO}"; then
cat << EOF >> ${1}
hash-1 {
algo = "${setup_csum}";
};
EOF
fi
cat << EOF >> ${1}
};
EOF
}
#
# Emit the fitImage ITS ramdisk section
#
# $1 ... .its filename
# $2 ... Image counter
# $3 ... Path to ramdisk image
fitimage_emit_section_ramdisk() {
ramdisk_csum=${FITIMAGE_HASH_ALGO}
ramdisk_ctype="none"
case $3 in
*.gz|*.gz.sec)
ramdisk_ctype="gzip"
;;
*.bz2|*.bz2.sec)
ramdisk_ctype="bzip2"
;;
*.lzma|*.lzma.sec)
ramdisk_ctype="lzma"
;;
*.lzo|*.lzo.sec)
ramdisk_ctype="lzo"
;;
*.lz4|*.lz4.sec)
ramdisk_ctype="lz4"
;;
esac
cat << EOF >> ${1}
ramdisk-${2} {
description = "ramdisk image";
data = /incbin/("${3}");
type = "ramdisk";
arch = "${UBOOT_ARCH}";
os = "linux";
compression = "${ramdisk_ctype}";
EOF
if test -n "${UBOOT_RD_LOADADDRESS}"; then
cat << EOF >> ${1}
load = <${UBOOT_RD_LOADADDRESS}>;
EOF
fi
if test -n "${UBOOT_RD_ENTRYPOINT}"; then
cat << EOF >> ${1}
entry = <${UBOOT_RD_ENTRYPOINT}>;
EOF
fi
if test -n "${FITIMAGE_HASH_ALGO}"; then
cat << EOF >> ${1}
hash-1 {
algo = "${ramdisk_csum}";
};
EOF
fi
cat << EOF >> ${1}
};
EOF
}
#
# Emit the fitImage ITS configuration section
#
# $1 ... .its filename
# $2 ... Linux kernel ID
# $3 ... DTB image ID/name
# $4 ... ramdisk ID
# $5 ... config ID
# $6 ... tee ID/name
# $7 ... default DTB ID
fitimage_emit_section_config() {
conf_csum=${FITIMAGE_HASH_ALGO}
if [ -n "${UBOOT_SIGN_ENABLE}" ] ; then
conf_sign_keyname="${UBOOT_SIGN_KEYNAME}"
fi
sep=""
conf_desc=""
kernel_line=""
fdt_line=""
ramdisk_line=""
setup_line=""
default_line=""
if [ -n "${2}" ]; then
conf_desc="Linux kernel"
sep=", "
kernel_line="kernel = \"kernel-${2}\";"
fi
if [ -n "${3}" ]; then
conf_desc="${conf_desc}${sep}FDT blob"
sep=", "
fi
if [ -n "${4}" ]; then
conf_desc="${conf_desc}${sep}ramdisk"
sep=", "
ramdisk_line="ramdisk = \"ramdisk-${4}\";"
fi
if [ -n "${5}" ]; then
conf_desc="${conf_desc}${sep}setup"
sep=", "
setup_line="setup = \"setup-${5}\";"
fi
if [ -n "${6}" -a "x${FITIMAGE_PACK_TEE}" = "x1" ]; then
if [ "x${FITIMAGE_TEE_BY_NAME}" = "x1" ]; then
loadables_line="loadables = \"${6}.optee\";"
loadables_pager_line="loadables = \"${6}-pager.optee\";"
else
loadables_line="loadables = \"tee-${6}\";"
nextnum=`expr ${6} + 1`
loadables_pager_line="loadables = \"tee-${nextnum}\";"
fi
final_conf_desc="${conf_desc}${sep}OPTEE OS Image"
else
loadables_line=""
loadables_pager_line=""
final_conf_desc="${conf_desc}"
fi
default_dtb_count=${7}
if [ "x${FITIMAGE_CONF_BY_NAME}" = "x1" ] ; then
default_conf_name="${FIT_CONF_DEFAULT_DTB}"
else
default_conf_name="conf-${default_dtb_count}"
fi
cat << EOF >> ${1}
default = "${default_conf_name}";
EOF
dtbcount=1
for DTB in ${KERNEL_DEVICETREE}; do
DTB=$(basename "${DTB}")
dtb_ext=${DTB##*.}
if [ "x${FITIMAGE_CONF_BY_NAME}" = "x1" ] ; then
conf_name="${DTB}"
else
conf_name="conf-${dtbcount}"
fi
if [ "x${FITIMAGE_DTB_BY_NAME}" = "x1" ] ; then
fdt_line="fdt = \"${DTB}\";"
else
fdt_line="fdt = \"fdt-${dtbcount}\";"
fi
# Generate a single configuration section
cat << EOF >> ${1}
${conf_name} {
description = "${final_conf_desc}";
${fdt_line}
EOF
if [ "${dtb_ext}" != "dtbo" ]; then
cat << EOF >> ${1}
${kernel_line}
${ramdisk_line}
${setup_line}
${loadables_line}
EOF
fi
if test -n "${FITIMAGE_HASH_ALGO}"; then
cat << EOF >> ${1}
hash-1 {
algo = "${conf_csum}";
};
EOF
fi
if [ ! -z "${conf_sign_keyname}" ] ; then
sign_line="sign-images = \"kernel\""
if [ -n "${3}" ]; then
sign_line="${sign_line}, \"fdt\""
fi
if [ -n "${4}" ]; then
sign_line="${sign_line}, \"ramdisk\""
fi
if [ -n "${5}" ]; then
sign_line="${sign_line}, \"setup\""
fi
sign_line="${sign_line};"
cat << EOF >> ${1}
signature-1 {
algo = "${conf_csum},rsa2048";
key-name-hint = "${conf_sign_keyname}";
${sign_line}
};
EOF
fi
cat << EOF >> ${1}
};
EOF
# End single config section
# Generate a single "pager" configuration section
if [ "${OPTEEPAGER}" = "y" ]; then
if [ "x${FITIMAGE_CONF_BY_NAME}" = "x1" ] ; then
conf_name="${DTB}-pager"
else
conf_name="conf-${dtbcount}"
fi
cat << EOF >> ${1}
${conf_name} {
description = "${final_conf_desc}";
${fdt_line}
EOF
if [ "${dtb_ext}" != "dtbo" ]; then
cat << EOF >> ${1}
${kernel_line}
${ramdisk_line}
${setup_line}
${loadables_pager_line}
EOF
fi
if test -n "${FITIMAGE_HASH_ALGO}"; then
cat << EOF >> ${1}
hash-1 {
algo = "${conf_csum}";
};
EOF
fi
if [ ! -z "${conf_sign_keyname}" ] ; then
sign_line="sign-images = \"kernel\""
if [ -n "${3}" ]; then
sign_line="${sign_line}, \"fdt\""
fi
if [ -n "${4}" ]; then
sign_line="${sign_line}, \"ramdisk\""
fi
if [ -n "${5}" ]; then
sign_line="${sign_line}, \"setup\""
fi
sign_line="${sign_line};"
cat << EOF >> ${1}
signature-1 {
algo = "${conf_csum},rsa2048";
key-name-hint = "${conf_sign_keyname}";
${sign_line}
};
EOF
fi
cat << EOF >> ${1}
};
EOF
fi
# End single config section
dtbcount=`expr ${dtbcount} + 1`
done
}
#
# Assemble fitImage
#
# $1 ... .its filename
# $2 ... fitImage name
# $3 ... include ramdisk
fitimage_assemble() {
kernelcount=1
dtbcount=""
ramdiskcount=${3}
setupcount=""
teecount=1
default_dtb_count=1
rm -f ${1} arch/${ARCH}/boot/${2}
fitimage_emit_fit_header ${1}
#
# Step 1: Prepare a kernel image section.
#
fitimage_emit_section_maint ${1} imagestart
uboot_prep_kimage
fitimage_ti_secure linux.bin linux.bin.sec
fitimage_emit_section_kernel ${1} "${kernelcount}" linux.bin.sec "${linux_comp}"
#
# Step 2: Prepare a DTB image section
#
if test -n "${KERNEL_DEVICETREE}"; then
dtbcount=1
dtboaddress="${UBOOT_DTBO_LOADADDRESS}"
for DTB in ${KERNEL_DEVICETREE}; do
if [ "${DTB}" = "${FIT_CONF_DEFAULT_DTB}" ]; then
default_dtb_count=${dtbcount}
fi
if echo ${DTB} | grep -q '/dts/'; then
bbwarn "${DTB} contains the full path to the the dts file, but only the dtb name should be used."
DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'`
fi
DTB_PATH="arch/${ARCH}/boot/dts/${DTB}"
if [ ! -e "${DTB_PATH}" ]; then
DTB_PATH="arch/${ARCH}/boot/${DTB}"
fi
DTB=$(basename "${DTB}")
dtb_ext=${DTB##*.}
if [ "${dtb_ext}" = "dtbo" ]; then
if [ -n "${UBOOT_DTBO_LOADADDRESS}" ]; then
dtb_loadline="load = <${dtboaddress}>;"
num1=`printf "%d\n" ${dtboaddress}`
num2=`printf "%d\n" ${UBOOT_DTBO_OFFSET}`
num3=`expr $num1 + $num2`
dtboaddress=`printf "0x%x\n" $num3`
fi
elif [ -n "${UBOOT_DTB_LOADADDRESS}" ]; then
dtb_loadline="load = <${UBOOT_DTB_LOADADDRESS}>;"
fi
fitimage_ti_secure ${DTB_PATH} ${DTB_PATH}.sec
if [ "x${FITIMAGE_DTB_BY_NAME}" = "x1" ] ; then
fitimage_emit_section_dtb ${1} ${DTB} ${DTB_PATH}.sec "${dtb_loadline}"
else
fitimage_emit_section_dtb ${1} "fdt-${dtbcount}" ${DTB_PATH}.sec "${dtb_loadline}"
fi
if [ "x${dtbcount}" = "x1" ]; then
dtbref=${DTB}
fi
dtbcount=`expr ${dtbcount} + 1`
done
fi
#
# Step 2a: Prepare OP/TEE image section
#
if [ "x${FITIMAGE_PACK_TEE}" = "x1" ] ; then
mkdir -p ${B}/usr
rm -f ${B}/usr/${OPTEEFLAVOR}.optee
if [ -e "${DEPLOY_DIR_IMAGE}/${OPTEEFLAVOR}.optee" ]; then
cp ${DEPLOY_DIR_IMAGE}/${OPTEEFLAVOR}.optee ${B}/usr/.
fi
TEE_PATH="usr/${OPTEEFLAVOR}.optee"
fitimage_ti_secure ${TEE_PATH} ${TEE_PATH}.sec
if [ "x${FITIMAGE_TEE_BY_NAME}" = "x1" ] ; then
fitimage_emit_section_tee ${1} ${OPTEEFLAVOR}.optee ${TEE_PATH}.sec
else
fitimage_emit_section_tee ${1} "tee-${teecount}" ${TEE_PATH}.sec
fi
if [ "${OPTEEPAGER}" = "y" ]; then
teecount=`expr ${teecount} + 1`
rm -f ${B}/usr/${OPTEEFLAVOR}-pager.optee
if [ -e "${DEPLOY_DIR_IMAGE}/${OPTEEFLAVOR}-pager.optee" ]; then
cp ${DEPLOY_DIR_IMAGE}/${OPTEEFLAVOR}-pager.optee ${B}/usr/.
fi
TEE_PATH="usr/${OPTEEFLAVOR}-pager.optee"
fitimage_ti_secure ${TEE_PATH} ${TEE_PATH}.sec
if [ "x${FITIMAGE_TEE_BY_NAME}" = "x1" ] ; then
fitimage_emit_section_tee ${1} ${OPTEEFLAVOR}-pager.optee ${TEE_PATH}.sec
else
fitimage_emit_section_tee ${1} "tee-${teecount}" ${TEE_PATH}.sec
fi
fi
fi
#
# Step 3: Prepare a setup section. (For x86)
#
if test -e arch/${ARCH}/boot/setup.bin ; then
setupcount=1
fitimage_emit_section_setup ${1} "${setupcount}" arch/${ARCH}/boot/setup.bin
fi
#
# Step 4: Prepare a ramdisk section.
#
if [ "x${ramdiskcount}" = "x1" ] ; then
# Find and use the first initramfs image archive type we find
for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.gz cpio; do
initramfs_path="${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${img}"
initramfs_local="usr/${INITRAMFS_IMAGE}-${MACHINE}.${img}"
echo "Using $initramfs_path"
if [ -e "${initramfs_path}" ]; then
fitimage_ti_secure ${initramfs_path} ${initramfs_local}.sec
fitimage_emit_section_ramdisk ${1} "${ramdiskcount}" ${initramfs_local}.sec
break
fi
done
fi
fitimage_emit_section_maint ${1} sectend
# Force the first Kernel and DTB in the default config
kernelcount=1
if test -n "${dtbcount}"; then
dtbcount=1
fi
teecount=1
#
# Step 5: Prepare a configurations section
#
fitimage_emit_section_maint ${1} confstart
if [ "x${FITIMAGE_DTB_BY_NAME}" != "x1" ] ; then
dtbref="fdt-${dtbcount}"
fi
if [ "x${FITIMAGE_TEE_BY_NAME}" = "x1" ] ; then
teeref="${OPTEEFLAVOR}"
else
teeref="${teecount}"
fi
fitimage_emit_section_config ${1} "${kernelcount}" "${dtbref}" "${ramdiskcount}" "${setupcount}" "${teeref}" "${default_dtb_count}"
fitimage_emit_section_maint ${1} sectend
fitimage_emit_section_maint ${1} fitend
#
# Step 6: Assemble the image
#
uboot-mkimage \
${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \
-f ${1} \
arch/${ARCH}/boot/${2}
#
# Step 7: Sign the image and add public key to U-Boot dtb
#
if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then
uboot-mkimage \
${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \
-F -k "${UBOOT_SIGN_KEYDIR}" \
-K "${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY}" \
-r arch/${ARCH}/boot/${2}
fi
}
do_assemble_fitimage() {
if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage"; then
cd ${B}
fitimage_assemble fit-image.its fitImage
fi
}
addtask assemble_fitimage before do_install after do_compile
do_assemble_fitimage_initramfs() {
if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage" && \
test -n "${INITRAMFS_IMAGE}" ; then
cd ${B}
fitimage_assemble fit-image-${INITRAMFS_IMAGE}.its fitImage-${INITRAMFS_IMAGE} 1
fi
}
addtask assemble_fitimage_initramfs before do_deploy after do_install
FITIMAGE_ITS_SUFFIX ?= "its"
FITIMAGE_ITB_SUFFIX ?= "itb"
FITIMAGE_ITS_IMAGE ?= "fitImage-its-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}.${FITIMAGE_ITS_SUFFIX}"
FITIMAGE_ITS_IMAGE[vardepsexclude] = "DATETIME"
FITIMAGE_ITS_BINARY ?= "fitImage-its.${FITIMAGE_ITS_SUFFIX}"
FITIMAGE_ITS_SYMLINK ?= "fitImage-its-${MACHINE}.${FITIMAGE_ITS_SUFFIX}"
FITIMAGE_ITB_IMAGE ?= "fitImage-linux.bin-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}.${FITIMAGE_ITB_SUFFIX}"
FITIMAGE_ITB_IMAGE[vardepsexclude] = "DATETIME"
FITIMAGE_ITB_BINARY ?= "fitImage-linux.bin.${FITIMAGE_ITB_SUFFIX}"
FITIMAGE_ITB_SYMLINK ?= "fitImage-linux.bin-${MACHINE}.${FITIMAGE_ITB_SUFFIX}"
FITIMAGE_INITRAMFS_ITS_IMAGE ?= "fitImage-its-${INITRAMFS_IMAGE}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}.${FITIMAGE_ITS_SUFFIX}"
FITIMAGE_INITRAMFS_ITS_IMAGE[vardepsexclude] = "DATETIME"
FITIMAGE_INITRAMFS_ITS_BINARY ?= "fitImage-its-${INITRAMFS_IMAGE}.${FITIMAGE_ITS_SUFFIX}"
FITIMAGE_INITRAMFS_ITS_SYMLINK ?= "fitImage-its-${INITRAMFS_IMAGE}-${MACHINE}.${FITIMAGE_ITS_SUFFIX}"
FITIMAGE_INITRAMFS_ITB_IMAGE ?= "fitImage-${INITRAMFS_IMAGE}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}.${FITIMAGE_ITB_SUFFIX}"
FITIMAGE_INITRAMFS_ITB_IMAGE[vardepsexclude] = "DATETIME"
FITIMAGE_INITRAMFS_ITB_BINARY ?= "fitImage-${INITRAMFS_IMAGE}.${FITIMAGE_ITB_SUFFIX}"
FITIMAGE_INITRAMFS_ITB_SYMLINK ?= "fitImage-${INITRAMFS_IMAGE}-${MACHINE}.${FITIMAGE_ITB_SUFFIX}"
kernel_do_deploy:append() {
# Update deploy directory
if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage"; then
cd ${B}
echo "Copying fit-image.its source file..."
install -m 0644 fit-image.its ${DEPLOYDIR}/${FITIMAGE_ITS_IMAGE}
install -m 0644 arch/${ARCH}/boot/fitImage ${DEPLOYDIR}/${FITIMAGE_ITB_IMAGE}
if [ -n "${INITRAMFS_IMAGE}" ]; then
echo "Copying fit-image-${INITRAMFS_IMAGE}.its source file..."
install -m 0644 fit-image-${INITRAMFS_IMAGE}.its ${DEPLOYDIR}/${FITIMAGE_INITRAMFS_ITS_IMAGE}
install -m 0644 arch/${ARCH}/boot/fitImage-${INITRAMFS_IMAGE} ${DEPLOYDIR}/${FITIMAGE_INITRAMFS_ITB_IMAGE}
fi
cd ${DEPLOYDIR}
ln -sf ${FITIMAGE_ITS_IMAGE} ${FITIMAGE_ITS_SYMLINK}
ln -sf ${FITIMAGE_ITS_IMAGE} ${FITIMAGE_ITS_BINARY}
ln -sf ${FITIMAGE_ITB_IMAGE} ${FITIMAGE_ITB_SYMLINK}
ln -sf ${FITIMAGE_ITB_IMAGE} ${FITIMAGE_ITB_BINARY}
if [ -n "${INITRAMFS_IMAGE}" ]; then
ln -sf ${FITIMAGE_INITRAMFS_ITS_IMAGE} ${FITIMAGE_INITRAMFS_ITS_SYMLINK}
ln -sf ${FITIMAGE_INITRAMFS_ITS_IMAGE} ${FITIMAGE_INITRAMFS_ITS_BINARY}
ln -sf ${FITIMAGE_INITRAMFS_ITB_IMAGE} ${FITIMAGE_INITRAMFS_ITB_SYMLINK}
ln -sf ${FITIMAGE_INITRAMFS_ITB_IMAGE} ${FITIMAGE_INITRAMFS_ITB_BINARY}
fi
fi
}

View File

@@ -1,51 +0,0 @@
#
# Copyright OpenEmbedded Contributors
#
# SPDX-License-Identifier: MIT
#
# fitImage kernel compression algorithm
FIT_KERNEL_COMP_ALG ?= "gzip"
FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz"
# Kernel image type passed to mkimage (i.e. kernel kernel_noload...)
UBOOT_MKIMAGE_KERNEL_TYPE ?= "kernel"
uboot_prep_kimage() {
if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then
vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux"
linux_suffix=""
linux_comp="none"
elif [ -e arch/${ARCH}/boot/vmlinuz.bin ]; then
rm -f linux.bin
cp -l arch/${ARCH}/boot/vmlinuz.bin linux.bin
vmlinux_path=""
linux_suffix=""
linux_comp="none"
else
vmlinux_path="vmlinux"
# Use vmlinux.initramfs for linux.bin when INITRAMFS_IMAGE_BUNDLE set
# As per the implementation in kernel.bbclass.
# See do_bundle_initramfs function
if [ "${INITRAMFS_IMAGE_BUNDLE}" = "1" ] && [ -e vmlinux.initramfs ]; then
vmlinux_path="vmlinux.initramfs"
fi
linux_suffix="${FIT_KERNEL_COMP_ALG_EXTENSION}"
linux_comp="${FIT_KERNEL_COMP_ALG}"
fi
[ -n "${vmlinux_path}" ] && ${KERNEL_OBJCOPY} -O binary -R .note -R .comment -S "${vmlinux_path}" linux.bin
if [ "${linux_comp}" != "none" ] ; then
if [ "${linux_comp}" = "gzip" ] ; then
gzip -9 linux.bin
elif [ "${linux_comp}" = "lzo" ] ; then
lzop -9 linux.bin
elif [ "${linux_comp}" = "lzma" ] ; then
xz --format=lzma -f -6 linux.bin
fi
mv -f "linux.bin${linux_suffix}" linux.bin
fi
echo "${linux_comp}"
}

View File

@@ -1,870 +0,0 @@
#
# Copyright OpenEmbedded Contributors
#
# SPDX-License-Identifier: MIT
#
inherit linux-kernel-base kernel-module-split
COMPATIBLE_HOST = ".*-linux"
KERNEL_PACKAGE_NAME ??= "kernel"
KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"
PROVIDES += "virtual/kernel"
DEPENDS += "virtual/cross-binutils virtual/cross-cc kmod-native bc-native bison-native"
DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}"
DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}"
DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.zst", "zstd-native", "", d)}"
PACKAGE_WRITE_DEPS += "depmodwrapper-cross"
do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot gzip-native:do_populate_sysroot"
do_clean[depends] += "make-mod-scripts:do_clean"
# CPE entries from NVD use linux_kernel, but the raw CVE entries from the kernel CNA have
# vendor: linux and product: linux. Note that multiple distributions use "linux" as a product
# name, so we need to fill vendor to avoid false positives
CVE_PRODUCT ?= "linux_kernel linux:linux"
S = "${STAGING_KERNEL_DIR}"
B = "${WORKDIR}/build"
KBUILD_OUTPUT = "${B}"
OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT"
# we include gcc above, we dont need virtual/libc
INHIBIT_DEFAULT_DEPS = "1"
KERNEL_IMAGETYPE ?= "zImage"
INITRAMFS_IMAGE ?= ""
INITRAMFS_TASK ?= ""
INITRAMFS_IMAGE_BUNDLE ?= ""
INITRAMFS_DEPLOY_DIR_IMAGE ?= "${DEPLOY_DIR_IMAGE}"
INITRAMFS_MULTICONFIG ?= ""
# KERNEL_VERSION is extracted from source code. It is evaluated as
# None for the first parsing, since the code has not been fetched.
# After the code is fetched, it will be evaluated as real version
# number and cause kernel to be rebuilt. To avoid this, make
# KERNEL_VERSION_NAME and KERNEL_VERSION_PKG_NAME depend on
# LINUX_VERSION which is a constant.
KERNEL_VERSION_NAME = "${@d.getVar('KERNEL_VERSION') or ""}"
KERNEL_VERSION_NAME[vardepvalue] = "${LINUX_VERSION}"
KERNEL_VERSION_PKG_NAME = "${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
KERNEL_VERSION_PKG_NAME[vardepvalue] = "${LINUX_VERSION}"
python __anonymous () {
pn = d.getVar("PN")
kpn = d.getVar("KERNEL_PACKAGE_NAME")
# XXX Remove this after bug 11905 is resolved
# FILES:${KERNEL_PACKAGE_NAME}-dev doesn't expand correctly
if kpn == pn:
bb.warn("Some packages (E.g. *-dev) might be missing due to "
"bug 11905 (variable KERNEL_PACKAGE_NAME == PN)")
# The default kernel recipe builds in a shared location defined by
# bitbake/distro confs: STAGING_KERNEL_DIR and STAGING_KERNEL_BUILDDIR.
# Set these variables to directories under ${WORKDIR} in alternate
# kernel recipes (I.e. where KERNEL_PACKAGE_NAME != kernel) so that they
# may build in parallel with the default kernel without clobbering.
if kpn != "kernel":
workdir = d.getVar("WORKDIR")
sourceDir = os.path.join(workdir, 'kernel-source')
artifactsDir = os.path.join(workdir, 'kernel-build-artifacts')
d.setVar("STAGING_KERNEL_DIR", sourceDir)
d.setVar("STAGING_KERNEL_BUILDDIR", artifactsDir)
# Merge KERNEL_IMAGETYPE and KERNEL_ALT_IMAGETYPE into KERNEL_IMAGETYPES
type = d.getVar('KERNEL_IMAGETYPE') or ""
alttype = d.getVar('KERNEL_ALT_IMAGETYPE') or ""
types = d.getVar('KERNEL_IMAGETYPES') or ""
if type not in types.split():
types = (type + ' ' + types).strip()
if alttype not in types.split():
types = (alttype + ' ' + types).strip()
d.setVar('KERNEL_IMAGETYPES', types)
# KERNEL_IMAGETYPES may contain a mixture of image types supported directly
# by the kernel build system and types which are created by post-processing
# the output of the kernel build system (e.g. compressing vmlinux ->
# vmlinux.gz in kernel_legacyhs_do_transform_kernel()).
# KERNEL_IMAGETYPE_FOR_MAKE should contain only image types supported
# directly by the kernel build system.
if not d.getVar('KERNEL_IMAGETYPE_FOR_MAKE'):
typeformake = set()
for type in types.split():
if type == 'vmlinux.gz':
type = 'vmlinux'
typeformake.add(type)
d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', ' '.join(sorted(typeformake)))
kname = d.getVar('KERNEL_PACKAGE_NAME') or "kernel"
imagedest = d.getVar('KERNEL_IMAGEDEST')
for type in types.split():
if bb.data.inherits_class('nopackages', d):
continue
typelower = type.lower()
d.appendVar('PACKAGES', ' %s-image-%s' % (kname, typelower))
d.setVar('FILES:' + kname + '-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}' + ' /' + imagedest + '/' + type)
d.appendVar('RDEPENDS:%s-image' % kname, ' %s-image-%s (= ${EXTENDPKGV})' % (kname, typelower))
splitmods = d.getVar("KERNEL_SPLIT_MODULES")
if splitmods != '1':
d.appendVar('RDEPENDS:%s-image' % kname, ' %s-modules (= ${EXTENDPKGV})' % kname)
d.appendVar('RDEPENDS:%s-image-%s' % (kname, typelower), ' %s-modules-${KERNEL_VERSION_PKG_NAME} (= ${EXTENDPKGV})' % kname)
d.setVar('PKG:%s-modules' % kname, '%s-modules-${KERNEL_VERSION_PKG_NAME}' % kname)
d.appendVar('RPROVIDES:%s-modules' % kname, ' %s-modules-${KERNEL_VERSION_PKG_NAME}' % kname)
d.setVar('PKG:%s-image-%s' % (kname,typelower), '%s-image-%s-${KERNEL_VERSION_PKG_NAME}' % (kname, typelower))
d.setVar('ALLOW_EMPTY:%s-image-%s' % (kname, typelower), '1')
if d.getVar('KERNEL_IMAGETYPE_SYMLINK') == '1':
d.prependVar('pkg_postinst:%s-image-%s' % (kname,typelower), """set +e
if [ -n "$D" ]; then
ln -sf %s-${KERNEL_VERSION} $D/${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1
else
ln -sf %s-${KERNEL_VERSION} ${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Filesystem on ${KERNEL_IMAGEDEST}/ doesn't support symlinks, falling back to copied image (%s)."
install -m 0644 ${KERNEL_IMAGEDEST}/%s-${KERNEL_VERSION} ${KERNEL_IMAGEDEST}/%s
fi
fi
set -e
""" % (type, type, type, type, type, type, type))
d.setVar('pkg_postrm:%s-image-%s' % (kname,typelower), """set +e
if [ -f "${KERNEL_IMAGEDEST}/%s" -o -L "${KERNEL_IMAGEDEST}/%s" ]; then
rm -f ${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1
fi
set -e
""" % (type, type, type))
image = d.getVar('INITRAMFS_IMAGE')
# If the INTIRAMFS_IMAGE is set but the INITRAMFS_IMAGE_BUNDLE is set to 0,
# the do_bundle_initramfs does nothing, but the INITRAMFS_IMAGE is built
# standalone for use by wic and other tools.
if image:
if d.getVar('INITRAMFS_MULTICONFIG'):
d.appendVarFlag('do_bundle_initramfs', 'mcdepends', ' mc:${BB_CURRENT_MC}:${INITRAMFS_MULTICONFIG}:${INITRAMFS_IMAGE}:do_image_complete')
else:
d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
if image and bb.utils.to_boolean(d.getVar('INITRAMFS_IMAGE_BUNDLE')):
bb.build.addtask('do_transform_bundled_initramfs', 'do_deploy', 'do_bundle_initramfs', d)
# NOTE: setting INITRAMFS_TASK is for backward compatibility
# The preferred method is to set INITRAMFS_IMAGE, because
# this INITRAMFS_TASK has circular dependency problems
# if the initramfs requires kernel modules
image_task = d.getVar('INITRAMFS_TASK')
if image_task:
d.appendVarFlag('do_configure', 'depends', ' ${INITRAMFS_TASK}')
}
# Here we pull in all various kernel image types which we support.
#
# In case you're wondering why kernel.bbclass inherits the other image
# types instead of the other way around, the reason for that is to
# maintain compatibility with various currently existing meta-layers.
# By pulling in the various kernel image types here, we retain the
# original behavior of kernel.bbclass, so no meta-layers should get
# broken.
#
# KERNEL_CLASSES by default pulls in kernel-uimage.bbclass, since this
# used to be the default behavior when only uImage was supported. This
# variable can be appended by users who implement support for new kernel
# image types.
KERNEL_CLASSES ?= " kernel-uimage "
inherit_defer ${KERNEL_CLASSES}
# Old style kernels may set ${S} = ${WORKDIR}/git for example
# We need to move these over to STAGING_KERNEL_DIR. We can't just
# create the symlink in advance as the git fetcher can't cope with
# the symlink.
do_unpack[cleandirs] += " ${S} ${STAGING_KERNEL_DIR} ${B} ${STAGING_KERNEL_BUILDDIR}"
do_clean[cleandirs] += " ${S} ${STAGING_KERNEL_DIR} ${B} ${STAGING_KERNEL_BUILDDIR}"
python do_symlink_kernsrc () {
s = d.getVar("S")
kernsrc = d.getVar("STAGING_KERNEL_DIR")
if s != kernsrc:
bb.utils.mkdirhier(kernsrc)
bb.utils.remove(kernsrc, recurse=True)
if s[-1] == '/':
# drop trailing slash, so that os.symlink(kernsrc, s) doesn't use s as
# directory name and fail
s = s[:-1]
if d.getVar("EXTERNALSRC"):
# With EXTERNALSRC S will not be wiped so we can symlink to it
os.symlink(s, kernsrc)
else:
import shutil
shutil.move(s, kernsrc)
os.symlink(kernsrc, s)
}
# do_patch is normally ordered before do_configure, but
# externalsrc.bbclass deletes do_patch, breaking the dependency of
# do_configure on do_symlink_kernsrc.
addtask symlink_kernsrc before do_patch do_configure after do_unpack
inherit kernel-arch deploy
PACKAGES_DYNAMIC += "^${KERNEL_PACKAGE_NAME}-module-.*"
PACKAGES_DYNAMIC += "^${KERNEL_PACKAGE_NAME}-image-.*"
PACKAGES_DYNAMIC += "^${KERNEL_PACKAGE_NAME}-firmware-.*"
export OS = "${TARGET_OS}"
export CROSS_COMPILE = "${TARGET_PREFIX}"
KERNEL_RELEASE ?= "${KERNEL_VERSION}"
# The directory where built kernel lies in the kernel tree
KERNEL_OUTPUT_DIR ?= "arch/${ARCH}/boot"
KERNEL_IMAGEDEST ?= "boot"
KERNEL_DTBDEST ?= "${KERNEL_IMAGEDEST}"
KERNEL_DTBVENDORED ?= "0"
#
# configuration
#
KERNEL_VERSION = "${@get_kernelversion_headers('${B}')}"
# kernels are generally machine specific
PACKAGE_ARCH = "${MACHINE_ARCH}"
# U-Boot support
UBOOT_ENTRYPOINT ?= "0x20008000"
UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
# Some Linux kernel configurations need additional parameters on the command line
KERNEL_EXTRA_ARGS ?= ""
EXTRA_OEMAKE += ' CC="${KERNEL_CC}" LD="${KERNEL_LD}" OBJCOPY="${KERNEL_OBJCOPY}" STRIP="${KERNEL_STRIP}"'
EXTRA_OEMAKE += ' HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"'
EXTRA_OEMAKE += ' HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}"'
# Only for newer kernels (5.19+), native pkg-config variables are set for older kernels when building kernel and modules
EXTRA_OEMAKE += ' HOSTPKG_CONFIG="pkg-config-native"'
KERNEL_ALT_IMAGETYPE ??= ""
copy_initramfs() {
echo "Copying initramfs into ./usr ..."
# In case the directory is not created yet from the first pass compile:
mkdir -p ${B}/usr
# Find and use the first initramfs image archive type we find
rm -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
for img in cpio cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.zst; do
if [ -e "${INITRAMFS_DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img" ]; then
cp ${INITRAMFS_DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img ${B}/usr/.
case $img in
*gz)
echo "gzip decompressing image"
gunzip -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img
break
;;
*lz4)
echo "lz4 decompressing image"
lz4 -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
break
;;
*lzo)
echo "lzo decompressing image"
lzop -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img
break
;;
*lzma)
echo "lzma decompressing image"
lzma -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img
break
;;
*xz)
echo "xz decompressing image"
xz -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img
break
;;
*zst)
echo "zst decompressing image"
zstd -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img
break
;;
esac
break
fi
done
# Verify that the above loop found a initramfs, fail otherwise
[ -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio ] && echo "Finished copy of initramfs into ./usr" || die "Could not find any ${INITRAMFS_DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.cpio{.gz|.lz4|.lzo|.lzma|.xz|.zst) for bundling; INITRAMFS_IMAGE_NAME might be wrong."
}
do_bundle_initramfs () {
if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; then
echo "Creating a kernel image with a bundled initramfs..."
copy_initramfs
# Backing up kernel image relies on its type(regular file or symbolic link)
tmp_path=""
for imageType in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
if [ -h ${KERNEL_OUTPUT_DIR}/$imageType ] ; then
linkpath=`readlink -n ${KERNEL_OUTPUT_DIR}/$imageType`
realpath=`readlink -fn ${KERNEL_OUTPUT_DIR}/$imageType`
mv -f $realpath $realpath.bak
tmp_path=$tmp_path" "$imageType"#"$linkpath"#"$realpath
elif [ -f ${KERNEL_OUTPUT_DIR}/$imageType ]; then
mv -f ${KERNEL_OUTPUT_DIR}/$imageType ${KERNEL_OUTPUT_DIR}/$imageType.bak
tmp_path=$tmp_path" "$imageType"##"
fi
done
use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
kernel_legacyhs_do_compile
# Restoring kernel image
for tp in $tmp_path ; do
imageType=`echo $tp|cut -d "#" -f 1`
linkpath=`echo $tp|cut -d "#" -f 2`
realpath=`echo $tp|cut -d "#" -f 3`
if [ -n "$realpath" ]; then
mv -f $realpath $realpath.initramfs
mv -f $realpath.bak $realpath
ln -sf $linkpath.initramfs ${B}/${KERNEL_OUTPUT_DIR}/$imageType.initramfs
else
mv -f ${KERNEL_OUTPUT_DIR}/$imageType ${KERNEL_OUTPUT_DIR}/$imageType.initramfs
mv -f ${KERNEL_OUTPUT_DIR}/$imageType.bak ${KERNEL_OUTPUT_DIR}/$imageType
fi
done
fi
}
do_bundle_initramfs[dirs] = "${B}"
kernel_legacyhs_do_transform_bundled_initramfs() {
# vmlinux.gz is not built by kernel
if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then
gzip -9cn < ${KERNEL_OUTPUT_DIR}/vmlinux.initramfs > ${KERNEL_OUTPUT_DIR}/vmlinux.gz.initramfs
fi
}
do_transform_bundled_initramfs[dirs] = "${B}"
python do_package:prepend () {
d.setVar('STRIP', d.getVar('KERNEL_STRIP').strip())
}
python do_devshell:prepend () {
os.environ["LDFLAGS"] = ''
}
addtask bundle_initramfs after do_install before do_deploy
KERNEL_DEBUG_TIMESTAMPS ??= "0"
kernel_legacyhs_do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
# setup native pkg-config variables (kconfig scripts call pkg-config directly, cannot generically be overriden to pkg-config-native)
export PKG_CONFIG_DIR="${STAGING_DIR_NATIVE}${libdir_native}/pkgconfig"
export PKG_CONFIG_PATH="$PKG_CONFIG_DIR:${STAGING_DATADIR_NATIVE}/pkgconfig"
export PKG_CONFIG_LIBDIR="$PKG_CONFIG_DIR"
export PKG_CONFIG_SYSROOT_DIR=""
if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "1" ]; then
# kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may not
# be set....
if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = "0" ]; then
# The source directory is not necessarily a git repository, so we
# specify the git-dir to ensure that git does not query a
# repository in any parent directory.
SOURCE_DATE_EPOCH=`git --git-dir="${S}/.git" log -1 --pretty=%ct 2>/dev/null || echo "${REPRODUCIBLE_TIMESTAMP_ROOTFS}"`
fi
ts=`LC_ALL=C date -d @$SOURCE_DATE_EPOCH`
export KBUILD_BUILD_TIMESTAMP="$ts"
export KCONFIG_NOTIMESTAMP=1
bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
else
ts=`LC_ALL=C date`
export KBUILD_BUILD_TIMESTAMP="$ts"
bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
fi
# The $use_alternate_initrd is only set from
# do_bundle_initramfs() This variable is specifically for the
# case where we are making a second pass at the kernel
# compilation and we want to force the kernel build to use a
# different initramfs image. The way to do that in the kernel
# is to specify:
# make ...args... CONFIG_INITRAMFS_SOURCE=some_other_initramfs.cpio
if [ "$use_alternate_initrd" = "" ] && [ "${INITRAMFS_TASK}" != "" ] ; then
# The old style way of copying an prebuilt image and building it
# is turned on via INTIRAMFS_TASK != ""
copy_initramfs
use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
fi
for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
oe_runmake ${PARALLEL_MAKE} ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
done
}
kernel_legacyhs_do_transform_kernel() {
# vmlinux.gz is not built by kernel
if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then
mkdir -p "${KERNEL_OUTPUT_DIR}"
gzip -9cn < ${B}/vmlinux > "${KERNEL_OUTPUT_DIR}/vmlinux.gz"
fi
}
do_transform_kernel[dirs] = "${B}"
addtask transform_kernel after do_compile before do_install
do_compile_kernelmodules() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
# setup native pkg-config variables (kconfig scripts call pkg-config directly, cannot generically be overriden to pkg-config-native)
export PKG_CONFIG_DIR="${STAGING_DIR_NATIVE}${libdir_native}/pkgconfig"
export PKG_CONFIG_PATH="$PKG_CONFIG_DIR:${STAGING_DATADIR_NATIVE}/pkgconfig"
export PKG_CONFIG_LIBDIR="$PKG_CONFIG_DIR"
export PKG_CONFIG_SYSROOT_DIR=""
if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "1" ]; then
# kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may not
# be set....
if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = "0" ]; then
# The source directory is not necessarily a git repository, so we
# specify the git-dir to ensure that git does not query a
# repository in any parent directory.
SOURCE_DATE_EPOCH=`git --git-dir="${S}/.git" log -1 --pretty=%ct 2>/dev/null || echo "${REPRODUCIBLE_TIMESTAMP_ROOTFS}"`
fi
ts=`LC_ALL=C date -d @$SOURCE_DATE_EPOCH`
export KBUILD_BUILD_TIMESTAMP="$ts"
export KCONFIG_NOTIMESTAMP=1
bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
else
ts=`LC_ALL=C date`
export KBUILD_BUILD_TIMESTAMP="$ts"
bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
fi
if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
oe_runmake -C ${B} ${PARALLEL_MAKE} modules ${KERNEL_EXTRA_ARGS}
# Module.symvers gets updated during the
# building of the kernel modules. We need to
# update this in the shared workdir since some
# external kernel modules has a dependency on
# other kernel modules and will look at this
# file to do symbol lookups
cp ${B}/Module.symvers ${STAGING_KERNEL_BUILDDIR}/
# 5.10+ kernels have module.lds that we need to copy for external module builds
if [ -e "${B}/scripts/module.lds" ]; then
install -Dm 0644 ${B}/scripts/module.lds ${STAGING_KERNEL_BUILDDIR}/scripts/module.lds
fi
else
bbnote "no modules to compile"
fi
}
addtask compile_kernelmodules after do_compile before do_strip
kernel_legacyhs_do_install() {
#
# First install the modules
#
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
oe_runmake DEPMOD=echo MODLIB=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION} INSTALL_FW_PATH=${D}${nonarch_base_libdir}/firmware modules_install
rm -f "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
rm -f "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/source"
# Remove empty module directories to prevent QA issues
[ -d "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel" ] && find "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel" -type d -empty -delete
else
bbnote "no modules to install"
fi
#
# Install various kernel output (zImage, map file, config, module support files)
#
install -d ${D}/${KERNEL_IMAGEDEST}
#
# When including an initramfs bundle inside a FIT image, the fitImage is created after the install task
# by do_assemble_fitimage_initramfs.
# This happens after the generation of the initramfs bundle (done by do_bundle_initramfs).
# So, at the level of the install task we should not try to install the fitImage. fitImage is still not
# generated yet.
# After the generation of the fitImage, the deploy task copies the fitImage from the build directory to
# the deploy folder.
#
for imageType in ${KERNEL_IMAGETYPES} ; do
if [ $imageType != "fitImage" ] || [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ] ; then
install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType ${D}/${KERNEL_IMAGEDEST}/$imageType-${KERNEL_VERSION}
fi
done
install -m 0644 System.map ${D}/${KERNEL_IMAGEDEST}/System.map-${KERNEL_VERSION}
install -m 0644 .config ${D}/${KERNEL_IMAGEDEST}/config-${KERNEL_VERSION}
install -m 0644 vmlinux ${D}/${KERNEL_IMAGEDEST}/vmlinux-${KERNEL_VERSION}
! [ -e Module.symvers ] || install -m 0644 Module.symvers ${D}/${KERNEL_IMAGEDEST}/Module.symvers-${KERNEL_VERSION}
}
# Must be ran no earlier than after do_kernel_checkout or else Makefile won't be in ${S}/Makefile
do_kernel_version_sanity_check() {
if [ "x${KERNEL_VERSION_SANITY_SKIP}" = "x1" ]; then
exit 0
fi
# The Makefile determines the kernel version shown at runtime
# Don't use KERNEL_VERSION because the headers it grabs the version from aren't generated until do_compile
VERSION=$(grep "^VERSION =" ${S}/Makefile | sed s/.*=\ *//)
PATCHLEVEL=$(grep "^PATCHLEVEL =" ${S}/Makefile | sed s/.*=\ *//)
SUBLEVEL=$(grep "^SUBLEVEL =" ${S}/Makefile | sed s/.*=\ *//)
EXTRAVERSION=$(grep "^EXTRAVERSION =" ${S}/Makefile | sed s/.*=\ *//)
# Build a string for regex and a plain version string
reg="^${VERSION}\.${PATCHLEVEL}"
vers="${VERSION}.${PATCHLEVEL}"
if [ -n "${SUBLEVEL}" ]; then
# Ignoring a SUBLEVEL of zero is fine
if [ "${SUBLEVEL}" = "0" ]; then
reg="${reg}(\.${SUBLEVEL})?"
else
reg="${reg}\.${SUBLEVEL}"
vers="${vers}.${SUBLEVEL}"
fi
fi
vers="${vers}${EXTRAVERSION}"
reg="${reg}${EXTRAVERSION}"
if [ -z `echo ${PV} | grep -E "${reg}"` ]; then
bbfatal "Package Version (${PV}) does not match of kernel being built (${vers}). Please update the PV variable to match the kernel source or set KERNEL_VERSION_SANITY_SKIP=\"1\" in your recipe."
fi
exit 0
}
addtask shared_workdir after do_compile before do_compile_kernelmodules
addtask shared_workdir_setscene
do_shared_workdir_setscene () {
exit 1
}
emit_depmod_pkgdata() {
# Stash data for depmod
install -d ${PKGDESTWORK}/${KERNEL_PACKAGE_NAME}-depmod/
echo "${KERNEL_VERSION}" > ${PKGDESTWORK}/${KERNEL_PACKAGE_NAME}-depmod/${KERNEL_PACKAGE_NAME}-abiversion
cp ${B}/System.map ${PKGDESTWORK}/${KERNEL_PACKAGE_NAME}-depmod/System.map-${KERNEL_VERSION}
}
PACKAGEFUNCS += "emit_depmod_pkgdata"
do_shared_workdir[cleandirs] += " ${STAGING_KERNEL_BUILDDIR}"
do_shared_workdir () {
cd ${B}
kerneldir=${STAGING_KERNEL_BUILDDIR}
install -d $kerneldir
#
# Store the kernel version in sysroots for module-base.bbclass
#
echo "${KERNEL_VERSION}" > $kerneldir/${KERNEL_PACKAGE_NAME}-abiversion
echo "${KERNEL_LOCALVERSION}" > $kerneldir/${KERNEL_PACKAGE_NAME}-localversion
# Copy files required for module builds
cp System.map $kerneldir/System.map-${KERNEL_VERSION}
! [ -e Module.symvers ] || cp Module.symvers $kerneldir/
cp .config $kerneldir/
mkdir -p $kerneldir/include/config
cp include/config/kernel.release $kerneldir/include/config/kernel.release
if [ -e certs/signing_key.x509 ]; then
# The signing_key.* files are stored in the certs/ dir in
# newer Linux kernels
mkdir -p $kerneldir/certs
cp certs/signing_key.* $kerneldir/certs/
elif [ -e signing_key.priv ]; then
cp signing_key.* $kerneldir/
fi
# We can also copy over all the generated files and avoid special cases
# like version.h, but we've opted to keep this small until file creep starts
# to happen
if [ -e include/linux/version.h ]; then
mkdir -p $kerneldir/include/linux
cp include/linux/version.h $kerneldir/include/linux/version.h
fi
# As of Linux kernel version 3.0.1, the clean target removes
# arch/powerpc/lib/crtsavres.o which is present in
# KBUILD_LDFLAGS_MODULE, making it required to build external modules.
if [ ${ARCH} = "powerpc" ]; then
if [ -e arch/powerpc/lib/crtsavres.o ]; then
mkdir -p $kerneldir/arch/powerpc/lib/
cp arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
fi
fi
if [ -d include/generated ]; then
mkdir -p $kerneldir/include/generated/
cp -fR include/generated/* $kerneldir/include/generated/
fi
if [ -d arch/${ARCH}/include/generated ]; then
mkdir -p $kerneldir/arch/${ARCH}/include/generated/
cp -fR arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/
fi
if (grep -q -i -e '^CONFIG_UNWINDER_ORC=y$' $kerneldir/.config); then
# With CONFIG_UNWINDER_ORC (the default in 4.14), objtool is required for
# out-of-tree modules to be able to generate object files.
if [ -x tools/objtool/objtool ]; then
mkdir -p ${kerneldir}/tools/objtool
cp tools/objtool/objtool ${kerneldir}/tools/objtool/
fi
fi
# When building with CONFIG_MODVERSIONS=y and CONFIG_RANDSTRUCT=y we need
# to copy the build assets generated for the randstruct seed to
# STAGING_KERNEL_BUILDDIR, otherwise the out-of-tree modules build will
# generate those assets which will result in a different
# RANDSTRUCT_HASHED_SEED
if [ -d scripts/basic ]; then
mkdir -p ${kerneldir}/scripts
cp -r scripts/basic ${kerneldir}/scripts
fi
if [ -d scripts/gcc-plugins ]; then
mkdir -p ${kerneldir}/scripts
cp -r scripts/gcc-plugins ${kerneldir}/scripts
fi
}
# We don't need to stage anything, not the modules/firmware since those would clash with linux-firmware
SYSROOT_DIRS = ""
KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} O=${B} olddefconfig || oe_runmake -C ${S} O=${B} oldnoconfig"
python check_oldest_kernel() {
oldest_kernel = d.getVar('OLDEST_KERNEL')
kernel_version = d.getVar('KERNEL_VERSION')
tclibc = d.getVar('TCLIBC')
if tclibc == 'glibc':
kernel_version = kernel_version.split('-', 1)[0]
if oldest_kernel and kernel_version:
if bb.utils.vercmp_string(kernel_version, oldest_kernel) < 0:
bb.warn('%s: OLDEST_KERNEL is "%s" but the version of the kernel you are building is "%s" - therefore %s as built may not be compatible with this kernel. Either set OLDEST_KERNEL to an older version, or build a newer kernel.' % (d.getVar('PN'), oldest_kernel, kernel_version, tclibc))
}
check_oldest_kernel[vardepsexclude] += "OLDEST_KERNEL KERNEL_VERSION"
do_compile[postfuncs] += "check_oldest_kernel"
KERNEL_LOCALVERSION ??= ""
# 6.3+ requires the variable LOCALVERSION to be set to not get a "+" in
# the local version. Having it empty means nothing will be added, and any
# value will be appended to the local kernel version. This replaces the
# use of .scmversion file for setting a localversion without using
# the CONFIG_LOCALVERSION option.
#
# Note: This class saves the value of localversion to a file
# so other recipes like make-mod-scripts can restore it via the
# helper function get_kernellocalversion_file
export LOCALVERSION = "${KERNEL_LOCALVERSION}"
kernel_legacyhs_do_configure() {
# fixes extra + in /lib/modules/2.6.37+
# $ scripts/setlocalversion . => +
# $ make kernelversion => 2.6.37
# $ make kernelrelease => 2.6.37+
# See kernel-arch.bbclass for post v6.3 removal of the extra
# + in localversion. .scmversion is no longer used, and the
# variable LOCALVERSION must be used
if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]; then
echo ${KERNEL_LOCALVERSION} > ${B}/.scmversion
echo ${KERNEL_LOCALVERSION} > ${S}/.scmversion
fi
if [ "${S}" != "${B}" ] && [ -f "${S}/.config" ] && [ ! -f "${B}/.config" ]; then
mv "${S}/.config" "${B}/.config"
fi
# Copy defconfig to .config if .config does not exist. This allows
# recipes to manage the .config themselves in do_configure:prepend().
if [ -f "${UNPACKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then
cp "${UNPACKDIR}/defconfig" "${B}/.config"
fi
${KERNEL_CONFIG_COMMAND}
}
inherit cml1 pkgconfig
EXPORT_FUNCTIONS do_compile do_transform_kernel do_transform_bundled_initramfs do_install do_configure
# kernel-base becomes kernel-${KERNEL_VERSION}
# kernel-image becomes kernel-image-${KERNEL_VERSION}
PACKAGES = "${KERNEL_PACKAGE_NAME} ${KERNEL_PACKAGE_NAME}-base ${KERNEL_PACKAGE_NAME}-vmlinux ${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-dev ${KERNEL_PACKAGE_NAME}-modules ${KERNEL_PACKAGE_NAME}-dbg"
FILES:${PN} = ""
FILES:${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo"
FILES:${KERNEL_PACKAGE_NAME}-image = ""
FILES:${KERNEL_PACKAGE_NAME}-dev = "/${KERNEL_IMAGEDEST}/System.map* /${KERNEL_IMAGEDEST}/Module.symvers* /${KERNEL_IMAGEDEST}/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
FILES:${KERNEL_PACKAGE_NAME}-vmlinux = "/${KERNEL_IMAGEDEST}/vmlinux-${KERNEL_VERSION_NAME}"
FILES:${KERNEL_PACKAGE_NAME}-modules = ""
FILES:${KERNEL_PACKAGE_NAME}-dbg = "/usr/lib/debug /usr/src/debug"
RDEPENDS:${KERNEL_PACKAGE_NAME} = "${KERNEL_PACKAGE_NAME}-base (= ${EXTENDPKGV})"
# Allow machines to override this dependency if kernel image files are
# not wanted in images as standard
RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base ?= "${KERNEL_PACKAGE_NAME}-image (= ${EXTENDPKGV})"
PKG:${KERNEL_PACKAGE_NAME}-image = "${KERNEL_PACKAGE_NAME}-image-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
RPROVIDES:${KERNEL_PACKAGE_NAME}-image += "${KERNEL_PACKAGE_NAME}-image"
RDEPENDS:${KERNEL_PACKAGE_NAME}-image += "${@oe.utils.conditional('KERNEL_IMAGETYPE', 'vmlinux', '${KERNEL_PACKAGE_NAME}-vmlinux (= ${EXTENDPKGV})', '', d)}"
PKG:${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
RPROVIDES:${KERNEL_PACKAGE_NAME}-base += "${KERNEL_PACKAGE_NAME}-${KERNEL_VERSION} ${KERNEL_PACKAGE_NAME}-base"
ALLOW_EMPTY:${KERNEL_PACKAGE_NAME} = "1"
ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-base = "1"
ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-image = "1"
ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-modules = "1"
DESCRIPTION:${KERNEL_PACKAGE_NAME}-modules = "Kernel modules meta package"
pkg_postinst:${KERNEL_PACKAGE_NAME}-base () {
if [ ! -e "$D/lib/modules/${KERNEL_VERSION}" ]; then
mkdir -p $D/lib/modules/${KERNEL_VERSION}
fi
if [ -n "$D" ]; then
depmodwrapper -a -b $D ${KERNEL_VERSION} ${KERNEL_PACKAGE_NAME}
else
depmod -a ${KERNEL_VERSION}
fi
}
PACKAGESPLITFUNCS =+ "split_kernel_packages"
python split_kernel_packages () {
do_split_packages(d, root='${nonarch_base_libdir}/firmware', file_regex=r'^(.*)\.(bin|fw|cis|csp|dsp)$', output_pattern='${KERNEL_PACKAGE_NAME}-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
}
# Many scripts want to look in arch/$arch/boot for the bootable
# image. This poses a problem for vmlinux and vmlinuz based
# booting. This task arranges to have vmlinux and vmlinuz appear
# in the normalized directory location.
do_kernel_link_images() {
if [ ! -d "${B}/arch/${ARCH}/boot" ]; then
mkdir ${B}/arch/${ARCH}/boot
fi
cd ${B}/arch/${ARCH}/boot
ln -sf ../../../vmlinux
if [ -f ../../../vmlinuz ]; then
ln -sf ../../../vmlinuz
fi
if [ -f ../../../vmlinuz.bin ]; then
ln -sf ../../../vmlinuz.bin
fi
if [ -f ../../../vmlinux.64 ]; then
ln -sf ../../../vmlinux.64
fi
}
addtask kernel_link_images after do_compile before do_strip
python do_strip() {
import shutil
strip = d.getVar('KERNEL_STRIP')
extra_sections = d.getVar('KERNEL_IMAGE_STRIP_EXTRA_SECTIONS')
kernel_image = d.getVar('B') + "/" + d.getVar('KERNEL_OUTPUT_DIR') + "/vmlinux"
if (extra_sections and kernel_image.find(d.getVar('KERNEL_IMAGEDEST') + '/vmlinux') != -1):
kernel_image_stripped = kernel_image + ".stripped"
shutil.copy2(kernel_image, kernel_image_stripped)
oe.package.runstrip((kernel_image_stripped, 8, strip, extra_sections))
bb.debug(1, "KERNEL_IMAGE_STRIP_EXTRA_SECTIONS is set, stripping sections: " + \
extra_sections)
}
do_strip[dirs] = "${B}"
addtask strip before do_sizecheck after do_kernel_link_images
# Support checking the kernel size since some kernels need to reside in partitions
# with a fixed length or there is a limit in transferring the kernel to memory.
# If more than one image type is enabled, warn on any that don't fit but only fail
# if none fit.
do_sizecheck() {
if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then
invalid=`echo ${KERNEL_IMAGE_MAXSIZE} | sed 's/[0-9]//g'`
if [ -n "$invalid" ]; then
die "Invalid KERNEL_IMAGE_MAXSIZE: ${KERNEL_IMAGE_MAXSIZE}, should be an integer (The unit is Kbytes)"
fi
at_least_one_fits=
for imageType in ${KERNEL_IMAGETYPES} ; do
size=`du -ks ${B}/${KERNEL_OUTPUT_DIR}/$imageType | awk '{print $1}'`
if [ $size -gt ${KERNEL_IMAGE_MAXSIZE} ]; then
bbwarn "This kernel $imageType (size=$size(K) > ${KERNEL_IMAGE_MAXSIZE}(K)) is too big for your device."
else
at_least_one_fits=y
fi
done
if [ -z "$at_least_one_fits" ]; then
die "All kernel images are too big for your device. Please reduce the size of the kernel by making more of it modular."
fi
fi
}
do_sizecheck[dirs] = "${B}"
addtask sizecheck before do_install after do_strip
inherit kernel-artifact-names
kernel_legacyhs_do_deploy() {
deployDir="${DEPLOYDIR}"
if [ -n "${KERNEL_DEPLOYSUBDIR}" ]; then
deployDir="${DEPLOYDIR}/${KERNEL_DEPLOYSUBDIR}"
mkdir "$deployDir"
fi
for imageType in ${KERNEL_IMAGETYPES} ; do
baseName=$imageType-${KERNEL_IMAGE_NAME}
if [ -s ${KERNEL_OUTPUT_DIR}/$imageType.stripped ] ; then
install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType.stripped $deployDir/$baseName${KERNEL_IMAGE_BIN_EXT}
else
install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType $deployDir/$baseName${KERNEL_IMAGE_BIN_EXT}
fi
if [ -n "${KERNEL_IMAGE_LINK_NAME}" ] ; then
ln -sf $baseName${KERNEL_IMAGE_BIN_EXT} $deployDir/$imageType-${KERNEL_IMAGE_LINK_NAME}${KERNEL_IMAGE_BIN_EXT}
fi
if [ "${KERNEL_IMAGETYPE_SYMLINK}" = "1" ] ; then
ln -sf $baseName${KERNEL_IMAGE_BIN_EXT} $deployDir/$imageType
fi
done
if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
mkdir -p ${D}${root_prefix}/lib
if [ -n "${SOURCE_DATE_EPOCH}" ]; then
TAR_ARGS="--sort=name --clamp-mtime --mtime=@${SOURCE_DATE_EPOCH}"
else
TAR_ARGS=""
fi
TAR_ARGS="$TAR_ARGS --owner=0 --group=0"
tar $TAR_ARGS -cv -C ${D}${root_prefix} lib | gzip -9n > $deployDir/modules-${MODULE_TARBALL_NAME}.tgz
if [ -n "${MODULE_TARBALL_LINK_NAME}" ] ; then
ln -sf modules-${MODULE_TARBALL_NAME}.tgz $deployDir/modules-${MODULE_TARBALL_LINK_NAME}.tgz
fi
fi
if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; then
for imageType in ${KERNEL_IMAGETYPES} ; do
if [ "$imageType" = "fitImage" ] ; then
continue
fi
initramfsBaseName=$imageType-${INITRAMFS_NAME}
install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType.initramfs $deployDir/$initramfsBaseName${KERNEL_IMAGE_BIN_EXT}
if [ -n "${INITRAMFS_LINK_NAME}" ] ; then
ln -sf $initramfsBaseName${KERNEL_IMAGE_BIN_EXT} $deployDir/$imageType-${INITRAMFS_LINK_NAME}${KERNEL_IMAGE_BIN_EXT}
fi
done
fi
}
# We deploy to filenames that include PKGV and PKGR, read the saved data to
# ensure we get the right values for both
do_deploy[prefuncs] += "read_subpackage_metadata"
addtask deploy after do_populate_sysroot do_packagedata
EXPORT_FUNCTIONS do_deploy
# Add using Device Tree support
inherit kernel-devicetree

View File

@@ -1,43 +0,0 @@
# Generate list of DTBs from the kernel source
def get_dtbs_from_kernel(dts_dir, dts_prefix):
import os
import glob
matches = []
for prefix in dts_prefix.split():
filenames = glob.glob(dts_dir + prefix + '*.dts')
filenames += glob.glob(dts_dir + prefix + '*.dtso')
for filename in filenames:
# Before v6.2 kernels DTB Overlays shared the same name as DTB files
# so we need to search the file to find the type
with open(filename) as f:
file_postfix = '.dtbo' if '/plugin/;' in f.read() else '.dtb'
filename = os.path.split(filename)[1]
filename = os.path.splitext(filename)[0] + file_postfix
filename = os.path.join(os.path.split(prefix)[0], filename)
matches.append(filename)
return ' '.join(matches)
# Generate list of "merged" DTBs from the kernel source
# It is TI custom feature to merge DTB overlays into a single DTB
def get_merge_dtbs_from_kernel(dts_dir, dts_pattern):
import os
matches = []
if dts_dir == "":
return ' '
for pattern in dts_pattern.split():
pattern_dir = os.path.split(pattern)[0]
pattern_target = os.path.split(pattern)[1].replace(".","-") + "s"
makefile = dts_dir + "/" + pattern_dir + "/Makefile"
if os.path.exists(makefile):
with open(makefile) as f:
if pattern_target in f.read():
matches.append(pattern)
return ' '.join(matches)
KERNEL_DEVICETREE = " \
${@get_dtbs_from_kernel('${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts/', '${KERNEL_DEVICETREE_PREFIX}')} \
${@get_merge_dtbs_from_kernel('${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts/', '${KERNEL_DEVICETREE_DTBMERGE}')} \
"
do_image_wic[depends] += "virtual/kernel:do_shared_workdir"

View File

@@ -1,20 +0,0 @@
# Helper class to prepare correct environment for signing with TI Security Development Tools
# K3 SECDEV scripts use OpenSSL
DEPENDS:append:k3 = " openssl-native"
DEPENDS:append:k3r5 = " openssl-native"
# Use package version of TI SECDEV for K3 if one is not provided through the environment
DEPENDS:append:k3 = "${@ '' if d.getVar('TI_SECURE_DEV_PKG_K3') else ' ti-k3-secdev-native' }"
DEPENDS:append:k3r5 = "${@ '' if d.getVar('TI_SECURE_DEV_PKG_K3') else ' ti-k3-secdev-native' }"
TI_K3_SECDEV_INSTALL_DIR = "${STAGING_DIR_NATIVE}${datadir}/ti/ti-k3-secdev"
TI_SECURE_DEV_PKG:k3 = "${@ d.getVar('TI_SECURE_DEV_PKG_K3') or d.getVar('TI_K3_SECDEV_INSTALL_DIR') }"
TI_SECURE_DEV_PKG:k3r5 = "${@ d.getVar('TI_SECURE_DEV_PKG_K3') or d.getVar('TI_K3_SECDEV_INSTALL_DIR') }"
# For non-K3 we require the SECDEV tools be provided through the environment with the following vars
TI_SECURE_DEV_PKG:ti33x = "${TI_SECURE_DEV_PKG_CAT}/am3x"
TI_SECURE_DEV_PKG:ti43x = "${TI_SECURE_DEV_PKG_CAT}/am4x"
TI_SECURE_DEV_PKG:am57xx = "${TI_SECURE_DEV_PKG_AUTO}/am5x"
# The SECDEV scripts may need their own location provided through the environment
export TI_SECURE_DEV_PKG

View File

@@ -1,131 +0,0 @@
# This file is part of U-Boot verified boot support and is intended to be
# inherited from u-boot recipe and from kernel-fitimage.bbclass.
#
# The signature procedure requires the user to generate an RSA key and
# certificate in a directory and to define the following variable:
#
# UBOOT_SIGN_KEYDIR = "/keys/directory"
# UBOOT_SIGN_KEYNAME = "dev" # keys name in keydir (eg. "dev.crt", "dev.key")
# UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb -p 2000"
# UBOOT_SIGN_ENABLE = "1"
#
# As verified boot depends on fitImage generation, following is also required:
#
# KERNEL_CLASSES ?= " kernel-fitimage "
# KERNEL_IMAGETYPE ?= "fitImage"
#
# The signature support is limited to the use of CONFIG_OF_SEPARATE in U-Boot.
#
# The tasks sequence is set as below, using DEPLOY_IMAGE_DIR as common place to
# treat the device tree blob:
#
# * u-boot:do_install:append
# Install UBOOT_DTB_BINARY to datadir, so that kernel can use it for
# signing, and kernel will deploy UBOOT_DTB_BINARY after signs it.
#
# * virtual/kernel:do_assemble_fitimage
# Sign the image
#
# * u-boot:do_deploy[postfuncs]
# Deploy files like UBOOT_DTB_IMAGE, UBOOT_DTB_SYMLINK and others.
#
# For more details on signature process, please refer to U-Boot documentation.
# Signature activation.
UBOOT_SIGN_ENABLE ?= "0"
# Default value for deployment filenames.
UBOOT_DTB_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.dtb"
UBOOT_DTB_BINARY ?= "u-boot.dtb"
UBOOT_DTB_SYMLINK ?= "u-boot-${MACHINE}.dtb"
UBOOT_NODTB_IMAGE ?= "u-boot-nodtb-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
UBOOT_NODTB_BINARY ?= "u-boot-nodtb.${UBOOT_SUFFIX}"
UBOOT_NODTB_SYMLINK ?= "u-boot-nodtb-${MACHINE}.${UBOOT_SUFFIX}"
# Functions in this bbclass is for u-boot only
UBOOT_PN = "${@d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'}"
concat_dtb_helper() {
if [ -e "${UBOOT_DTB_BINARY}" ]; then
ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_BINARY}
ln -sf ${UBOOT_DTB_IMAGE} ${DEPLOYDIR}/${UBOOT_DTB_SYMLINK}
fi
if [ -f "${UBOOT_NODTB_BINARY}" ]; then
install ${UBOOT_NODTB_BINARY} ${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}
ln -sf ${UBOOT_NODTB_IMAGE} ${DEPLOYDIR}/${UBOOT_NODTB_SYMLINK}
ln -sf ${UBOOT_NODTB_IMAGE} ${DEPLOYDIR}/${UBOOT_NODTB_BINARY}
fi
# Concatenate U-Boot w/o DTB & DTB with public key
# (cf. kernel-fitimage.bbclass for more details)
deployed_uboot_dtb_binary='${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE}'
if [ "x${UBOOT_SUFFIX}" = "ximg" -o "x${UBOOT_SUFFIX}" = "xrom" ] && \
[ -e "$deployed_uboot_dtb_binary" ]; then
oe_runmake EXT_DTB=$deployed_uboot_dtb_binary
install ${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "$deployed_uboot_dtb_binary" ]; then
cd ${DEPLOYDIR}
cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${B}/${CONFIG_B_PATH}/${UBOOT_BINARY} > ${UBOOT_IMAGE}
else
bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available."
fi
}
concat_dtb() {
if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" -a -n "${UBOOT_DTB_BINARY}" ]; then
mkdir -p ${DEPLOYDIR}
if [ -n "${UBOOT_CONFIG}" ]; then
for config in ${UBOOT_MACHINE}; do
CONFIG_B_PATH="${config}"
cd ${B}/${config}
concat_dtb_helper
done
else
CONFIG_B_PATH=""
cd ${B}
concat_dtb_helper
fi
fi
}
# Install UBOOT_DTB_BINARY to datadir, so that kernel can use it for
# signing, and kernel will deploy UBOOT_DTB_BINARY after signs it.
install_helper() {
if [ -f "${UBOOT_DTB_BINARY}" ]; then
install -d ${D}${datadir}
# UBOOT_DTB_BINARY is a symlink to UBOOT_DTB_IMAGE, so we
# need both of them.
install ${UBOOT_DTB_BINARY} ${D}${datadir}/${UBOOT_DTB_IMAGE}
ln -sf ${UBOOT_DTB_IMAGE} ${D}${datadir}/${UBOOT_DTB_BINARY}
else
bbwarn "${UBOOT_DTB_BINARY} not found"
fi
}
do_install:append() {
if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${PN}" = "${UBOOT_PN}" -a -n "${UBOOT_DTB_BINARY}" ]; then
if [ -n "${UBOOT_CONFIG}" ]; then
for config in ${UBOOT_MACHINE}; do
cd ${B}/${config}
install_helper
done
else
cd ${B}
install_helper
fi
fi
}
python () {
if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == d.getVar('UBOOT_PN') and d.getVar('UBOOT_DTB_BINARY'):
kernel_pn = d.getVar('PREFERRED_PROVIDER_virtual/kernel')
# Make "bitbake u-boot -cdeploy" deploys the signed u-boot.dtb
d.appendVarFlag('do_deploy', 'depends', ' %s:do_deploy' % kernel_pn)
# kernerl's do_deploy is a litle special, so we can't use
# do_deploy:append, otherwise it would override
# kernel_do_deploy.
d.appendVarFlag('do_deploy', 'prefuncs', ' concat_dtb')
}

View File

@@ -1,43 +0,0 @@
# We have a conf and classes directory, append to BBPATH
BBPATH .= ":${LAYERDIR}"
METATIBASE := '${@os.path.normpath("${LAYERDIR}/")}'
# We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "meta-ti-bsp"
BBFILE_PATTERN_meta-ti-bsp := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-ti-bsp = "6"
LAYERSERIES_COMPAT_meta-ti-bsp = "whinlatter"
LICENSE_PATH += "${LAYERDIR}/licenses"
LAYERDEPENDS_meta-ti-bsp = " \
core \
meta-arm \
"
LAYERRECOMMENDS_meta-ti-bsp = " \
openembedded-layer \
"
BBFILES_DYNAMIC += " \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/recipes*/*/*.bbappend \
"
SIGGEN_EXCLUDERECIPES_ABISAFE += " \
mesa-pvr \
"
HOSTTOOLS_NONFATAL += "truncate xxd comm"
TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti"
DEPLOY_DIR_IMAGE:ti-soc = "${TI_COMMON_DEPLOY}/images/${MACHINE}"
SDK_DEPLOY:ti-soc = "${TI_COMMON_DEPLOY}/sdk"
PSEUDO_IGNORE_PATHS:append:ti-soc = ",${TI_COMMON_DEPLOY}"
MIRRORS += " \
git://git.ti.com/.* git://github.com/TexasInstruments/BASENAME;protocol=https \
gitsm://git.ti.com/.* gitsm://github.com/TexasInstruments/BASENAME;protocol=https \
"

View File

@@ -1,23 +0,0 @@
#@TYPE: Machine
#@NAME: AM335x HS EVM
#@DESCRIPTION: Machine configuration for the TI AM335x HS EVM
require conf/machine/am335x-evm.conf
UBOOT_MACHINE = ""
# Last config in the list is default
UBOOT_CONFIG ??= "uart mmc"
UBOOT_CONFIG[uart] = "am335x_hs_evm_uart_config"
UBOOT_CONFIG[mmc] = "am335x_hs_evm_config"
# FIT image for legacy secure devices
KERNEL_BASE_CLASS = "kernel_legacyhs"
KERNEL_CLASSES += " kernel-fitimage-legacyhs"
KERNEL_IMAGETYPES += " fitImage"
# FIT image settings
FITIMAGE_HASH_ALGO = ""
FITIMAGE_DTB_BY_NAME = "1"
FITIMAGE_TEE_BY_NAME = "1"
FITIMAGE_CONF_BY_NAME = "1"
FIT_CONF_DEFAULT_DTB = "am335x-evm.dtb"

View File

@@ -1,25 +0,0 @@
#@TYPE: Machine
#@NAME: AM437x HS EVM
#@DESCRIPTION: Machine configuration for the TI AM437x HS EVM
require conf/machine/am437x-evm.conf
UBOOT_MACHINE = "am43xx_hs_evm_config"
OPTEEMACHINE = "ti-am43xx"
OPTEEFLAVOR = "am43xx"
EXTRA_IMAGEDEPENDS += "optee-os"
# FIT image for legacy secure devices
KERNEL_BASE_CLASS = "kernel_legacyhs"
KERNEL_CLASSES += " kernel-fitimage-legacyhs"
KERNEL_IMAGETYPES += " fitImage"
# FIT image settings
FITIMAGE_HASH_ALGO = ""
FITIMAGE_PACK_TEE = "1"
FITIMAGE_DTB_BY_NAME = "1"
FITIMAGE_TEE_BY_NAME = "1"
FITIMAGE_CONF_BY_NAME = "1"
FIT_CONF_DEFAULT_DTB = "am437x-gp-evm.dtb"

View File

@@ -1,67 +0,0 @@
#@TYPE: Machine
#@NAME: AM57xx EVM
#@DESCRIPTION: Machine configuration for the TI AM57xx EVM
require conf/machine/include/am57xx.inc
MACHINE_FEATURES += "touchscreen"
SERIAL_CONSOLES = "115200;ttyS2"
KERNEL_DEVICETREE_PREFIX = " \
am57 \
ov10635 \
ti/am57 \
ti/lcd \
ti/ov10635 \
ti/omap/am57 \
"
KERNEL_DEVICETREE_DTBMERGE = " \
am57xx-evm.dtb \
am57xx-evm-reva3.dtb \
ti/omap/am57xx-evm.dtb \
ti/omap/am57xx-evm-reva3.dtb \
"
KERNEL_DEVICETREE = " \
ti/omap/am571x-idk-touchscreen.dtbo \
ti/omap/am571x-idk.dtb \
ti/omap/am5729-beagleboneai.dtb \
ti/omap/am572x-idk-touchscreen.dtbo \
ti/omap/am572x-idk.dtb \
ti/omap/am574x-idk.dtb \
ti/omap/am57xx-beagle-x15-revb1.dtb \
ti/omap/am57xx-beagle-x15-revc.dtb \
ti/omap/am57xx-beagle-x15.dtb \
ti/omap/am57xx-cl-som-am57x.dtb \
ti/omap/am57xx-evm-reva3.dtb \
ti/omap/am57xx-evm.dtb \
ti/omap/am57xx-evm.dtbo \
ti/omap/am57xx-idk-lcd-osd101t2045.dtbo \
ti/omap/am57xx-idk-lcd-osd101t2587.dtbo \
ti/omap/am57xx-sbc-am57x.dtb \
"
UBOOT_MACHINE = "am57xx_evm_config"
# UBI information. Note that this is board and kernel specific. Changes
# in your kernel port may require changes in these variables. For more
# details about this board please see
# http://processors.wiki.ti.com/index.php/UBIFS_Support
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 126976 bytes
# from ubiattach stdout:
# UBI device number 0, total 1988 LEBs
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 8192"
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 512
# UBI: VID header offset: 2048 (aligned 2048)
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048"

View File

@@ -1,26 +0,0 @@
#@TYPE: Machine
#@NAME: AM57xx HS EVM
#@DESCRIPTION: Machine configuration for the TI AM57xx HS EVM
require conf/machine/am57xx-evm.conf
UBOOT_MACHINE = "am57xx_hs_evm_config"
OPTEEMACHINE = "ti-am57xx"
OPTEEFLAVOR = "am57xx"
OPTEEPAGER = "y"
EXTRA_IMAGEDEPENDS += "optee-os"
# FIT image for legacy secure devices
KERNEL_BASE_CLASS = "kernel_legacyhs"
KERNEL_CLASSES += " kernel-fitimage-legacyhs"
KERNEL_IMAGETYPES += " fitImage"
# FIT image settings
FITIMAGE_HASH_ALGO = ""
FITIMAGE_PACK_TEE = "1"
FITIMAGE_DTB_BY_NAME = "1"
FITIMAGE_TEE_BY_NAME = "1"
FITIMAGE_CONF_BY_NAME = "1"
FIT_CONF_DEFAULT_DTB = "am57xx-evm.dtb"

View File

@@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: AM62A HS-FS EVM (R5F)
#@DESCRIPTION: Machine configuration for the TI AM62A EVM (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am62ax_evm_r5_defconfig"
UBOOT_CONFIG_FRAGMENTS:ti-falcon = "k3_r5_falcon.config"

View File

@@ -1,29 +0,0 @@
#@TYPE: Machine
#@NAME: AM62AXX EVM
#@DESCRIPTION: Machine configuration for the TI AM62AXX EVM
require conf/machine/include/am62axx.inc
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am62a7 \
ti/k3-am62x-sk \
ti/k3-fpdlink \
ti/k3-v3link \
"
KERNEL_DEVICETREE_DTBMERGE = " \
ti/k3-am62a7-sk-ub954-evm-ov2312.dtb \
"
KERNEL_DEVICETREE = " \
ti/k3-am62a7-phyboard-lyra-rdk.dtb \
ti/k3-am62a7-sk.dtb \
ti/k3-am62x-sk-csi2-imx219.dtbo \
ti/k3-am62x-sk-csi2-ov5640.dtbo \
ti/k3-am62x-sk-csi2-tevi-ov5640.dtbo \
ti/k3-am62x-sk-hdmi-audio.dtbo \
"
FIT_CONF_DEFAULT_DTB = "k3-am62a7-sk.dtb"
UBOOT_MACHINE = "am62ax_evm_a53_defconfig"

View File

@@ -1,7 +0,0 @@
#@TYPE: Machine
#@NAME: AM62D HS-FS EVM (R5F)
#@DESCRIPTION: Machine configuration for the TI AM62D EVM (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am62dx_evm_r5_defconfig"

View File

@@ -1,20 +0,0 @@
#@TYPE: Machine
#@NAME: AM62DXX EVM
#@DESCRIPTION: Machine configuration for the TI AM62DXX EVM
require conf/machine/include/am62dxx.inc
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am62d2 \
ti/k3-am62a7-sk-edgeai \
ti/k3-am62x-sk \
ti/k3-am62a7-sk-rpi-hdr-ehrpwm \
"
KERNEL_DEVICETREE = ""
FIT_CONF_DEFAULT_DTB = "k3-am62d2-evm.dtb"
UBOOT_MACHINE = "am62dx_evm_a53_defconfig"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "ti-dac-fw"

View File

@@ -1,19 +0,0 @@
#@TYPE: Machine
#@NAME: AM62L EVM
#@DESCRIPTION: Machine configuration for the TI AM62L EVM
require conf/machine/include/am62lxx.inc
IMAGE_FSTYPES += "ubifs ubi"
MKUBIFS_ARGS ?= "-F -m 4096 -e 258048 -c 8500"
UBINIZE_ARGS ?= "-m 4096 -p 256KiB -s 1024 -O 1024"
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am62l \
"
KERNEL_DEVICETREE = ""
UBOOT_MACHINE = "am62lx_evm_defconfig"

View File

@@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: AM62PX EVM (R5F)
#@DESCRIPTION: Machine configuration for the TI AM62Px EVM (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am62px_evm_r5_defconfig"
UBOOT_CONFIG_FRAGMENTS:ti-falcon = "k3_r5_falcon.config"

View File

@@ -1,33 +0,0 @@
#@TYPE: Machine
#@NAME: AM62PX EVM
#@DESCRIPTION: Machine configuration for the TI AM62PX EVM
require conf/machine/include/am62pxx.inc
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am62p5 \
ti/k3-am62x-sk-csi2 \
ti/k3-am62x-sk-hdmi \
ti/k3-am62x-sk-lpm \
ti/k3-am62x-sk-mcspi-loopback \
ti/k3-v3link \
"
KERNEL_DEVICETREE = " \
ti/k3-am62p5-sk.dtb \
ti/k3-am62x-sk-csi2-imx219.dtbo \
ti/k3-am62x-sk-csi2-ov5640.dtbo \
ti/k3-am62x-sk-csi2-tevi-ov5640.dtbo \
ti/k3-am62x-sk-hdmi-audio.dtbo \
"
FIT_CONF_DEFAULT_DTB = "k3-am62p5-sk.dtb"
UBOOT_MACHINE = "am62px_evm_a53_defconfig"
# UBOOT_CONFIG_FRAGMENTS holds the list of u-boot config fragments which has to be build
# along with the base defconfig mentioned in UBOOT_MACHINE. Refer u-boot-mergeconfig.inc
# under meta-ti-bsp/recipes-bsp/u-boot/ for more details.
# For AM62P tisdk-display-cluster image, splash screen is handled by SBL.
# Hence, disable the A53 based splash screen using the am62x_evm_prune_splashscreen.config fragment present in ti-u-boot tree
UBOOT_CONFIG_FRAGMENTS = "${@oe.utils.conditional('DISPLAY_CLUSTER_ENABLE', '1', 'am62x_evm_prune_splashscreen.config', '', d)}"

View File

@@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: AM62XX EVM (R5F)
#@DESCRIPTION: Machine configuration for the TI AM62xx EVM (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am62x_evm_r5_defconfig"
UBOOT_CONFIG_FRAGMENTS:ti-falcon = "k3_r5_falcon.config"

View File

@@ -1,35 +0,0 @@
#@TYPE: Machine
#@NAME: AM62XX EVM
#@DESCRIPTION: Machine configuration for the TI AM62XX EVM
require conf/machine/include/am62xx.inc
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am625 \
ti/k3-am62x-sk \
"
KERNEL_DEVICETREE = " \
ti/k3-am625-beagleplay-csi2-ov5640.dtbo \
ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtbo \
ti/k3-am625-beagleplay.dtb \
ti/k3-am625-phyboard-lyra-1-4-ghz-opp.dtbo \
ti/k3-am625-phyboard-lyra-rdk.dtb \
ti/k3-am625-sk.dtb \
ti/k3-am625-verdin-nonwifi-dahlia.dtb \
ti/k3-am625-verdin-nonwifi-dev.dtb \
ti/k3-am625-verdin-nonwifi-mallow.dtb \
ti/k3-am625-verdin-nonwifi-yavia.dtb \
ti/k3-am625-verdin-wifi-dahlia.dtb \
ti/k3-am625-verdin-wifi-dev.dtb \
ti/k3-am625-verdin-wifi-mallow.dtb \
ti/k3-am625-verdin-wifi-yavia.dtb \
ti/k3-am62x-sk-csi2-imx219.dtbo \
ti/k3-am62x-sk-csi2-ov5640.dtbo \
ti/k3-am62x-sk-csi2-tevi-ov5640.dtbo \
ti/k3-am62x-sk-hdmi-audio.dtbo \
"
FIT_CONF_DEFAULT_DTB = "k3-am625-sk.dtb"
UBOOT_MACHINE = "am62x_evm_a53_defconfig"

View File

@@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: AM62XX LP GP EVM (R5F)
#@DESCRIPTION: Machine configuration for the TI AM62xx LP GP EVM (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am62x_lpsk_r5_defconfig"
UBOOT_CONFIG_FRAGMENTS:ti-falcon = "k3_r5_falcon.config"

View File

@@ -1,28 +0,0 @@
#@TYPE: Machine
#@NAME: AM62XX LP EVM
#@DESCRIPTION: Machine configuration for the TI AM62XX LP EVM
require conf/machine/include/am62xx.inc
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am62-lp \
ti/k3-am625-sk \
ti/k3-am62x-sk-dmtimer-pwm \
ti/k3-am62x-sk-eqep \
ti/k3-am62x-sk-hdmi \
ti/k3-am62x-sk-lpm \
ti/k3-am62x-sk-mcan \
ti/k3-am62x-sk-mcspi-loopback \
ti/k3-am62x-sk-pwm \
"
KERNEL_DEVICETREE = " \
ti/k3-am62-lp-sk-nand.dtbo \
ti/k3-am62-lp-sk.dtb \
ti/k3-am625-sk.dtb \
ti/k3-am62x-sk-hdmi-audio.dtbo \
"
FIT_CONF_DEFAULT_DTB = "k3-am62-lp-sk.dtb"
UBOOT_MACHINE = "am62x_lpsk_a53_defconfig"

View File

@@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: AM62XX SIP EVM (R5F)
#@DESCRIPTION: Machine configuration for the TI AM62xx SIP EVM (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am6254xxl_evm_r5_defconfig"
UBOOT_MACHINE:bsp-ti-6_6 = "am62xsip_evm_r5_defconfig"
UBOOT_MACHINE:bsp-ti-6_18 = "am6254atl_evm_r5_defconfig"

View File

@@ -1,31 +0,0 @@
#@TYPE: Machine
#@NAME: AM62XX SIP EVM
#@DESCRIPTION: Machine configuration for the TI AM62XX SIP EVM
require conf/machine/include/am62xx.inc
TFA_K3_BL32_BASE = "0x80080000"
TFA_K3_BL32_BASE:bsp-ti-6_6 = ""
TFA_K3_PRELOADED_BL33 = "0x82000000"
TFA_K3_PRELOADED_BL33:bsp-ti-6_6 = ""
OPTEE_K3_TZDRAM_START = "0x80080000"
OPTEE_K3_TZDRAM_START:bsp-ti-6_6 = ""
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am625 \
ti/k3-am62x-sk \
"
KERNEL_DEVICETREE = " \
ti/k3-am625-sk.dtb \
"
FIT_CONF_DEFAULT_DTB = "k3-am6254xxl-sk.dtb"
FIT_CONF_DEFAULT_DTB:bsp-ti-6_6 = "k3-am625-sk.dtb"
FIT_CONF_DEFAULT_DTB:bsp-ti-6_18 = "k3-am6254atl-sk.dtb"
UBOOT_MACHINE = "am6254xxl_evm_a53_defconfig"
UBOOT_MACHINE:bsp-ti-6_6 = "am62xsip_evm_a53_defconfig"
UBOOT_MACHINE:bsp-ti-6_18 = "am6254atl_evm_a53_defconfig"

View File

@@ -1,7 +0,0 @@
#@TYPE: Machine
#@NAME: AM64xx EVM (R5F)
#@DESCRIPTION: Machine configuration for the TI AM64xx EVM (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am64x_evm_r5_defconfig"

View File

@@ -1,7 +0,0 @@
#@TYPE: Machine
#@NAME: AM64xx EVM
#@DESCRIPTION: Machine configuration for the TI AM64xx EVM
require conf/machine/include/am64xx.inc
UBOOT_MACHINE = "am64x_evm_a53_defconfig"

View File

@@ -1,7 +0,0 @@
#@TYPE: Machine
#@NAME: AM65xx EVM (R5F)
#@DESCRIPTION: Machine configuration for the TI AM65xx EVM (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am65x_evm_r5_defconfig"

View File

@@ -1,9 +0,0 @@
#@TYPE: Machine
#@NAME: AM65xx EVM
#@DESCRIPTION: Machine configuration for the TI AM65xx EVM
require conf/machine/include/am65xx.inc
UBOOT_MACHINE = "am65x_evm_a53_defconfig"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "prueth-fw pruhsr-fw prusw-fw"

View File

@@ -1,7 +0,0 @@
#@TYPE: Machine
#@NAME: AM68 SK (R5F)
#@DESCRIPTION: Machine configuration for the TI AM68 SK (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am68_sk_r5_defconfig"

View File

@@ -1,23 +0,0 @@
#@TYPE: Machine
#@NAME: AM68 SK
#@DESCRIPTION: Machine configuration for the TI AM68 SK
require conf/machine/include/am68.inc
TFA_K3_USART = "0x8"
OPTEE_K3_USART = "0x8"
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am68-sk \
ti/k3-fpdlink \
ti/k3-v3link \
ti/k3-j721e-sk-csi2-dual-imx219 \
ti/k3-j721e-sk-fpdlink-fusion \
"
KERNEL_DEVICETREE = " \
ti/k3-am68-sk-base-board.dtb \
ti/k3-j721e-sk-csi2-dual-imx219.dtbo \
"
UBOOT_MACHINE = "am68_sk_a72_defconfig"

View File

@@ -1,7 +0,0 @@
#@TYPE: Machine
#@NAME: AM69 SK (R5F)
#@DESCRIPTION: Machine configuration for the TI AM69 SK (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am69_sk_r5_defconfig"

View File

@@ -1,24 +0,0 @@
#@TYPE: Machine
#@NAME: AM69 SK
#@DESCRIPTION: Machine configuration for the TI AM69 SK
require conf/machine/include/am69.inc
TFA_K3_USART = "0x8"
OPTEE_K3_USART = "0x8"
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am69-sk \
ti/k3-fpdlink \
ti/k3-v3link \
ti/k3-am68-sk-v3link-fusion \
ti/k3-j721e-sk-csi2-dual-imx219 \
ti/k3-j721e-sk-fpdlink-fusion \
"
KERNEL_DEVICETREE = " \
ti/k3-am69-sk.dtb \
ti/k3-j721e-sk-csi2-dual-imx219.dtbo \
"
UBOOT_MACHINE = "am69_sk_a72_defconfig"

View File

@@ -1,21 +0,0 @@
#@TYPE: Machine
#@NAME: AM62L Badge
#@DESCRIPTION: Machine configuration for the TI AM62L Badge
require conf/machine/include/am62lxx.inc
IMAGE_FSTYPES += "ubifs ubi"
MKUBIFS_ARGS ?= "-F -m 4096 -e 258048 -c 8500"
UBINIZE_ARGS ?= "-m 4096 -p 256KiB -s 1024 -O 1024"
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am62l3-badge \
"
KERNEL_DEVICETREE = ""
UBOOT_MACHINE = "am62lx_badge_defconfig"
TFA_BOARD = "am62l-badge"

View File

@@ -1,7 +0,0 @@
#@TYPE: Machine
#@NAME: BeaglePlay (R5F)
#@DESCRIPTION: Machine configuration for the BeaglePlay (R5F core)
require conf/machine/include/k3r5.inc
UBOOT_MACHINE = "am62x_beagleplay_r5_defconfig"

View File

@@ -1,43 +0,0 @@
#@TYPE: Machine
#@NAME: BeaglePlay (A53)
#@DESCRIPTION: Machine configuration for the BeaglePlay board (A53 core)
require conf/machine/include/k3.inc
require conf/machine/include/mc_k3r5.inc
SOC_FAMILY:append = ":am62xx"
MACHINE_FEATURES += "screen"
SERIAL_CONSOLES = "115200;ttyS2"
require conf/machine/include/mesa-pvr.inc
PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_ROGUE_DRIVER_PROVIDER}"
TFA_BOARD = "lite"
TFA_K3_SYSTEM_SUSPEND = "1"
OPTEEMACHINE = "k3-am62x"
UBOOT_MACHINE = "am62x_beagleplay_a53_defconfig"
SPL_BINARY = "tispl.bin_unsigned"
KERNEL_DEVICETREE_PREFIX = " \
ti/k3-am625-beagle \
ti/k3-am625-sk \
ti/k3-am62x-sk \
"
KERNEL_DEVICETREE = " \
ti/k3-am625-beagleplay-csi2-ov5640.dtbo \
ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtbo \
ti/k3-am625-beagleplay.dtb \
ti/k3-am625-sk.dtb \
ti/k3-am62x-sk-csi2-imx219.dtbo \
ti/k3-am62x-sk-csi2-ov5640.dtbo \
ti/k3-am62x-sk-csi2-tevi-ov5640.dtbo \
ti/k3-am62x-sk-hdmi-audio.dtbo \
"
MACHINE_GUI_CLASS = "bigscreen"

View File

@@ -1,24 +0,0 @@
#@TYPE: Machine
#@NAME: DRA7xx HS EVM
#@DESCRIPTION: Machine configuration for the TI DRA7xx HS EVM
require conf/machine/dra7xx-evm.conf
UBOOT_MACHINE = "dra7xx_hs_evm_config"
OPTEEMACHINE = "ti-dra7xx"
OPTEEFLAVOR = "dra7xx"
OPTEEPAGER = "y"
EXTRA_IMAGEDEPENDS += "optee-os"
# FIT image for legacy secure devices
KERNEL_CLASSES += " kernel-fitimage-legacyhs"
KERNEL_IMAGETYPES += " fitImage"
# FIT image settings
FITIMAGE_HASH_ALGO = ""
FITIMAGE_PACK_TEE = "1"
FITIMAGE_DTB_BY_NAME = "1"
FITIMAGE_TEE_BY_NAME = "1"
FITIMAGE_CONF_BY_NAME = "1"

View File

@@ -1,50 +0,0 @@
require conf/machine/include/ti-soc.inc
SOC_FAMILY:append = ":am57xx"
DEFAULTTUNE ?= "armv7athf-neon"
require conf/machine/include/arm/armv7a/tune-cortexa15.inc
require conf/machine/include/ti-bsp.inc
# Graphics providers and variables
require conf/machine/include/mesa-pvr.inc
PREFERRED_PROVIDER_virtual/gpudriver ?= "${BSP_SGX_DRIVER_PROVIDER}"
KERNEL_IMAGETYPE = "zImage"
KERNEL_IMAGETYPES = "zImage uImage"
KERNEL_CLASSES += "kernel-uimage"
UBOOT_ARCH = "arm"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
# Generate an extlinux.conf file
UBOOT_EXTLINUX = "1"
UBOOT_EXTLINUX_ROOT = "root=PARTUUID=${uuid}"
UBOOT_EXTLINUX_BOOT_FILES = " \
extlinux.conf;extlinux/extlinux.conf \
${KERNEL_IMAGETYPE} \
${DEVICETREE_FILES} \
"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
EXTRA_IMAGEDEPENDS += "virtual/bootloader"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-image-zimage"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "vpdma-fw goodix-fw prueth-fw prusw-fw pruhsr-fw pruprp-fw"
# Use the expected value of the ubifs filesystem's volume name in the kernel
# and u-boot.
UBI_VOLNAME = "rootfs"
# List common SoC features, may need to add touchscreen for specific machines
MACHINE_FEATURES = "apm usbgadget usbhost vfat ext2 screen alsa mmip dsp gc320 pci"
IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap"
WKS_FILE ?= "sdimage-2part.wks"
IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES} ipc/dra7-ipu1-fw.xem4;dra7-ipu1-fw.xem4"
do_image_wic[depends] += "virtual/bootloader:do_deploy"
do_image_wic[depends] += "ti-rtos-messageq-test-fw:do_deploy"

View File

@@ -1,16 +0,0 @@
require conf/machine/include/k3.inc
require conf/machine/include/mc_k3r5.inc
SOC_FAMILY:append = ":am62axx"
MACHINE_FEATURES += "screen touchscreen"
TFA_K3_SYSTEM_SUSPEND = "1"
TFA_BOARD = "lite"
OPTEEMACHINE = "k3-am62x"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "cnm-wave-fw"
TI_INITRAMFS_KERNEL_MODULES:append:bsp-mainline = " kernel-module-tps6594-i2c kernel-module-tps6594-regulator kernel-module-tps6594-core"
TI_INITRAMFS_KERNEL_MODULES:append:bsp-next = " kernel-module-tps6594-i2c kernel-module-tps6594-regulator kernel-module-tps6594-core"

Some files were not shown because too many files have changed in this diff Show More