aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp')
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend7
-rwxr-xr-xrecipes-bsp/alsa-state/alsa-state/mx5/asound.conf275
-rw-r--r--recipes-bsp/alsa-state/alsa-state/mx5/asound.state139
-rw-r--r--recipes-bsp/alsa-state/alsa-state/mx6/asound.conf257
-rw-r--r--recipes-bsp/alsa-state/alsa-state/mx6/asound.state1374
-rw-r--r--recipes-bsp/alsa-state/alsa-state/mxs/asound.conf299
-rw-r--r--recipes-bsp/alsa-state/alsa-state/mxs/asound.state191
-rw-r--r--recipes-bsp/apptrk/apptrk/apptrk-install-create-all-components-of-DEST.patch24
-rw-r--r--recipes-bsp/apptrk/apptrk/no-strip.patch20
-rw-r--r--recipes-bsp/apptrk/apptrk_git.bb24
-rw-r--r--recipes-bsp/barebox/barebox.inc63
-rw-r--r--recipes-bsp/barebox/barebox_2013.08.0.bb9
-rw-r--r--recipes-bsp/change-file-endianess/change-file-endianess.bb23
-rwxr-xr-xrecipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl29
-rw-r--r--recipes-bsp/elftosb/elftosb_10.12.01.bb22
-rw-r--r--recipes-bsp/elftosb/files/cross-build.patch50
-rw-r--r--recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch42
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx.inc42
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_3.14.28-1.0.0.bb8
-rw-r--r--recipes-bsp/formfactor/formfactor/imx51evk/machconfig11
-rw-r--r--recipes-bsp/formfactor/formfactor/imx53ard/machconfig13
-rw-r--r--recipes-bsp/formfactor/formfactor/imx53qsb/machconfig11
-rw-r--r--recipes-bsp/formfactor/formfactor_%.bbappend2
-rw-r--r--recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch46
-rw-r--r--recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch28
-rw-r--r--recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch30
-rw-r--r--recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb79
-rw-r--r--recipes-bsp/imx-kobs/imx-kobs_3.14.28-1.0.0.bb13
-rw-r--r--recipes-bsp/imx-lib/imx-lib-11.09.02/obey-variables.patch209
-rw-r--r--recipes-bsp/imx-lib/imx-lib.inc30
-rw-r--r--recipes-bsp/imx-lib/imx-lib_11.09.02.bb9
-rw-r--r--recipes-bsp/imx-lib/imx-lib_3.10.53-1.1.0.bb10
-rw-r--r--recipes-bsp/imx-test/imx-test.inc69
-rw-r--r--recipes-bsp/imx-test/imx-test/Fix-build-in-OpenEmbedded-Core-environment.patch30
-rwxr-xr-xrecipes-bsp/imx-test/imx-test/clocks.sh29
-rw-r--r--recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch30
-rw-r--r--recipes-bsp/imx-test/imx-test_00.00.00.bb10
-rw-r--r--recipes-bsp/imx-test/imx-test_3.14.28-1.0.0.bb13
-rw-r--r--recipes-bsp/imx-uuc/imx-uuc_0.5.bb16
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu-11.09.02/obey-variables.patch27
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu.inc22
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb8
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_5.4.28.bb12
-rw-r--r--recipes-bsp/libmcc/libmcc/build-Fix-symlink-generation.patch32
-rw-r--r--recipes-bsp/libmcc/libmcc/build-with-versioned-soname.patch18
-rw-r--r--recipes-bsp/libmcc/libmcc_1.05.bb27
-rw-r--r--recipes-bsp/mqxboot/mqxboot_1.0.bb23
-rw-r--r--recipes-bsp/mxsldr/mxsldr_git.bb18
-rw-r--r--recipes-bsp/qe-ucode/qe-ucode_git.bb36
-rw-r--r--recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch57
-rw-r--r--recipes-bsp/rcw/rcw_git.bb36
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mxsboot_2015.04.bb35
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc.inc33
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2015.04.bb6
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-mfgtool_2014.04.bb4
-rw-r--r--recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch51
-rw-r--r--recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch67
-rw-r--r--recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch66
-rw-r--r--recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch66
-rw-r--r--recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch67
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2014.04.bb22
-rw-r--r--recipes-bsp/u-boot/u-boot-ls1_2015.01.bb48
-rw-r--r--recipes-bsp/u-boot/u-boot-mfgtool.inc21
63 files changed, 4388 insertions, 0 deletions
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
new file mode 100644
index 00000000..6bc02467
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -0,0 +1,7 @@
+# Append path for freescale layer to include alsa-state asound.conf
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
+PACKAGE_ARCH_mx5 = "${MACHINE_ARCH}"
+PACKAGE_ARCH_mxs = "${MACHINE_ARCH}"
+
diff --git a/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf b/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf
new file mode 100755
index 00000000..0cbe59b2
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf
@@ -0,0 +1,275 @@
+defaults.pcm.rate_converter "linear"
+
+pcm.dmix_48000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 48000
+}
+}
+
+pcm.dmix_44100{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 44100
+}
+}
+
+pcm.dmix_32000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 32000
+}
+}
+
+pcm.dmix_24000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 24000
+}
+}
+
+pcm.dmix_22050{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 22050
+}
+}
+
+pcm.dmix_16000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 16000
+}
+}
+
+pcm.dmix_12000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 12000
+}
+}
+
+pcm.dmix_11025{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 11025
+}
+}
+
+pcm.dmix_8000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 8000
+}
+}
+
+pcm.!dsnoop_48000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 48000
+}
+}
+
+pcm.!dsnoop_44100{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 44100
+}
+}
+
+pcm.!dsnoop_32000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 32000
+}
+}
+
+pcm.!dsnoop_24000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 24000
+}
+}
+
+pcm.!dsnoop_22050{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 22050
+}
+}
+
+pcm.!dsnoop_16000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 16000
+}
+}
+
+pcm.!dsnoop_12000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 12000
+}
+}
+
+pcm.!dsnoop_11025{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 11025
+}
+}
+
+pcm.!dsnoop_8000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 8000
+}
+}
+
+pcm.asymed{
+type asym
+playback.pcm "dmix_44100"
+capture.pcm "dsnoop_44100"
+}
+
+pcm.dsp0{
+type plug
+slave.pcm "asymed"
+}
+
+pcm.!default{
+type plug
+route_policy "average"
+slave.pcm "asymed"
+}
+
+ctl.mixer0{
+type hw
+card 0
+}
diff --git a/recipes-bsp/alsa-state/alsa-state/mx5/asound.state b/recipes-bsp/alsa-state/alsa-state/mx5/asound.state
new file mode 100644
index 00000000..7c13a88a
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mx5/asound.state
@@ -0,0 +1,139 @@
+state.imx3stack {
+ control.1 {
+ iface MIXER
+ name 'MIC GAIN'
+ value '0dB'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 '0dB'
+ item.1 '20dB'
+ item.2 '30dB'
+ item.3 '40dB'
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'Capture Volume'
+ value.0 12
+ value.1 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 15'
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'Capture Vol Reduction'
+ value 'No Change'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'No Change'
+ item.1 'Reduced by 6dB'
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'Playback Volume'
+ value.0 192
+ value.1 192
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 192'
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'Headphone Volume'
+ value.0 127
+ value.1 127
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'DAC Mux'
+ value DAC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 DAC
+ item.1 LINE_IN
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'ADC Mux'
+ value LINE_IN
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 MIC_IN
+ item.1 LINE_IN
+ }
+ }
+ control.8 {
+ iface MIXER
+ name ASRC
+ value disable
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 disable
+ item.1 '32KHz'
+ item.2 '44.1KHz'
+ item.3 '48KHz'
+ item.4 '96KHz'
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'Jack Function'
+ value on
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 off
+ item.1 on
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'Speaker Function'
+ value on
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 off
+ item.1 on
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'Line In Function'
+ value off
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 off
+ item.1 on
+ }
+ }
+}
diff --git a/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf b/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf
new file mode 100644
index 00000000..3f4e0482
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf
@@ -0,0 +1,257 @@
+defaults.pcm.rate_converter "linear"
+
+pcm.dmix_48000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 320000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.dmix_44100{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.dmix_32000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.dmix_24000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.dmix_22050{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.dmix_16000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.dmix_12000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 240000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.dmix_11025{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 240000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.dmix_8000{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 8000
+}
+}
+
+pcm.!dsnoop_48000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 320000
+format S16_LE
+rate 48000
+}
+}
+
+pcm.!dsnoop_44100{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 44100
+}
+}
+
+pcm.!dsnoop_32000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 32000
+}
+}
+
+pcm.!dsnoop_24000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 24000
+}
+}
+
+pcm.!dsnoop_22050{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 22050
+}
+}
+
+pcm.!dsnoop_16000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 16000
+}
+}
+
+pcm.!dsnoop_12000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 240000
+format S16_LE
+rate 12000
+}
+}
+
+pcm.!dsnoop_11025{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 240000
+format S16_LE
+rate 11025
+}
+}
+
+pcm.!dsnoop_8000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 40000
+buffer_time 360000
+format S16_LE
+rate 8000
+}
+}
+
+pcm.asymed{
+type asym
+playback.pcm "dmix_44100"
+capture.pcm "dsnoop_44100"
+}
+
+pcm.dsp0{
+type plug
+slave.pcm "asymed"
+}
+
+pcm.!default{
+type plug
+route_policy "average"
+slave.pcm "asymed"
+}
+
+ctl.mixer0{
+type hw
+card 0
+}
diff --git a/recipes-bsp/alsa-state/alsa-state/mx6/asound.state b/recipes-bsp/alsa-state/alsa-state/mx6/asound.state
new file mode 100644
index 00000000..552f763d
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mx6/asound.state
@@ -0,0 +1,1374 @@
+state.wm8962audio {
+ control.1 {
+ iface MIXER
+ name 'Input Mixer Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'MIXINL IN2L Volume'
+ value 5
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 0
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'MIXINL PGA Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin 0
+ dbmax 3000
+ dbvalue.0 0
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'MIXINL IN3L Volume'
+ value 5
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 0
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'MIXINR IN2R Volume'
+ value 5
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 0
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'MIXINR PGA Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin 0
+ dbmax 3000
+ dbvalue.0 0
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'MIXINR IN3R Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 600
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'Digital Capture Volume'
+ value.0 108
+ value.1 108
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 2325
+ dbvalue.0 900
+ dbvalue.1 900
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'Capture Volume'
+ value.0 63
+ value.1 63
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 63'
+ dbmin -2325
+ dbmax 2400
+ dbvalue.0 2400
+ dbvalue.1 2400
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'Capture Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.11 {
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.12 {
+ iface MIXER
+ name 'Capture HPF Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.13 {
+ iface MIXER
+ name 'Capture HPF Mode'
+ value Hi-fi
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 Hi-fi
+ item.1 Application
+ }
+ }
+ control.14 {
+ iface MIXER
+ name 'Capture HPF Cutoff'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ }
+ }
+ control.15 {
+ iface MIXER
+ name 'Capture LHPF Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.16 {
+ iface MIXER
+ name 'Capture LHPF Mode'
+ value LPF
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 LPF
+ item.1 HPF
+ }
+ }
+ control.17 {
+ iface MIXER
+ name 'Sidetone Volume'
+ value.0 0
+ value.1 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 12'
+ dbmin -3600
+ dbmax 0
+ dbvalue.0 -3600
+ dbvalue.1 -3600
+ }
+ }
+ control.18 {
+ iface MIXER
+ name 'Digital Playback Volume'
+ value.0 96
+ value.1 96
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 2325
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.19 {
+ iface MIXER
+ name 'DAC High Performance Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.20 {
+ iface MIXER
+ name 'DAC L/R Swap Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.21 {
+ iface MIXER
+ name 'ADC L/R Swap Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.22 {
+ iface MIXER
+ name 'ADC High Performance Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.23 {
+ iface MIXER
+ name 'Beep Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 15'
+ dbmin -9999999
+ dbmax -600
+ dbvalue.0 -9999999
+ }
+ }
+ control.24 {
+ iface MIXER
+ name 'Headphone Volume'
+ value.0 93
+ value.1 93
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -2800
+ dbvalue.1 -2800
+ }
+ }
+ control.25 {
+ iface MIXER
+ name 'Headphone Switch'
+ value.0 true
+ value.1 true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.26 {
+ iface MIXER
+ name 'Headphone ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.27 {
+ iface MIXER
+ name 'Headphone Aux Volume'
+ value.0 7
+ value.1 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 7'
+ dbmin -700
+ dbmax 0
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.28 {
+ iface MIXER
+ name 'Headphone Mixer Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.29 {
+ iface MIXER
+ name 'HPMIXL IN4L Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 600
+ }
+ }
+ control.30 {
+ iface MIXER
+ name 'HPMIXL IN4R Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 600
+ }
+ }
+ control.31 {
+ iface MIXER
+ name 'HPMIXL MIXINL Volume'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 0
+ }
+ }
+ control.32 {
+ iface MIXER
+ name 'HPMIXL MIXINR Volume'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 0
+ }
+ }
+ control.33 {
+ iface MIXER
+ name 'HPMIXR IN4L Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 600
+ }
+ }
+ control.34 {
+ iface MIXER
+ name 'HPMIXR IN4R Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 600
+ }
+ }
+ control.35 {
+ iface MIXER
+ name 'HPMIXR MIXINL Volume'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 0
+ }
+ }
+ control.36 {
+ iface MIXER
+ name 'HPMIXR MIXINR Volume'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 0
+ }
+ }
+ control.37 {
+ iface MIXER
+ name 'Speaker Boost Volume'
+ value 3
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin 0
+ dbmax 1200
+ dbvalue.0 450
+ }
+ }
+ control.38 {
+ iface MIXER
+ name 'EQ Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.39 {
+ iface MIXER
+ name 'EQ1 Volume'
+ value.0 12
+ value.1 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin -1200
+ dbmax 1900
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.40 {
+ iface MIXER
+ name 'EQ2 Volume'
+ value.0 12
+ value.1 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin -1200
+ dbmax 1900
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.41 {
+ iface MIXER
+ name 'EQ3 Volume'
+ value.0 12
+ value.1 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin -1200
+ dbmax 1900
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.42 {
+ iface MIXER
+ name 'EQ4 Volume'
+ value.0 12
+ value.1 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin -1200
+ dbmax 1900
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.43 {
+ iface MIXER
+ name 'EQ5 Volume'
+ value.0 12
+ value.1 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 31'
+ dbmin -1200
+ dbmax 1900
+ dbvalue.0 0
+ dbvalue.1 0
+ }
+ }
+ control.44 {
+ iface MIXER
+ name '3D Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.45 {
+ iface MIXER
+ name '3D Coefficients'
+ value '0040000000000000'
+ comment {
+ access 'read write'
+ type BYTES
+ count 8
+ }
+ }
+ control.46 {
+ iface MIXER
+ name 'DF1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.47 {
+ iface MIXER
+ name 'DF1 Coefficients'
+ value '0000000000000000000000000000'
+ comment {
+ access 'read write'
+ type BYTES
+ count 14
+ }
+ }
+ control.48 {
+ iface MIXER
+ name 'DRC Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.49 {
+ iface MIXER
+ name 'DRC Coefficients'
+ value '000c0925000000000000'
+ comment {
+ access 'read write'
+ type BYTES
+ count 10
+ }
+ }
+ control.50 {
+ iface MIXER
+ name 'VSS Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.51 {
+ iface MIXER
+ name 'VSS Coefficients'
+ value '008c020000350700003a4100008b7d00003a4100008cfee800780000003fb260002d18180020000000f1834000fb830000eeaec000fbac4000f17f8000f43b4000f5fb0000ea10c000fcc58000e275c00004b48000d4f9800004914000d8a48000023dc000cf7a8000dc060000f2dac000baf340000a7940001c068000fd2d00001ce840000ddc4000fc9d000009558000fe7e80000eab4000f99880000987c000fd2c400009480000035f400000870000fae4c000000b400004e18000011f4000f8b00000fbcbc00004f3800007df4000ff070000efd70000fbaf4000108a80001107c000e0080000d276000020cf400030234000fd69c0002835000006330000d9f6c000f33340000f420000040c8000fb3f8000f757c0000354000000c6c0000312c000fd8580'
+ comment {
+ access 'read write'
+ type BYTES
+ count 296
+ }
+ }
+ control.52 {
+ iface MIXER
+ name 'HPF1 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.53 {
+ iface MIXER
+ name 'HPF2 Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.54 {
+ iface MIXER
+ name 'HPF Coefficients'
+ value '0000'
+ comment {
+ access 'read write'
+ type BYTES
+ count 2
+ }
+ }
+ control.55 {
+ iface MIXER
+ name 'HD Bass Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.56 {
+ iface MIXER
+ name 'HD Bass Coefficients'
+ value '0002bd12007c586c00538121003f8bd80032f52d0065ac8c006be08700721483007214830043352500066a4a0043607900080000000100000059999a'
+ comment {
+ access 'read write'
+ type BYTES
+ count 60
+ }
+ }
+ control.57 {
+ iface MIXER
+ name 'Speaker Volume'
+ value.0 114
+ value.1 114
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ dbmin -9999999
+ dbmax 600
+ dbvalue.0 -700
+ dbvalue.1 -700
+ }
+ }
+ control.58 {
+ iface MIXER
+ name 'Speaker Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.59 {
+ iface MIXER
+ name 'Speaker ZC Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.60 {
+ iface MIXER
+ name 'Speaker Mixer Switch'
+ value.0 false
+ value.1 false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 2
+ }
+ }
+ control.61 {
+ iface MIXER
+ name 'SPKOUTL Mixer IN4L Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 600
+ }
+ }
+ control.62 {
+ iface MIXER
+ name 'SPKOUTL Mixer IN4R Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 600
+ }
+ }
+ control.63 {
+ iface MIXER
+ name 'SPKOUTL Mixer MIXINL Volume'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 0
+ }
+ }
+ control.64 {
+ iface MIXER
+ name 'SPKOUTL Mixer MIXINR Volume'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 0
+ }
+ }
+ control.65 {
+ iface MIXER
+ name 'SPKOUTL Mixer DACL Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 -600
+ }
+ }
+ control.66 {
+ iface MIXER
+ name 'SPKOUTL Mixer DACR Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 -600
+ }
+ }
+ control.67 {
+ iface MIXER
+ name 'SPKOUTR Mixer IN4L Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 600
+ }
+ }
+ control.68 {
+ iface MIXER
+ name 'SPKOUTR Mixer IN4R Volume'
+ value 7
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 7'
+ dbmin -1500
+ dbmax 600
+ dbvalue.0 600
+ }
+ }
+ control.69 {
+ iface MIXER
+ name 'SPKOUTR Mixer MIXINL Volume'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 0
+ }
+ }
+ control.70 {
+ iface MIXER
+ name 'SPKOUTR Mixer MIXINR Volume'
+ value 1
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 0
+ }
+ }
+ control.71 {
+ iface MIXER
+ name 'SPKOUTR Mixer DACL Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 -600
+ }
+ }
+ control.72 {
+ iface MIXER
+ name 'SPKOUTR Mixer DACR Volume'
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 1'
+ dbmin -600
+ dbmax 0
+ dbvalue.0 -600
+ }
+ }
+ control.73 {
+ iface MIXER
+ name 'SPKOUTR PGA'
+ value DAC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 DAC
+ item.1 Mixer
+ }
+ }
+ control.74 {
+ iface MIXER
+ name 'SPKOUTL PGA'
+ value DAC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 DAC
+ item.1 Mixer
+ }
+ }
+ control.75 {
+ iface MIXER
+ name 'SPKOUTR Mixer DACL Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.76 {
+ iface MIXER
+ name 'SPKOUTR Mixer DACR Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.77 {
+ iface MIXER
+ name 'SPKOUTR Mixer MIXINL Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.78 {
+ iface MIXER
+ name 'SPKOUTR Mixer MIXINR Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.79 {
+ iface MIXER
+ name 'SPKOUTR Mixer IN4L Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.80 {
+ iface MIXER
+ name 'SPKOUTR Mixer IN4R Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.81 {
+ iface MIXER
+ name 'SPKOUTL Mixer DACL Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.82 {
+ iface MIXER
+ name 'SPKOUTL Mixer DACR Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.83 {
+ iface MIXER
+ name 'SPKOUTL Mixer MIXINL Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.84 {
+ iface MIXER
+ name 'SPKOUTL Mixer MIXINR Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.85 {
+ iface MIXER
+ name 'SPKOUTL Mixer IN4L Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.86 {
+ iface MIXER
+ name 'SPKOUTL Mixer IN4R Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.87 {
+ iface MIXER
+ name 'HPOUTR PGA'
+ value DAC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 DAC
+ item.1 Mixer
+ }
+ }
+ control.88 {
+ iface MIXER
+ name 'HPOUTL PGA'
+ value DAC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 DAC
+ item.1 Mixer
+ }
+ }
+ control.89 {
+ iface MIXER
+ name 'HPMIXR DACL Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.90 {
+ iface MIXER
+ name 'HPMIXR DACR Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.91 {
+ iface MIXER
+ name 'HPMIXR MIXINL Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.92 {
+ iface MIXER
+ name 'HPMIXR MIXINR Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.93 {
+ iface MIXER
+ name 'HPMIXR IN4L Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.94 {
+ iface MIXER
+ name 'HPMIXR IN4R Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.95 {
+ iface MIXER
+ name 'HPMIXL DACL Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.96 {
+ iface MIXER
+ name 'HPMIXL DACR Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.97 {
+ iface MIXER
+ name 'HPMIXL MIXINL Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.98 {
+ iface MIXER
+ name 'HPMIXL MIXINR Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.99 {
+ iface MIXER
+ name 'HPMIXL IN4L Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.100 {
+ iface MIXER
+ name 'HPMIXL IN4R Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.101 {
+ iface MIXER
+ name STR
+ value None
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 None
+ item.1 Left
+ item.2 Right
+ }
+ }
+ control.102 {
+ iface MIXER
+ name STL
+ value None
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 None
+ item.1 Left
+ item.2 Right
+ }
+ }
+ control.103 {
+ iface MIXER
+ name 'MIXINR IN2R Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.104 {
+ iface MIXER
+ name 'MIXINR IN3R Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.105 {
+ iface MIXER
+ name 'MIXINR PGA Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.106 {
+ iface MIXER
+ name 'MIXINL IN2L Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.107 {
+ iface MIXER
+ name 'MIXINL IN3L Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.108 {
+ iface MIXER
+ name 'MIXINL PGA Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.109 {
+ iface MIXER
+ name 'INPGAR IN1R Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.110 {
+ iface MIXER
+ name 'INPGAR IN2R Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.111 {
+ iface MIXER
+ name 'INPGAR IN3R Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.112 {
+ iface MIXER
+ name 'INPGAR IN4R Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.113 {
+ iface MIXER
+ name 'INPGAL IN1L Switch'
+ value true
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.114 {
+ iface MIXER
+ name 'INPGAL IN2L Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.115 {
+ iface MIXER
+ name 'INPGAL IN3L Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.116 {
+ iface MIXER
+ name 'INPGAL IN4L Switch'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+}
diff --git a/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf b/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf
new file mode 100644
index 00000000..39cb3961
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf
@@ -0,0 +1,299 @@
+defaults.pcm.rate_converter "linear"
+
+pcm.dmix_48000{
+type plug
+slave.pcm{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 48000
+}
+}
+}
+
+pcm.dmix_44100{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 44100
+}
+}
+
+pcm.dmix_32000{
+type plug
+slave.pcm{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 32000
+}
+}
+}
+
+pcm.dmix_24000{
+type plug
+slave.pcm{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 24000
+}
+}
+}
+
+pcm.dmix_22050{
+type plug
+slave.pcm{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 22050
+}
+}
+}
+
+pcm.dmix_16000{
+type plug
+slave.pcm{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 16000
+}
+}
+}
+
+pcm.dmix_12000{
+type plug
+slave.pcm{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 12000
+}
+}
+}
+
+pcm.dmix_11025{
+type plug
+slave.pcm{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 11025
+}
+}
+}
+
+pcm.dmix_8000{
+type plug
+slave.pcm{
+type dmix
+ipc_key 5678293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 8000
+}
+}
+}
+
+pcm.!dsnoop_48000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 48000
+}
+}
+
+pcm.!dsnoop_44100{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 44100
+}
+}
+
+pcm.!dsnoop_32000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 32000
+}
+}
+
+pcm.!dsnoop_24000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 24000
+}
+}
+
+pcm.!dsnoop_22050{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 22050
+}
+}
+
+pcm.!dsnoop_16000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 16000
+}
+}
+
+pcm.!dsnoop_12000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 12000
+}
+}
+
+pcm.!dsnoop_11025{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 11025
+}
+}
+
+pcm.!dsnoop_8000{
+type dsnoop
+ipc_key 5778293
+ipc_key_add_uid yes
+slave{
+pcm "hw:0,0"
+period_time 0
+period_size 2048
+buffer_size 24576
+format S16_LE
+rate 8000
+}
+}
+
+pcm.asymed{
+type asym
+playback.pcm "dmix_44100"
+capture.pcm "dsnoop_44100"
+}
+
+pcm.dsp0{
+type plug
+slave.pcm "asymed"
+}
+
+pcm.!default{
+type plug
+route_policy "average"
+slave.pcm "asymed"
+}
+
+ctl.mixer0{
+type hw
+card 0
+}
diff --git a/recipes-bsp/alsa-state/alsa-state/mxs/asound.state b/recipes-bsp/alsa-state/alsa-state/mxs/asound.state
new file mode 100644
index 00000000..d508cc36
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mxs/asound.state
@@ -0,0 +1,191 @@
+state.mxsevk {
+ control.1 {
+ iface MIXER
+ name 'MIC GAIN'
+ value '0dB'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 '0dB'
+ item.1 '20dB'
+ item.2 '30dB'
+ item.3 '40dB'
+ }
+ }
+ control.2 {
+ iface MIXER
+ name 'Capture Volume'
+ value.0 12
+ value.1 12
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 15'
+ }
+ }
+ control.3 {
+ iface MIXER
+ name 'Capture Vol Reduction'
+ value 'No Change'
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 'No Change'
+ item.1 'Reduced by 6dB'
+ }
+ }
+ control.4 {
+ iface MIXER
+ name 'Playback Volume'
+ value.0 156
+ value.1 156
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 192'
+ }
+ }
+ control.5 {
+ iface MIXER
+ name 'Headphone Volume'
+ value.0 127
+ value.1 127
+ comment {
+ access 'read write'
+ type INTEGER
+ count 2
+ range '0 - 127'
+ }
+ }
+ control.6 {
+ iface MIXER
+ name 'DAC Mux'
+ value DAC
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 DAC
+ item.1 LINE_IN
+ }
+ }
+ control.7 {
+ iface MIXER
+ name 'ADC Mux'
+ value MIC_IN
+ comment {
+ access 'read write'
+ type ENUMERATED
+ count 1
+ item.0 MIC_IN
+ item.1 LINE_IN
+ }
+ }
+}
+state.mxsevk_1 {
+ control.1 {
+ iface MIXER
+ name PRO
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.2 {
+ iface MIXER
+ name AUDIO
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.3 {
+ iface MIXER
+ name COPY
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.4 {
+ iface MIXER
+ name PRE
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.5 {
+ iface MIXER
+ name CC
+ value 0
+ comment {
+ access 'read write'
+ type INTEGER
+ count 1
+ range '0 - 127'
+ }
+ }
+ control.6 {
+ iface MIXER
+ name L
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.7 {
+ iface MIXER
+ name V
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.8 {
+ iface MIXER
+ name 'USER DATA'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.9 {
+ iface MIXER
+ name 'AUTO MUTE'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+ control.10 {
+ iface MIXER
+ name 'V CONFIG'
+ value false
+ comment {
+ access 'read write'
+ type BOOLEAN
+ count 1
+ }
+ }
+}
diff --git a/recipes-bsp/apptrk/apptrk/apptrk-install-create-all-components-of-DEST.patch b/recipes-bsp/apptrk/apptrk/apptrk-install-create-all-components-of-DEST.patch
new file mode 100644
index 00000000..6b4a0e83
--- /dev/null
+++ b/recipes-bsp/apptrk/apptrk/apptrk-install-create-all-components-of-DEST.patch
@@ -0,0 +1,24 @@
+Upstream-Status: Pending
+
+Signed-off-by: Chunrong Guo <B40290@freescale.com>
+
+
+ for fix the following error:
+ |install: cannot create regular file /usr/bin/apptrk
+ |No such file or directory
+
+
+--- a/Makefileold 2014-12-21 23:46:26.872329032 -0600
++++ b/Makefile 2014-12-21 23:47:33.724326646 -0600
+@@ -89,9 +89,9 @@
+ # Other Targets
+ install: all
+ if [ -f $(DESTDIR)/usr/bin/apptrk ]; then rm -f $(DESTDIR)/usr/bin/apptrk ; fi
+- install $(OUTPUT) $(DESTDIR)/usr/bin/apptrk
++ install -D $(OUTPUT) $(DESTDIR)/usr/bin/apptrk
+ if [ -f $(DESTDIR)/usr/bin/apptrk_debug ]; then rm -f $(DESTDIR)/usr/bin/apptrk_debug ; fi
+- install $(OUTPUT_DBG) $(DESTDIR)/usr/bin/apptrk_debug
++ install -D $(OUTPUT_DBG) $(DESTDIR)/usr/bin/apptrk_debug
+
+ clean:
+ -$(RM) $(OBJS)$(OBJS_DBG)$(EXECUTABLES)$(C_DEPS)$(C_DEPS_DBG) $(OUTPUT) $(OUTPUT_DBG)
diff --git a/recipes-bsp/apptrk/apptrk/no-strip.patch b/recipes-bsp/apptrk/apptrk/no-strip.patch
new file mode 100644
index 00000000..a8cf6205
--- /dev/null
+++ b/recipes-bsp/apptrk/apptrk/no-strip.patch
@@ -0,0 +1,20 @@
+Disable stripping of binaries
+
+We don't want to strip these as this is handled separately at package
+time.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Chunrong Guo <B40290@freescale.com>
+
+--- a/Makefileold 2015-01-07 03:45:32.786477574 -0600
++++ b/Makefile 2015-01-07 03:46:28.426475588 -0600
+@@ -62,7 +62,7 @@
+ # CFLAGS += -DENABLE_64BIT_SUPPORT
+
+
+-LDFLAGS += -s
++
+
+ # Add inputs and outputs from these tool invocations to the build variables
+
diff --git a/recipes-bsp/apptrk/apptrk_git.bb b/recipes-bsp/apptrk/apptrk_git.bb
new file mode 100644
index 00000000..4453cf87
--- /dev/null
+++ b/recipes-bsp/apptrk/apptrk_git.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Debug agent for Freescale CodeWarrior"
+SECTION = "apptrk"
+LICENSE = "Freescale-EULA"
+LIC_FILES_CHKSUM = "file://COPYING;md5=95560debfde180684364319811cc1421"
+
+DEPENDS = "elfutils"
+
+inherit kernel-arch
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/apptrk.git;nobranch=1 \
+ file://apptrk-install-create-all-components-of-DEST.patch \
+ file://no-strip.patch \
+"
+SRCREV = "cbed10997c5e2a4aaa004fb0e1efec858bf1bbe1"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = ""
+
+CFLAGS += " -I${STAGING_INCDIR}"
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
diff --git a/recipes-bsp/barebox/barebox.inc b/recipes-bsp/barebox/barebox.inc
new file mode 100644
index 00000000..0d5c127b
--- /dev/null
+++ b/recipes-bsp/barebox/barebox.inc
@@ -0,0 +1,63 @@
+DESCRIPTION = "Barebox - a bootloader that inherits the best of U-Boot and the Linux kernel"
+HOMEPAGE = "http://www.barebox.org/"
+SECTION = "bootloader"
+PROVIDES = "virtual/bootloader"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=057bf9e50e1ca857d0eb97bfe4ba8e5d"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit kernel-arch
+
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+
+BAREBOX_BINARY ?= "barebox.bin"
+BAREBOX_IMAGE ?= "barebox-${MACHINE}-${PV}-${PR}.bin"
+BAREBOXENV_BIN ?= "bareboxenv-${MACHINE}-${PV}-${PR}.bin"
+BAREBOX_SYMLINK ?= "barebox-${MACHINE}.bin"
+BAREBOXENV_SYMLINK ?= "bareboxenv-${MACHINE}.bin"
+
+INSANE_SKIP_${PN} = "True"
+
+do_pre_configure() {
+ cp ${WORKDIR}/defconfig ${S}/.config
+ oe_runmake oldconfig
+}
+addtask pre_configure before do_configure after do_patch
+
+do_compile () {
+ if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
+ sed -i 's/$(CROSS_COMPILE)ld/$(CROSS_COMPILE)ld.bfd/g' Makefile
+ fi
+ unset LDFLAGS
+ unset CFLAGS
+ unset CPPFLAGS
+ oe_runmake all
+}
+
+do_deploy () {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install ${S}/${BAREBOX_BINARY} ${DEPLOY_DIR_IMAGE}/${BAREBOX_IMAGE}
+
+ cd ${DEPLOY_DIR_IMAGE}
+ rm -f ${BAREBOX_SYMLINK}
+ ln -sf ${BAREBOX_IMAGE} ${BAREBOX_SYMLINK}
+
+ install -d ${STAGING_BINDIR_NATIVE}
+ cd ${S}
+ install -m 755 scripts/mkimage ${STAGING_BINDIR_NATIVE}/
+ install -m 755 scripts/bareboxenv ${STAGING_BINDIR_NATIVE}/
+}
+
+do_deploy[dirs] = "${S}"
+addtask deploy before do_build after do_compile
+
+do_env_deploy() {
+ install ${S}/common/barebox_default_env ${DEPLOY_DIR_IMAGE}/${BAREBOXENV_BIN}
+
+ cd ${DEPLOY_DIR_IMAGE}
+ rm -f ${BAREBOXENV_SYMLINK}
+ ln -sf ${BAREBOXENV_BIN} ${BAREBOXENV_SYMLINK}
+}
+addtask env_deploy before do_build after do_deploy
diff --git a/recipes-bsp/barebox/barebox_2013.08.0.bb b/recipes-bsp/barebox/barebox_2013.08.0.bb
new file mode 100644
index 00000000..e4e37179
--- /dev/null
+++ b/recipes-bsp/barebox/barebox_2013.08.0.bb
@@ -0,0 +1,9 @@
+require recipes-bsp/barebox/barebox.inc
+
+SRC_URI = "http://barebox.org/download/${PN}-${PV}.tar.bz2 \
+ file://defconfig"
+
+SRC_URI[md5sum] = "a61b97a2fedebc808d4b182c2ca18a0c"
+SRC_URI[sha256sum] = "d9e46dd3c68b04ab4cbc37135dc34907dbebef393da4b3e54abb203c295c1620"
+
+COMPATIBLE_MACHINE = "Invalid!"
diff --git a/recipes-bsp/change-file-endianess/change-file-endianess.bb b/recipes-bsp/change-file-endianess/change-file-endianess.bb
new file mode 100644
index 00000000..2ad8c588
--- /dev/null
+++ b/recipes-bsp/change-file-endianess/change-file-endianess.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "provides the tcl script for endian swap"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
+ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+
+SRC_URI = "file://byte_swap.tcl"
+
+RDEPENDS += "tcl-native"
+
+inherit native
+
+S = "${WORKDIR}"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install () {
+ install -d ${D}/${bindir}
+ install -m 755 ${WORKDIR}/byte_swap.tcl ${D}/${bindir}
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl b/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl
new file mode 100755
index 00000000..aca956bd
--- /dev/null
+++ b/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl
@@ -0,0 +1,29 @@
+puts $argv
+set i_file [lindex $argv 0]
+set o_file [lindex $argv 1]
+set num_b [lindex $argv 2]
+puts ""
+
+set fileid_i [open $i_file "r"]
+set fileid_o [open $o_file "w+"]
+fconfigure $fileid_i -translation {binary binary}
+fconfigure $fileid_o -translation {binary binary}
+
+set old_bin [read $fileid_i]
+set new_bin {}
+for {set i 0} {$i<[string length $old_bin]} {incr i $num_b} {
+ for {set j $num_b} {$j>0} {incr j -1} {
+ append new_bin [string index $old_bin [expr $i+($j-1)]]
+ }
+}
+
+for {set i 0} {$i<[string length $old_bin]} {incr i $num_b} {
+ set binValue [string range $old_bin [expr $i+0] [expr $i+($num_b-1)]]
+ binary scan $binValue H[expr $num_b*2] hexValue
+
+ set binValue [string range $new_bin [expr $i+0] [expr $i+($num_b-1)]]
+ binary scan $binValue H[expr $num_b*2] hexValue
+}
+
+puts -nonewline $fileid_o $new_bin
+close $fileid_o
diff --git a/recipes-bsp/elftosb/elftosb_10.12.01.bb b/recipes-bsp/elftosb/elftosb_10.12.01.bb
new file mode 100644
index 00000000..2cef1f6a
--- /dev/null
+++ b/recipes-bsp/elftosb/elftosb_10.12.01.bb
@@ -0,0 +1,22 @@
+# Copyright (C) 2011, 2012 Freescale
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Helper utility for freescale imx platforms"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=172ede34353056ebec7a597d8459f029"
+SECTION = "bootloader"
+PR = "r4"
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI = "http://repository.timesys.com/buildsources/e/elftosb/elftosb-${PV}/elftosb-${PV}.tar.gz \
+ file://cross-build.patch \
+ file://don-t-use-full-path-for-headers.patch"
+SRC_URI[md5sum] = "e8005d606c1e0bb3507c82f6eceb3056"
+SRC_URI[sha256sum] = "77bb6981620f7575b87d136d94c7daa88dd09195959cc75fc18b138369ecd42b"
+
+do_install() {
+ install -d ${D}${bindir}
+ install ${S}/bld/linux/elftosb ${D}${bindir}
+ install ${S}/bld/linux/keygen ${D}${bindir}
+ install ${S}/bld/linux/sbtool ${D}${bindir}
+}
diff --git a/recipes-bsp/elftosb/files/cross-build.patch b/recipes-bsp/elftosb/files/cross-build.patch
new file mode 100644
index 00000000..8cffa03e
--- /dev/null
+++ b/recipes-bsp/elftosb/files/cross-build.patch
@@ -0,0 +1,50 @@
+--- a/makefile.rules.orig 2012-05-09 21:03:28.000000000 +0200
++++ b/makefile.rules 2012-05-09 21:03:56.000000000 +0200
+@@ -9,6 +9,8 @@
+ # SRC_DIR needs to be passed in. It is assumed that make is running in
+ # the build directory.
+
++CC ?= gcc
++
+ #*******************************************************************************
+ # Environment
+
+@@ -101,7 +103,7 @@
+ keygen.o
+
+
+-LIBS = -lstdc++
++LIBS ?= -lstdc++ -lm
+
+
+ ifeq ("${UNAMES}", "Linux")
+@@ -137,13 +139,13 @@
+ ${EXEC_FILE_ELFTOSB2} ${EXEC_FILE_SBTOOL} ${EXEC_FILE_KEYGEN}
+
+ elftosb: ${OBJ_FILES_ELFTOSB2}
+- gcc ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2}
++ ${CC} ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2}
+
+ sbtool: ${OBJ_FILES_SBTOOL}
+- gcc ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL}
++ ${CC} ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL}
+
+ keygen: ${OBJ_FILES_KEYGEN}
+- gcc ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN}
++ ${CC} ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN}
+
+
+ #ifeq ("${UNAMES}", "Linux")
+@@ -153,10 +155,10 @@
+ .SUFFIXES : .c .cpp
+
+ .c.o :
+- gcc ${CFLAGS} -c $<
++ ${CC} ${CFLAGS} -c $<
+
+ .cpp.o :
+- gcc ${CFLAGS} -c $<
++ ${CC} ${CFLAGS} -c $<
+
+ #endif
+
diff --git a/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch b/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch
new file mode 100644
index 00000000..8996ffbb
--- /dev/null
+++ b/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch
@@ -0,0 +1,42 @@
+elftosb: don't use full path for headers
+
+This fixes the building on new host distributions where header might
+move due multilib support and other possible changes in future.
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ common/stdafx.h | 2 +-
+ stdafx.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/common/stdafx.h b/common/stdafx.h
+index e6bf9dd..fb3c2d7 100644
+--- a/common/stdafx.h
++++ b/common/stdafx.h
+@@ -27,7 +27,7 @@
+ // For Linux systems only, types.h only defines the signed
+ // integer types. This is not professional code.
+ // Update: They are defined in the header files in the more recent version of redhat enterprise gcc.
+-#include "/usr/include/sys/types.h"
++#include <sys/types.h>
+ #include <stdint.h>
+ //typedef unsigned long uint32_t;
+ //typedef unsigned short uint16_t;
+diff --git a/stdafx.h b/stdafx.h
+index ce80458..6ff2f44 100644
+--- a/stdafx.h
++++ b/stdafx.h
+@@ -27,7 +27,7 @@
+ // For Linux systems only, types.h only defines the signed
+ // integer types. This is not professional code.
+ // Update: They are defined in the header files in the more recent version of redhat enterprise gcc.
+-#include "/usr/include/sys/types.h"
++#include <sys/types.h>
+ //typedef unsigned long uint32_t;
+ //typedef unsigned short uint16_t;
+ //typedef unsigned char uint8_t;
+--
+1.7.2.5
+
diff --git a/recipes-bsp/firmware-imx/firmware-imx.inc b/recipes-bsp/firmware-imx/firmware-imx.inc
new file mode 100644
index 00000000..80e5e59e
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-imx.inc
@@ -0,0 +1,42 @@
+SUMMARY = "Freescale IMX firmware"
+DESCRIPTION = "Freescale IMX firmware such as for the VPU"
+SECTION = "base"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://COPYING;md5=acdb807ac7275fe32f9f64992e111241"
+
+PE = "1"
+
+SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true"
+
+inherit fsl-eula-unpack
+
+do_install() {
+ install -d ${D}/lib/firmware
+ cp -rfv firmware/* ${D}/lib/firmware/
+ find ${D}/lib/firmware -type f -exec chmod 644 '{}' ';'
+
+ # Remove files not going to be installed
+ find ${D}/lib/firmware/ -name Android.mk -exec rm '{}' ';'
+}
+
+python populate_packages_prepend() {
+ vpudir = bb.data.expand('/lib/firmware/vpu', d)
+ do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin',
+ output_pattern='firmware-imx-vpu-%s',
+ description='Freescale IMX Firmware %s',
+ extra_depends='',
+ prepend=True)
+
+ sdmadir = bb.data.expand('/lib/firmware/sdma', d)
+ do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin',
+ output_pattern='firmware-imx-sdma-%s',
+ description='Freescale IMX Firmware %s',
+ extra_depends='',
+ prepend=True)
+}
+
+ALLOW_EMPTY_${PN} = "1"
+
+PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-bsp/firmware-imx/firmware-imx_3.14.28-1.0.0.bb b/recipes-bsp/firmware-imx/firmware-imx_3.14.28-1.0.0.bb
new file mode 100644
index 00000000..408baf18
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-imx_3.14.28-1.0.0.bb
@@ -0,0 +1,8 @@
+# Copyright (C) 2012-2015 Freescale Semiconductor
+
+require firmware-imx.inc
+
+SRC_URI[md5sum] = "6e700f3d3a6482db08d5aabee7751630"
+SRC_URI[sha256sum] = "1f09acd4d605efc78a0672068a658cb16274811d2f444cf3ae7aaa075266746f"
+
+COMPATIBLE_MACHINE = "(mx5|mx6)"
diff --git a/recipes-bsp/formfactor/formfactor/imx51evk/machconfig b/recipes-bsp/formfactor/formfactor/imx51evk/machconfig
new file mode 100644
index 00000000..3dbcc111
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor/imx51evk/machconfig
@@ -0,0 +1,11 @@
+# Display options
+HAVE_TOUCHSCREEN=0
+HAVE_KEYBOARD=1
+
+#DISPLAY_CAN_ROTATE=0
+#DISPLAY_ORIENTATION=0
+#DISPLAY_WIDTH_PIXELS=1024
+#DISPLAY_HEIGHT_PIXELS=720
+#DISPLAY_BPP=16
+#DISPLAY_DPI=150
+#DISPLAY_SUBPIXEL_ORDER=vrgb
diff --git a/recipes-bsp/formfactor/formfactor/imx53ard/machconfig b/recipes-bsp/formfactor/formfactor/imx53ard/machconfig
new file mode 100644
index 00000000..7f884fe8
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor/imx53ard/machconfig
@@ -0,0 +1,13 @@
+# Display options
+HAVE_TOUCHSCREEN=1
+HAVE_KEYBOARD=0
+
+TSLIB_TSDEVICE="/dev/input/touchscreen0"
+
+#DISPLAY_CAN_ROTATE=0
+#DISPLAY_ORIENTATION=0
+#DISPLAY_WIDTH_PIXELS=1024
+#DISPLAY_HEIGHT_PIXELS=720
+#DISPLAY_BPP=16
+#DISPLAY_DPI=150
+#DISPLAY_SUBPIXEL_ORDER=vrgb
diff --git a/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig b/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig
new file mode 100644
index 00000000..3dbcc111
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig
@@ -0,0 +1,11 @@
+# Display options
+HAVE_TOUCHSCREEN=0
+HAVE_KEYBOARD=1
+
+#DISPLAY_CAN_ROTATE=0
+#DISPLAY_ORIENTATION=0
+#DISPLAY_WIDTH_PIXELS=1024
+#DISPLAY_HEIGHT_PIXELS=720
+#DISPLAY_BPP=16
+#DISPLAY_DPI=150
+#DISPLAY_SUBPIXEL_ORDER=vrgb
diff --git a/recipes-bsp/formfactor/formfactor_%.bbappend b/recipes-bsp/formfactor/formfactor_%.bbappend
new file mode 100644
index 00000000..8c77b8d3
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor_%.bbappend
@@ -0,0 +1,2 @@
+# Append path for freescale to include costom matchconfig
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch b/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch
new file mode 100644
index 00000000..1deca1cb
--- /dev/null
+++ b/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch
@@ -0,0 +1,46 @@
+imx-bootlets: Add command script for barebox
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
+
+diff --git a/barebox_ivt.bd b/barebox_ivt.bd
+new file mode 100644
+index 0000000..79cbccf
+--- /dev/null
++++ b/barebox_ivt.bd
+@@ -0,0 +1,34 @@
++// STMP378x ROM command script to load and run barebox
++
++sources {
++ power_prep="imx-bootlets-power_prep-@MACHINE@";
++ sdram_prep="imx-bootlets-boot_prep-@MACHINE@";
++ barebox="barebox-@MACHINE@.bin";
++}
++
++section (0) {
++
++ //----------------------------------------------------------
++ // Power Supply initialization
++ //----------------------------------------------------------
++
++ load power_prep;
++ load ivt (entry = power_prep:_start) > 0x8000;
++ hab call 0x8000;
++
++ //----------------------------------------------------------
++ // SDRAM initialization
++ //----------------------------------------------------------
++
++ load sdram_prep;
++ load ivt (entry = sdram_prep:_start) > 0x8000;
++ hab call 0x8000;
++ //----------------------------------------------------------
++ // Load and call barebox - ELF ARM image
++ //----------------------------------------------------------
++
++ load barebox;
++ load ivt (entry = barebox:start) > 0x8000;
++ hab call 0x8000;
++
++}
diff --git a/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch b/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch
new file mode 100644
index 00000000..d54add12
--- /dev/null
+++ b/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch
@@ -0,0 +1,28 @@
+imx-bootlets: Fix paths for used during boot stream generation
+
+This will be run during image generation thus this won't use a
+complete path to allow for relocation.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+diff --git a/linux.bd b/linux.bd
+index 516f4f2..366ac22 100644
+--- a/linux.bd
++++ b/linux.bd
+@@ -4,10 +4,10 @@
+ flags = 0x01;
+ }
+ sources {
+- power_prep="./power_prep/power_prep";
+- sdram_prep="./boot_prep/boot_prep";
+- linux_prep="./linux_prep/output-target/linux_prep";
+- zImage = "./zImage";
++ power_prep="imx-bootlets-power_prep-@MACHINE@";
++ sdram_prep="imx-bootlets-boot_prep-@MACHINE@";
++ linux_prep="imx-bootlets-linux_prep-@MACHINE@";
++ zImage="zImage-@MACHINE@.bin@DTB@";
+ }
+
+ section (0) {
diff --git a/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch b/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch
new file mode 100644
index 00000000..4fb4c519
--- /dev/null
+++ b/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch
@@ -0,0 +1,30 @@
+imx-bootlets: Fix cmdlines for Linux boot
+
+This adapt the cmdlines for the partitioning layout used on the
+generated SD cards.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+diff --git a/linux_prep/cmdlines/iMX28_EVK.txt b/linux_prep/cmdlines/iMX28_EVK.txt
+index 6bc36b9..6cf89a0 100644
+--- a/linux_prep/cmdlines/iMX28_EVK.txt
++++ b/linux_prep/cmdlines/iMX28_EVK.txt
+@@ -1 +1 @@
+-console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait
++console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait
+diff --git a/linux_prep/cmdlines/stmp378x_dev.txt b/linux_prep/cmdlines/stmp378x_dev.txt
+index 9a717eb..fdb7390 100644
+--- a/linux_prep/cmdlines/stmp378x_dev.txt
++++ b/linux_prep/cmdlines/stmp378x_dev.txt
+@@ -1,6 +1,3 @@
+-console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait lcd_panel=lms430 no_console_suspend
+-console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait lcd_panel=lms350
+-console=ttyAM0,115200 ssp1=spi1 ubi.mtd=2 root=ubi0:rootfs0 rootfstype=ubifs lcd_panel=lms430
+-
+-
+-
++console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait ssp1=mmc lcd_panel=lms430 no_console_suspend
++console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait ssp1=mmc lcd_panel=lms350
++console=ttyAMA0,115200 ssp1=spi1 ubi.mtd=2 root=ubi0:rootfs0 rootfstype=ubifs lcd_panel=lms430
diff --git a/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb b/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb
new file mode 100644
index 00000000..6084f169
--- /dev/null
+++ b/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb
@@ -0,0 +1,79 @@
+DESCRIPTION = "i.MXS boot streams"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+
+PR = "r5"
+
+SRC_URI = "http://download.ossystems.com.br/bsp/freescale/source/imx-bootlets-src-${PV}.tar.gz \
+ file://linux-fix-paths.patch \
+ file://linux_prep-fix-cmdlines.patch \
+ file://add-command-script-for-barebox.patch"
+
+SRC_URI[md5sum] = "cf0ab3822dca694b930a051501c1d0e4"
+SRC_URI[sha256sum] = "63f6068ae36884adef4259bbb1fe2591755718f22c46d0a59d854883dfab1ffc"
+
+S = "${WORKDIR}/imx-bootlets-src-${PV}"
+
+inherit deploy
+
+# Disable parallel building or it may fail to build.
+PARALLEL_MAKE = ""
+
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+
+# Ensure machine defines the IMXBOOTLETS_MACHINE
+python () {
+ if not d.getVar("IMXBOOTLETS_MACHINE", True):
+ PN = d.getVar("PN", True)
+ FILE = os.path.basename(d.getVar("FILE", True))
+ bb.debug(1, "To build %s, see %s for instructions on \
+ setting up your machine config" % (PN, FILE))
+ raise bb.parse.SkipPackage("because IMXBOOTLETS_MACHINE is not set")
+}
+
+do_configure () {
+ # Use machine specific binaries
+ sed 's,@MACHINE@,${MACHINE},g;s,@DTB@,-dtb,g' < linux.bd > linux.bd-dtb
+ sed -i 's,@MACHINE@,${MACHINE},g;s,@DTB@,,g' linux.bd
+ sed -i 's,@MACHINE@,${MACHINE},g' barebox_ivt.bd
+}
+
+do_compile () {
+ oe_runmake BOARD=${IMXBOOTLETS_MACHINE} linux_prep \
+ boot_prep \
+ power_prep \
+ 'CC=${TARGET_PREFIX}gcc --sysroot="${STAGING_DIR_TARGET}"' \
+ 'LD=${TARGET_PREFIX}ld --sysroot="${STAGING_DIR_TARGET}"'
+}
+
+do_install () {
+ install -d ${D}/boot/
+ install -m 644 boot_prep/boot_prep power_prep/power_prep \
+ linux_prep/output-target/linux_prep \
+ linux.bd linux.bd-dtb \
+ barebox_ivt.bd \
+ ${D}/boot
+}
+
+FILES_${PN} = "/boot"
+
+do_deploy () {
+ install -d ${DEPLOYDIR}
+
+ for f in boot_prep/boot_prep \
+ power_prep/power_prep \
+ linux_prep/output-target/linux_prep \
+ barebox_ivt.bd \
+ linux.bd linux.bd-dtb; do
+ full_name="imx-bootlets-`basename $f`-${MACHINE}-${PV}-${PR}"
+ symlink_name="imx-bootlets-`basename $f`-${MACHINE}"
+
+ install -m 644 ${S}/$f ${DEPLOYDIR}/$full_name
+ (cd ${DEPLOYDIR} ; rm -f $symlink_name ; ln -sf $full_name $symlink_name)
+ done
+}
+
+addtask deploy before do_build after do_compile
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(mxs)"
diff --git a/recipes-bsp/imx-kobs/imx-kobs_3.14.28-1.0.0.bb b/recipes-bsp/imx-kobs/imx-kobs_3.14.28-1.0.0.bb
new file mode 100644
index 00000000..2cf19005
--- /dev/null
+++ b/recipes-bsp/imx-kobs/imx-kobs_3.14.28-1.0.0.bb
@@ -0,0 +1,13 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+
+SUMMARY = "Nand boot write source"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+
+SRC_URI = "${FSL_MIRROR}/imx-kobs-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "0077ec992b281ebbce2928564a08b207"
+SRC_URI[sha256sum] = "cfac042f5c96731205c397a4a6b3ed966f804569ae4d0e2685d22fdf6bdc9eb7"
+
+inherit autotools pkgconfig
diff --git a/recipes-bsp/imx-lib/imx-lib-11.09.02/obey-variables.patch b/recipes-bsp/imx-lib/imx-lib-11.09.02/obey-variables.patch
new file mode 100644
index 00000000..901345ac
--- /dev/null
+++ b/recipes-bsp/imx-lib/imx-lib-11.09.02/obey-variables.patch
@@ -0,0 +1,209 @@
+Obey CFLAGS, LDFLAGS
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Upstream-status: Pending
+
+--- imx-lib-11.09.02.orig/hdmi-cec/Makefile 2014-09-02 13:04:37.114250749 -0700
++++ imx-lib-11.09.02/hdmi-cec/Makefile 2014-09-02 13:04:37.086250568 -0700
+@@ -1,5 +1,6 @@
+ CC ?=$(CROSS_COMPILE)gcc
+ AR ?=$(CROSS_COMPILE)ar
++CFLAGS ?=-O2
+
+ # list of platforms which want this test case
+ INCLUDE_LIST:= IMX6Q
+@@ -32,10 +33,10 @@
+ endif
+
+ %.o: %.c
+- $(CC) -D$(PLATFORM) -Wall -O2 -fPIC -c $^ -o $@
++ $(CC) -D$(PLATFORM) -Wall -fPIC $(CFLAGS) -c $^ -o $@
+
+ $(LIBNAME).so.$(SONAMEVERSION): $(OBJ)
+- $(CC) -shared -nostartfiles -Wl,-soname,$@ $^ -o $@
++ $(CC) -shared -nostartfiles -Wl,-soname,$@ $^ -o $@ $(LDFLAGS)
+
+ $(LIBNAME).so: $(LIBNAME).so.$(SONAMEVERSION)
+ ln -s $< $@
+--- imx-lib-11.09.02.orig/ipu/Makefile 2014-09-02 13:04:37.114250749 -0700
++++ imx-lib-11.09.02/ipu/Makefile 2014-09-02 13:05:11.062458117 -0700
+@@ -1,5 +1,6 @@
+ CC ?=$(CROSS_COMPILE)gcc
+ AR ?=$(CROSS_COMPILE)ar
++CFLAGS ?=-O2
+
+ ifeq ($(PLATFORM), IMX6Q)
+ OBJS = mxc_ipu_hl_lib_dummy.o
+@@ -28,7 +29,7 @@
+ endif
+
+ $(LIBNAME).so.$(SONAMEVERSION): $(OBJS)
+- $(CC) -shared -nostartfiles -Wl,-soname,$@ -o $@ $^ -lpthread
++ $(CC) -shared -nostartfiles -Wl,-soname,$@ -o $@ $^ -lpthread $(LDFLAGS)
+
+ $(LIBNAME).so: $(LIBNAME).so.$(SONAMEVERSION)
+ ln -s $< $@
+@@ -37,7 +38,7 @@
+ ifeq "$(PLATFORM)" ""
+ $(error "Unspecified PLATFORM variable")
+ endif
+- $(CC) -D$(PLATFORM) $(INCLUDE) -Wall -O2 -fPIC -c $^ -o $@
++ $(CC) -D$(PLATFORM) $(INCLUDE) -Wall -fPIC $(CFLAGS) -c $^ -o $@
+
+ .PHONY: clean
+ clean:
+--- imx-lib-11.09.02.orig/pxp/Makefile 2014-09-02 13:04:37.114250749 -0700
++++ imx-lib-11.09.02/pxp/Makefile 2014-09-02 13:05:53.354716651 -0700
+@@ -1,5 +1,6 @@
+ CC ?=$(CROSS_COMPILE)gcc
+ AR ?=$(CROSS_COMPILE)ar
++CFLAGS ?=-O2
+
+ # list of platforms which want this test case
+ INCLUDE_LIST:=IMX50 IMX51 IMX5 IMX6Q IMX6S
+@@ -25,10 +26,10 @@
+ endif
+
+ %.o: %.c
+- $(CC) -D$(PLATFORM) $(INCLUDE) -Wall -O2 -fPIC -c $^ -o $@
++ $(CC) -D$(PLATFORM) $(INCLUDE) -Wall -fPIC $(CFLAGS) -c $^ -o $@
+
+ $(LIBNAME).so.$(SONAMEVERSION): $(OBJ)
+- $(CC) -shared -nostartfiles -Wl,-soname,$@ $^ -o $@
++ $(CC) -shared -nostartfiles -Wl,-soname,$@ $^ -o $@ $(LDFLAGS)
+
+ $(LIBNAME).so: $(LIBNAME).so.$(SONAMEVERSION)
+ ln -s $< $@
+--- imx-lib-11.09.02.orig/rng/Makefile 2014-09-02 13:04:37.114250749 -0700
++++ imx-lib-11.09.02/rng/Makefile 2014-09-02 13:04:37.086250568 -0700
+@@ -4,16 +4,17 @@
+ AR = ar -crv
+ RM = rm -f
+ CC ?=$(CROSS_COMPILE)gcc
+-LD=$(CROSS_COMPILE)ld
++LD ?=$(CROSS_COMPILE)ld
++CFLAGS ?=-g
+
+ INC := $(INCLUDE)
+
+ # Add compilation checks
+-CFLAGS += -g -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -fPIC
++override CFLAGS += -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -fPIC
+
+ # In absence of kernel CONFIG flags, set API library to build on
+ # 'unknown' platform.
+-CFLAGS += -DFSL_PLATFORM_OTHER -DFSL_HAVE_RNGC $(INC)
++override CFLAGS += -DFSL_PLATFORM_OTHER -DFSL_HAVE_RNGC $(INC)
+
+ OBJS= fsl_shw_rand.o fsl_shw_hash.o fsl_shw_sym.o fsl_shw_user.o \
+ fsl_shw_keystore.o fsl_shw_auth.o fsl_shw_hmac.o fsl_shw_wrap.o
+@@ -34,7 +35,7 @@
+ $(AR) $@ $^
+
+ $(LIBNAME).so.$(SONAMEVERSION): $(OBJS)
+- $(CC) -shared -nostartfiles -Wl,-soname,$@ -o $@ $^
++ $(CC) -shared -nostartfiles -Wl,-soname,$@ -o $@ $^ $(LDFLAGS)
+
+ $(LIBNAME).so: $(LIBNAME).so.$(SONAMEVERSION)
+ ln -s $< $@
+--- imx-lib-11.09.02.orig/sahara2/Makefile 2014-09-02 13:04:37.114250749 -0700
++++ imx-lib-11.09.02/sahara2/Makefile 2014-09-02 13:04:37.086250568 -0700
+@@ -4,7 +4,8 @@
+ AR = ar -crv
+ RM = rm -f
+ CC ?=$(CROSS_COMPILE)gcc
+-LD=$(CROSS_COMPILE)ld
++LD ?=$(CROSS_COMPILE)ld
++CFLAGS ?=-g
+
+ INC := $(INCLUDE)
+
+@@ -18,19 +19,19 @@
+ endif
+
+ # Add compilation checks
+-CFLAGS += -g -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -fPIC
++override CFLAGS += -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -fPIC
+
+ OBJS= fsl_shw_rand.o fsl_shw_hash.o fsl_shw_sym.o fsl_shw_user.o \
+ fsl_shw_auth.o fsl_shw_hmac.o fsl_shw_wrap.o fsl_shw_keystore.o um_adaptor.o sf_util.o
+
+
+ #CFLAGS += -DSAHARA -DLINUX -I$(APIINCDIR)
+-CFLAGS += -DSAHARA -DLINUX $(INC)
+-CFLAGS += $(TARGET_ARCH)
++override CFLAGS += -DSAHARA -DLINUX $(INC)
++override CFLAGS += $(TARGET_ARCH)
+ # Uncomment to debug Library's creation of structures for driver
+-#CFLAGS += -DDIAG_SECURITY_FUNC
++#override CFLAGS += -DDIAG_SECURITY_FUNC
+ # Uncomment to simulate memory allocation errors
+-#CFLAGS += -DDIAG_MEM_ERRORS -DDIAG_MEM_CONST=5
++#override CFLAGS += -DDIAG_MEM_ERRORS -DDIAG_MEM_CONST=5
+
+ LIBNAME=libsahara
+ SONAMEVERSION=0
+@@ -53,7 +54,7 @@
+ $(AR) $@ $^
+
+ $(LIBNAME).so.$(SONAMEVERSION): $(OBJS)
+- $(CC) -shared -nostartfiles -Wl,-soname,$@ -o $@ $^
++ $(CC) -shared -nostartfiles -Wl,-soname,$@ -o $@ $^ $(LDFLAGS)
+
+ $(LIBNAME).so: $(LIBNAME).so.$(SONAMEVERSION)
+ ln -s $< $@
+--- imx-lib-11.09.02.orig/screenlayer/Makefile 2014-09-02 13:04:37.114250749 -0700
++++ imx-lib-11.09.02/screenlayer/Makefile 2014-09-02 13:04:37.086250568 -0700
+@@ -1,5 +1,6 @@
+ CC ?=$(CROSS_COMPILE)gcc
+ AR ?=$(CROSS_COMPILE)ar
++CFLAGS ?=-O2
+ INC = $(INCLUDE) -I../ipu
+
+ OBJS = ScreenLayer.o
+@@ -24,13 +25,13 @@
+ endif
+
+ $(LIBNAME).so.$(SONAMEVERSION): $(OBJS)
+- $(CC) -shared -nostartfiles -Wl,-soname,$@ -o $@ $^ -L../ipu -lipu
++ $(CC) -shared -nostartfiles -Wl,-soname,$@ -o $@ $^ -L../ipu -lipu $(LDFLAGS)
+
+ $(LIBNAME).so: $(LIBNAME).so.$(SONAMEVERSION)
+ ln -s $< $@
+
+ %.o: %.c
+- $(CC) $(INC) -Wall -O2 -fPIC -c $^ -o $@
++ $(CC) $(INC) -Wall -fPIC $(CFLAGS) -c $^ -o $@
+
+ .PHONY: clean
+ clean:
+--- imx-lib-11.09.02.orig/sim/Makefile 2014-09-02 13:04:37.114250749 -0700
++++ imx-lib-11.09.02/sim/Makefile 2014-09-02 13:04:37.086250568 -0700
+@@ -1,9 +1,10 @@
+ CC ?=$(CROSS_COMPILE)gcc
+ AR ?=$(CROSS_COMPILE)ar
++CFLAGS ?=-O2
+
+ OBJS = iso7816-3.o
+
+-CFLAGS += $(INCLUDE)
++override CFLAGS += $(INCLUDE)
+
+ LIBNAME=libsim
+ SONAMEVERSION=0
+@@ -21,13 +22,13 @@
+ cp iso7816-3.h $(DEST_DIR)/usr/include
+
+ $(LIBNAME).so.$(SONAMEVERSION): $(OBJS)
+- $(CC) -shared -nostartfiles -Wl,-soname,$@ -o $@ $^ -lpthread
++ $(CC) -shared -nostartfiles -Wl,-soname,$@ -o $@ $^ -lpthread $(LDFLAGS)
+
+ $(LIBNAME).so: $(LIBNAME).so.$(SONAMEVERSION)
+ ln -s $< $@
+
+ %.o: %.c
+- $(CC) -D$(PLATFORM) $(INCLUDE) -Wall -O2 -fPIC -c $^ -o $@
++ $(CC) -D$(PLATFORM) $(INCLUDE) -Wall -fPIC $(CFLAGS) -c $^ -o $@
+
+ else
+ all install :
diff --git a/recipes-bsp/imx-lib/imx-lib.inc b/recipes-bsp/imx-lib/imx-lib.inc
new file mode 100644
index 00000000..314e153b
--- /dev/null
+++ b/recipes-bsp/imx-lib/imx-lib.inc
@@ -0,0 +1,30 @@
+# Copyright (C) 2012-2013 Freescale Semiconductor
+
+DESCRIPTION = "Platform specific libraries for imx platform"
+LICENSE = "LGPLv2.1"
+SECTION = "multimedia"
+DEPENDS = "virtual/kernel"
+
+LIC_FILES_CHKSUM = "file://ipu/mxc_ipu_hl_lib.h;endline=13;md5=6c7486b21a8524b1879fa159578da31e"
+
+PLATFORM_mx6 = "IMX6Q"
+PLATFORM_mx5 = "IMX51"
+PLATFORM_mx6sl = "IMX6S"
+PLATFORM_mx6sx = "IMX6S"
+
+PARALLEL_MAKE="-j 1"
+EXTRA_OEMAKE = ""
+
+SRC_URI = "${FSL_MIRROR}/imx-lib-${PV}.tar.gz"
+
+do_compile () {
+ INCLUDE_DIR="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include \
+ -I${STAGING_KERNEL_DIR}/drivers/mxc/security/rng/include \
+ -I${STAGING_KERNEL_DIR}/drivers/mxc/security/sahara2/include"
+
+ oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all
+}
+
+do_install () {
+ oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
+}
diff --git a/recipes-bsp/imx-lib/imx-lib_11.09.02.bb b/recipes-bsp/imx-lib/imx-lib_11.09.02.bb
new file mode 100644
index 00000000..16ca1df5
--- /dev/null
+++ b/recipes-bsp/imx-lib/imx-lib_11.09.02.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2013 Freescale Semiconductor
+require imx-lib.inc
+
+SRC_URI = "${FSL_MIRROR}/imx-lib-${PV}.tar.gz \
+ file://obey-variables.patch"
+SRC_URI[md5sum] = "a4e7447e35cfac0b966a51f001390d6e"
+SRC_URI[sha256sum] = "3ed082005789db0c9c41e14073417319f4e23f5646a7d21f34840470f4328bd5"
+
+COMPATIBLE_MACHINE = "(mx5)"
diff --git a/recipes-bsp/imx-lib/imx-lib_3.10.53-1.1.0.bb b/recipes-bsp/imx-lib/imx-lib_3.10.53-1.1.0.bb
new file mode 100644
index 00000000..4768ce9d
--- /dev/null
+++ b/recipes-bsp/imx-lib/imx-lib_3.10.53-1.1.0.bb
@@ -0,0 +1,10 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+
+include imx-lib.inc
+
+PE = "1"
+
+SRC_URI[md5sum] = "c510512ebd2bae5a7e57079b9788960e"
+SRC_URI[sha256sum] = "4db2c1f286f2478b8236e62de4df9d2a2c26ff727c752dc4f21e2910f4a5e5d7"
+
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-bsp/imx-test/imx-test.inc b/recipes-bsp/imx-test/imx-test.inc
new file mode 100644
index 00000000..cba72f58
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test.inc
@@ -0,0 +1,69 @@
+# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
+
+SUMMARY = "Test programs for IMX BSP"
+DESCRIPTION = "Unit tests for the IMX BSP"
+SECTION = "base"
+DEPENDS_mx5 = "virtual/kernel imx-lib imx-vpu"
+DEPENDS_mx6q = "virtual/kernel imx-lib imx-vpu"
+DEPENDS_mx6dl = "virtual/kernel imx-lib imx-vpu"
+DEPENDS_mx6sl = "virtual/kernel imx-lib"
+DEPENDS_mx6sx = "virtual/kernel imx-lib"
+DEPENDS_mxs = "virtual/kernel"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+
+PE = "1"
+
+SRC_URI = "${FSL_MIRROR}/imx-test-${PV}.tar.gz"
+
+inherit module-base
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+PLATFORM_mx6 = "IMX6Q"
+PLATFORM_mx6sl = "IMX6SL"
+PLATFORM_mx6sx = "IMX6SX"
+PLATFORM_mx53 = "IMX53"
+PLATFORM_mx51 = "IMX51"
+
+# Required so the fixdep binary is generated
+addtask make_scripts after do_patch before do_compile
+do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
+do_make_scripts[deptask] = "do_populate_sysroot"
+do_make_scripts[depends] += "virtual/kernel:do_install"
+
+do_compile() {
+ CFLAGS="${TOOLCHAIN_OPTIONS}"
+ LDFLAGS="${TOOLCHAIN_OPTIONS} -L${STAGING_LIBDIR}"
+ oe_runmake V=1 VERBOSE='' \
+ CROSS_COMPILE=${TARGET_PREFIX} \
+ INC="-I${STAGING_INCDIR} \
+ -I${S}/include \
+ -I${STAGING_KERNEL_BUILDDIR}/include/uapi \
+ -I${STAGING_KERNEL_BUILDDIR}/include \
+ -I${STAGING_KERNEL_DIR}/include/uapi \
+ -I${STAGING_KERNEL_DIR}/include \
+ -I${STAGING_KERNEL_DIR}/arch/arm/include \
+ -I${STAGING_KERNEL_DIR}/drivers/mxc/security/rng/include \
+ -I${STAGING_KERNEL_DIR}/drivers/mxc/security/sahara2/include" \
+ LINUXPATH=${STAGING_KERNEL_DIR} \
+ KBUILD_OUTPUT=${STAGING_KERNEL_BUILDDIR} \
+ PLATFORM=${PLATFORM}
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D}/unit_tests \
+ PLATFORM=${PLATFORM} \
+ install
+
+ if [ -e ${WORKDIR}/clocks.sh ]; then
+ install -m 755 ${WORKDIR}/clocks.sh ${D}/unit_tests/clocks.sh
+ fi
+}
+
+FILES_${PN} += "/unit_tests"
+RDEPENDS_${PN} = "bash"
+
+FILES_${PN}-dbg += "/unit_tests/.debug"
diff --git a/recipes-bsp/imx-test/imx-test/Fix-build-in-OpenEmbedded-Core-environment.patch b/recipes-bsp/imx-test/imx-test/Fix-build-in-OpenEmbedded-Core-environment.patch
new file mode 100644
index 00000000..7497e91d
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test/Fix-build-in-OpenEmbedded-Core-environment.patch
@@ -0,0 +1,30 @@
+From fd826140db0f2a867ef588cccf2e5322cc77126a Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Mon, 19 Jan 2015 16:56:29 -0200
+Subject: [PATCH] Fix build in OpenEmbedded-Core environment
+Organization: O.S. Systems Software LTDA.
+
+Some of the unit-tests were not being built due to differences on how
+the build system behaves when running inside of the OE-Core. This
+fixes those minor issues and increases the number of tests available.
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+diff --git a/test/ar3k_bt/Makefile b/test/ar3k_bt/Makefile
+index 92e2901..75d3e78 100755
+--- a/test/ar3k_bt/Makefile
++++ b/test/ar3k_bt/Makefile
+@@ -21,7 +21,7 @@ all: $(OBJS)
+ CFLAGS += -lbluetooth
+
+ $(OBJDIR)/hciattach-ar3k.bin :
+- $(CC) ${INC} -Wall -lbluetooth -g hciattach_ath3k.c hciattach.c hciattach_qualcomm.c hciattach_st.c hciattach_tialt.c hciattach_ti.c -o hciattach-ar3k.bin
++ $(CC) ${INC} -Wall -lbluetooth -g hciattach_ath3k.c hciattach.c hciattach_qualcomm.c hciattach_st.c hciattach_tialt.c hciattach_ti.c -o $(OBJDIR)/hciattach-ar3k.bin
+
+ clean:
+ rm -f *.o hciattach-ar3k.bin
+--
+2.1.4
+
diff --git a/recipes-bsp/imx-test/imx-test/clocks.sh b/recipes-bsp/imx-test/imx-test/clocks.sh
new file mode 100755
index 00000000..2121bef6
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test/clocks.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# This script is taken directly from the section 5.10 of the Freescale Application Note
+# AN4509 and it simple prints the CPU clocks in a nice format
+
+saved_path=$PWD
+if ! mount|grep -sq '/sys/kernel/debug'; then
+ mount -t debugfs none /sys/kernel/debug
+fi
+
+printf "%-24s %-20s %3s %9s\n" "clock" "parent" "use" "flags" "rate"
+
+for foo in $(find /sys/kernel/debug/clock -type d); do
+ if [ "$foo" = '/sys/kernel/debug/clock' ]; then
+ continue
+ fi
+ cd $foo
+ ec="$(cat usecount)"
+ rate="$(cat rate)"
+ flag="$(cat flags)"
+ clk="$(basename $foo)"
+ cd ..
+ parent="$(basename $PWD)"
+ if [ "$parent" = 'clock' ]; then
+ parent=" ---"
+ fi
+ printf "%-24s %-24s %2d %2d %10d\n" "$clk" "$parent" "$ec" "$flag" "$rate"
+ cd $saved_path
+done
diff --git a/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch b/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch
new file mode 100644
index 00000000..4fb0564a
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch
@@ -0,0 +1,30 @@
+From e559eb0a9573b9011c03efaf42364dce67af893a Mon Sep 17 00:00:00 2001
+From: Lauren Post <lauren.post@freescale.com>
+Date: Tue, 10 Sep 2013 10:58:28 -0500
+Subject: [PATCH] ENGR00279068-2 epdc_test_driver: Update header name change
+ of mxc_epdc.h
+
+Upstream-Status: Pending
+
+Signed-off-by: Lauren Post <lauren.post@freescale.com>
+Signed-off-by: Frank Li <Frank.li@freescale.com>
+---
+ module_test/epdc_test_driver.c | 4 ++--
+ 1 file changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/module_test/epdc_test_driver.c b/module_test/epdc_test_driver.c
+index fb15aec..447246f 100644
+--- a/module_test/epdc_test_driver.c
++++ b/module_test/epdc_test_driver.c
+@@ -36,7 +36,7 @@
+
+ #include <linux/device.h>
+ #include <linux/mxcfb.h>
+-#include <linux/mxcfb_epdc.h>
++#include <linux/mxcfb_epdc_kernel.h>
+
+ /* major number of device */
+ static int gMajor;
+--
+1.7.9.5
+
diff --git a/recipes-bsp/imx-test/imx-test_00.00.00.bb b/recipes-bsp/imx-test/imx-test_00.00.00.bb
new file mode 100644
index 00000000..f38dc67f
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test_00.00.00.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Dummy package for SoCs lacking imx-test package"
+DESCRIPTION = "Dummy package for SoCs lacking imx-test package"
+SECTION = "base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+ALLOW_EMPTY_${PN} = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(mxs|mx3|mx5|mx6|vf50|vf60)"
diff --git a/recipes-bsp/imx-test/imx-test_3.14.28-1.0.0.bb b/recipes-bsp/imx-test/imx-test_3.14.28-1.0.0.bb
new file mode 100644
index 00000000..fc2ad1d5
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test_3.14.28-1.0.0.bb
@@ -0,0 +1,13 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+
+include imx-test.inc
+
+SRC_URI_append_mx5 = " file://revert_epdc_hdr_change.patch \
+ file://clocks.sh"
+SRC_URI_append_mxs = " file://revert_epdc_hdr_change.patch \
+ file://clocks.sh"
+
+SRC_URI[md5sum] = "f349aed49830a21cc75d305b06979205"
+SRC_URI[sha256sum] = "ea3d572e82a374bcfc9acc654b66262cd97a246ffec9fb9fc458b19a02512723"
+
+COMPATIBLE_MACHINE = "(mxs|mx5|mx6)"
diff --git a/recipes-bsp/imx-uuc/imx-uuc_0.5.bb b/recipes-bsp/imx-uuc/imx-uuc_0.5.bb
new file mode 100644
index 00000000..b172b32c
--- /dev/null
+++ b/recipes-bsp/imx-uuc/imx-uuc_0.5.bb
@@ -0,0 +1,16 @@
+# Copyright (C) 2014 Freescale Semiconductor
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+
+SUMMARY = "Universal Adapter source"
+SECTION = "base"
+DEPENDS = "virtual/kernel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "4a82f106f85199c91a058ee54c127477"
+SRC_URI[sha256sum] = "ec5894ab7967797c8500b4988d0aba6c6f78ef22b4a190f9db12be33df08faaf"
+
+inherit autotools-brokensep
+
+FILES_${PN} += "/linuxrc"
diff --git a/recipes-bsp/imx-vpu/imx-vpu-11.09.02/obey-variables.patch b/recipes-bsp/imx-vpu/imx-vpu-11.09.02/obey-variables.patch
new file mode 100644
index 00000000..13f61b27
--- /dev/null
+++ b/recipes-bsp/imx-vpu/imx-vpu-11.09.02/obey-variables.patch
@@ -0,0 +1,27 @@
+Obey CFLAGS, LDFLAGS
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Upstream-status: Pending
+
+--- imx-vpu-11.09.02.orig/vpu/Makefile 2014-09-02 13:14:50.862005896 -0700
++++ imx-vpu-11.09.02/vpu/Makefile 2014-09-02 13:15:15.018153222 -0700
+@@ -1,5 +1,6 @@
+ CC ?=$(CROSS_COMPILE)gcc
+ AR ?=$(CROSS_COMPILE)ar
++CFLAGS ?= -O2
+
+ # list of platforms which want this test case
+ INCLUDE_LIST:= IMX27ADS IMX51 IMX53 IMX6Q
+@@ -33,10 +34,10 @@
+ endif
+
+ %.o: %.c
+- $(CC) -D$(PLATFORM) -Wall -O2 -fPIC -c $^ -o $@
++ $(CC) -D$(PLATFORM) -Wall -fPIC $(CFLAGS) -c $^ -o $@
+
+ $(LIBNAME).so.$(SONAMEVERSION): $(OBJ)
+- $(CC) -shared -nostartfiles -Wl,-soname,$@ $^ -o $@
++ $(CC) -shared -nostartfiles -Wl,-soname,$@ $^ -o $@ $(LDFLAGS)
+
+ $(LIBNAME).so: $(LIBNAME).so.$(SONAMEVERSION)
+ ln -s $< $@
diff --git a/recipes-bsp/imx-vpu/imx-vpu.inc b/recipes-bsp/imx-vpu/imx-vpu.inc
new file mode 100644
index 00000000..fd59770a
--- /dev/null
+++ b/recipes-bsp/imx-vpu/imx-vpu.inc
@@ -0,0 +1,22 @@
+# Copyright (C) 2013 Freescale Semiconductor
+DESCRIPTION = "Freescale VPU library"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://vpu/EULA.txt;md5=b063366b066c9f10037c59756a9ced54"
+DEPENDS = "virtual/kernel"
+inherit fsl-eula-unpack
+
+PLATFORM_mx5 = "IMX51"
+PLATFORM_mx6 = "IMX6Q"
+
+SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
+
+do_compile () {
+ INCLUDE_DIR="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"
+
+ oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all
+}
+
+do_install () {
+ oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
+}
+
diff --git a/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb b/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb
new file mode 100644
index 00000000..c5dd9bd5
--- /dev/null
+++ b/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb
@@ -0,0 +1,8 @@
+# Copyright (C) 2013 Freescale Semiconductor
+require imx-vpu.inc
+
+SRC_URI += "file://obey-variables.patch"
+SRC_URI[md5sum] = "1988a08687a09ef8590e66ff17ac6ed3"
+SRC_URI[sha256sum] = "783f136aa9b9257d4bffbdaf05bdcb85d177c544c3f8a4674421ba7b065ed5c0"
+
+COMPATIBLE_MACHINE = "(mx5)"
diff --git a/recipes-bsp/imx-vpu/imx-vpu_5.4.28.bb b/recipes-bsp/imx-vpu/imx-vpu_5.4.28.bb
new file mode 100644
index 00000000..6f691562
--- /dev/null
+++ b/recipes-bsp/imx-vpu/imx-vpu_5.4.28.bb
@@ -0,0 +1,12 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+
+require imx-vpu.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=acdb807ac7275fe32f9f64992e111241"
+
+PE = "1"
+
+SRC_URI[md5sum] = "774455b57aaa12bae2e2cecf39b63ac4"
+SRC_URI[sha256sum] = "0a05af1a5978175de852b2cf61763ec789f2845df78edb8d02a28611439b57f7"
+
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-bsp/libmcc/libmcc/build-Fix-symlink-generation.patch b/recipes-bsp/libmcc/libmcc/build-Fix-symlink-generation.patch
new file mode 100644
index 00000000..0aebe00b
--- /dev/null
+++ b/recipes-bsp/libmcc/libmcc/build-Fix-symlink-generation.patch
@@ -0,0 +1,32 @@
+From adef7a71a3bd40650685183c8a023000423ec880 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Tue, 6 Jan 2015 12:03:27 -0200
+Subject: [PATCH] build: Fix symlink generation
+Organization: O.S. Systems Software LTDA.
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ Makefile | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index ac46f5c..248b2eb 100644
+--- a/Makefile
++++ b/Makefile
+@@ -14,9 +14,8 @@ install:
+ mkdir -p $(DESTDIR)/usr/include $(DESTDIR)/usr/lib
+ cp -f build/libmcc.so.* build/libmcc.a $(DESTDIR)/usr/lib
+ cp -f include/*.h $(DESTDIR)/usr/include
+- cd $(DESTDIR)/usr/lib/
+- ln -sf libmcc.so.1.0 libmcc.so.1
+- ln -sf libmcc.so.1 libmcc.so
++ ln -sf libmcc.so.1.0 $(DESTDIR)/usr/lib/libmcc.so.1
++ ln -sf libmcc.so.1 $(DESTDIR)/usr/lib/libmcc.so
+
+ clean:
+ rm -rf build
+--
+2.1.4
+
diff --git a/recipes-bsp/libmcc/libmcc/build-with-versioned-soname.patch b/recipes-bsp/libmcc/libmcc/build-with-versioned-soname.patch
new file mode 100644
index 00000000..d004b78a
--- /dev/null
+++ b/recipes-bsp/libmcc/libmcc/build-with-versioned-soname.patch
@@ -0,0 +1,18 @@
+libmcc: build with versioned soname
+
+This adds a versioned soname to the shared library during linking.
+Otherwise an application linked with '-lmcc' needs libmcc.so for execution,
+having libmcc.so.1 would not be enough.
+
+Signed-off-by: Max Krummenacher <max.oss.09@gmail.com>
+--- a/Makefile 2015-01-07 17:09:13.657675270 +0100
++++ b/Makefile 2015-01-07 17:21:19.457545709 +0100
+@@ -8,7 +8,7 @@
+ $(AR) rcs $@ $<
+
+ build/libmcc.so.1.0: build/libmcc.o
+- $(CC) -shared -o $@ $<
++ $(CC) -shared -Wl,-soname,libmcc.so.1 -o $@ $< -lc
+
+ install:
+ mkdir -p $(DESTDIR)/usr/include $(DESTDIR)/usr/lib
diff --git a/recipes-bsp/libmcc/libmcc_1.05.bb b/recipes-bsp/libmcc/libmcc_1.05.bb
new file mode 100644
index 00000000..1140ed18
--- /dev/null
+++ b/recipes-bsp/libmcc/libmcc_1.05.bb
@@ -0,0 +1,27 @@
+# Copyright (C) 2013 Timesys Corporation
+SUMMARY = "Multicore communication Library"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c49712341497d0b5f2e40c30dff2af9d"
+
+DEPENDS = "virtual/kernel-module-mcc"
+
+SRC_URI = "http://repository.timesys.com/buildsources/l/libmcc/libmcc-${PV}/libmcc-${PV}.tar.bz2 \
+ file://build-Fix-symlink-generation.patch \
+ file://build-with-versioned-soname.patch"
+
+SRC_URI[md5sum] = "cc3965f162dd20b8e6b9babf5dd963ee"
+SRC_URI[sha256sum] = "b98c1f857bf851e41c35c4fcdb823e83e0e058c746dffb50038c8759c8c1e104"
+
+S = "${WORKDIR}/libmcc-${PV}"
+
+CFLAGS += "-I${STAGING_KERNEL_DIR}/include"
+
+RDEPENDS_${PN} = "virtual/kernel-module-mcc"
+
+COMPATIBLE_MACHINE = "(vf60)"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+RDEPENDS_${PN}-dev += "virtual/kernel-module-mcc-dev"
diff --git a/recipes-bsp/mqxboot/mqxboot_1.0.bb b/recipes-bsp/mqxboot/mqxboot_1.0.bb
new file mode 100644
index 00000000..7f11a984
--- /dev/null
+++ b/recipes-bsp/mqxboot/mqxboot_1.0.bb
@@ -0,0 +1,23 @@
+# Copyright (C) 2013 Timesys Corporation
+SUMMARY = "MQX Image loader - starts an MQX image on the M4"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c49712341497d0b5f2e40c30dff2af9d"
+
+DEPENDS = "virtual/kernel-module-mcc"
+
+SRC_URI = "http://repository.timesys.com/buildsources/m/mqxboot/mqxboot-${PV}/mqxboot-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "3de3c8b5f8cd6664870587d29c04c421"
+SRC_URI[sha256sum] = "c2f66ae962fe2529578d5c007e3f91a36085b714a0ea276f47bc3aea90e69699"
+
+S = "${WORKDIR}/mqxboot-${PV}"
+
+CFLAGS += "-I${STAGING_KERNEL_DIR}/include"
+
+RDEPENDS_${PN} = "virtual/kernel-module-mcc"
+
+COMPATIBLE_MACHINE = "(vf60)"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/recipes-bsp/mxsldr/mxsldr_git.bb b/recipes-bsp/mxsldr/mxsldr_git.bb
new file mode 100644
index 00000000..497f6a19
--- /dev/null
+++ b/recipes-bsp/mxsldr/mxsldr_git.bb
@@ -0,0 +1,18 @@
+# Copyright (C) 2012 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Freescale i.MX233/i.MX28 USB loader"
+DEPENDS = "libusb"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV = "c40d80472525e1d57dae5317c028b745968c0399"
+SRC_URI = "git://git.denx.de/mxsldr.git"
+
+PV = "0.0.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/qe-ucode/qe-ucode_git.bb b/recipes-bsp/qe-ucode/qe-ucode_git.bb
new file mode 100644
index 00000000..28af4b65
--- /dev/null
+++ b/recipes-bsp/qe-ucode/qe-ucode_git.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "qe microcode binary"
+SECTION = "qe-ucode"
+LICENSE = "Freescale-EULA"
+LIC_FILES_CHKSUM = "file://EULA;md5=60037ccba533a5995e8d1a838d85799c"
+
+inherit deploy
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/qe-ucode.git;nobranch=1"
+SRCREV= "49efc94b553de5c2a9bd28093592eff0068e161c"
+
+S = "${WORKDIR}/git"
+
+python () {
+ if not d.getVar("QE_UCODE", True):
+ PN = d.getVar("PN", True)
+ FILE = os.path.basename(d.getVar("FILE", True))
+ bb.debug(1, "To build %s, see %s for instructions on \
+ setting up your qe-ucode" % (PN, FILE))
+ raise bb.parse.SkipPackage("because QE_UCODE is not set")
+}
+
+do_install () {
+ install -d ${D}/boot
+ install -m 644 ${QE_UCODE} ${D}/boot
+}
+
+do_deploy () {
+ install -d ${DEPLOYDIR}/boot
+ install -m 644 ${QE_UCODE} ${DEPLOYDIR}/boot
+}
+addtask deploy before do_build after do_install
+
+PACKAGES += "${PN}-image"
+FILES_${PN}-image += "/boot/*"
+ALLOW_EMPTY_${PN} = "1"
+COMPATIBLE_MACHINE = "(ls102xa)"
diff --git a/recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch b/recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch
new file mode 100644
index 00000000..49d99fc5
--- /dev/null
+++ b/recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch
@@ -0,0 +1,57 @@
+From f2e796c903b2a3f81dbd38da3dc087cb7539d307 Mon Sep 17 00:00:00 2001
+From: Zhenhua Luo <zhenhua.luo@freescale.com>
+Date: Wed, 3 Sep 2014 03:03:42 -0500
+Subject: [PATCH] Makefile: make BOARDS/DESTDIR overidable and add endian
+ switch
+
+1. For one specific board, no need to build the rcw for all supported
+ targets, make BOARDS and DESTDIR overridable to achieve this.
+2. Add the endian swap for qspiboot rcw
+
+Upstream-Status: Pending
+
+Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
+---
+ Makefile | 4 ++--
+ Makefile.inc | 9 +++++++--
+ 2 files changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 6ec1697..0f94293 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,5 @@
+-DESTDIR = .
+-BOARDS = b4420qds b4860qds \
++DESTDIR ?= .
++BOARDS ?= b4420qds b4860qds \
+ ls1021aqds ls1021atwr \
+ p2041rdb p3041ds p4080ds p5020ds p5040ds \
+ t1024qds t1023rdb t1024rdb t1040rdb t1042rdb t1042rdb_pi t1040qds \
+diff --git a/Makefile.inc b/Makefile.inc
+index 4cadb2e..6e8b78f 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -1,4 +1,4 @@
+-DESTDIR = .
++DESTDIR ?= .
+ INSTALL = install
+ PYTHON ?= python2
+ RCW = $(PYTHON) ../rcw.py
+@@ -18,7 +18,12 @@ all: $(targets)
+ install: $(targets)
+ $(INSTALL) -d $(DESTDIR)
+ @for file in $^; do \
+- $(INSTALL) -m 644 -D $$file $(DESTDIR)/$$file; \
++ case $$file in \
++ *qspiboot*) file_swap="`echo $$file | sed -e 's/qspiboot/qspiboot_swap/'`"; \
++ tclsh byte_swap.tcl $$file $$file_swap 8 ; \
++ $(INSTALL) -m 644 -D $$file_swap $(DESTDIR)/$$file_swap ;; \
++ *) $(INSTALL) -m 644 -D $$file $(DESTDIR)/$$file; \
++ esac \
+ done
+ $(INSTALL) -m 644 -D README $(DESTDIR)
+
+--
+1.7.9.7
+
diff --git a/recipes-bsp/rcw/rcw_git.bb b/recipes-bsp/rcw/rcw_git.bb
new file mode 100644
index 00000000..2a03309c
--- /dev/null
+++ b/recipes-bsp/rcw/rcw_git.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Reset Configuration Word"
+DESCRIPTION = "Reset Configuration Word - hardware boot-time parameters for the QorIQ targets"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://rcw.py;beginline=8;endline=28;md5=9ba0b28922dd187b06b6c8ebcfdd208e"
+
+DEPENDS += "change-file-endianess-native"
+
+inherit deploy
+
+SRCBRANCH = "master"
+SRCREV = "426f7a6535d93dac76f5125035e0938a85e778d2"
+SRC_URI = "git://git.freescale.com/ppc/sdk/rcw.git;branch=${SRCBRANCH} \
+ file://rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch \
+"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "BOARDS=${@d.getVar('MACHINE', True).replace('-64b','')} DESTDIR=${D}/boot/rcw/"
+
+do_install () {
+ oe_runmake install
+}
+
+do_deploy () {
+ install -d ${DEPLOYDIR}/rcw
+ cp -r ${D}/boot/rcw/* ${DEPLOYDIR}/rcw/
+}
+addtask deploy after do_install
+
+PACKAGES += "${PN}-image"
+FILES_${PN}-image += "/boot"
+
+ALLOW_EMPTY_${PN} = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(ls102xa)"
diff --git a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2015.04.bb b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2015.04.bb
new file mode 100644
index 00000000..3981b604
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2015.04.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "U-boot bootloader mxsboot tool"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=c7383a594871c03da76b3707929d2919"
+SECTION = "bootloader"
+DEPENDS = "openssl"
+PROVIDES = "u-boot-mxsboot"
+
+PV = "v2015.04+git${SRCPV}"
+
+SRCREV = "10aced37cecf117e54e71bd700228f57dc34e579"
+SRCBRANCH = "patches-2015.04"
+
+SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH}"
+
+S = "${WORKDIR}/git"
+
+inherit fsl-u-boot-localversion
+
+EXTRA_OEMAKE = 'HOSTCC="${CC} ${CPPFLAGS}" HOSTLDFLAGS="-L${libdir} -L${base_libdir}" HOSTSTRIP=true CONFIG_MX28=y'
+
+do_configure () {
+ oe_runmake sandbox_defconfig
+}
+
+do_compile () {
+ oe_runmake tools-only
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 tools/mxsboot ${D}${bindir}/uboot-mxsboot
+ ln -sf uboot-mxsboot ${D}${bindir}/mxsboot
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/u-boot/u-boot-fslc.inc b/recipes-bsp/u-boot/u-boot-fslc.inc
new file mode 100644
index 00000000..07fb5074
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc.inc
@@ -0,0 +1,33 @@
+# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-bsp/u-boot/u-boot.inc
+
+inherit fsl-u-boot-localversion
+
+DESCRIPTION = "U-Boot based on mainline U-Boot used by FSL Community BSP in \
+order to provide support for some backported features and fixes, or because it \
+was submitted for revision and it takes some time to become part of a stable \
+version, or because it is not applicable for upstreaming."
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=c7383a594871c03da76b3707929d2919"
+COMPATIBLE_MACHINE = "(mxs|mx3|mx5|mx6|vf)"
+
+DEPENDS_mxs += "elftosb-native openssl-native"
+
+PROVIDES += "u-boot"
+
+SRCBRANCH ??= "master"
+
+SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH}"
+
+S = "${WORKDIR}/git"
+
+# FIXME: Allow linking of 'tools' binaries with native libraries
+# used for generating the boot logo and other tools used
+# during the build process.
+EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
+ HOSTLDFLAGS="${BUILD_LDFLAGS}" \
+ HOSTSTRIP=true'
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2015.04.bb b/recipes-bsp/u-boot/u-boot-fslc_2015.04.bb
new file mode 100644
index 00000000..aeefc5a9
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc_2015.04.bb
@@ -0,0 +1,6 @@
+include u-boot-fslc.inc
+
+PV = "v2015.04+git${SRCPV}"
+
+SRCREV = "5d9ffd22149119c0acfd31efb8c4d40afca7ce6f"
+SRCBRANCH = "patches-2015.04"
diff --git a/recipes-bsp/u-boot/u-boot-imx-mfgtool_2014.04.bb b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2014.04.bb
new file mode 100644
index 00000000..f66114c7
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2014.04.bb
@@ -0,0 +1,4 @@
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+
+require u-boot-imx_${PV}.bb
+require u-boot-mfgtool.inc
diff --git a/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch b/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch
new file mode 100644
index 00000000..4b0ac9bf
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch
@@ -0,0 +1,51 @@
+diff --git a/include/configs/mx53_loco.h b/include/configs/mx53_loco.h
+index 0f57f78..e8a6414 100644
+--- a/include/configs/mx53_loco.h
++++ b/include/configs/mx53_loco.h
+@@ -114,22 +114,30 @@
+ #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000)
+
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+- "netdev=eth0\0" \
+- "ethprime=FEC0\0" \
+- "uboot=u-boot.bin\0" \
+- "kernel=uImage\0" \
+- "nfsroot=/opt/eldk/arm\0" \
+- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
+- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
+- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
+- "bootcmd_net=run bootargs_base bootargs_nfs; " \
+- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
+- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \
+- "root=/dev/mmcblk0p1 rootwait rw\0" \
+- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
+- "mmc dev 0; " \
+- "mmc read ${loadaddr} 0x800 0x1800; bootm\0" \
+- "bootcmd=run bootcmd_mmc\0" \
++ "script=boot.scr\0" \
++ "uimage=uImage\0" \
++ "mmcdev=0\0" \
++ "mmcpart=1\0" \
++ "mmcroot=/dev/mmcblk0p2 rw\0" \
++ "mmcrootfstype=ext3 rootwait\0" \
++ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
++ "root=${mmcroot} " \
++ "rootfstype=${mmcrootfstype}\0" \
++ "loadbootscript=" \
++ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
++ "bootscript=echo Running bootscript from mmc ...; " \
++ "source\0" \
++ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
++ "mmcboot=echo Booting from mmc ...; " \
++ "run mmcargs; " \
++ "bootm\0" \
++ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
++ "root=/dev/nfs " \
++ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
++ "netboot=echo Booting from net ...; " \
++ "run netargs; " \
++ "dhcp ${uimage}; bootm\0" \
++ "bootcmd=run loaduimage; run mmcboot;\0" \
+ \
+
+
diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch b/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch
new file mode 100644
index 00000000..da4a771e
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch
@@ -0,0 +1,67 @@
+From 7ae3e4c665bd27111ee8ae2b801251b1d32f44cc Mon Sep 17 00:00:00 2001
+From: Daiane Angolini <daiane.angolini@freescale.com>
+Date: Wed, 20 Mar 2013 03:57:54 -0500
+Subject: [PATCH] mx6dl_sabresd: Change default environment to work with OE
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
+---
+ include/configs/mx6dl_sabresd.h | 41 ++++++++++++++++++++++----------------
+ 1 files changed, 24 insertions(+), 17 deletions(-)
+
+diff --git a/include/configs/mx6dl_sabresd.h b/include/configs/mx6dl_sabresd.h
+index a496453..6499d25 100644
+--- a/include/configs/mx6dl_sabresd.h
++++ b/include/configs/mx6dl_sabresd.h
+@@ -121,23 +121,30 @@
+ #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000)
+
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+- "netdev=eth0\0" \
+- "ethprime=FEC0\0" \
+- "uboot=u-boot.bin\0" \
+- "kernel=uImage\0" \
+- "nfsroot=/opt/eldk/arm\0" \
+- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
+- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
+- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
+- "bootcmd_net=run bootargs_base bootargs_nfs; " \
+- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
+- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \
+- "root=/dev/mmcblk0p1 rootwait\0" \
+- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
+- "mmc dev 3; " \
+- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
+- "bootcmd=run bootcmd_net\0" \
+-
++ "script=boot.scr\0" \
++ "uimage=uImage\0" \
++ "mmcdev=2\0" \
++ "mmcpart=1\0" \
++ "mmcroot=/dev/mmcblk1p2 rw\0" \
++ "mmcrootfstype=ext3 rootwait\0" \
++ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
++ "root=${mmcroot} " \
++ "rootfstype=${mmcrootfstype}\0" \
++ "loadbootscript=" \
++ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
++ "bootscript=echo Running bootscript from mmc ...; " \
++ "source\0" \
++ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
++ "mmcboot=echo Booting from mmc ...; " \
++ "run mmcargs; " \
++ "bootm\0" \
++ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
++ "root=/dev/nfs " \
++ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
++ "netboot=echo Booting from net ...; " \
++ "run netargs; " \
++ "dhcp ${uimage}; bootm\0" \
++ "bootcmd=run loaduimage; run mmcboot;\0" \
+
+ #define CONFIG_ARP_TIMEOUT 200UL
+
+--
+1.7.5.4
+
diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch
new file mode 100644
index 00000000..80ef444f
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch
@@ -0,0 +1,66 @@
+From a81c7686f8c0c4fc6e88228f215092c00d4714c1 Mon Sep 17 00:00:00 2001
+From: Daiane Angolini <daiane.angolini@freescale.com>
+Date: Tue, 30 Oct 2012 07:47:59 -0500
+Subject: [PATCH] mx6q_sabreauto: Fix the patch for the default environment
+ variable
+
+Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
+---
+ include/configs/mx6q_sabreauto.h | 41 ++++++++++++++++++++++---------------
+ 1 files changed, 24 insertions(+), 17 deletions(-)
+
+diff --git a/include/configs/mx6q_sabreauto.h b/include/configs/mx6q_sabreauto.h
+index 5f8f02c..5910eca 100644
+--- a/include/configs/mx6q_sabreauto.h
++++ b/include/configs/mx6q_sabreauto.h
+@@ -121,23 +121,30 @@
+ #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000)
+
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+- "netdev=eth0\0" \
+- "ethprime=FEC0\0" \
+- "uboot=u-boot.bin\0" \
+- "kernel=uImage\0" \
+- "nfsroot=/opt/eldk/arm\0" \
+- "bootargs_base=setenv bootargs console=ttymxc3,115200\0"\
+- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
+- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
+- "bootcmd_net=run bootargs_base bootargs_nfs; " \
+- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
+- "bootargs_mmc=setenv bootargs ${bootargs} " \
+- "root=/dev/mmcblk0p1 rootwait\0" \
+- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
+- "mmc dev 2; " \
+- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
+- "bootcmd=run bootcmd_mmc\0" \
+-
++ "script=boot.scr\0" \
++ "uimage=uImage\0" \
++ "mmcdev=2\0" \
++ "mmcpart=1\0" \
++ "mmcroot=/dev/mmcblk0p2 rw\0" \
++ "mmcrootfstype=ext3 rootwait\0" \
++ "mmcargs=setenv bootargs console=ttymxc3,${baudrate} " \
++ "root=${mmcroot} " \
++ "rootfstype=${mmcrootfstype}\0" \
++ "loadbootscript=" \
++ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
++ "bootscript=echo Running bootscript from mmc ...; " \
++ "source\0" \
++ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
++ "mmcboot=echo Booting from mmc ...; " \
++ "run mmcargs; " \
++ "bootm\0" \
++ "netargs=setenv bootargs console=ttymxc3,${baudrate} " \
++ "root=/dev/nfs " \
++ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
++ "netboot=echo Booting from net ...; " \
++ "run netargs; " \
++ "dhcp ${uimage}; bootm\0" \
++ "bootcmd=run loaduimage; run mmcboot;\0" \
+
+ #define CONFIG_ARP_TIMEOUT 200UL
+
+--
+1.7.5.4
+
diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch
new file mode 100644
index 00000000..bf85800f
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch
@@ -0,0 +1,66 @@
+From 970f04b228a60c805cce41ef8403ba2c8cb56d97 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Wed, 13 Feb 2013 15:15:28 -0200
+Subject: [PATCH] mx6q_sabresd: Change default environment to work with OE
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ include/configs/mx6q_sabresd.h | 40 ++++++++++++++++++++++++----------------
+ 1 file changed, 24 insertions(+), 16 deletions(-)
+
+diff --git a/include/configs/mx6q_sabresd.h b/include/configs/mx6q_sabresd.h
+index 6f07961..db31a34 100644
+--- a/include/configs/mx6q_sabresd.h
++++ b/include/configs/mx6q_sabresd.h
+@@ -116,22 +116,30 @@
+ #define CONFIG_RD_LOADADDR (0x1300000)
+
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+- "netdev=eth0\0" \
+- "ethprime=FEC0\0" \
+- "uboot=u-boot.bin\0" \
+- "kernel=uImage\0" \
+- "nfsroot=/opt/eldk/arm\0" \
+- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
+- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
+- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
+- "bootcmd_net=run bootargs_base bootargs_nfs; " \
+- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
+- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \
+- "root=/dev/mmcblk0p1 rootwait\0" \
+- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
+- "mmc dev 3; " \
+- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
+- "bootcmd=run bootcmd_net\0" \
++ "script=boot.scr\0" \
++ "uimage=uImage\0" \
++ "mmcdev=2\0" \
++ "mmcpart=1\0" \
++ "mmcroot=/dev/mmcblk0p2 rw\0" \
++ "mmcrootfstype=ext3 rootwait\0" \
++ "mmcargs=setenv bootargs console=ttymxc3,${baudrate} " \
++ "root=${mmcroot} " \
++ "rootfstype=${mmcrootfstype}\0" \
++ "loadbootscript=" \
++ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
++ "bootscript=echo Running bootscript from mmc ...; " \
++ "source\0" \
++ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
++ "mmcboot=echo Booting from mmc ...; " \
++ "run mmcargs; " \
++ "bootm\0" \
++ "netargs=setenv bootargs console=ttymxc3,${baudrate} " \
++ "root=/dev/nfs " \
++ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
++ "netboot=echo Booting from net ...; " \
++ "run netargs; " \
++ "dhcp ${uimage}; bootm\0" \
++ "bootcmd=run loaduimage; run mmcboot;\0" \
+
+
+ #define CONFIG_ARP_TIMEOUT 200UL
+--
+1.8.1
+
diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch b/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch
new file mode 100644
index 00000000..5d3f868d
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch
@@ -0,0 +1,67 @@
+From bf99fdddbca321f7e74ed82febbe4b5539e3ac66 Mon Sep 17 00:00:00 2001
+From: Daiane Angolini <daiane.angolini@freescale.com>
+Date: Thu, 14 Mar 2013 16:35:35 -0300
+Subject: [PATCH] mx6sl_evk: Change the patch for the default environment
+ variable
+
+Upstream-Status: Pending
+
+Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
+---
+ include/configs/mx6sl_evk.h | 40 ++++++++++++++++++++++++----------------
+ 1 file changed, 24 insertions(+), 16 deletions(-)
+
+diff --git a/include/configs/mx6sl_evk.h b/include/configs/mx6sl_evk.h
+index 4c327bc..dfb6374 100644
+--- a/include/configs/mx6sl_evk.h
++++ b/include/configs/mx6sl_evk.h
+@@ -122,22 +122,30 @@
+ #define CONFIG_RD_LOADADDR 0x81000000
+
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+- "netdev=eth0\0" \
+- "ethprime=FEC0\0" \
+- "uboot=u-boot.bin\0" \
+- "kernel=uImage\0" \
+- "nfsroot=/opt/eldk/arm\0" \
+- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
+- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
+- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
+- "bootcmd_net=run bootargs_base bootargs_nfs; " \
+- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
+- "bootargs_mmc=setenv bootargs ${bootargs} " \
+- "root=/dev/mmcblk0p1 rootwait\0" \
+- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
+- "mmc dev 1; " \
+- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
+- "bootcmd=run bootcmd_mmc\0" \
++ "script=boot.scr\0" \
++ "uimage=uImage\0" \
++ "mmcdev=1\0" \
++ "mmcpart=1\0" \
++ "mmcroot=/dev/mmcblk0p2 rw\0" \
++ "mmcrootfstype=ext3 rootwait\0" \
++ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
++ "root=${mmcroot} " \
++ "rootfstype=${mmcrootfstype}\0" \
++ "loadbootscript=" \
++ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
++ "bootscript=echo Running bootscript from mmc ...; " \
++ "source\0" \
++ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
++ "mmcboot=echo Booting from mmc ...; " \
++ "run mmcargs; " \
++ "bootm\0" \
++ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
++ "root=/dev/nfs " \
++ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
++ "netboot=echo Booting from net ...; " \
++ "run netargs; " \
++ "dhcp ${uimage}; bootm\0" \
++ "bootcmd=run loaduimage; run mmcboot;\0" \
+
+
+ #define CONFIG_ARP_TIMEOUT 200UL
+--
+1.7.10.4
+
diff --git a/recipes-bsp/u-boot/u-boot-imx_2014.04.bb b/recipes-bsp/u-boot/u-boot-imx_2014.04.bb
new file mode 100644
index 00000000..ebae6922
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx_2014.04.bb
@@ -0,0 +1,22 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+
+DESCRIPTION = "U-Boot provided by Freescale with focus on i.MX reference boards."
+require recipes-bsp/u-boot/u-boot.inc
+
+PROVIDES += "u-boot"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCBRANCH = "imx_v2014.04_3.14.28_1.0.0_ga"
+SRC_URI = "git://git.freescale.com/imx/uboot-imx.git;protocol=git;branch=${SRCBRANCH}"
+SRCREV = "88123ea911e133724cbe738c2b0517fa470592c0"
+
+S = "${WORKDIR}/git"
+
+inherit fsl-u-boot-localversion
+
+LOCALVERSION ?= "-${SRCBRANCH}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-bsp/u-boot/u-boot-ls1_2015.01.bb b/recipes-bsp/u-boot/u-boot-ls1_2015.01.bb
new file mode 100644
index 00000000..716105f4
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-ls1_2015.01.bb
@@ -0,0 +1,48 @@
+require recipes-bsp/u-boot/u-boot.inc
+
+DESCRIPTION = "U-Boot provided by Freescale with focus on QorIQ Layerscape1 boards"
+LICENSE = "GPLv2 & BSD-3-Clause & BSD-2-Clause & LGPL-2.0 & LGPL-2.1"
+LIC_FILES_CHKSUM = " \
+ file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://Licenses/bsd-2-clause.txt;md5=6a31f076f5773aabd8ff86191ad6fdd5 \
+ file://Licenses/bsd-3-clause.txt;md5=4a1190eac56a9db675d58ebe86eaf50c \
+ file://Licenses/lgpl-2.0.txt;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+ file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
+"
+
+SRCBRANCH = "master"
+SRC_URI = "git://git.freescale.com/ppc/sdk/u-boot.git;branch=${SRCBRANCH}"
+SRCREV = "6ba8eedbcdc4b063f59a63e6288b938af739e8ad"
+
+LOCALVERSION ?= "+ls1"
+
+S = "${WORKDIR}/git"
+
+inherit fsl-u-boot-localversion
+
+DEPENDS += "change-file-endianess-native dtc-native"
+PROVIDES += "u-boot"
+
+do_compile_append () {
+ if [ "x${UBOOT_CONFIG}" != "x" ]
+ then
+ for config in ${UBOOT_MACHINE}; do
+ case "${config}" in
+ *spi*) tclsh ${STAGING_BINDIR_NATIVE}/byte_swap.tcl ${S}/${config}/u-boot-dtb.bin ${S}/${config}/u-boot.swap.bin 8
+ mv ${S}/${config}/u-boot.swap.bin ${S}/u-boot-${type}.${UBOOT_SUFFIX};;
+ *sdcard*) mv ${S}/${config}/u-boot-with-spl-pbl.bin ${S}/${config}/u-boot.bin;;
+ *nand*) mv ${S}/u-boot-with-spl-pbl.bin ${S}/u-boot.bin;;
+ esac
+ done
+ fi
+
+}
+
+PACKAGES += "${PN}-images"
+FILES_${PN}-images += "/boot"
+
+ALLOW_EMPTY_${PN} = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(ls102xa)"
+
diff --git a/recipes-bsp/u-boot/u-boot-mfgtool.inc b/recipes-bsp/u-boot/u-boot-mfgtool.inc
new file mode 100644
index 00000000..91526ad7
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-mfgtool.inc
@@ -0,0 +1,21 @@
+# Produces a Manufacturing Tool compatible U-Boot
+#
+# This makes a separated binary set for Manufacturing Tool use
+# without clobbering the U-Boot used for normal use.
+#
+# This file must to be included after the original u-boot.inc file,
+# as it overrides the need values.
+#
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+
+# Adjust provides
+PROVIDES = "u-boot-mfgtool"
+
+# Use 'mfgtool' config
+UBOOT_CONFIG = "mfgtool"
+
+# Add 'mfgtool' suffix
+UBOOT_IMAGE = "u-boot-${MACHINE}-mfgtool-${PV}-${PR}.${UBOOT_SUFFIX}"
+UBOOT_SYMLINK = "u-boot-${MACHINE}-mfgtool.${UBOOT_SUFFIX}"
+SPL_IMAGE = "${SPL_BINARY}-${MACHINE}-mfgtool-${PV}-${PR}"
+SPL_SYMLINK = "${SPL_BINARY}-mfgtool-${MACHINE}"