summaryrefslogtreecommitdiffstats
path: root/documentation/bsp-guide
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/bsp-guide')
-rw-r--r--documentation/bsp-guide/bsp.xml198
1 files changed, 113 insertions, 85 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index 2f2dca0084..a3a4508f74 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -191,29 +191,35 @@
191 </para> 191 </para>
192 192
193 <para> 193 <para>
194 Below is an example of the Crown Bay BSP: 194 Below is an example of the eMenlow BSP:
195 195
196 <literallayout class='monospaced'> 196 <literallayout class='monospaced'>
197 meta-crownbay/COPYING.MIT 197 meta-emenlow/COPYING.MIT
198 meta-crownbay/README 198 meta-emenlow/README
199 meta-crownbay/README.sources 199 meta-emenlow/README.sources
200 meta-crownbay/binary/ 200 meta-emenlow/binary/
201 meta-crownbay/conf/ 201 meta-emenlow/conf/
202 meta-crownbay/conf/layer.conf 202 meta-emenlow/conf/layer.conf
203 meta-crownbay/conf/machine/ 203 meta-emenlow/conf/machine/
204 meta-crownbay/conf/machine/crownbay-noemgd.conf 204 meta-emenlow/conf/machine/emenlow-noemgd.conf
205 meta-crownbay/recipes-bsp/ 205 meta-emenlow/recipes-bsp/
206 meta-crownbay/recipes-bsp/formfactor/ 206 meta-emenlow/recipes-bsp/formfactor/
207 meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend 207 meta-emenlow/recipes-bsp/formfactor/formfactor/
208 meta-crownbay/recipes-bsp/formfactor/formfactor/ 208 meta-emenlow/recipes-bsp/formfactor/formfactor_0.0.bbappend
209 meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/ 209 meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/
210 meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig 210 meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/machconfig
211 meta-crownbay/recipes-kernel/ 211 meta-emenlow/recipes-graphics/
212 meta-crownbay/recipes-kernel/kmod 212 meta-emenlow/recipes-graphics/xorg-xserver
213 meta-crownbay/recipes-kernel/kmod/kmod_git.bbappend 213 meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config
214 meta-crownbay/recipes-kernel/linux/ 214 meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
215 meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend 215 meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd
216 meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend 216 meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.config
217 meta-emenlow/recipes-kernel/
218 meta-emenlow/recipes-kernel/linux/
219 meta-emenlow/recipes-kernel/linux/linux-yocto-dev.bbappend
220 meta-emenlow/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
221 meta-emenlow/recipes-kernel/linux/linux-yocto_3.10.bbappend
222 meta-emenlow/recipes-kernel/linux/linux-yocto_3.14.bbappend
217 </literallayout> 223 </literallayout>
218 </para> 224 </para>
219 225
@@ -234,7 +240,7 @@
234 <para> 240 <para>
235 These optional files satisfy licensing requirements for the BSP. 241 These optional files satisfy licensing requirements for the BSP.
236 The type or types of files here can vary depending on the licensing requirements. 242 The type or types of files here can vary depending on the licensing requirements.
237 For example, in the Crown Bay BSP all licensing requirements are handled with the 243 For example, in the eMenlow BSP all licensing requirements are handled with the
238 <filename>COPYING.MIT</filename> file. 244 <filename>COPYING.MIT</filename> file.
239 </para> 245 </para>
240 246
@@ -278,12 +284,21 @@
278 </para> 284 </para>
279 285
280 <para> 286 <para>
281 This file provides information on where to locate the BSP source files. 287 This file provides information on where to locate the BSP
282 For example, information provides where to find the sources that comprise 288 source files used to build the images (if any) that reside in
283 the images shipped with the BSP. 289 <filename>meta-<replaceable>bsp_name</replaceable>/binary</filename>.
284 Information is also included to help you find the 290 Images in the <filename>binary</filename> would be images
291 released with the BSP.
292 The information in the <filename>README.sources</filename>
293 file also helps you find the
285 <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> 294 <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>
286 used to generate the images that ship with the BSP. 295 used to generate the images that ship with the BSP.
296 <note>
297 If the BSP's <filename>binary</filename> directory is
298 missing or the directory has no images, an existing
299 <filename>README.sources</filename> file is
300 meaningless.
301 </note>
287 </para> 302 </para>
288 </section> 303 </section>
289 304
@@ -297,21 +312,26 @@
297 </para> 312 </para>
298 313
299 <para> 314 <para>
300 This optional area contains useful pre-built kernels and user-space filesystem 315 This optional area contains useful pre-built kernels and
301 images appropriate to the target system. 316 user-space filesystem images released with the BSP that are
302 This directory typically contains graphical (e.g. Sato) and minimal live images 317 appropriate to the target system.
303 when the BSP tarball has been created and made available in the 318 This directory typically contains graphical (e.g. Sato) and
319 minimal live images when the BSP tarball has been created and
320 made available in the
304 <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website. 321 <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
305 You can use these kernels and images to get a system running and quickly get started 322 You can use these kernels and images to get a system running
306 on development tasks. 323 and quickly get started on development tasks.
307 </para> 324 </para>
308 325
309 <para> 326 <para>
310 The exact types of binaries present are highly hardware-dependent. 327 The exact types of binaries present are highly
311 However, a <filename>README</filename> file should be present in the BSP Layer that explains how to use 328 hardware-dependent.
312 the kernels and images with the target hardware. 329 The <filename>README</filename> file should be present in the
313 If pre-built binaries are present, source code to meet licensing requirements must also 330 BSP Layer and it will explain how to use the images with the
314 exist in some form. 331 target hardware.
332 Additionally, the <filename>README.sources</filename> file
333 should be present to locate the sources used to build the
334 images and provide information on the Metadata.
315 </para> 335 </para>
316 </section> 336 </section>
317 337
@@ -354,20 +374,20 @@
354 374
355 <para> 375 <para>
356 To illustrate the string substitutions, here are the corresponding statements 376 To illustrate the string substitutions, here are the corresponding statements
357 from the Crown Bay <filename>conf/layer.conf</filename> file: 377 from the eEmenlow <filename>conf/layer.conf</filename> file:
358 <literallayout class='monospaced'> 378 <literallayout class='monospaced'>
359 # We have a conf and classes directory, add to BBPATH 379 # We have a conf and classes directory, add to BBPATH
360 BBPATH .= ":${LAYERDIR}" 380 BBPATH .= ":${LAYERDIR}"
361 381
362 # We have a recipes directory, add to BBFILES 382 # We have recipes-* directories, add to BBFILES
363 BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ 383 BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
364 ${LAYERDIR}/recipes-*/*/*.bbappend" 384 ${LAYERDIR}/recipes-*/*/*.bbappend"
365 385
366 BBFILE_COLLECTIONS += "crownbay" 386 BBFILE_COLLECTIONS += "emenlow"
367 BBFILE_PATTERN_crownbay := "^${LAYERDIR}/" 387 BBFILE_PATTERN_emenlow := "^${LAYERDIR}/"
368 BBFILE_PRIORITY_crownbay = "6" 388 BBFILE_PRIORITY_emenlow = "6"
369 389
370 LAYERDEPENDS_crownbay = "intel" 390 LAYERDEPENDS_emenlow = "intel"
371 </literallayout> 391 </literallayout>
372 </para> 392 </para>
373 393
@@ -412,11 +432,10 @@
412 </para> 432 </para>
413 433
414 <para> 434 <para>
415 This <filename>crownbay.conf</filename> file could also include 435 This configuration file could also include a hardware "tuning"
416 a hardware "tuning" file that is commonly used to 436 file that is commonly used to define the package architecture
417 define the package architecture and specify 437 and specify optimization flags, which are carefully chosen
418 optimization flags, which are carefully chosen to give best 438 to give best performance on a given processor.
419 performance on a given processor.
420 </para> 439 </para>
421 440
422 <para> 441 <para>
@@ -428,13 +447,15 @@
428 </para> 447 </para>
429 448
430 <para> 449 <para>
431 To use an include file, you simply include them in the machine configuration file. 450 To use an include file, you simply include them in the
432 For example, the Crown Bay BSP <filename>crownbay-noemgd.conf</filename> contains the 451 machine configuration file.
452 For example, the eEmenlow BSP
453 <filename>emenlow-noemgd.conf</filename> contains the
433 following statements: 454 following statements:
434 <literallayout class='monospaced'> 455 <literallayout class='monospaced'>
435 require conf/machine/include/meta-intel.inc
436 require conf/machine/include/intel-core2-32-common.inc 456 require conf/machine/include/intel-core2-32-common.inc
437 require conf/machine/include/intel-common-pkgarch.inc 457 require conf/machine/include/intel-common-pkgarch.inc
458 require conf/machine/include/meta-intel.inc
438 </literallayout> 459 </literallayout>
439 </para> 460 </para>
440 </section> 461 </section>
@@ -449,19 +470,23 @@
449 </para> 470 </para>
450 471
451 <para> 472 <para>
452 This optional directory contains miscellaneous recipe files for the BSP. 473 This optional directory contains miscellaneous recipe files for
474 the BSP.
453 Most notably would be the formfactor files. 475 Most notably would be the formfactor files.
454 For example, in the Crown Bay BSP there is the 476 For example, in the eMenlow BSP there is the
455 <filename>formfactor_0.0.bbappend</filename> file, which is an 477 <filename>formfactor_0.0.bbappend</filename> file, which is an
456 append file used to augment the recipe that starts the build. 478 append file used to augment the recipe that starts the build.
457 Furthermore, there are machine-specific settings used during the 479 Furthermore, there are machine-specific settings used during
458 build that are defined by the <filename>machconfig</filename> file. 480 the build that are defined by the
459 In the Crown Bay example, the <filename>machconfig</filename> file 481 <filename>machconfig</filename> file further down in the
460 supports the Video Electronics Standards Association (VESA) graphics 482 directory.
461 driver: 483 In the eMenlow example, the <filename>machconfig</filename>
484 file supports the Video Electronics Standards Association
485 (VESA) graphics driver:
462 <literallayout class='monospaced'> 486 <literallayout class='monospaced'>
463 meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig 487 # Assume a USB mouse and keyboard are connected
464 meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend 488 HAVE_TOUCHSCREEN=0
489 HAVE_KEYBOARD=1
465 </literallayout> 490 </literallayout>
466 </para> 491 </para>
467 492
@@ -487,15 +512,16 @@
487 <para> 512 <para>
488 This optional directory contains recipes for the BSP if it has 513 This optional directory contains recipes for the BSP if it has
489 special requirements for graphics support. 514 special requirements for graphics support.
490 All files that are needed for the BSP to support a display are kept here. 515 All files that are needed for the BSP to support a display are
491 For example, the <filename>meta-emenlow</filename> layer, which supports 516 kept here.
492 the eMenlow platform consisting of the 517 For example, the <filename>meta-emenlow</filename> layer,
518 which supports the eMenlow platform consisting of the
493 <trademark class='registered'>Intel</trademark> 519 <trademark class='registered'>Intel</trademark>
494 <trademark class='trade'>Atom</trademark> 520 <trademark class='trade'>Atom</trademark>
495 Z5xx processor with the 521 Z5xx processor with the
496 <trademark class='registered'>Intel</trademark> 522 <trademark class='registered'>Intel</trademark>
497 System Controller Hub US15W uses these files for supporting the Video 523 System Controller Hub US15W, uses these files for supporting
498 Electronics Standards Association (VESA) graphics: 524 the Video Electronics Standards Association (VESA) graphics:
499 <literallayout class='monospaced'> 525 <literallayout class='monospaced'>
500 meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend 526 meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
501 meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.conf 527 meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.conf
@@ -542,10 +568,10 @@
542 specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. 568 specific BSP settings to the kernel, thus configuring the kernel for your particular BSP.
543 </para> 569 </para>
544 <para> 570 <para>
545 As an example, look at the existing Crown Bay BSP. 571 As an example, look at the existing eMenlow BSP.
546 The append file used is: 572 The append file used is:
547 <literallayout class='monospaced'> 573 <literallayout class='monospaced'>
548 meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend 574 meta-emenlow/recipes-kernel/linux/linux-yocto_3.10.bbappend
549 </literallayout> 575 </literallayout>
550 The following listing shows the file. 576 The following listing shows the file.
551 Be aware that the actual commit ID strings in this example listing might be different 577 Be aware that the actual commit ID strings in this example listing might be different
@@ -554,35 +580,37 @@
554 <literallayout class='monospaced'> 580 <literallayout class='monospaced'>
555 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 581 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
556 582
583 COMPATIBLE_MACHINE_emenlow-noemgd = "emenlow-noemgd"
584 KMACHINE_emenlow-noemgd = "emenlow"
585 KBRANCH_emenlow-noemgd = "standard/emenlow"
586 KERNEL_FEATURES_append_emenlow-noemgd = " features/drm-gma500/drm-gma500"
557 587
558 COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" 588 LINUX_VERSION_emenlow-noemgd = "3.10.55"
559 KMACHINE_crownbay-noemgd = "crownbay" 589 SRCREV_meta_emenlow-noemgd = "f79a00265eefbe2fffc2cdb03f67235497a9a87e"
560 KBRANCH_crownbay-noemgd = "standard/crownbay" 590 SRCREV_machine_emenlow-noemgd = "3677ea7f9476458aa6dec440243de3a6fb1343a9"
561 KERNEL_FEATURES_append_crownbay-noemgd = " cfg/vesafb"
562
563 LINUX_VERSION_crownbay-noemgd = "3.10.55"
564 SRCREV_meta_crownbay-noemgd = "f79a00265eefbe2fffc2cdb03f67235497a9a87e"
565 SRCREV_machine_crownbay-noemgd = "3677ea7f9476458aa6dec440243de3a6fb1343a9"
566 </literallayout> 591 </literallayout>
567 This append file contains statements used to support the Crown Bay BSP. 592 This append file contains statements used to support the
593 eMenlow BSP.
568 The file defines machines using the 594 The file defines machines using the
569 <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> 595 <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>
570 variable and uses the 596 variable and uses the
571 <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> variable to 597 <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink>
572 ensure the machine name used by the OpenEmbedded build system maps to the 598 variable to ensure the machine name used by the OpenEmbedded
573 machine name used by the Linux Yocto kernel. 599 build system maps to the machine name used by the Linux Yocto
600 kernel.
574 The file also uses the optional 601 The file also uses the optional
575 <ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink> variable 602 <ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink>
576 to ensure the build process uses the <filename>standard/crownbay</filename> 603 variable to ensure the build process uses the
577 kernel branch. 604 <filename>standard/emenlow</filename> kernel branch.
578 The 605 The
579 <ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink> 606 <ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink>
580 variable enables features specific to the kernel 607 variable enables features specific to the kernel
581 (e.g. VESA graphics support in this case). 608 (e.g. VESA graphics support in this case).
582 The append file points to specific commits in the 609 The append file points to specific commits in the
583 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git 610 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
584 repository and the <filename>meta</filename> Git repository branches to identify the 611 Git repository and the <filename>meta</filename> Git repository
585 exact kernel needed to build the Crown Bay BSP. 612 branches to identify the exact kernel needed to build the
613 eMenlow BSP.
586 </para> 614 </para>
587 615
588 <para> 616 <para>