summaryrefslogtreecommitdiffstats
path: root/documentation/bsp-guide
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/bsp-guide')
-rw-r--r--documentation/bsp-guide/bsp.rst54
1 files changed, 25 insertions, 29 deletions
diff --git a/documentation/bsp-guide/bsp.rst b/documentation/bsp-guide/bsp.rst
index 35972f1726..09246b4ae4 100644
--- a/documentation/bsp-guide/bsp.rst
+++ b/documentation/bsp-guide/bsp.rst
@@ -674,21 +674,21 @@ to the kernel recipe by using a similarly named append file, which is
674located in the BSP Layer for your target device (e.g. the 674located in the BSP Layer for your target device (e.g. the
675``meta-bsp_root_name/recipes-kernel/linux`` directory). 675``meta-bsp_root_name/recipes-kernel/linux`` directory).
676 676
677Suppose you are using the ``linux-yocto_4.4.bb`` recipe to build the 677Suppose you are using the ``linux-yocto_6.12.bb`` recipe to build the
678kernel. In other words, you have selected the kernel in your 678kernel. In other words, you have selected the kernel in your
679``"bsp_root_name".conf`` file by adding 679``"bsp_root_name".conf`` file by adding
680:term:`PREFERRED_PROVIDER` and :term:`PREFERRED_VERSION` 680:term:`PREFERRED_PROVIDER` and :term:`PREFERRED_VERSION`
681statements as follows:: 681statements as follows::
682 682
683 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" 683 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
684 PREFERRED_VERSION_linux-yocto ?= "4.4%" 684 PREFERRED_VERSION_linux-yocto ?= "6.12%"
685 685
686.. note:: 686.. note::
687 687
688 When the preferred provider is assumed by default, the :term:`PREFERRED_PROVIDER` 688 When the preferred provider is assumed by default, the :term:`PREFERRED_PROVIDER`
689 statement does not appear in the ``"bsp_root_name".conf`` file. 689 statement does not appear in the ``"bsp_root_name".conf`` file.
690 690
691You would use the ``linux-yocto_4.4.bbappend`` file to append specific 691You would use the ``linux-yocto_6.12.bbappend`` file to append specific
692BSP settings to the kernel, thus configuring the kernel for your 692BSP settings to the kernel, thus configuring the kernel for your
693particular BSP. 693particular BSP.
694 694
@@ -698,14 +698,19 @@ in the Yocto Project Linux Kernel Development Manual.
698 698
699An alternate scenario is when you create your own kernel recipe for the 699An alternate scenario is when you create your own kernel recipe for the
700BSP. A good example of this is the Raspberry Pi BSP. If you examine the 700BSP. A good example of this is the Raspberry Pi BSP. If you examine the
701``recipes-kernel/linux`` directory you see the following:: 701``recipes-kernel/linux`` directory in that layer you see the following
702Raspberry Pi-specific recipes and associated files::
702 703
704 files/
705 linux-raspberrypi_6.12.bb
706 linux-raspberrypi_6.1.bb
707 linux-raspberrypi_6.6.bb
703 linux-raspberrypi-dev.bb 708 linux-raspberrypi-dev.bb
704 linux-raspberrypi.inc 709 linux-raspberrypi.inc
705 linux-raspberrypi_4.14.bb 710 linux-raspberrypi-v7_6.12.bb
706 linux-raspberrypi_4.9.bb 711 linux-raspberrypi-v7_6.1.bb
707 712 linux-raspberrypi-v7_6.6.bb
708The directory contains three kernel recipes and a common include file. 713 linux-raspberrypi-v7.inc
709 714
710Developing a Board Support Package (BSP) 715Developing a Board Support Package (BSP)
711======================================== 716========================================
@@ -876,7 +881,7 @@ The requirements for a released BSP that conform to the Yocto Project are:
876 ``recipes-*`` subdirectories specific to the recipe's function, or 881 ``recipes-*`` subdirectories specific to the recipe's function, or
877 within a subdirectory containing a set of closely-related recipes. 882 within a subdirectory containing a set of closely-related recipes.
878 The recipes themselves should follow the general guidelines for 883 The recipes themselves should follow the general guidelines for
879 recipes found in the ":doc:`../contributor-guide/recipe-style-guide`" 884 recipes found in the ":doc:`/contributor-guide/recipe-style-guide`"
880 in the Yocto Project and OpenEmbedded Contributor Guide. 885 in the Yocto Project and OpenEmbedded Contributor Guide.
881 886
882- *License File:* You must include a license file in the 887- *License File:* You must include a license file in the
@@ -910,7 +915,7 @@ The requirements for a released BSP that conform to the Yocto Project are:
910 - The name and contact information for the BSP layer maintainer. 915 - The name and contact information for the BSP layer maintainer.
911 This is the person to whom patches and questions should be sent. 916 This is the person to whom patches and questions should be sent.
912 For information on how to find the right person, see the 917 For information on how to find the right person, see the
913 :doc:`../contributor-guide/submit-changes` section in the Yocto Project and 918 :doc:`/contributor-guide/submit-changes` section in the Yocto Project and
914 OpenEmbedded Contributor Guide. 919 OpenEmbedded Contributor Guide.
915 920
916 - Instructions on how to build the BSP using the BSP layer. 921 - Instructions on how to build the BSP using the BSP layer.
@@ -1177,7 +1182,7 @@ Use these steps to create a BSP layer:
1177 1182
1178- *Create a Kernel Recipe:* Create a kernel recipe in 1183- *Create a Kernel Recipe:* Create a kernel recipe in
1179 ``recipes-kernel/linux`` by either using a kernel append file or a 1184 ``recipes-kernel/linux`` by either using a kernel append file or a
1180 new custom kernel recipe file (e.g. ``linux-yocto_4.12.bb``). The BSP 1185 new custom kernel recipe file (e.g. ``linux-yocto_6.12.bb``). The BSP
1181 layers mentioned in the previous step also contain different kernel 1186 layers mentioned in the previous step also contain different kernel
1182 examples. See the ":ref:`kernel-dev/common:modifying an existing recipe`" 1187 examples. See the ":ref:`kernel-dev/common:modifying an existing recipe`"
1183 section in the Yocto Project Linux Kernel Development Manual for 1188 section in the Yocto Project Linux Kernel Development Manual for
@@ -1242,7 +1247,7 @@ located in :yocto_git:`poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
1242 1247
1243 PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" 1248 PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
1244 1249
1245 MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree" 1250 MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
1246 1251
1247 EXTRA_IMAGEDEPENDS += "virtual/bootloader" 1252 EXTRA_IMAGEDEPENDS += "virtual/bootloader"
1248 1253
@@ -1258,23 +1263,21 @@ located in :yocto_git:`poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
1258 SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0" 1263 SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0"
1259 1264
1260 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" 1265 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
1261 PREFERRED_VERSION_linux-yocto ?= "6.1%" 1266 PREFERRED_VERSION_linux-yocto ?= "6.12%"
1262 1267
1263 KERNEL_IMAGETYPE = "zImage" 1268 KERNEL_IMAGETYPE = "zImage"
1264 KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb" 1269 DTB_FILES = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
1265 KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" 1270 KERNEL_DEVICETREE = '${@' '.join('ti/omap/%s' % d for d in '${DTB_FILES}'.split())}'
1266 1271
1267 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" 1272 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot"
1268 1273
1269 SPL_BINARY = "MLO" 1274 SPL_BINARY = "MLO"
1270 UBOOT_SUFFIX = "img" 1275 UBOOT_SUFFIX = "img"
1271 UBOOT_MACHINE = "am335x_evm_defconfig" 1276 UBOOT_MACHINE = "am335x_evm_defconfig"
1272 UBOOT_ENTRYPOINT = "0x80008000"
1273 UBOOT_LOADADDRESS = "0x80008000"
1274 1277
1275 MACHINE_FEATURES = "usbgadget usbhost vfat alsa" 1278 MACHINE_FEATURES = "usbgadget usbhost vfat alsa"
1276 1279
1277 IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} ${KERNEL_IMAGETYPE} ${KERNEL_DEVICETREE}" 1280 IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} ${KERNEL_IMAGETYPE} ${DTB_FILES}"
1278 1281
1279 # support runqemu 1282 # support runqemu
1280 EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" 1283 EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
@@ -1328,12 +1331,12 @@ Project Reference Manual.
1328 needed in the root filesystem. In this case, the U-Boot recipe must 1331 needed in the root filesystem. In this case, the U-Boot recipe must
1329 be built for the image. 1332 be built for the image.
1330 1333
1331 At the end of the file, we also use this setings to implement 1334 At the end of the file, we also use this setting to implement
1332 ``runqemu`` support on the host machine. 1335 ``runqemu`` support on the host machine.
1333 1336
1334- :term:`DEFAULTTUNE`: Machines 1337- :term:`DEFAULTTUNE`: Machines
1335 use tunings to optimize machine, CPU, and application performance. 1338 use tunings to optimize machine, CPU, and application performance.
1336 These features, which are collectively known as "tuning features", 1339 These features --- collectively known as "tuning features" ---
1337 are set in the :term:`OpenEmbedded-Core (OE-Core)` layer. In this 1340 are set in the :term:`OpenEmbedded-Core (OE-Core)` layer. In this
1338 example, the default tuning file is :oe_git:`tune-cortexa8 1341 example, the default tuning file is :oe_git:`tune-cortexa8
1339 </openembedded-core/tree/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc>`. 1342 </openembedded-core/tree/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc>`.
@@ -1363,8 +1366,7 @@ Project Reference Manual.
1363 to create the sysroot when building a Wic image. 1366 to create the sysroot when building a Wic image.
1364 1367
1365- :term:`SERIAL_CONSOLES`: 1368- :term:`SERIAL_CONSOLES`:
1366 Defines a serial console (TTY) to enable using getty. In this case, 1369 Defines one or more serial consoles (TTYs) to enable using getty.
1367 the baud rate is "115200" and the device name is "ttyO0".
1368 1370
1369- :term:`PREFERRED_PROVIDER_virtual/kernel <PREFERRED_PROVIDER>`: 1371- :term:`PREFERRED_PROVIDER_virtual/kernel <PREFERRED_PROVIDER>`:
1370 Specifies the recipe that provides "virtual/kernel" when more than 1372 Specifies the recipe that provides "virtual/kernel" when more than
@@ -1374,7 +1376,7 @@ Project Reference Manual.
1374 1376
1375- :term:`PREFERRED_VERSION_linux-yocto <PREFERRED_VERSION>`: 1377- :term:`PREFERRED_VERSION_linux-yocto <PREFERRED_VERSION>`:
1376 Defines the version of the recipe used to build the kernel, which is 1378 Defines the version of the recipe used to build the kernel, which is
1377 "6.1" in this case. 1379 "6.12" in this case.
1378 1380
1379- :term:`KERNEL_IMAGETYPE`: 1381- :term:`KERNEL_IMAGETYPE`:
1380 The type of kernel to build for the device. In this case, the 1382 The type of kernel to build for the device. In this case, the
@@ -1416,12 +1418,6 @@ Project Reference Manual.
1416 Specifies the value passed on the make command line when building 1418 Specifies the value passed on the make command line when building
1417 a U-Boot image. 1419 a U-Boot image.
1418 1420
1419 - :term:`UBOOT_ENTRYPOINT`:
1420 Specifies the entry point for the U-Boot image.
1421
1422 - :term:`UBOOT_LOADADDRESS`:
1423 Specifies the load address for the U-Boot image.
1424
1425- :term:`MACHINE_FEATURES`: 1421- :term:`MACHINE_FEATURES`:
1426 Specifies the list of hardware features the BeagleBone device is 1422 Specifies the list of hardware features the BeagleBone device is
1427 capable of supporting. In this case, the device supports "usbgadget 1423 capable of supporting. In this case, the device supports "usbgadget