summaryrefslogtreecommitdiffstats
path: root/documentation/bsp-guide
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/bsp-guide')
-rw-r--r--documentation/bsp-guide/bsp.xml136
1 files changed, 45 insertions, 91 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index cfca34473b..e11eb4f663 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -183,17 +183,15 @@
183 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/ 183 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/
184 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/ 184 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/
185 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf 185 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
186 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/
187 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf
188 meta-crownbay/recipes-kernel/ 186 meta-crownbay/recipes-kernel/
189 meta-crownbay/recipes-kernel/linux/ 187 meta-crownbay/recipes-kernel/linux/
190 meta-crownbay/recipes-kernel/linux/linux-yocto_3.2.bbappend
191 meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend 188 meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend
192 meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend 189 meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend
190 meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend
193 meta-crownbay/recipes-kernel/linux/linux-yocto-dev.bbappend 191 meta-crownbay/recipes-kernel/linux/linux-yocto-dev.bbappend
194 meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.2.bbappend
195 meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.4.bbappend 192 meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.4.bbappend
196 meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.8.bbappend 193 meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.8.bbappend
194 meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
197 </literallayout> 195 </literallayout>
198 </para> 196 </para>
199 197
@@ -376,15 +374,6 @@
376 <para> 374 <para>
377 Each BSP Layer requires at least one machine file. 375 Each BSP Layer requires at least one machine file.
378 However, you can supply more than one file. 376 However, you can supply more than one file.
379 For example, in the Crown Bay BSP shown earlier in this section, the
380 <filename>conf/machine</filename> directory contains two configuration files:
381 <filename>crownbay.conf</filename> and <filename>crownbay-noemgd.conf</filename>.
382 The <filename>crownbay.conf</filename> file is used for the Crown Bay BSP
383 that supports the <trademark class='registered'>Intel</trademark> Embedded
384 Media and Graphics Driver (<trademark class='registered'>Intel</trademark>
385 EMGD), while the <filename>crownbay-noemgd</filename> file is used for the
386 Crown Bay BSP that supports Video Electronics Standards Association (VESA)
387 graphics only.
388 </para> 377 </para>
389 378
390 <para> 379 <para>
@@ -428,15 +417,13 @@
428 This optional directory contains miscellaneous recipe files for the BSP. 417 This optional directory contains miscellaneous recipe files for the BSP.
429 Most notably would be the formfactor files. 418 Most notably would be the formfactor files.
430 For example, in the Crown Bay BSP there is the 419 For example, in the Crown Bay BSP there is the
431 <filename>formfactor_0.0.bbappend</filename> file, which is an append file used 420 <filename>formfactor_0.0.bbappend</filename> file, which is an
432 to augment the recipe that starts the build. 421 append file used to augment the recipe that starts the build.
433 Furthermore, there are machine-specific settings used during the build that are 422 Furthermore, there are machine-specific settings used during the
434 defined by the <filename>machconfig</filename> files. 423 build that are defined by the <filename>machconfig</filename>.
435 In the Crown Bay example, two <filename>machconfig</filename> files exist: 424 In the Crown Bay example, two <filename>machconfig</filename> files
436 one that supports the 425 exist: one that supports the Intel® Embedded Media and Graphics
437 <trademark class='registered'>Intel</trademark> Embedded 426 Driver (Intel® EMGD) and one that does not:
438 Media and Graphics Driver (<trademark class='registered'>Intel</trademark>
439 EMGD) and one that does not:
440 <literallayout class='monospaced'> 427 <literallayout class='monospaced'>
441 meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig 428 meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig
442 meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig 429 meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig
@@ -467,15 +454,12 @@
467 This optional directory contains recipes for the BSP if it has 454 This optional directory contains recipes for the BSP if it has
468 special requirements for graphics support. 455 special requirements for graphics support.
469 All files that are needed for the BSP to support a display are kept here. 456 All files that are needed for the BSP to support a display are kept here.
470 For example, the Crown Bay BSP contains two versions of the 457 For example, the Crown Bay BSP's <filename>xorg.conf</filename> file
471 <filename>xorg.conf</filename> file. 458 detects the graphics support needed (i.e. the Intel® Embedded Media
472 The version in <filename>crownbay</filename> builds a BSP that supports the 459 Graphics Driver (EMGD) or the Video Electronics Standards Association
473 <trademark class='registered'>Intel</trademark> Embedded Media Graphics Driver (EMGD), 460 (VESA) graphics):
474 while the version in <filename>crownbay-noemgd</filename> builds
475 a BSP that supports Video Electronics Standards Association (VESA) graphics only:
476 <literallayout class='monospaced'> 461 <literallayout class='monospaced'>
477 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend 462 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
478 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
479 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf 463 meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf
480 </literallayout> 464 </literallayout>
481 </para> 465 </para>
@@ -502,28 +486,28 @@
502 the <filename>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename> directory). 486 the <filename>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename> directory).
503 </para> 487 </para>
504 <para> 488 <para>
505 Suppose you are using the <filename>linux-yocto_3.8.bb</filename> recipe to build 489 Suppose you are using the <filename>linux-yocto_3.10.bb</filename> recipe to build
506 the kernel. 490 the kernel.
507 In other words, you have selected the kernel in your 491 In other words, you have selected the kernel in your
508 <filename>&lt;bsp_name&gt;.conf</filename> file by adding these types 492 <filename>&lt;bsp_name&gt;.conf</filename> file by adding these types
509 of statements: 493 of statements:
510 <literallayout class='monospaced'> 494 <literallayout class='monospaced'>
511 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" 495 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
512 PREFERRED_VERSION_linux-yocto ?= "3.8%" 496 PREFERRED_VERSION_linux-yocto ?= "3.10%"
513 </literallayout> 497 </literallayout>
514 <note> 498 <note>
515 When the preferred provider is assumed by default, the 499 When the preferred provider is assumed by default, the
516 <filename>PREFERRED_PROVIDER</filename> statement does not appear in the 500 <filename>PREFERRED_PROVIDER</filename> statement does not appear in the
517 <filename>&lt;bsp_name&gt;.conf</filename> file. 501 <filename>&lt;bsp_name&gt;.conf</filename> file.
518 </note> 502 </note>
519 You would use the <filename>linux-yocto_3.8.bbappend</filename> file to append 503 You would use the <filename>linux-yocto_3.10.bbappend</filename> file to append
520 specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. 504 specific BSP settings to the kernel, thus configuring the kernel for your particular BSP.
521 </para> 505 </para>
522 <para> 506 <para>
523 As an example, look at the existing Crown Bay BSP. 507 As an example, look at the existing Crown Bay BSP.
524 The append file used is: 508 The append file used is:
525 <literallayout class='monospaced'> 509 <literallayout class='monospaced'>
526 meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend 510 meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend
527 </literallayout> 511 </literallayout>
528 The following listing shows the file. 512 The following listing shows the file.
529 Be aware that the actual commit ID strings in this example listing might be different 513 Be aware that the actual commit ID strings in this example listing might be different
@@ -532,46 +516,18 @@
532 <literallayout class='monospaced'> 516 <literallayout class='monospaced'>
533 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 517 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
534 518
535 COMPATIBLE_MACHINE_crownbay = "crownbay"
536 KMACHINE_crownbay = "crownbay"
537 KBRANCH_crownbay = "standard/crownbay"
538 KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb"
539
540 COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" 519 COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd"
541 KMACHINE_crownbay-noemgd = "crownbay" 520 KMACHINE_crownbay-noemgd = "crownbay"
542 KBRANCH_crownbay-noemgd = "standard/crownbay" 521 KBRANCH_crownbay-noemgd = "standard/crownbay"
543 KERNEL_FEATURES_crownbay-noemgd_append = " cfg/vesafb" 522 KERNEL_FEATURES_append_crownbay-noemgd = " cfg/vesafb"
544
545 LINUX_VERSION = "3.8.4"
546
547 SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
548 SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
549 SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576"
550
551 SRCREV_meta_crownbay-noemgd = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
552 SRCREV_machine_crownbay-noemgd = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
553 523
554 SRC_URI_crownbay = "git://git.yoctoproject.org/linux-yocto-3.8.git;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA},emgd-1.16;name=machine,meta,emgd" 524 LINUX_VERSION = "3.10.11"
555 </literallayout>
556 This append file contains statements used to support the Crown Bay BSP for both
557 <trademark class='registered'>Intel</trademark> EMGD and the VESA graphics.
558 The build process, in this case, recognizes and uses only the statements that
559 apply to the defined machine name - <filename>crownbay</filename> in this case.
560 So, the applicable statements in the <filename>linux-yocto_3.8.bbappend</filename>
561 file are follows:
562 <literallayout class='monospaced'>
563 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
564
565 COMPATIBLE_MACHINE_crownbay = "crownbay"
566 KMACHINE_crownbay = "crownbay"
567 KBRANCH_crownbay = "standard/crownbay"
568 KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb"
569 525
570 SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda" 526 SRCREV_meta_crownbay-noemgd = "285f93bf942e8f6fa678ffc6cc53696ed5400718"
571 SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4" 527 SRCREV_machine_crownbay-noemgd = "702040ac7c7ec66a29b4d147665ccdd0ff015577"
572 SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576"
573 </literallayout> 528 </literallayout>
574 The append file defines <filename>crownbay</filename> as the 529 This append file contains statements used to support the Crown Bay BSP.
530 The file defines <filename>crownbay</filename> as the
575 <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> 531 <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>
576 and uses the 532 and uses the
577 <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> variable to 533 <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> variable to
@@ -588,12 +544,6 @@
588 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git 544 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git
589 repository and the <filename>meta</filename> Git repository branches to identify the 545 repository and the <filename>meta</filename> Git repository branches to identify the
590 exact kernel needed to build the Crown Bay BSP. 546 exact kernel needed to build the Crown Bay BSP.
591 <note>
592 For <filename>crownbay</filename>, a specific commit is also needed to point
593 to the branch that supports EMGD graphics.
594 At a minimum, every BSP points to the
595 <filename>machine</filename> and <filename>meta</filename> commits.
596 </note>
597 </para> 547 </para>
598 548
599 <para> 549 <para>
@@ -1281,31 +1231,35 @@
1281 Following is the complete example: 1231 Following is the complete example:
1282 <literallayout class='monospaced'> 1232 <literallayout class='monospaced'>
1283 $ yocto-bsp create myarm qemu 1233 $ yocto-bsp create myarm qemu
1234 Checking basic git connectivity...
1235 Done.
1236
1284 Which qemu architecture would you like to use? [default: i386] 1237 Which qemu architecture would you like to use? [default: i386]
1285 1) i386 (32-bit) 1238 1) i386 (32-bit)
1286 2) x86_64 (64-bit) 1239 2) x86_64 (64-bit)
1287 3) ARM (32-bit) 1240 3) ARM (32-bit)
1288 4) PowerPC (32-bit) 1241 4) PowerPC (32-bit)
1289 5) MIPS (32-bit) 1242 5) MIPS (32-bit)
1290 3 1243 3
1291 Would you like to use the default (3.8) kernel? (y/n) [default: y] 1244 Would you like to use the default (3.10) kernel? (y/n) [default: y] y
1292 Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [y/n] [default: y] 1245 Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [y/n] [default: y]
1293 Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.8.git... 1246 Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.10.git...
1294 Please choose a machine branch to base your new BSP branch on: [default: standard/base] 1247 Please choose a machine branch to base your new BSP branch on: [default: standard/base]
1295 1) standard/arm-versatile-926ejs 1248 1) standard/arm-versatile-926ejs
1296 2) standard/base 1249 2) standard/base
1297 3) standard/beagleboard 1250 3) standard/beagleboard
1298 4) standard/ck 1251 4) standard/ck
1299 5) standard/crownbay 1252 5) standard/crownbay
1300 6) standard/edf 1253 6) standard/edf
1301 7) standard/emenlow 1254 7) standard/emenlow
1302 8) standard/fri2 1255 8) standard/fri2
1303 9) standard/fsl-mpc8315e-rdb 1256 9) standard/fsl-mpc8315e-rdb
1304 10) standard/mti-malta32 1257 10) standard/minnow
1305 11) standard/mti-malta64 1258 11) standard/mti-malta32
1306 12) standard/qemuppc 1259 12) standard/mti-malta64
1307 13) standard/routerstationpro 1260 13) standard/qemuppc
1308 14) standard/sys940x 1261 14) standard/routerstationpro
1262 15) standard/sys940x
1309 1 1263 1
1310 Would you like SMP support? (y/n) [default: y] 1264 Would you like SMP support? (y/n) [default: y]
1311 Does your BSP have a touchscreen? (y/n) [default: n] 1265 Does your BSP have a touchscreen? (y/n) [default: n]
@@ -1320,7 +1274,7 @@
1320 In the example, we use the ARM architecture. 1274 In the example, we use the ARM architecture.
1321 </para></listitem> 1275 </para></listitem>
1322 <listitem><para>The script then prompts you for the kernel. 1276 <listitem><para>The script then prompts you for the kernel.
1323 The default 3.8 kernel is acceptable. 1277 The default 3.10 kernel is acceptable.
1324 So, the example accepts the default. 1278 So, the example accepts the default.
1325 If you enter 'n', the script prompts you to further enter the kernel 1279 If you enter 'n', the script prompts you to further enter the kernel
1326 you do want to use (e.g. 3.2, 3.2_preempt-rt, and so forth.).</para></listitem> 1280 you do want to use (e.g. 3.2, 3.2_preempt-rt, and so forth.).</para></listitem>