summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2013-10-10 19:10:02 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2013-10-10 19:10:02 +0200
commit12602f7b19e75e7c502f2198a70c2348c7e5b09c (patch)
tree24fa4760221f15c301aebae3fe982a098f2f9fc6
parente20285ca4907fe949dfc7a9a223ddaa64870d7e8 (diff)
colibri-vf50: add the machine, kernel and u-boot
- also add the relevant configuration files
-rw-r--r--conf/machine/colibri-vf50.conf24
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend2
-rw-r--r--recipes-bsp/alsa-state/alsa-state/colibri-vf50/asound.state922
-rw-r--r--recipes-bsp/u-boot/u-boot-colibri-vf.bb46
-rw-r--r--recipes-kernel/linux/linux-toradex-vf_git.bb57
-rw-r--r--recipes-support/fbset/fbset-modes.bbappend2
-rw-r--r--recipes-support/fbset/files/colibri-vf50/fb.modes37
7 files changed, 1089 insertions, 1 deletions
diff --git a/conf/machine/colibri-vf50.conf b/conf/machine/colibri-vf50.conf
new file mode 100644
index 0000000..c482ca5
--- /dev/null
+++ b/conf/machine/colibri-vf50.conf
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@NAME: colibri_vf50 SOM powered by Freescale Vybrid family
+#@SOC: vf50
+#@DESCRIPTION: Toradex Colibri VF50
+
+include conf/machine/include/imx-base.inc
+include conf/machine/include/tune-cortexa5.inc
+
+#TODO
+SOC_FAMILY = "vf60"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-toradex-vf"
+PREFERRED_PROVIDER_u-boot = "u-boot-colibri-vf"
+UBOOT_SUFFIX = "nand"
+UBOOT_MAKE_TARGET = ""
+UBOOT_MACHINE = "colibri_vf50_config"
+
+SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
+IMAGE_FSTYPES ?= "tar.bz2 ext3 sdcard"
+
+SERIAL_CONSOLE = "115200 ttymxc0"
+
+MACHINE_FEATURES = "apm usbgadget usbhost vfat ext2 alsa touchscreen ethernet wifi bluetooth 3g"
+EXTRA_IMAGEDEPENDS += "u-boot" \ No newline at end of file
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
index 057bd10..2f0b46b 100644
--- a/recipes-bsp/alsa-state/alsa-state.bbappend
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -1,4 +1,4 @@
-PRINC = "7"
+PRINC = "8"
FILESEXTRAPATHS_prepend := "${THISDIR}/alsa-state/:"
diff --git a/recipes-bsp/alsa-state/alsa-state/colibri-vf50/asound.state b/recipes-bsp/alsa-state/alsa-state/colibri-vf50/asound.state
new file mode 100644
index 0000000..7d61d15
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/colibri-vf50/asound.state
@@ -0,0 +1,922 @@
+state.colibrit20wm971 {
+ control.1 {
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 24
+ value.1 24
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'Speaker Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 24
+ value.1 24
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'Headphone Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'PCM Playback Volume'
+ value.0 24
+ value.1 24
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'Speaker Playback Invert Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 24
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 31'
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'Mono Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'ALC Target Volume'
+ value 11
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'ALC Hold Time'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'ALC Decay Time'
+ value 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'ALC Attack Time'
+ value 2
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'ALC Function'
+ value None
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 None
+ item.1 Left
+ item.2 Right
+ item.3 Stereo
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'ALC Max Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'ALC ZC Timeout'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 3'
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'ALC ZC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'ALC NG Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'ALC NG Type'
+ value 'Constant Gain'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Constant Gain'
+ item.1 Mute
+ }
+ }
+ control.22 {
+ iface MIXER
+ name 'ALC NG Threshold'
+ value 31
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 31'
+ }
+ }
+ control.23 {
+ iface MIXER
+ name 'Mic Headphone Volume'
+ value 4
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.24 {
+ iface MIXER
+ name 'ALC Headphone Volume'
+ value 5
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.25 {
+ iface MIXER
+ name 'Out3 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.26 {
+ iface MIXER
+ name 'Out3 ZC Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'Out3 Volume'
+ value 31
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 31'
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'PCBeep Bypass Headphone Volume'
+ value 5
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.29 {
+ iface MIXER
+ name 'PCBeep Bypass Speaker Volume'
+ value 5
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'PCBeep Bypass Phone Volume'
+ value 5
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.31 {
+ iface MIXER
+ name 'Aux Playback Headphone Volume'
+ value 5
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.32 {
+ iface MIXER
+ name 'Aux Playback Speaker Volume'
+ value 5
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.33 {
+ iface MIXER
+ name 'Aux Playback Phone Volume'
+ value 5
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.34 {
+ iface MIXER
+ name 'Phone Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.35 {
+ iface MIXER
+ name 'Line Capture Volume'
+ value.0 23
+ value.1 23
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ }
+ }
+ control.36 {
+ iface MIXER
+ name 'Capture 20dB Boost Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.37 {
+ iface MIXER
+ name 'Capture to Phone 20dB Boost Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.38 {
+ iface MIXER
+ name '3D Upper Cut-off Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.39 {
+ iface MIXER
+ name '3D Lower Cut-off Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.40 {
+ iface MIXER
+ name '3D Playback Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.41 {
+ iface MIXER
+ name 'Bass Control'
+ value 'Linear Control'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Linear Control'
+ item.1 'Adaptive Boost'
+ }
+ }
+ control.42 {
+ iface MIXER
+ name 'Bass Cut-off Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.43 {
+ iface MIXER
+ name 'Tone Cut-off Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.44 {
+ iface MIXER
+ name 'Playback Attenuate (-6dB) Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.45 {
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.46 {
+ iface MIXER
+ name 'Treble Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ }
+ }
+ control.47 {
+ iface MIXER
+ name 'Capture ADC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.48 {
+ iface MIXER
+ name 'Capture Volume Steps'
+ value.0 '+1.5dB Steps'
+ value.1 '+1.5dB Steps'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 2
+ item.0 '+1.5dB Steps'
+ item.1 '+0.75dB Steps'
+ }
+ }
+ control.49 {
+ iface MIXER
+ name 'Capture Volume'
+ value.0 48
+ value.1 48
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ }
+ }
+ control.50 {
+ iface MIXER
+ name 'Capture ZC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.51 {
+ iface MIXER
+ name 'Mic 1 Volume'
+ value 23
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 31'
+ }
+ }
+ control.52 {
+ iface MIXER
+ name 'Mic 2 Volume'
+ value 23
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 31'
+ }
+ }
+ control.53 {
+ iface MIXER
+ name 'Mic 20dB Boost Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.54 {
+ iface MIXER
+ name 'Speaker Mixer PCBeep Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.55 {
+ iface MIXER
+ name 'Speaker Mixer Aux Playback Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.56 {
+ iface MIXER
+ name 'Speaker Mixer Phone Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.57 {
+ iface MIXER
+ name 'Speaker Mixer Line Bypass Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.58 {
+ iface MIXER
+ name 'Speaker Mixer PCM Playback Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.59 {
+ iface MIXER
+ name 'Phone Mixer PCBeep Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.60 {
+ iface MIXER
+ name 'Phone Mixer Aux Playback Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.61 {
+ iface MIXER
+ name 'Phone Mixer Line Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.62 {
+ iface MIXER
+ name 'Phone Mixer PCM Playback Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.63 {
+ iface MIXER
+ name 'Phone Mixer Mic 1 Sidetone Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.64 {
+ iface MIXER
+ name 'Phone Mixer Mic 2 Sidetone Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.65 {
+ iface MIXER
+ name 'Right HP Mixer PCBeep Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.66 {
+ iface MIXER
+ name 'Right HP Mixer Aux Playback Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.67 {
+ iface MIXER
+ name 'Right HP Mixer Phone Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.68 {
+ iface MIXER
+ name 'Right HP Mixer Line Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.69 {
+ iface MIXER
+ name 'Right HP Mixer PCM Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.70 {
+ iface MIXER
+ name 'Right HP Mixer Mic Sidetone Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.71 {
+ iface MIXER
+ name 'Left HP Mixer PCBeep Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.72 {
+ iface MIXER
+ name 'Left HP Mixer Aux Playback Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.73 {
+ iface MIXER
+ name 'Left HP Mixer Phone Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.74 {
+ iface MIXER
+ name 'Left HP Mixer Line Bypass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.75 {
+ iface MIXER
+ name 'Left HP Mixer PCM Playback Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.76 {
+ iface MIXER
+ name 'Left HP Mixer Mic Sidetone Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.77 {
+ iface MIXER
+ name 'Differential Source'
+ value Mic
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Mic
+ item.1 Line
+ }
+ }
+ control.78 {
+ iface MIXER
+ name 'Mic Select Source'
+ value 'Mic 1'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Mic 1'
+ item.1 Differential
+ item.2 'Mic 2'
+ item.3 Stereo
+ }
+ }
+ control.79 {
+ iface MIXER
+ name 'Right Capture Select'
+ value Mic
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Mic
+ item.1 NC
+ item.2 NC
+ item.3 'Speaker Mixer'
+ item.4 Line
+ item.5 'Headphone Mixer'
+ item.6 'Phone Mixer'
+ item.7 Phone
+ }
+ }
+ control.80 {
+ iface MIXER
+ name 'Left Capture Select'
+ value Mic
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Mic
+ item.1 NC
+ item.2 NC
+ item.3 'Speaker Mixer'
+ item.4 Line
+ item.5 'Headphone Mixer'
+ item.6 'Phone Mixer'
+ item.7 Phone
+ }
+ }
+ control.81 {
+ iface MIXER
+ name 'Capture Phone Mux'
+ value Mute
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Stereo
+ item.1 Left
+ item.2 Right
+ item.3 Mute
+ }
+ }
+ control.82 {
+ iface MIXER
+ name 'Speaker Mux'
+ value 'Speaker Mix'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'Speaker Mix'
+ item.1 'Headphone Mix'
+ }
+ }
+ control.83 {
+ iface MIXER
+ name 'Out3 Mux'
+ value Left
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Left
+ item.1 VREF
+ item.2 'Left + Right'
+ item.3 Mono
+ }
+ }
+ control.84 {
+ iface MIXER
+ name 'ALC Sidetone Mux'
+ value None
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Stereo
+ item.1 Left
+ item.2 Right
+ item.3 None
+ }
+ }
+}
diff --git a/recipes-bsp/u-boot/u-boot-colibri-vf.bb b/recipes-bsp/u-boot/u-boot-colibri-vf.bb
new file mode 100644
index 0000000..ae2ddc8
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-colibri-vf.bb
@@ -0,0 +1,46 @@
+require recipes-bsp/u-boot/u-boot.inc
+
+PROVIDES += "u-boot"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb \
+ file://README;beginline=1;endline=22;md5=78b195c11cb6ef63e6985140db7d7bab"
+
+PV = "${PR}+gitr${SRCREV}"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://git.toradex.com/u-boot-toradex.git;protocol=git;branch=colibri"
+SRCREV_colibri-vf50 = "ac13ca97df9f8c17d1c89d425041690484ee0fdf"
+
+#FILESPATHPKG =. "git:"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+COMPATIBLE_MACHINE = "colibri-vf50"
+DEFAULT_PREFERENCE_colibri-vf50 = "1"
+
+# colibri_vf50: build additionally a u-boot binary used for nand boot
+#SPL_BINARY_colibri-vf50 = "u-boot.nand"
+#SPL_IMAGE_colibri-vf50 = "u-boot-${MACHINE}-${PV}-${PR}.nand"
+#SPL_SYMLINK_colibri-vf50 = "u-boot-${MACHINE}.nand"
+#do_compile_append_colibri-vf50() {
+# # keep boot-hsmmc
+# mv u-boot.${UBOOT_SUFFIX} u-boot-mmc.${UBOOT_SUFFIX}
+# oe_runmake colibri_vf50_nand_config
+# oe_runmake ${UBOOT_MAKE_TARGET}
+# mv u-boot.${UBOOT_SUFFIX} u-boot-nand.${UBOOT_SUFFIX}
+# mv u-boot-mmc.${UBOOT_SUFFIX} u-boot.${UBOOT_SUFFIX}
+#
+# # prepare the u-boot for nand
+# dd if=/dev/zero of=u-boot-pad bs=1024 count=1
+# cat u-boot-pad u-boot-nand.${UBOOT_SUFFIX} > ${SPL_BINARY}
+#}
+
+# colibri_vf50: build additionally a u-boot binary used for sd-card boot
+SPL_BINARY_colibri-vf50 = "u-boot.imx"
+SPL_IMAGE_colibri-vf50 = "u-boot-${MACHINE}-${PV}-${PR}.imx"
+SPL_SYMLINK_colibri-vf50 = "u-boot-${MACHINE}.imx"
+do_compile_append_colibri-vf50() {
+ oe_runmake colibri_vf50_sdboot_config
+ oe_runmake
+}
diff --git a/recipes-kernel/linux/linux-toradex-vf_git.bb b/recipes-kernel/linux/linux-toradex-vf_git.bb
new file mode 100644
index 0000000..185f90f
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-vf_git.bb
@@ -0,0 +1,57 @@
+inherit kernel
+require recipes-kernel/linux/linux.inc
+
+LINUX_VERSION ?= "3.0.15"
+
+SRCREV_colibri-vf50 = "5746e7e3d1376c80ae7f512d110adbcbad3e7000"
+PR_colibri-vf50 = "V2.1a1"
+
+PV = "${LINUX_VERSION}+gitr${SRCREV}"
+S = "${WORKDIR}/git"
+SRC_URI = "git://git.toradex.com/linux-toradex.git;protocol=git;branch=colibri_vf"
+# a Patch
+# SRC_URI += "file://a.patch "
+
+
+COMPATIBLE_MACHINE_colibri-vf50 = "colibri-vf50"
+
+# Place changes to the defconfig here
+config_script () {
+# #example change to the .config
+# #sets CONFIG_TEGRA_CAMERA unconditionally to 'y'
+# sed -i -e /CONFIG_TEGRA_CAMERA/d ${S}/.config
+# echo "CONFIG_TEGRA_CAMERA=y" >> ${S}/.config
+ sed -i -e /CONFIG_VFPv3/d ${S}/.config
+ echo "CONFIG_VFPv3=y" >> ${S}/.config
+ sed -i -e /CONFIG_NEON/d ${S}/.config
+ echo "CONFIG_NEON=y" >> ${S}/.config
+ echo "dummy" > /dev/null
+}
+
+do_configure_prepend () {
+ #use the defconfig provided in the kernel source tree
+ #assume its called ${MACHINE}_defconfig, but with '_' instead of '-'
+ DEFCONFIG=`echo ${MACHINE} | sed -e 's/\-/\_/g' -e 's/$/_defconfig/'`
+
+ oe_runmake $DEFCONFIG
+
+ #maybe change some configuration
+ config_script
+}
+
+kernel_do_compile() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
+ oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} LD="${KERNEL_LD}"
+ if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then
+ gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}"
+ fi
+}
+
+do_compile_kernelmodules() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
+ if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
+ oe_runmake ${PARALLEL_MAKE} modules LD="${KERNEL_LD}"
+ else
+ bbnote "no modules to compile"
+ fi
+}
diff --git a/recipes-support/fbset/fbset-modes.bbappend b/recipes-support/fbset/fbset-modes.bbappend
new file mode 100644
index 0000000..1a472a0
--- /dev/null
+++ b/recipes-support/fbset/fbset-modes.bbappend
@@ -0,0 +1,2 @@
+# Provide fb-modes file for vybrid
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:" \ No newline at end of file
diff --git a/recipes-support/fbset/files/colibri-vf50/fb.modes b/recipes-support/fbset/files/colibri-vf50/fb.modes
new file mode 100644
index 0000000..ba902ce
--- /dev/null
+++ b/recipes-support/fbset/files/colibri-vf50/fb.modes
@@ -0,0 +1,37 @@
+mode "640x480-60"
+ # D: 25.175 MHz, H: 31.500 kHz, V: 60.001 Hz
+ geometry 640 480 640 480 24
+ timings 39722 48 16 33 10 96 2
+endmode
+
+mode "768x576-75"
+ # D: 49.188 MHz, H: 46.580 kHz, V: 75.008 Hz
+ geometry 768 576 768 576 16
+ timings 20330 128 32 32 8 128 5
+endmode
+
+mode "800x480-60"
+ # D: 32.46 MHz, H: 30.38 kHz, V: 53.583 Hz
+ geometry 800 480 800 480 16
+ timings 32460 128 64 22 20 64 3
+endmode
+
+mode "800x600-60"
+ # D: 39.273 MHz, H: 37.190 kHz, V: 59.599 Hz
+ geometry 800 600 800 600 16
+ timings 25463 160 21 16 1 80 2
+ hsync high
+ vsync high
+endmode
+
+mode "1024x600-60"
+ # D: 48.000 MHz, H: 40.816 kHz, V: 62.891 Hz
+ geometry 1024 600 1024 600 16
+ timings 20833 104 24 43 20 5 5
+endmode
+
+mode "1024x768-60"
+ # D: 65.00 MHz, H: 48.363 kHz, V: 60.00 Hz
+ geometry 1024 768 1024 768 16
+ timings 15385 160 24 29 3 136 6
+endmode