diff options
author | Darren Hart <dvhart@linux.intel.com> | 2012-01-23 15:46:07 -0800 |
---|---|---|
committer | Darren Hart <dvhart@linux.intel.com> | 2012-02-03 09:25:17 -0800 |
commit | 6aad7407464ec9cc807916b71068fdae323bfcd1 (patch) | |
tree | b2c72e5be10717494a98a9e6d59a64debf8f429b | |
parent | c6d991cf83b3047419cc0076ea4ab1297b9cfb6d (diff) | |
download | meta-intel-6aad7407464ec9cc807916b71068fdae323bfcd1.tar.gz |
meta-intel: Add Inforce SYS940x BSP
The Inforce SYS940x-ECX Developer-Ready Reference Platform features:
o Intel Atom E6xx (0.6-1.6 GHz)
o Up to 1GB on-board DDR2
o Intel Platform Controller Hub EG20T
o VGA,LVDS
o HD Audio
o SD Card
o Dual SATA
o Mini-PCIe
http://www.inforcecomputing.com/SYS940X_ECX.html
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
15 files changed, 344 insertions, 0 deletions
diff --git a/meta-sys940x/COPYING.MIT b/meta-sys940x/COPYING.MIT new file mode 100644 index 00000000..fb950dc6 --- /dev/null +++ b/meta-sys940x/COPYING.MIT | |||
@@ -0,0 +1,17 @@ | |||
1 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
2 | of this software and associated documentation files (the "Software"), to deal | ||
3 | in the Software without restriction, including without limitation the rights | ||
4 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
5 | copies of the Software, and to permit persons to whom the Software is | ||
6 | furnished to do so, subject to the following conditions: | ||
7 | |||
8 | The above copyright notice and this permission notice shall be included in | ||
9 | all copies or substantial portions of the Software. | ||
10 | |||
11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
17 | THE SOFTWARE. | ||
diff --git a/meta-sys940x/README b/meta-sys940x/README new file mode 100644 index 00000000..e349008f --- /dev/null +++ b/meta-sys940x/README | |||
@@ -0,0 +1,140 @@ | |||
1 | This README file contains information on building the meta-sys940x BSP | ||
2 | layer, and booting the images contained in the /binary directory. | ||
3 | Please see the corresponding sections below for details. | ||
4 | |||
5 | The Inforce SYS940x platform consists of the Intel Atom E6xx | ||
6 | processor, plus the Intel EG20T Platform Controller Hub (Tunnel Creek | ||
7 | + Topcliff). | ||
8 | |||
9 | It also supports the E6xx embedded on-chip graphics via the Intel | ||
10 | Embedded Media and Graphics Driver (EMGD) 1.10 Driver. | ||
11 | |||
12 | |||
13 | Dependencies | ||
14 | ============ | ||
15 | |||
16 | This layer depends on: | ||
17 | |||
18 | URI: git://git.openembedded.org/bitbake | ||
19 | branch: master | ||
20 | |||
21 | URI: git://git.openembedded.org/openembedded-core | ||
22 | layers: meta | ||
23 | branch: master | ||
24 | |||
25 | URI: git://git.yoctoproject.org/meta-intel | ||
26 | layers: intel | ||
27 | branch: master | ||
28 | |||
29 | |||
30 | Patches | ||
31 | ======= | ||
32 | |||
33 | Please submit any patches against this BSP to the Yocto mailing list | ||
34 | (yocto@yoctoproject.org) and cc: the maintainer: | ||
35 | |||
36 | Maintainer: Darren Hart <dvhart@linux.intel.com> | ||
37 | |||
38 | Please see the meta-intel/MAINTAINERS file for more details. | ||
39 | |||
40 | |||
41 | Table of Contents | ||
42 | ================= | ||
43 | |||
44 | I. Building the meta-sys940x BSP layer | ||
45 | II. Booting the images in /binary | ||
46 | |||
47 | |||
48 | I. Building the meta-sys940x BSP layer | ||
49 | =================================== | ||
50 | |||
51 | In order to build an image with BSP support for a given release, you | ||
52 | need to download the corresponding BSP tarball from the 'Board Support | ||
53 | Package (BSP) Downloads' page of the Yocto Project website. | ||
54 | |||
55 | Having done that, and assuming you extracted the BSP tarball contents | ||
56 | at the top-level of your yocto build tree, you can build an sys940x image | ||
57 | by adding the location of the meta-sys940x layer to bblayers.conf, along | ||
58 | with the meta-intel layer itself (to access common metadata shared | ||
59 | between BSPs) e.g.: | ||
60 | |||
61 | yocto/meta-intel \ | ||
62 | yocto/meta-intel/meta-sys940x \ | ||
63 | |||
64 | The meta-sys940x layer contains support for two different machine | ||
65 | configurations. These configurations are identical except for the fact | ||
66 | that the one prefixed with 'sys940x' makes use of the Intel-proprietary | ||
67 | EMGD 1.10 graphics driver, while the one prefixed with 'sys940x-noemgd' | ||
68 | does not. | ||
69 | |||
70 | If you want to enable the layer that supports EMGD graphics add the | ||
71 | following to the local.conf file: | ||
72 | |||
73 | MACHINE ?= "sys940x" | ||
74 | |||
75 | The 'sys940x' machine includes the emgd-driver-bin package, which has a | ||
76 | proprietary license that must be whitelisted by adding the string | ||
77 | "license_emgd-driver-bin_1.10" to the LICENSE_FLAGS_WHITELIST variable | ||
78 | in your local.conf. For example: | ||
79 | |||
80 | LICENSE_FLAGS_WHITELIST = "license_emgd-driver-bin_1.10" | ||
81 | |||
82 | If you want to enable the layer that does not support EMGD graphics | ||
83 | add the following to the local.conf file: | ||
84 | |||
85 | MACHINE ?= "sys940x-noemgd" | ||
86 | |||
87 | You should then be able to build an sys940x image as such: | ||
88 | |||
89 | $ source oe-init-build-env | ||
90 | $ bitbake core-image-sato | ||
91 | |||
92 | At the end of a successful build, you should have a live image that | ||
93 | you can boot from a USB flash drive (see instructions on how to do | ||
94 | that below, in the section 'Booting the images from /binary'). | ||
95 | |||
96 | As an alternative to downloading the BSP tarball, you can also work | ||
97 | directly from the meta-intel git repository. For each BSP in the | ||
98 | 'meta-intel' repository, there are multiple branches, one | ||
99 | corresponding to each major release starting with 'laverne' (0.90), in | ||
100 | addition to the latest code which tracks the current master (note that | ||
101 | not all BSPs are present in every release). Instead of extracting a | ||
102 | BSP tarball at the top level of your yocto build tree, you can | ||
103 | equivalently check out the appropriate branch from the meta-intel | ||
104 | repository at the same location. | ||
105 | |||
106 | |||
107 | II. Booting the images in /binary | ||
108 | ================================= | ||
109 | |||
110 | This BSP contains bootable live images, which can be used to directly | ||
111 | boot Yocto off of a USB flash drive. | ||
112 | |||
113 | Under Linux, insert a USB flash drive. Assuming the USB flash drive | ||
114 | takes device /dev/sdf, use dd to copy the live image to it. For | ||
115 | example: | ||
116 | |||
117 | # dd if=core-image-sato-sys940x-20101207053738.hddimg of=/dev/sdf | ||
118 | # sync | ||
119 | # eject /dev/sdf | ||
120 | |||
121 | This should give you a bootable USB flash device. Insert the device | ||
122 | into a bootable USB socket on the target, and power on. This should | ||
123 | result in a system booted to the Sato graphical desktop. | ||
124 | |||
125 | If you want a terminal, use the arrows at the top of the UI to move to | ||
126 | different pages of available applications, one of which is named | ||
127 | 'Terminal'. Clicking that should give you a root terminal. | ||
128 | |||
129 | If you want to ssh into the system, you can use the root terminal to | ||
130 | ifconfig the IP address and use that to ssh in. The root password is | ||
131 | empty, so to log in type 'root' for the user name and hit 'Enter' at | ||
132 | the Password prompt: and you should be in. | ||
133 | |||
134 | ---- | ||
135 | |||
136 | If you find you're getting corrupt images on the USB (it doesn't show | ||
137 | the syslinux boot: prompt, or the boot: prompt contains strange | ||
138 | characters), try doing this first: | ||
139 | |||
140 | # dd if=/dev/zero of=/dev/sdf bs=1M count=512 | ||
diff --git a/meta-sys940x/README.sources b/meta-sys940x/README.sources new file mode 100644 index 00000000..c6cab4d3 --- /dev/null +++ b/meta-sys940x/README.sources | |||
@@ -0,0 +1,18 @@ | |||
1 | The sources for the packages comprising the images shipped with this | ||
2 | BSP can be found at the following location: | ||
3 | |||
4 | http://downloads.yoctoproject.org/mirror/sources/ | ||
5 | |||
6 | The metadata used to generate the images shipped with this BSP, in | ||
7 | addition to the code contained in this BSP, can be found at the | ||
8 | following location: | ||
9 | |||
10 | # FIXME: update the following link after the Yocto Project 1.2 release | ||
11 | http://www.yoctoproject.org/downloads/yocto-1.2/poky-RELEASENAME-6.0.tar.bz2 | ||
12 | |||
13 | The metadata used to generate the images shipped with this BSP, in | ||
14 | addition to the code contained in this BSP, can also be found at the | ||
15 | following locations: | ||
16 | |||
17 | git://git.yoctoproject.org/poky.git | ||
18 | git://git.yoctoproject.org/meta-intel | ||
diff --git a/meta-sys940x/binary/.gitignore b/meta-sys940x/binary/.gitignore new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/meta-sys940x/binary/.gitignore | |||
diff --git a/meta-sys940x/conf/layer.conf b/meta-sys940x/conf/layer.conf new file mode 100644 index 00000000..459c7102 --- /dev/null +++ b/meta-sys940x/conf/layer.conf | |||
@@ -0,0 +1,10 @@ | |||
1 | # We have a conf and classes directory, add to BBPATH | ||
2 | BBPATH := "${BBPATH}:${LAYERDIR}" | ||
3 | |||
4 | # We have a recipes directory, add to BBFILES | ||
5 | BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \ | ||
6 | ${LAYERDIR}/recipes-*/*/*.bbappend" | ||
7 | |||
8 | BBFILE_COLLECTIONS += "sys940x" | ||
9 | BBFILE_PATTERN_sys940x := "^${LAYERDIR}/" | ||
10 | BBFILE_PRIORITY_sys940x = "6" | ||
diff --git a/meta-sys940x/conf/machine/sys940x-noemgd.conf b/meta-sys940x/conf/machine/sys940x-noemgd.conf new file mode 100644 index 00000000..8a1c20f5 --- /dev/null +++ b/meta-sys940x/conf/machine/sys940x-noemgd.conf | |||
@@ -0,0 +1,19 @@ | |||
1 | #@TYPE: Machine | ||
2 | #@NAME: sys940x | ||
3 | |||
4 | #@DESCRIPTION: Machine configuration for Inforce SYS940X systems | ||
5 | # i.e. E660 + EG20T | ||
6 | |||
7 | include conf/machine/include/tune-atom.inc | ||
8 | include conf/machine/include/ia32-base.inc | ||
9 | |||
10 | # Add "pcbios" if you have a non-efi version of the firmware | ||
11 | MACHINE_FEATURES += "efi pcbios" | ||
12 | |||
13 | XSERVER ?= "${XSERVER_IA32_BASE} \ | ||
14 | ${XSERVER_IA32_EXT} \ | ||
15 | ${XSERVER_IA32_VESA} \ | ||
16 | " | ||
17 | |||
18 | SERIAL_CONSOLE = "115200 ttyS0" | ||
19 | APPEND += "console=ttyS0,115200 console=tty0" | ||
diff --git a/meta-sys940x/conf/machine/sys940x.conf b/meta-sys940x/conf/machine/sys940x.conf new file mode 100644 index 00000000..ceb6e0fa --- /dev/null +++ b/meta-sys940x/conf/machine/sys940x.conf | |||
@@ -0,0 +1,23 @@ | |||
1 | #@TYPE: Machine | ||
2 | #@NAME: sys940x | ||
3 | |||
4 | #@DESCRIPTION: Machine configuration for Inforce SYS940x systems | ||
5 | # i.e. E660 + EG20T | ||
6 | |||
7 | include conf/machine/include/tune-atom.inc | ||
8 | include conf/machine/include/ia32-base.inc | ||
9 | |||
10 | # Add "pcbios" if you have a non-efi version of the firmware | ||
11 | MACHINE_FEATURES += "efi pcbios" | ||
12 | |||
13 | XSERVER ?= "${XSERVER_IA32_BASE} \ | ||
14 | ${XSERVER_IA32_EXT} \ | ||
15 | ${XSERVER_IA32_EMGD} \ | ||
16 | " | ||
17 | |||
18 | PREFERRED_VERSION_xserver-xorg ?= "1.9.3" | ||
19 | PREFERRED_VERSION_mesa-dri ?= "7.11" | ||
20 | PREFERRED_VERSION_emgd-driver-bin ?= "1.8" | ||
21 | |||
22 | SERIAL_CONSOLE = "115200 ttyS0" | ||
23 | APPEND += "console=ttyS0,115200 console=tty0" | ||
diff --git a/meta-sys940x/recipes-bsp/formfactor/formfactor/sys940x-noemgd/machconfig b/meta-sys940x/recipes-bsp/formfactor/formfactor/sys940x-noemgd/machconfig new file mode 100644 index 00000000..ffce0122 --- /dev/null +++ b/meta-sys940x/recipes-bsp/formfactor/formfactor/sys940x-noemgd/machconfig | |||
@@ -0,0 +1,3 @@ | |||
1 | # Assume a USB mouse and keyboard are connected | ||
2 | HAVE_TOUCHSCREEN=0 | ||
3 | HAVE_KEYBOARD=1 | ||
diff --git a/meta-sys940x/recipes-bsp/formfactor/formfactor/sys940x/machconfig b/meta-sys940x/recipes-bsp/formfactor/formfactor/sys940x/machconfig new file mode 100644 index 00000000..ffce0122 --- /dev/null +++ b/meta-sys940x/recipes-bsp/formfactor/formfactor/sys940x/machconfig | |||
@@ -0,0 +1,3 @@ | |||
1 | # Assume a USB mouse and keyboard are connected | ||
2 | HAVE_TOUCHSCREEN=0 | ||
3 | HAVE_KEYBOARD=1 | ||
diff --git a/meta-sys940x/recipes-bsp/formfactor/formfactor_0.0.bbappend b/meta-sys940x/recipes-bsp/formfactor/formfactor_0.0.bbappend new file mode 100644 index 00000000..54da0ffd --- /dev/null +++ b/meta-sys940x/recipes-bsp/formfactor/formfactor_0.0.bbappend | |||
@@ -0,0 +1,3 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
2 | |||
3 | PRINC = "1" | ||
diff --git a/meta-sys940x/recipes-graphics/xorg-xserver/xserver-xf86-config/sys940x-noemgd/xorg.conf b/meta-sys940x/recipes-graphics/xorg-xserver/xserver-xf86-config/sys940x-noemgd/xorg.conf new file mode 100644 index 00000000..da4fc3c6 --- /dev/null +++ b/meta-sys940x/recipes-graphics/xorg-xserver/xserver-xf86-config/sys940x-noemgd/xorg.conf | |||
@@ -0,0 +1,26 @@ | |||
1 | Section "Device" | ||
2 | Identifier "Generic VESA" | ||
3 | Driver "vesa" | ||
4 | EndSection | ||
5 | |||
6 | Section "Monitor" | ||
7 | Identifier "Generic Monitor" | ||
8 | Option "DPMS" | ||
9 | EndSection | ||
10 | |||
11 | Section "Screen" | ||
12 | Identifier "Default Screen" | ||
13 | Device "Generic VESA" | ||
14 | Monitor "Generic Monitor" | ||
15 | DefaultDepth 24 | ||
16 | EndSection | ||
17 | |||
18 | Section "ServerLayout" | ||
19 | Identifier "Default Layout" | ||
20 | Screen "Default Screen" | ||
21 | EndSection | ||
22 | |||
23 | Section "ServerFlags" | ||
24 | Option "DontZap" "0" | ||
25 | Option "AutoAddDevices" "False" | ||
26 | EndSection | ||
diff --git a/meta-sys940x/recipes-graphics/xorg-xserver/xserver-xf86-config/sys940x/xorg.conf b/meta-sys940x/recipes-graphics/xorg-xserver/xserver-xf86-config/sys940x/xorg.conf new file mode 100644 index 00000000..73736aca --- /dev/null +++ b/meta-sys940x/recipes-graphics/xorg-xserver/xserver-xf86-config/sys940x/xorg.conf | |||
@@ -0,0 +1,48 @@ | |||
1 | ## | ||
2 | ## X Config options generated from CED | ||
3 | ## x11 conf skeleton | ||
4 | ## DriverVer= | ||
5 | ## | ||
6 | |||
7 | Section "Screen" | ||
8 | Identifier "Screen0" | ||
9 | Device "IntelEMGD-0" | ||
10 | Monitor "Monitor0" | ||
11 | SubSection "Display" | ||
12 | EndSubSection | ||
13 | EndSection | ||
14 | |||
15 | # Primary (First/only) display | ||
16 | Section "Device" | ||
17 | Identifier "IntelEMGD-0" | ||
18 | Driver "emgd" | ||
19 | VendorName "Intel(R) DEG" | ||
20 | BoardName "Embedded Graphics" | ||
21 | BusID "0:2:0" | ||
22 | Screen 0 | ||
23 | Option "PcfVersion" "1792" | ||
24 | Option "ConfigId" "1" | ||
25 | Option "ALL/1/name" "e6xx" | ||
26 | Option "ALL/1/General/PortOrder" "32400" | ||
27 | Option "ALL/1/General/DisplayConfig" "1" | ||
28 | Option "ALL/1/General/DisplayDetect" "1" | ||
29 | Option "ALL/1/General/TuningWA" "1" | ||
30 | Option "ALL/1/Port/4/General/name" "lvds" | ||
31 | Option "ALL/1/Port/4/General/EdidAvail" "3" | ||
32 | Option "ALL/1/Port/4/General/EdidNotAvail" "1" | ||
33 | Option "ALL/1/Port/4/General/Rotation" "0" | ||
34 | Option "ALL/1/Port/4/General/Edid" "0" | ||
35 | EndSection | ||
36 | |||
37 | Section "ServerLayout" | ||
38 | Identifier "Default Layout" | ||
39 | Screen 0 "Screen0" 0 0 | ||
40 | # InputDevice "Mouse0" "CorePointer" | ||
41 | # InputDevice "Keyboard0" "CoreKeyboard" | ||
42 | # InputDevice "DevInputMice" "SendCoreEvents" | ||
43 | EndSection | ||
44 | |||
45 | Section "ServerFlags" | ||
46 | Option "DontZap" "0" | ||
47 | Option "AutoAddDevices" "False" | ||
48 | EndSection | ||
diff --git a/meta-sys940x/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend b/meta-sys940x/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend new file mode 100644 index 00000000..4b8d0e65 --- /dev/null +++ b/meta-sys940x/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend | |||
@@ -0,0 +1,3 @@ | |||
1 | THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" | ||
2 | FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:" | ||
3 | |||
diff --git a/meta-sys940x/recipes-kernel/linux/linux-yocto-rt_3.0.bbappend b/meta-sys940x/recipes-kernel/linux/linux-yocto-rt_3.0.bbappend new file mode 100644 index 00000000..5d3567d5 --- /dev/null +++ b/meta-sys940x/recipes-kernel/linux/linux-yocto-rt_3.0.bbappend | |||
@@ -0,0 +1,14 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
2 | |||
3 | COMPATIBLE_MACHINE_sys940x = "sys940x" | ||
4 | KMACHINE_sys940x = "sys940x" | ||
5 | KERNEL_FEATURES_append_sys940x += " cfg/smp.scc cfg/efi-ext.scc" | ||
6 | |||
7 | COMPATIBLE_MACHINE_sys940x-noemgd = "sys940x-noemgd" | ||
8 | KMACHINE_sys940x-noemgd = "sys940x" | ||
9 | KERNEL_FEATURES_append_sys940x-noemgd += " cfg/smp.scc cfg/efi-ext.scc" | ||
10 | |||
11 | # Update the following to use a different BSP branch or meta SRCREV | ||
12 | #KBRANCH_sys940x = "yocto/standard/preempt-rt/base" | ||
13 | #SRCREV_machine_pn-linux-yocto-rt_sys940x ?= XXXX | ||
14 | #SRCREV_meta_pn-linux-yocto-rt_sys940x ?= XXXX | ||
diff --git a/meta-sys940x/recipes-kernel/linux/linux-yocto_3.0.bbappend b/meta-sys940x/recipes-kernel/linux/linux-yocto_3.0.bbappend new file mode 100644 index 00000000..1d8bfb81 --- /dev/null +++ b/meta-sys940x/recipes-kernel/linux/linux-yocto_3.0.bbappend | |||
@@ -0,0 +1,17 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
2 | |||
3 | |||
4 | COMPATIBLE_MACHINE_sys940x = "sys940x" | ||
5 | KMACHINE_sys940x = "sys940x" | ||
6 | KBRANCH_sys940x = "yocto/standard/base" | ||
7 | KERNEL_FEATURES_append_sys940x += " cfg/smp.scc cfg/efi-ext.scc" | ||
8 | |||
9 | COMPATIBLE_MACHINE_sys940x-noemgd = "sys940x-noemgd" | ||
10 | KMACHINE_sys940x-noemgd = "sys940x" | ||
11 | KBRANCH_sys940x-noemgd = "yocto/standard/base" | ||
12 | KERNEL_FEATURES_append_sys940x-noemgd += " cfg/smp.scc cfg/efi-ext.scc" | ||
13 | |||
14 | SRCREV_machine_pn-linux-yocto_sys940x ?= "5df0b4c2538399aed543133b3855f809adf08ab8" | ||
15 | SRCREV_meta_pn-linux-yocto_sys940x ?= "77ca4855e80acb8dad21acea946908716c308b5b" | ||
16 | SRCREV_machine_pn-linux-yocto_sys940x-noemgd ?= "5df0b4c2538399aed543133b3855f809adf08ab8" | ||
17 | SRCREV_meta_pn-linux-yocto_sys940x-noemgd ?= "77ca4855e80acb8dad21acea946908716c308b5b" | ||