aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-fsl-arm/.gitignore1
-rw-r--r--meta-fsl-arm/EULA590
-rw-r--r--meta-fsl-arm/README51
-rw-r--r--meta-fsl-arm/SCR/imx/SCR-3.14.28-1.0.0-ga.txt355
-rw-r--r--meta-fsl-arm/SCR/imx/SCR-3.14.28-1.0.1-patch.txt355
-rw-r--r--meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium-imx.inc49
-rw-r--r--meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium_40.0.2214.91.bbappend12
-rw-r--r--meta-fsl-arm/classes/fsl-dynamic-packagearch.bbclass65
-rw-r--r--meta-fsl-arm/classes/fsl-eula-unpack.bbclass67
-rw-r--r--meta-fsl-arm/classes/fsl-kernel-localversion.bbclass39
-rw-r--r--meta-fsl-arm/classes/fsl-u-boot-localversion.bbclass27
-rw-r--r--meta-fsl-arm/classes/image_types_fsl.bbclass320
-rw-r--r--meta-fsl-arm/classes/mfgtool-initramfs-image.bbclass40
-rw-r--r--meta-fsl-arm/conf/layer.conf26
-rw-r--r--meta-fsl-arm/conf/machine/imx23evk.conf19
-rw-r--r--meta-fsl-arm/conf/machine/imx28evk.conf57
-rw-r--r--meta-fsl-arm/conf/machine/imx31pdk.conf24
-rw-r--r--meta-fsl-arm/conf/machine/imx35pdk.conf25
-rw-r--r--meta-fsl-arm/conf/machine/imx51evk.conf17
-rw-r--r--meta-fsl-arm/conf/machine/imx53ard.conf22
-rw-r--r--meta-fsl-arm/conf/machine/imx53qsb.conf21
-rw-r--r--meta-fsl-arm/conf/machine/imx6dlsabreauto.conf19
-rw-r--r--meta-fsl-arm/conf/machine/imx6dlsabresd.conf16
-rw-r--r--meta-fsl-arm/conf/machine/imx6qsabreauto.conf20
-rw-r--r--meta-fsl-arm/conf/machine/imx6qsabresd.conf17
-rw-r--r--meta-fsl-arm/conf/machine/imx6slevk.conf24
-rw-r--r--meta-fsl-arm/conf/machine/imx6solosabreauto.conf21
-rw-r--r--meta-fsl-arm/conf/machine/imx6solosabresd.conf19
-rw-r--r--meta-fsl-arm/conf/machine/imx6sxsabreauto.conf20
-rw-r--r--meta-fsl-arm/conf/machine/imx6sxsabresd.conf22
-rw-r--r--meta-fsl-arm/conf/machine/include/fsl-default-settings.inc3
-rw-r--r--meta-fsl-arm/conf/machine/include/fsl-default-versions.inc1
-rw-r--r--meta-fsl-arm/conf/machine/include/imx-base.inc128
-rw-r--r--meta-fsl-arm/conf/machine/include/imx6sabreauto-common.inc10
-rw-r--r--meta-fsl-arm/conf/machine/include/imx6sabresd-common.inc10
-rw-r--r--meta-fsl-arm/conf/machine/include/mxs-base.inc40
-rw-r--r--meta-fsl-arm/conf/machine/include/qoriq-arm.inc17
-rw-r--r--meta-fsl-arm/conf/machine/ls1021atwr.conf26
-rw-r--r--meta-fsl-arm/conf/machine/twr-vf65gs10.conf23
-rw-r--r--meta-fsl-arm/efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch55
-rw-r--r--meta-fsl-arm/efl-layer/recipes-efl/efl/efl_%.bbappend3
-rw-r--r--meta-fsl-arm/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend3
-rw-r--r--meta-fsl-arm/openembedded-layer/recipes-kernel/asf/asf_git.bb33
-rw-r--r--meta-fsl-arm/openembedded-layer/recipes-support/opencv/opencv/0001-MGS-515-ccc-Opencv-app-can-t-run-on-imx6sx-with-cam.patch46
-rw-r--r--meta-fsl-arm/openembedded-layer/recipes-support/opencv/opencv_%.bbappend3
-rw-r--r--meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch23
-rw-r--r--meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend79
-rw-r--r--meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch42
-rw-r--r--meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend4
-rw-r--r--meta-fsl-arm/recipes-bsp/alsa-state/alsa-state.bbappend7
-rwxr-xr-xmeta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf275
-rw-r--r--meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx5/asound.state139
-rw-r--r--meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf257
-rw-r--r--meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx6/asound.state1374
-rw-r--r--meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf299
-rw-r--r--meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mxs/asound.state191
-rw-r--r--meta-fsl-arm/recipes-bsp/apptrk/apptrk/apptrk-install-create-all-components-of-DEST.patch24
-rw-r--r--meta-fsl-arm/recipes-bsp/apptrk/apptrk/no-strip.patch20
-rw-r--r--meta-fsl-arm/recipes-bsp/apptrk/apptrk_git.bb24
-rw-r--r--meta-fsl-arm/recipes-bsp/barebox/barebox.inc63
-rw-r--r--meta-fsl-arm/recipes-bsp/barebox/barebox_2013.08.0.bb9
-rw-r--r--meta-fsl-arm/recipes-bsp/change-file-endianess/change-file-endianess.bb23
-rwxr-xr-xmeta-fsl-arm/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl29
-rw-r--r--meta-fsl-arm/recipes-bsp/elftosb/elftosb_10.12.01.bb22
-rw-r--r--meta-fsl-arm/recipes-bsp/elftosb/files/cross-build.patch50
-rw-r--r--meta-fsl-arm/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch42
-rw-r--r--meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx.inc42
-rw-r--r--meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx_3.14.28-1.0.0.bb8
-rw-r--r--meta-fsl-arm/recipes-bsp/formfactor/formfactor/imx51evk/machconfig11
-rw-r--r--meta-fsl-arm/recipes-bsp/formfactor/formfactor/imx53ard/machconfig13
-rw-r--r--meta-fsl-arm/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig11
-rw-r--r--meta-fsl-arm/recipes-bsp/formfactor/formfactor_%.bbappend2
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch46
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch28
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch30
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb79
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-kobs/imx-kobs_3.14.28-1.0.0.bb13
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-lib/imx-lib-11.09.02/obey-variables.patch209
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-lib/imx-lib.inc30
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-lib/imx-lib_11.09.02.bb9
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-lib/imx-lib_3.10.53-1.1.0.bb10
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-test/imx-test.inc69
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-test/imx-test/Fix-build-in-OpenEmbedded-Core-environment.patch30
-rwxr-xr-xmeta-fsl-arm/recipes-bsp/imx-test/imx-test/clocks.sh29
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch30
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-test/imx-test_00.00.00.bb10
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-test/imx-test_3.14.28-1.0.0.bb13
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-uuc/imx-uuc_0.5.bb16
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu-11.09.02/obey-variables.patch27
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu.inc22
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb8
-rw-r--r--meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu_5.4.28.bb12
-rw-r--r--meta-fsl-arm/recipes-bsp/libmcc/libmcc/build-Fix-symlink-generation.patch32
-rw-r--r--meta-fsl-arm/recipes-bsp/libmcc/libmcc/build-with-versioned-soname.patch18
-rw-r--r--meta-fsl-arm/recipes-bsp/libmcc/libmcc_1.05.bb27
-rw-r--r--meta-fsl-arm/recipes-bsp/mqxboot/mqxboot_1.0.bb23
-rw-r--r--meta-fsl-arm/recipes-bsp/mxsldr/mxsldr_git.bb18
-rw-r--r--meta-fsl-arm/recipes-bsp/qe-ucode/qe-ucode_git.bb36
-rw-r--r--meta-fsl-arm/recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch57
-rw-r--r--meta-fsl-arm/recipes-bsp/rcw/rcw_git.bb36
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2015.04.bb35
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-fslc.inc33
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-fslc_2015.04.bb6
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx-mfgtool_2014.04.bb4
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch51
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch67
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch66
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch66
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch67
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx_2014.04.bb22
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-ls1_2015.01.bb48
-rw-r--r--meta-fsl-arm/recipes-bsp/u-boot/u-boot-mfgtool.inc21
-rw-r--r--meta-fsl-arm/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend5
-rw-r--r--meta-fsl-arm/recipes-core/udev/udev-rules-imx.bb12
-rw-r--r--meta-fsl-arm/recipes-core/udev/udev-rules-imx/10-imx.rules23
-rw-r--r--meta-fsl-arm/recipes-devtools/cst/cst_git.bb26
-rw-r--r--meta-fsl-arm/recipes-devtools/devregs/devregs_git.bb13
-rw-r--r--meta-fsl-arm/recipes-devtools/qemu/qemu-fsl_git.bb49
-rw-r--r--meta-fsl-arm/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb8
-rw-r--r--meta-fsl-arm/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb47
-rw-r--r--meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb13
-rw-r--r--meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc110
-rw-r--r--meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb25
-rw-r--r--meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/egl.pc11
-rw-r--r--meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch54
-rw-r--r--meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc11
-rw-r--r--meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb36
-rw-r--r--meta-fsl-arm/recipes-graphics/cairo/cairo_%.bbappend11
-rw-r--r--meta-fsl-arm/recipes-graphics/clutter/clutter-1.0_%.bbappend9
-rw-r--r--meta-fsl-arm/recipes-graphics/cogl/cogl-1.0_%.bbappend10
-rw-r--r--meta-fsl-arm/recipes-graphics/directfb/directfb/Check-input-NULL-pointer.patch42
-rw-r--r--meta-fsl-arm/recipes-graphics/directfb/directfb/bashism.patch18
-rw-r--r--meta-fsl-arm/recipes-graphics/directfb/directfb/configurefix.patch60
-rw-r--r--meta-fsl-arm/recipes-graphics/directfb/directfb/fixsepbuild.patch19
-rw-r--r--meta-fsl-arm/recipes-graphics/directfb/directfb/fusion.patch36
-rw-r--r--meta-fsl-arm/recipes-graphics/directfb/directfb_1.7.4.bb26
-rw-r--r--meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch35
-rw-r--r--meta-fsl-arm/recipes-graphics/drm/libdrm_%.bbappend5
-rw-r--r--meta-fsl-arm/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend4
-rw-r--r--meta-fsl-arm/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend4
-rw-r--r--meta-fsl-arm/recipes-graphics/images/core-image-weston.bbappend4
-rw-r--r--meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv.inc346
-rw-r--r--meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p4.5-hfp.bb9
-rw-r--r--meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p4.5-sfp.bb12
-rw-r--r--meta-fsl-arm/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch355
-rw-r--r--meta-fsl-arm/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch17
-rw-r--r--meta-fsl-arm/recipes-graphics/mesa/mesa-demos_%.bbappend6
-rw-r--r--meta-fsl-arm/recipes-graphics/mesa/mesa_%.bbappend22
-rw-r--r--meta-fsl-arm/recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend3
-rw-r--r--meta-fsl-arm/recipes-graphics/piglit/piglit_git.bbappend7
-rw-r--r--meta-fsl-arm/recipes-graphics/wayland/weston/0001-MGS-840-Add-i.MX6-support-for-weston.patch1709
-rw-r--r--meta-fsl-arm/recipes-graphics/wayland/weston_%.bbappend42
-rw-r--r--meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput2
-rw-r--r--meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput2
-rw-r--r--meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend2
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante.inc79
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/rc.autohdmi42
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_5.0.11.p4.5.bb8
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch33
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch787
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch65
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/glibc-2.20.patch57
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch53
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch34
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb48
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf16
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf14
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf12
-rw-r--r--meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend2
-rw-r--r--meta-fsl-arm/recipes-kernel/kernel-module-mcc/kernel-module-mcc/mcc_config.h-Only-include-mvf_sema4.h-if-building-in.patch51
-rw-r--r--meta-fsl-arm/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.06.bb20
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-fslc-mx6/defconfig414
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-fslc-mx6_3.14-1.0.x.bb16
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-fslc.inc11
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-fslc/defconfig357
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-fslc/mxs/defconfig185
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-fslc_4.1.bb17
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/fixes-for-using-make-3.82.patch51
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig2053
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig2181
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig2586
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch42
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch33
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0001-ARM-imx6q-drop-unnecessary-semicolon.patch35
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch40
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch56
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch36
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch100
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/mx6/defconfig413
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool-3.14.28/mx6/defconfig332
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool_3.14.28.bb9
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-ARM-imx6q-drop-unnecessary-semicolon.patch35
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch71
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch40
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0002-fix-build-with-rt-enabled.patch19
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch56
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0003-no-split-ptlocks.patch85
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch36
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch100
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/mx6/defconfig413
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx-rt_3.14.28.bb31
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx.inc22
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch31
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch241
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx_2.6.35.3.bb27
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-imx_3.14.28.bb25
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-ls1.inc26
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-ls1/defconfig3159
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-ls1_3.12.bb11
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-mfgtool.inc82
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch37
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch35
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/defconfig144
-rw-r--r--meta-fsl-arm/recipes-kernel/linux/linux-timesys_3.0.15.bb20
-rw-r--r--meta-fsl-arm/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch221
-rw-r--r--meta-fsl-arm/recipes-multimedia/alsa/alsa-lib_%.bbappend7
-rw-r--r--meta-fsl-arm/recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch47
-rw-r--r--meta-fsl-arm/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb33
-rw-r--r--meta-fsl-arm/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb69
-rw-r--r--meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend11
-rw-r--r--meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch31
-rw-r--r--meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend10
-rw-r--r--meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb45
-rw-r--r--meta-fsl-arm/recipes-multimedia/libfslcodec/libfslcodec.inc104
-rw-r--r--meta-fsl-arm/recipes-multimedia/libfslcodec/libfslcodec_4.0.3.bb9
-rw-r--r--meta-fsl-arm/recipes-multimedia/libfslparser/libfslparser.inc33
-rw-r--r--meta-fsl-arm/recipes-multimedia/libfslparser/libfslparser_4.0.3.bb10
-rw-r--r--meta-fsl-arm/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.58.bb23
-rw-r--r--meta-fsl-arm/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend4
-rw-r--r--meta-fsl-arm/recipes-qt/qt4/qt4-embedded_%.bbappend1
-rw-r--r--meta-fsl-arm/recipes-qt/qt4/qt4-imx-support.inc28
-rw-r--r--meta-fsl-arm/recipes-qt/qt4/qt4-x11-free_%.bbappend1
-rw-r--r--meta-fsl-arm/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch468
-rw-r--r--meta-fsl-arm/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch46
-rw-r--r--meta-fsl-arm/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch35
-rw-r--r--meta-fsl-arm/recipes-qt/qt4/qt4/mx6/g++.conf40
-rw-r--r--meta-fsl-arm/recipes-qt/qt4/qt4/mx6/linux.conf66
-rwxr-xr-xmeta-fsl-arm/scripts/get-maintainer107
-rw-r--r--meta-fsl-arm/scripts/lib/image/canned-wks/imx-barebox.wks18
-rw-r--r--meta-fsl-arm/scripts/lib/image/canned-wks/imx-uboot-spl.wks18
-rw-r--r--meta-fsl-arm/scripts/lib/image/canned-wks/imx-uboot.wks17
241 files changed, 27093 insertions, 0 deletions
diff --git a/meta-fsl-arm/.gitignore b/meta-fsl-arm/.gitignore
new file mode 100644
index 00000000..b25c15b8
--- /dev/null
+++ b/meta-fsl-arm/.gitignore
@@ -0,0 +1 @@
+*~
diff --git a/meta-fsl-arm/EULA b/meta-fsl-arm/EULA
new file mode 100644
index 00000000..4c129828
--- /dev/null
+++ b/meta-fsl-arm/EULA
@@ -0,0 +1,590 @@
+LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+IMPORTANT. Read the following Freescale Semiconductor Software License
+Agreement ("Agreement") completely. By selecting the "I Accept" button at
+the end of this page, you indicate that you accept the terms of the Agreement
+and you acknowledge that you have the authority, for yourself or on behalf of
+your company, to bind your company to these terms. You may then download or
+install the file.
+
+FREESCALE SEMICONDUCTOR SOFTWARE LICENSE AGREEMENT
+
+This is a legal agreement between you, as an authorized representative of your
+employer, or if you have no employer, as an individual (together "you"), and
+Freescale Semiconductor, Inc. ("Freescale") and its Affiliates. It concerns
+your rights to use the software identified in the Software Content Register
+and provided to you in binary or source code form and any accompanying written
+materials (the "Licensed Software"). The Licensed Software may include any
+updates or error corrections or documentation relating to the Licensed Software
+provided to you by Freescale under this License. In consideration for Freescale
+allowing you to access the Licensed Software, you are agreeing to be bound by
+the terms of this Agreement. If you do not agree to all of the terms of this
+Agreement, do not download or install the Licensed Software. If you change your
+mind later, stop using the Licensed Software and delete all copies of the
+Licensed Software in your possession or control. Any copies of the Licensed
+Software that you have already distributed, where permitted, and do not destroy
+will continue to be governed by this Agreement. Your prior use will also
+continue to be governed by this Agreement.
+
+1. DEFINITIONS
+
+1.1. "Affiliates" means, any corporation, or entity directly or
+indirectly controlled by, controlling, or under common control with Freescale.
+
+1.2. "Essential Patent" means a patent to the limited extent that
+infringement of such patent cannot be avoided in remaining compliant with the
+technology standards implicated by the usage of any of the Licensed Software,
+including optional implementation of the standards, on technical but not
+commercial grounds, taking into account normal technical practice and the state
+of the art generally available at the time of standardization.
+
+1.3. "Intellectual Property Rights" means any and all rights under
+statute, common law or equity in and under copyrights, trade secrets, and
+patents (including utility models), and analogous rights throughout the world,
+including any applications for and the right to apply for, any of the
+foregoing.
+
+1.4. "Software Content Register" means the documentation
+accompanying the Licensed Software which identifies the contents of the
+Licensed Software, including but not limited to identification of any Third
+Party Software.
+
+1.5. "Third Party Software" means, any software included in the
+Licensed Software that is not Freescale Proprietary software, and is not open
+source software, and to which different license terms may apply.
+
+2. LICENSE GRANT.
+
+2.1. Separate license grants to Third Party Software, or other
+terms applicable to the Licensed Software if different from those granted in
+this Section 2, are contained in Appendix A. The Licensed Software is
+accompanied by a Software Content Register which will identify that portion of
+the Licensed Software, if any, that is subject to the different terms in
+Appendix A.
+
+2.2. Exclusively in connection with your development and
+distribution of product containing a programmable processing unit (e.g. a
+microprocessor, microcontroller, or digital signal processor) supplied directly
+or indirectly from Freescale ("Authorized System") Freescale grants you a
+world-wide, personal, non-transferable, non-exclusive, non-sublicensable,
+license, under Freescale's Intellectual Property Rights:
+
+(a) to use and reproduce the Licensed Software only as part of, or
+integrated within, Authorized Systems and not on a standalone basis;
+
+(b) to directly or indirectly manufacture, demonstrate, copy, distribute,
+market and sell the Licensed Software in object code (machine readable) only as
+part of, or embedded within, Authorized Systems in object code form and not on
+a standalone basis. Notwithstanding the foregoing, those files marked as .h
+files ("Header files") may be distributed in source or object code form, but
+only as part of, or embedded within Authorized Systems.
+
+(c) to copy, use and distribute as needed, solely in connection with an
+Authorized System, proprietary Freescale information associated with the
+Licensed Software for the purpose of developing, maintaining and supporting
+Authorized Systems with which the Licensed Software is integrated or
+associated.
+
+2.3. For Freescale Licensed Software provided to you in source code
+form (human readable), Freescale further grants to you a worldwide, personal,
+non-transferable, non-exclusive, non-sublicensable, license, under Freescale's
+Intellectual Property Rights:
+
+(a) to prepare derivative works of the Licensed Software, only as part of,
+or integrated within, Authorized Systems and not on a standalone basis,;
+
+(b) to use, demonstrate, copy, distribute, market and sell the derivative
+works of the Licensed Software in object code (machine readable) only as part
+of, or integrated within, Authorized Systems and not on a standalone basis.
+Notwithstanding the foregoing, those files marked as .h files ("Header files")
+may be distributed in source or object code form, but only as part of, or
+embedded within Authorized Systems.
+
+2.4. You may use subcontractors on your premises to exercise your
+rights under Section 2.2 and 2.3 so long as you have an agreement in place with
+the subcontractor containing confidentiality restrictions no less stringent
+than those contained in this Agreement. You will remain liable for your
+subcontractors' adherence to the terms of this Agreement and for any and all
+acts and omissions of such subcontractors with respect to this Agreement and
+the Licensed Software.
+
+3. LICENSE LIMITATIONS AND RESTRICTIONS.
+
+3.1. The licenses granted above in Section 2.3 only extend to
+Freescale intellectual property rights that would be infringed by the Licensed
+Software prior to your preparation of any derivative work.
+
+3.2. The Licensed Software is licensed to you, not sold. Title to
+Licensed Software delivered hereunder remains vested in Freescale or
+Freescale's licensor and cannot be assigned or transferred. You are expressly
+forbidden from selling or otherwise distributing the Licensed Software, or any
+portion thereof, except as expressly permitted herein. This Agreement does not
+grant to you any implied rights under any Freescale or third party intellectual
+property.
+
+3.3. You may not translate, reverse engineer, decompile, or
+disassemble the Licensed Software except to the extent applicable law
+specifically prohibits such restriction. You must prohibit your sub-licensees
+from translating, reverse engineering, decompiling, or disassembling the
+Licensed Software except to the extent applicable law specifically prohibits
+such restriction.
+
+3.4. You must reproduce any and all of Freescale's (or its third
+party licensor's) copyright notices and other proprietary legends on copies of
+Licensed Software.
+
+3.5. If you distribute the Licensed Software to the United States
+Government, then the Licensed Software is "restricted computer software" and
+is subject to FAR 52.227-19 (c)(1) and (c)(2).
+
+3.6. You grant to Freescale a non-exclusive, non-transferable,
+irrevocable, perpetual, worldwide, royalty-free, sub-licensable license under
+your Intellectual Property Rights to use without restriction and for any
+purpose any suggestion, comment or other feedback related to the Licensed
+Software (including, but not limited to, error corrections and bug fixes).
+
+3.7. You will not take or fail to take any action that could
+subject the Licensed Software to an Excluded License. An Excluded License means
+any license that requires, as a condition of use, modification or distribution
+of software subject to the Excluded License, that such software or other
+software combined and/or distributed with the software be (i) disclosed or
+distributed in source code form; (ii) licensed for the purpose of making
+derivative works; or (iii) redistributable at no charge.
+
+3.8. You may not publish or distribute information, results or data
+associated with the use of the Licensed Software to anyone other than
+Freescale; however you must advise Freescale of any results obtained including
+any problems or suggested improvements thereof. Freescale retains the right to
+use such results and related information in any manner it deems appropriate.
+
+4. OPEN SOURCE. Open source software included in the Licensed
+Software is not licensed under the terms of this Agreement, but is instead
+licensed under the terms of the applicable open source license(s), such as the
+BSD License, Apache License or the GNU Lesser General Public License. Your use
+of the open source software is subject to the terms of each applicable license.
+You must agree to the terms of each applicable license, or you cannot use the
+open source software.
+
+5. INTELLECTUAL PROPERTY RIGHTS. Subject to Freescale's ownership
+interest in the underlying Licensed Software, all intellectual property rights
+associated with, and title to, your Authorized System will be retained by or
+will vest in you. Your modifications to the Licensed Software, and all
+intellectual property rights associated with, and title thereto, will be the
+property of Freescale. Upon request, you must provide Freescale the source
+code of any derivative of the Licensed Software. You agree to assign all,
+and hereby do assign all rights, title, and interest to any such modifications
+to the Licensed Software to Freescale and agree to provide all assistance
+reasonably requested by Freescale to establish, preserve or enforce such right.
+Further, you agree to waive all moral rights relating to your modifications to
+the Licensed Software, including, without limitation, all rights of
+identification of authorship and all rights of approval, restriction, or
+limitation on use or subsequent modification. Notwithstanding the foregoing,
+you will have the license rights granted in Section 2 hereto to any such
+modifications made by you or your licensees.
+
+6. PATENT COVENANT NOT TO SUE. As partial, material consideration for the
+rights granted to you under this Agreement, you covenant not to sue or
+otherwise assert your patents against Freescale, a Freescale Affiliate or
+subsidiary, or a Freescale licensee of the Licensed Software for infringement
+of your Intellectual Property Rights by the manufacture, use, sale, offer for
+sale, importation or other disposition or promotion of the Licensed Software
+and/or any redistributed portions of the Licensed Software.
+
+7. ESSENTIAL PATENTS. You are solely responsible for obtaining licenses
+for any relevant Essential Patents for your use in connection with technology
+that you incorporate into the your product (whether as part of the Licensed
+Software or not).
+
+8. TERM AND TERMINATION. This Agreement will remain in effect unless
+terminated as provided in this Section 8.
+
+8.1. You may terminate this Agreement immediately upon written
+notice to Freescale at the address provided below.
+
+8.2. Either party may terminate this Agreement if the other party
+is in default of any of the terms and conditions of this Agreement, and
+termination is effective if the defaulting party fails to correct such default
+within 30 days after written notice thereof by the non-defaulting party to the
+defaulting party at the address below.
+
+8.3. Notwithstanding the foregoing, Freescale may terminate this
+Agreement immediately upon written notice if you: breach any of your
+confidentiality obligations or the license restrictions under this Agreement;
+become bankrupt, insolvent, or file a petition for bankruptcy or insolvency,
+make an assignment for the benefit of its creditors; enter proceedings for
+winding up or dissolution ;are dissolved; or are nationalized or become subject
+to the expropriation of all or substantially all of its business or assets.
+
+8.4. Upon termination of this Agreement, all licenses granted under
+Section 2 will expire, except that any licenses extended to end-users pursuant
+to Sections 2.2(b), 2.2(c), and 2.3(b), which have been granted prior to such
+termination will survive.
+
+8.5. After termination of this Agreement by either party and upon
+Freescale's written request, you will, at your discretion, return to the
+Freescale any confidential information including all copies thereof or furnish
+to Freescale at the address below, a statement certifying, with respect to the
+Licensed Software delivered hereunder that the original and all copies, except
+for archival copies to be used solely for dispute resolution purposes, in whole
+or in part, in any form, of the Licensed Software have been destroyed.
+
+8.6. Notwithstanding the termination of this Agreement for any
+reason, the terms of Sections 1, 3, 5 through 25 will survive.
+
+9. SUPPORT. Freescale is not obligated to provide any
+support, upgrades or new releases of the Licensed Software under this
+Agreement. If you wish, you may contact Freescale and report problems and
+provide suggestions regarding the Licensed Software. Freescale has no
+obligation to respond to such a problem report or suggestion. Freescale may
+make changes to the Licensed Software at any time, without any obligation to
+notify or provide updated versions of the Licensed Software to you.
+
+10. NO WARRANTY. To the maximum extent permitted by law,
+Freescale expressly disclaims any warranty for the Licensed Software. The
+Licensed Software is provided "AS IS", without warranty of any kind, either
+express or implied, including without limitation the implied warranties of
+merchantability, fitness for a particular purpose, or non-infringement. You
+assume the entire risk arising out of the use or performance of the licensed
+software, or any systems you design using the licensed software (if any).
+
+11. INDEMNITY. You agree to fully defend and indemnify Freescale
+from all claims, liabilities, and costs (including reasonable attorney's fees)
+related to (1) your use (including your contractors or distributee's use, if
+permitted) of the Licensed Software or (2) your violation of the terms and
+conditions of this Agreement.
+
+12. LIMITATION OF LIABILITY. EXCLUDING LIABILITY FOR A BREACH
+OF SECTION 2 (LICENSE GRANTS), SECTION 3 (LICENSE LIMITATIONS AND
+RESTRICTIONS), SECTION 17 (CONFIDENTIAL INFORMATION), OR CLAIMS UNDER SECTION
+11(INDEMNITY), IN NO EVENT WILL EITHER PARTY BE LIABLE, WHETHER IN CONTRACT,
+TORT, OR OTHERWISE, FOR ANY INCIDENTAL, SPECIAL, INDIRECT, CONSEQUENTIAL OR
+PUNITIVE DAMAGES, INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR ANY LOSS OF USE,
+LOSS OF TIME, INCONVENIENCE, COMMERCIAL LOSS, OR LOST PROFITS, SAVINGS, OR
+REVENUES, TO THE FULL EXTENT SUCH MAY BE DISCLAIMED BY LAW. FREESCALE'S TOTAL
+LIABILITY FOR ALL COSTS, DAMAGES, CLAIMS, OR LOSSES WHATSOEVER ARISING OUT OF
+OR IN CONNECTION WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS
+AGREEMENT IS LIMITED TO THE AGGREGATE AMOUNT PAID BY YOU TO FREESCALE IN
+CONNECTION WITH THE LICENSED SOFTWARE TO WHICH LOSSES OR DAMAGES ARE CLAIMED.
+
+13. EXPORT RESTRICTIONS.
+
+13.1. Licensed Software (collectively referred to as "items") is
+subject to the export control laws of the United States and other countries
+that may lawfully control the export of the Licensed Software. Furnishing
+support services with respect to Licensed Software that is controlled as
+defense or military items may also be subject to such laws. Accordingly, you
+agree you will not transfer the Licensed Software or furnish such services
+except in compliance with the export laws of the United States and any other
+country that may lawfully control the export of the Licensed Software or the
+provision of such services. You will indemnify and hold Freescale harmless
+from any claims, liabilities, damages, penalties, forfeitures, and associated
+costs and expenses (including attorneys' fees) that Freescale may incur due to
+your non-compliance with applicable export laws, rules, and regulations. You
+will immediately notify Freescale of any violation of any export law, rule, or
+regulation, which may affect Freescale or relate to the activities covered
+under this Agreement.
+
+13.2. If an export/import license, permit, or other government
+required authority (collectively referred to as "government authorization")
+is required for Freescale to transfer the Licensed Software or any other
+Freescale property under this Agreement and such government authorization to
+non-Freescale party(ies) is not approved, then Freescale is not obligated to
+proceed with the transfer until the required government authorization is
+granted.
+
+14. GOVERNMENT CONTRACT COMPLIANCE.
+
+14.1. If you sell Authorized Systems directly to any government or
+public entity, including U.S., state, local, foreign or international
+governments or public entities, or indirectly via a prime contractor or
+subcontractor of such governments or entities, Freescale makes no
+representations, certifications, or warranties whatsoever about compliance with
+government or public entity acquisition statutes or regulations, including,
+without limitation, statutes or regulations that may relate to pricing,
+quality, origin or content.
+
+14.2. The Licensed Software has been developed at private expense and
+is a "Commercial Item" as defined in 48 C.F.R. Section 2.101, consisting of
+"Commercial Computer Software", and/or "Commercial Computer Software
+Documentation," as such terms are used in 48 C.F.R. Section 12.212 (or
+48 C.F.R. Section 227.7202, as applicable) and may only be licensed to or
+shared with U.S.Government end users in object code form as part of, or
+embedded within, Authorized Systems. Any agreement pursuant to which you share
+the Licensed Software will include a provision that reiterates the limitations
+of this document and requires all sub-agreements to similarly contain such limitations.
+
+15. SAFETY CRITICAL APPLICATIONS
+
+15.1. In some cases, Freescale may promote certain Licensed Software
+for use in safety-related applications. Freescale's goal is to educate
+licensees so that they can design their own end-product solutions to meet
+applicable functional safety standards and requirements. You make the
+ultimate design decisions regarding your products and are solely responsible
+for compliance with all legal, regulatory, safety, and security related
+requirements concerning your products, regardless of any information or support
+that may be provided by Freescale. Accordingly, you will indemnify and hold
+Freescale harmless from any claims, liabilities, damages and associated costs
+and expenses (including attorneys' fees) that Freescale may incur related to
+your incorporation of any Product in a safety-critical application or system.
+
+15.2. Only Licensed Software that Freescale has specifically
+designated as "Automotive Qualified" is intended for use in automotive,
+military, or aerospace applications or environments. If you use Licensed
+Software that has not been designated as "Automotive Qualified" in an
+automotive, military, or aerospace application or environment, you do so at
+your own risk.
+
+15.3. Licensed Software is not intended or authorized for any use in
+anti-personnel landmines.
+
+16. CHOICE OF LAW; VENUE. This Agreement will be governed by,
+construed, and enforced in accordance with the laws of the State of Texas, USA,
+without regard to conflicts of laws principles, will apply to all matters
+relating to this Agreement or the Licensed Software, and you agree that any
+litigation will be subject to the exclusive jurisdiction of the state or
+federal courts Texas, USA. The United Nations Convention on Contracts for the
+International Sale of Goods will not apply to this document.
+
+17. CONFIDENTIAL INFORMATION. You must treat the Licensed
+Software as confidential information and you agree to retain the Licensed
+Software in confidence perpetually, with respect to Licensed Software in source
+code form (human readable), or for a period of five (5) years from the date of
+termination of this Agreement, with respect to all other parts of the Licensed
+Software. During this period you may not disclose any part of the Licensed
+Software to anyone other than employees who have a need to know of the
+Licensed Software and who have executed written agreements obligating them to
+protect such Licensed Software to at least the same degree of care as in this
+Agreement. You agree to use the same degree of care, but no less than a
+reasonable degree of care, with the Licensed Software as you do with your own
+confidential information. You may disclose Licensed Software to the extent
+required by a court or under operation of law or order provided that you
+notify Freescale of such requirement prior to disclosure, which you only
+disclose information required, and that you allow Freescale the opportunity
+to object to such court or other legal body requiring such disclosure.
+
+18. TRADEMARKS. You are not authorized to use any Freescale
+trademarks, brand names, or logos.
+
+19. ENTIRE AGREEMENT. This Agreement constitutes the entire
+agreement between you and Freescale regarding the subject matter of this
+Agreement, and supersedes all prior communications, negotiations,
+understandings, agreements or representations, either written or oral, if any.
+This Agreement may only be amended in written form, signed by you and
+Freescale.
+
+20. SEVERABILITY. If any provision of this Agreement is held for
+any reason to be invalid or unenforceable, then the remaining provisions of
+this Agreement will be unimpaired and, unless a modification or replacement of
+the invalid or unenforceable provision is further held to deprive you or
+Freescale of a material benefit, in which case the Agreement will immediately
+terminate, the invalid or unenforceable provision will be replaced with a
+provision that is valid and enforceable and that comes closest to the intention
+underlying the invalid or unenforceable provision.
+
+21. NO WAIVER. The waiver by Freescale of any breach of any
+provision of this Agreement will not operate or be construed as a waiver of
+any other or a subsequent breach of the same or a different provision.
+
+22. AUDIT. You will keep full, clear and accurate records with
+respect to your compliance with the limited license rights granted under this
+Agreement for three years following expiration or termination of this
+Agreement. Freescale will have the right, either itself or through an
+independent certified public accountant to examine and audit, at Freescale's
+expense, not more than once a year, and during normal business hours, all such
+records that may bear upon your compliance with the limited license rights
+granted above. You must make prompt adjustment to compensate for any errors
+and/or omissions disclosed by such examination or audit.
+
+23. NOTICES. All notices and communications under
+this Agreement will be made in writing, and will be effective when received
+at the following addresses:
+
+Freescale: Freescale Semiconductor, Inc.
+ 6501 William Cannon West OE62
+ Austin, Texas 78735
+ ATTN: General Counsel
+
+ You:
+ The address provided at registration will be used.
+
+24. RELATIONSHIP OF THE PARTIES. The parties are
+independent contractors. Nothing in this Agreement will be construed to create
+any partnership, joint venture, or similar relationship. Neither party is
+authorized to bind the other to any obligations with third parties.
+
+25. SUCCESSION AND ASSIGNMENT. This Agreement will be binding
+upon and inure to the benefit of the parties and their permitted successors and
+assigns. Neither party may assign this Agreement, or any part of this
+Agreement, without the prior written approval of the other party, which
+approval will not be unreasonably withheld or delayed.
+
+
+
+
+
+
+APPENDIX A
+
+Other License Grants and Restrictions:
+
+The Licensed Software may include some or all of the following software, which
+is either 1) not Freescale proprietary software or 2) Freescale proprietary
+software subject to different terms than those in the Agreement. If the
+Software Content Register that accompanies the Licensed Software identifies any
+of the following Third Party Software or specific components of the Freescale
+Proprietary Software, the following terms apply to the extent they deviate from
+the terms in the Agreement:
+
+Third Party Software
+
+Use Restrictions
+
+Atheros
+
+Use of Atheros software is limited to evaluation and demonstration only.
+Permitted distributions must be similarly limited. Further rights must be
+obtained directly from Atheros.
+
+ATI (AMD)
+
+Distribution of ATI software must be a part of, or embedded within, Authorized
+Systems that include a ATI graphics processor core.
+
+Coding Technologies (Dolby Labs)
+
+Use of CTS software is limited to evaluation and demonstration only. Permitted
+distributions must be similarly limited. Further rights must be obtained from
+Dolby Laboratories.
+
+CSR
+
+Use of Cambridge Silicon Radio, Inc. ("CSR") software is limited to evaluation
+and demonstration only. Permitted distributions must be similarly limited.
+Further rights must be obtained directly from CSR.
+
+Freescale Wireless Charging Library
+
+License to the Software is limited to use in inductive coupling or wireless
+charging applications
+
+Global Locate (Broadcom Corporation)
+
+Use of Global Locate, Inc. software is limited to evaluation and demonstration
+only. Permitted distributions must be similarly limited. Further rights must
+be obtained from Global Locate.
+
+Imagination Technologies Limited (IMG)
+
+If the Licensed Software includes proprietary software developed by IMG, your
+rights are limited to a non-exclusive, world-wide right and non-transferrable
+and non-sub-licensable license (i) to use and modify the Licensed Software and
+documentation and (ii) to copy and distribute the Licensed Software only in
+object code form solely for use on Freescale Rayleigh products. If you are
+provided with the Licensed Software in source code format, you are restricted
+to accessing only those deliverables in source code format which are necessary
+for you to carry out either specific customization or porting work in
+association with Freescale's Rayleigh products or your Authorized System.
+
+The confidentiality restrictions shall continue in force without limit in time
+notwithstanding the termination or expiration of this Agreement.
+
+Micrium
+
+uC/OS-II and uC/OS-III is provided in source form for FREE short-term
+evaluation, for educational use or for peaceful research. If you plan or
+intend to use uC/OS-II or uC/OS-III in a commercial application/product then,
+you need to contact Micrium to properly license uC/OS-II or uC/OS-III for its
+use in your application/product. We provide ALL the source code for your
+convenience and to help you experience uC/OS-II or uC/OS-III. The fact that
+the source is provided does NOT mean that you can use it commercially without
+paying a licensing fee.
+
+Microsoft
+
+If the Licensed Software includes software owned by Microsoft Corporation
+("Microsoft"), it is subject to the terms of your license with Microsoft (the
+"Microsoft Underlying Licensed Software") and as such, Freescale grants no
+license to you, beyond evaluation and demonstration in connection with Freescale
+processors, in the Microsoft Underlying Licensed Software. You must separately
+obtain rights beyond evaluation and demonstration in connection with the
+Microsoft Underlying Licensed Software from Microsoft.
+
+Microsoft does not provide support services for the components provided to you
+through this Agreement. If you have any questions or require technical
+assistance, please contact Freescale. Microsoft Corporation is a third party
+beneficiary to this Agreement with the right to enforce the terms of this
+Agreement. TO THE MAXIMUM EXTENT PERMITTED BY LAW, MICROSOFT AND ITS
+AFFILIATES DISCLAIM ANY WARRANTIES FOR THE MICROSOFT UNDERLYING LICENSED
+SOFTWARE. TO THE MAXIMUM EXTENT PERMITTED BY LAW, NEITHER MICROSOFT NOR ITS
+AFFILIATES WILL BE LIABLE, WHETHER IN CONTRACT, TORT, OR OTHERWISE, FOR ANY
+DIRECT, INCIDENTAL, SPECIAL, INDIRECT, CONSEQUENTIAL OR PUNITIVE DAMAGES,
+INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR ANY LOSS OF USE, LOSS OF TIME,
+INCONVENIENCE, COMMERCIAL LOSS, OR LOST PROFITS, SAVINGS, OR REVENUES, ARISING
+FROM THE FROM THE USE OF THE MICROSOFT UNDERLYING LICENSED SOFTWARE.
+
+MindTree
+
+Notwithstanding the terms contained in Section 2.3 (a), if the Licensed
+Software includes proprietary software of MindTree in source code format,
+Licensee may make modifications and create derivative works only to the
+extent necessary for debugging of the Licensed Software.
+
+MPEG LA
+
+Use of MPEG LA audio or video codec technology is limited to evaluation
+and demonstration only. Permitted distributions must be similarly limited.
+Further rights must be obtained directly from MPEG LA.
+
+MQX RTOS Code
+
+MQX RTOS source code may not be re-distributed by any FSL Licensee under
+any circumstance, even by a signed written amendment to this Agreement.
+
+Opus
+
+Use of Opus software must be consistent with the terms of the Opus license
+which can be found at: http://www.opus-codec.org/license/
+
+Real Networks - its GStreamer Optimized Real Format Client Code implementation
+or OpenMax Optimized Real Format Client Code
+
+Use of the GStreamer Optimized Real Format Client Code, or OpenMax Optimized
+Real Format Client code is restricted to applications in the automotive market.
+Licensee must be a final manufacturer in good standing with a current license
+with Real Networks for the commercial use and distribution of products
+containing the GStreamer Optimized Real Format Client Code implementation or
+OpenMax Optimized Real Format Client Code
+
+SanDisk Corporation
+
+If the Licensed Software includes software developed by SanDisk Corporation
+("SanDisk"), you must separately obtain the rights to reproduce and distribute
+this software in source code form from SanDisk. Please follow these easy steps
+to obtain the license and software:
+
+1. Contact your local SanDisk sales representative to obtain the SanDisk
+License Agreement.
+
+2. Sign the license agreement. Fax the signed agreement to SanDisk USA
+marketing department at 408-542-0403. The license will be valid when fully
+executed by SanDisk.
+
+3. If you have specific questions, please send an email to
+sales@sandisk.com
+
+You may only use the SanDisk Corporation Licensed Software on products
+compatible with a SanDisk Secure Digital Card. You may not use the SanDisk
+Corporation Licensed Software on any memory device product. SanDisk retains
+all rights to any modifications or derivative works to the SanDisk Corporation
+Licensed Software that you may create.
+
+Texas Instruments
+
+Your use of Texas Instruments Inc. WiLink8 Licensed Software is restricted
+to Freescale SoC based systems that include a compatible connectivity device
+manufactured by TI.
+
+Vivante
+
+Distribution of Vivante software must be a part of, or embedded within,
+Authorized Systems that include a Vivante Graphics Processing Unit.
diff --git a/meta-fsl-arm/README b/meta-fsl-arm/README
new file mode 100644
index 00000000..154f0f0d
--- /dev/null
+++ b/meta-fsl-arm/README
@@ -0,0 +1,51 @@
+OpenEmbedded/Yocto BSP layer for Freescale's ARM platforms
+==========================================================
+
+This layer provides support for Freescale's ARM platforms for use with
+OpenEmbedded and/or Yocto.
+
+This layer depends on:
+
+URI: git://git.openembedded.org/openembedded-core
+branch: master
+revision: HEAD
+
+EULA
+----
+
+Some SoC depends on libraries and packages that are covered by
+Freescale EULA. To have the right to use those binaries in your images
+you need to read and accept the EULA at EULA.txt file.
+
+In order to accept it, you should add, in your local.conf file:
+
+ACCEPT_FSL_EULA = "1"
+
+Contributing
+------------
+
+To contribute to this layer you should submit the patches for review to the
+mailing list (meta-freescale@yoctoproject.org).
+
+Please refer to:
+https://wiki.yoctoproject.org/wiki/Contribution_Guidelines#General_Information
+
+for some useful guidelines to be followed when submitting patches.
+
+Mailing list:
+
+ https://lists.yoctoproject.org/listinfo/meta-freescale
+
+Source code:
+
+ git://git.yoctoproject.org/meta-fsl-arm
+ http://git.yoctoproject.org/git/meta-fsl-arm
+ https://github.com/Freescale/meta-fsl-arm
+
+When creating patches, please use something like:
+
+ git format-patch -s --subject-prefix='meta-fsl-arm][PATCH' origin
+
+When sending patches, please use something like:
+
+ git send-email --to meta-freescale@yoctoproject.org <generated patch>
diff --git a/meta-fsl-arm/SCR/imx/SCR-3.14.28-1.0.0-ga.txt b/meta-fsl-arm/SCR/imx/SCR-3.14.28-1.0.0-ga.txt
new file mode 100644
index 00000000..3576d723
--- /dev/null
+++ b/meta-fsl-arm/SCR/imx/SCR-3.14.28-1.0.0-ga.txt
@@ -0,0 +1,355 @@
+Freescale Software Content Register
+
+Release - Linux 3.14.28-1.0.0_GA
+
+Date Created: 2015-Feb-12
+
+--------------------------------------------
+BSP PACKAGES
+--------------------------------------------
+
+Package: linux-2.6-imx
+
+Outgoing License: GPLv2+
+
+License Files: COPYING: GPLv2
+
+Package Category: BSP
+
+Type of content: Source code
+
+Description and comments: The Linux kernel with Freescale-specific drivers
+
+Release Location: git.freescale.com branch imx_3.14.28_1.0.0_ga
+
+Origin: Freescale and kernel.org - https://www.kernel.org/
+
+--------------------------------------------
+
+Package: u-boot-imx
+
+Outgoing License: GPLv2+
+
+License Files: COPYING: GPLv2
+
+Package Category: Bootloader
+
+Type of content: Source code
+
+Description and comments: Bootloader with Freescale-specific capabilities
+
+Release Location: git.freescale.com branch imx_v2014.04_3.14.28_1.0.0_ga
+
+Origin: Freescale
+ Das U-Boot - Universal Bootloader (LGPLv2+) - http://www.denx.de/wiki/U-Boot/WebHome
+ Android Open Source Project (BSD-2-Clause) - https://source.android.com/
+ zlib (zlib license) - http://www.zlib.net/
+
+--------------------------------------------
+
+Package: firmware-imx-3.14.28-1.0.0.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: BSP
+
+Type of content: Binaries
+
+Description and comments: BSP firmware - SDMA, VPU
+
+Release Location: Freescale mirror
+
+Origin: Freescale and Chips and Media
+
+--------------------------------------------
+
+Package: imx-kobs-3.14.28-1.0.0.tar.gz
+
+Outgoing License: GPLv2+
+
+License Files: COPYING: GPLv2
+
+Package Category: BSP
+
+Type of content: Source code
+
+Description and comments: NAND boot writer
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ AES (BSD-3-Clause) - http://brgladman.org/oldsite/AES/
+ Secure Hash Algorithm Implementation (Public Domain) - http://www.nic.funet.fi/pub/crypt/hash/sha/
+ IGEP Linux Kernel (GPLv2+) - http://www.igep.es/
+
+--------------------------------------------
+
+Package: imx-lib-3.14.28-1.0.0.tar.gz
+
+Outgoing License: LGPLv2.1+
+
+License Files: See source code.
+
+Package Category: BSP
+
+Type of content: Source code
+
+Description and comments: BSP libraries
+ls
+Release Location: Freescale mirror
+
+Origin: Freescale
+
+--------------------------------------------
+
+Package: imx-test-3.14.28-1.0.0.tar.gz
+
+Outgoing License: Each test has its own license
+
+License Files: See source code.
+
+Package Category: BSP
+
+Type of content: Source code
+
+Description and comments: Linux unit test applications
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ Linux Test Project (GPLv2+) - https://github.com/linux-test-project/ltp
+ Chips and Media Resource (GPL2+)
+ RTC Test in Linux Kernel (GPLv2+)
+ BlueZ (GPLv2+) - http://www.bluez.org/
+ Embedded Alley v4l2 test (GPLv2+)
+ Android Open Source Project (BSD-2-Clause) - https://source.android.com/
+ Hantro Memalloc in Linux (GPLv2+)
+ Linux driver for Atheros AR5210 802.11a (GPLv2+) - http://sourceforge.net/projects/ar5k/
+ Hannu Savolainen's soundcard.h (BSD 2-clause)
+
+--------------------------------------------
+
+Package: imx-vpu-5.4.28.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: BSP
+
+Type of content: Source code
+
+Description and comments: VPU library
+
+Release Location: Freescale mirror
+
+Origin: Freescale and Chips and Media
+
+--------------------------------------------
+GRAPHICS PACKAGES
+--------------------------------------------
+
+Package: imx-gpu-viv-5.0.11.p4.4.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: Graphics
+
+Type of content: Binaries, scripts and header files
+
+Description and comments: GPU Core IP in binary and test application source
+
+Release Location: Freescale mirror
+
+Origin: Freescale and Vivante
+ Khronos Group (MIT) - http://www.khronos.org/opencl/
+ Mesa3D - Mesa Lib (GL3ext header) (SGI Free Software License B v2.0) - http://mesa3d.sourceforge.net/
+
+--------------------------------------------
+
+Package: imx-gpu-viv-kernel-5.0.11.p4.4.tar.gz
+
+Outgoing License: GPLv2+
+
+License Files: See source code.
+
+Package Category: Graphics
+
+Type of content: Source code
+
+Description and comments: GPU kernel source provided for kernel loadable modules
+
+Release Location: Freescale mirror
+
+Origin: Freescale and Vivante Corp.
+
+--------------------------------------------
+
+Package: xserver-xorg-video-imx-viv-5.0.11.p4.4.tar.gz
+
+Outgoing License: GPLv2+
+
+License Files: See source code.
+
+Package Category: Graphics
+
+Type of content: Source code
+
+Description and comments: Xserver Library extensions
+
+Release Location: Freescale mirror
+
+Origin: Freescale and Vivante Corp.
+ xorg-server (MIT) - http://xorg.freedesktop.org/
+ XFree86 Project (XFree86 License v1.0) - http://sourceforge.net/projects/xfree86/
+ xf86-video-freedreno (MIT) - http://github.com/freedreno/xf86-video-freedreno/
+
+--------------------------------------------
+
+Package: fsl-gpu-sdk-2.0.1.bin
+
+Outgoing License: Apache 2.0
+
+License Files: COPYING: Apache license
+
+Package Category: Graphics
+
+Type of content: Source code
+
+Description and comments: Graphics sample applications
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ Templatized C++ Command Line Parser (tclap) (MIT) - http://sourceforge.net/projects/tclap/
+ Opengles book samples (MIT) - http://github.com/zemanel/opengles-book-samples/
+ XFree86 (XFree86 License v 1.0) - http://www.xfree86.org/
+ Wayland (Seetex License) - http://cgit.freedesktop.org/~krh/wayland/
+
+--------------------------------------------
+MULTIMEDIA PACKAGES
+--------------------------------------------
+
+Package: gst1.0-fsl-plugins-4.0.3.tar.gz
+
+Outgoing License: LGPLv2.1+
+
+License Files: COPYING (GPLv2)
+ COPYING-LGPL-2
+ COPYING-LGPL-2.1
+
+Package Category: Multimedia
+
+Type of content: Source code
+
+Description and comments: Freescale Gstreamer 1.0 plugins
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ Gstreamer plugins-Base (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-base/
+ Gstreamer plugins-Good (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-good/
+ Gstreamer plugins-Bad (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-bad/
+
+--------------------------------------------
+
+Package: gst-fsl-plugins-4.0.3.tar.gz
+
+Outgoing License: LGPLv2.1+
+
+License Files: COPYING (GPLv2)
+ COPYING-LGPL-2
+ COPYING-LGPL-2.1
+
+Package Category: Multimedia
+
+Type of content: Source code
+
+Description and comments: Freescale Gstreamer 0.1 plugins
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ Gstreamer plugins-Base (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-base/
+ Gstreamer plugins-Good (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-good/
+ Gstreamer plugins-Bad (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-bad/
+ mingw-runtime tchar.h (public domain) - http://www.mingw.org/
+
+--------------------------------------------
+
+Package: libfslcodec-4.0.3.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: Multimedia
+
+Type of content: Binaries and header files
+
+Description and comments: Freescale multimedia codec libraries
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+
+--------------------------------------------
+
+Package: libfslparser-4.0.3.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: Multimedia
+
+Type of content: Binaries and header files
+
+Description and comments: Freescale multimedia parser libraries
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+
+--------------------------------------------
+
+Package: libfslvpuwrap-1.0.58.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: Multimedia
+
+Type of content: Source code
+
+Description and comments: Freescale VPU wrapper library
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ sqlite (Public Domain) - http://www.hwaci.com/sw/sqlite/index.html
+
+--------------------------------------------
+
+Package: fslqtapplications-1.0.1.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: Multimedia
+
+Type of content: Binaries
+
+Description and comments: i.MX QT multimedia player application
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+
+--------------------------------------------
diff --git a/meta-fsl-arm/SCR/imx/SCR-3.14.28-1.0.1-patch.txt b/meta-fsl-arm/SCR/imx/SCR-3.14.28-1.0.1-patch.txt
new file mode 100644
index 00000000..cabb94fc
--- /dev/null
+++ b/meta-fsl-arm/SCR/imx/SCR-3.14.28-1.0.1-patch.txt
@@ -0,0 +1,355 @@
+Freescale Software Content Register
+
+Release - Linux 3.14.28-1.0.1_patch
+
+Date Created: 2015-Feb-12
+
+--------------------------------------------
+BSP PACKAGES
+--------------------------------------------
+
+Package: linux-2.6-imx
+
+Outgoing License: GPLv2+
+
+License Files: COPYING: GPLv2
+
+Package Category: BSP
+
+Type of content: Source code
+
+Description and comments: The Linux kernel with Freescale-specific drivers
+
+Release Location: git.freescale.com branch imx_3.14.28_1.0.0_ga
+
+Origin: Freescale and kernel.org - https://www.kernel.org/
+
+--------------------------------------------
+
+Package: u-boot-imx
+
+Outgoing License: GPLv2+
+
+License Files: COPYING: GPLv2
+
+Package Category: Bootloader
+
+Type of content: Source code
+
+Description and comments: Bootloader with Freescale-specific capabilities
+
+Release Location: git.freescale.com branch imx_v2014.04_3.14.28_1.0.0_ga
+
+Origin: Freescale
+ Das U-Boot - Universal Bootloader (LGPLv2+) - http://www.denx.de/wiki/U-Boot/WebHome
+ Android Open Source Project (BSD-2-Clause) - https://source.android.com/
+ zlib (zlib license) - http://www.zlib.net/
+
+--------------------------------------------
+
+Package: firmware-imx-3.14.28-1.0.0.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: BSP
+
+Type of content: Binaries
+
+Description and comments: BSP firmware - SDMA, VPU
+
+Release Location: Freescale mirror
+
+Origin: Freescale and Chips and Media
+
+--------------------------------------------
+
+Package: imx-kobs-3.14.28-1.0.0.tar.gz
+
+Outgoing License: GPLv2+
+
+License Files: COPYING: GPLv2
+
+Package Category: BSP
+
+Type of content: Source code
+
+Description and comments: NAND boot writer
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ AES (BSD-3-Clause) - http://brgladman.org/oldsite/AES/
+ Secure Hash Algorithm Implementation (Public Domain) - http://www.nic.funet.fi/pub/crypt/hash/sha/
+ IGEP Linux Kernel (GPLv2+) - http://www.igep.es/
+
+--------------------------------------------
+
+Package: imx-lib-3.10.53-1.1.0.tar.gz
+
+Outgoing License: LGPLv2.1+
+
+License Files: See source code.
+
+Package Category: BSP
+
+Type of content: Source code
+
+Description and comments: BSP libraries
+ls
+Release Location: Freescale mirror
+
+Origin: Freescale
+
+--------------------------------------------
+
+Package: imx-test-3.14.28-1.0.0.tar.gz
+
+Outgoing License: Each test has its own license
+
+License Files: See source code.
+
+Package Category: BSP
+
+Type of content: Source code
+
+Description and comments: Linux unit test applications
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ Linux Test Project (GPLv2+) - https://github.com/linux-test-project/ltp
+ Chips and Media Resource (GPL2+)
+ RTC Test in Linux Kernel (GPLv2+)
+ BlueZ (GPLv2+) - http://www.bluez.org/
+ Embedded Alley v4l2 test (GPLv2+)
+ Android Open Source Project (BSD-2-Clause) - https://source.android.com/
+ Hantro Memalloc in Linux (GPLv2+)
+ Linux driver for Atheros AR5210 802.11a (GPLv2+) - http://sourceforge.net/projects/ar5k/
+ Hannu Savolainen's soundcard.h (BSD 2-clause)
+
+--------------------------------------------
+
+Package: imx-vpu-5.4.28.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: BSP
+
+Type of content: Source code
+
+Description and comments: VPU library
+
+Release Location: Freescale mirror
+
+Origin: Freescale and Chips and Media
+
+--------------------------------------------
+GRAPHICS PACKAGES
+--------------------------------------------
+
+Package: imx-gpu-viv-5.0.11.p4.5.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: Graphics
+
+Type of content: Binaries, scripts and header files
+
+Description and comments: GPU Core IP in binary and test application source
+
+Release Location: Freescale mirror
+
+Origin: Freescale and Vivante
+ Khronos Group (MIT) - http://www.khronos.org/opencl/
+ Mesa3D - Mesa Lib (GL3ext header) (SGI Free Software License B v2.0) - http://mesa3d.sourceforge.net/
+
+--------------------------------------------
+
+Package: imx-gpu-viv-kernel-5.0.11.p4.5.tar.gz
+
+Outgoing License: GPLv2+
+
+License Files: See source code.
+
+Package Category: Graphics
+
+Type of content: Source code
+
+Description and comments: GPU kernel source provided for kernel loadable modules
+
+Release Location: Freescale mirror
+
+Origin: Freescale and Vivante Corp.
+
+--------------------------------------------
+
+Package: xserver-xorg-video-imx-viv-5.0.11.p4.5.tar.gz
+
+Outgoing License: GPLv2+
+
+License Files: See source code.
+
+Package Category: Graphics
+
+Type of content: Source code
+
+Description and comments: Xserver Library extensions
+
+Release Location: Freescale mirror
+
+Origin: Freescale and Vivante Corp.
+ xorg-server (MIT) - http://xorg.freedesktop.org/
+ XFree86 Project (XFree86 License v1.0) - http://sourceforge.net/projects/xfree86/
+ xf86-video-freedreno (MIT) - http://github.com/freedreno/xf86-video-freedreno/
+
+--------------------------------------------
+
+Package: fsl-gpu-sdk-2.0.1.bin
+
+Outgoing License: Apache 2.0
+
+License Files: COPYING: Apache license
+
+Package Category: Graphics
+
+Type of content: Source code
+
+Description and comments: Graphics sample applications
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ Templatized C++ Command Line Parser (tclap) (MIT) - http://sourceforge.net/projects/tclap/
+ Opengles book samples (MIT) - http://github.com/zemanel/opengles-book-samples/
+ XFree86 (XFree86 License v 1.0) - http://www.xfree86.org/
+ Wayland (Seetex License) - http://cgit.freedesktop.org/~krh/wayland/
+
+--------------------------------------------
+MULTIMEDIA PACKAGES
+--------------------------------------------
+
+Package: gst1.0-fsl-plugins-4.0.3.tar.gz
+
+Outgoing License: LGPLv2.1+
+
+License Files: COPYING (GPLv2)
+ COPYING-LGPL-2
+ COPYING-LGPL-2.1
+
+Package Category: Multimedia
+
+Type of content: Source code
+
+Description and comments: Freescale Gstreamer 1.0 plugins
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ Gstreamer plugins-Base (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-base/
+ Gstreamer plugins-Good (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-good/
+ Gstreamer plugins-Bad (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-bad/
+
+--------------------------------------------
+
+Package: gst-fsl-plugins-4.0.3.tar.gz
+
+Outgoing License: LGPLv2.1+
+
+License Files: COPYING (GPLv2)
+ COPYING-LGPL-2
+ COPYING-LGPL-2.1
+
+Package Category: Multimedia
+
+Type of content: Source code
+
+Description and comments: Freescale Gstreamer 0.1 plugins
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ Gstreamer plugins-Base (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-base/
+ Gstreamer plugins-Good (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-good/
+ Gstreamer plugins-Bad (LGPLv2.1+) - http://gstreamer.freedesktop.org/src/gst-plugins-bad/
+ mingw-runtime tchar.h (public domain) - http://www.mingw.org/
+
+--------------------------------------------
+
+Package: libfslcodec-4.0.3.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: Multimedia
+
+Type of content: Binaries and header files
+
+Description and comments: Freescale multimedia codec libraries
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+
+--------------------------------------------
+
+Package: libfslparser-4.0.3.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: Multimedia
+
+Type of content: Binaries and header files
+
+Description and comments: Freescale multimedia parser libraries
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+
+--------------------------------------------
+
+Package: libfslvpuwrap-1.0.58.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: Multimedia
+
+Type of content: Source code
+
+Description and comments: Freescale VPU wrapper library
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+ sqlite (Public Domain) - http://www.hwaci.com/sw/sqlite/index.html
+
+--------------------------------------------
+
+Package: fslqtapplications-1.0.1.bin
+
+Outgoing License: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+License Files: COPYING: LA_OPT_FSL_OPEN_3RD_PARTY_IP v6 February 2015
+
+Package Category: Multimedia
+
+Type of content: Binaries
+
+Description and comments: i.MX QT multimedia player application
+
+Release Location: Freescale mirror
+
+Origin: Freescale
+
+--------------------------------------------
diff --git a/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium-imx.inc b/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium-imx.inc
new file mode 100644
index 00000000..f63807d5
--- /dev/null
+++ b/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium-imx.inc
@@ -0,0 +1,49 @@
+DEPENDS_append_mx6q = " libfslvpuwrap"
+DEPENDS_append_mx6dl = " libfslvpuwrap"
+
+# Additional imx code and patches are included in the chromium-imx git repository.
+# The code below fetches this repository, copies the extra source over to the main
+# chromium source directory, and applies the patches.
+
+CHROMIUM_IMX_BRANCH ?= "master"
+CHROMIUM_IMX_SRCREV ?= "HEAD"
+CHROMIUM_IMX_DESTSUFFIX ?= "chromium-imx-git"
+
+PATCH_BASE_DIR = "${WORKDIR}/${CHROMIUM_IMX_DESTSUFFIX}/patches"
+
+CHROMIUM_IMX_COMMON_PATCHES ?= " "
+CHROMIUM_IMX_VPU_PATCHES ?= " "
+CHROMIUM_IMX_WAYLAND_PATCHES ?= " "
+
+SRC_URI += "git://github.com/Freescale/chromium-imx.git;destsuffix=${CHROMIUM_IMX_DESTSUFFIX};branch=${CHROMIUM_IMX_BRANCH};rev=${CHROMIUM_IMX_SRCREV}"
+
+do_unpack[postfuncs] += "copy_chromium_imx_files"
+# using =+ instead of += to make sure add_chromium_imx_patches is
+# executed before add_ozone_wayland_patches in the main recipe;
+# this is necessary because add_chromium_imx_patches appends
+# patches to the OZONE_WAYLAND_EXTRA_PATCHES variable
+do_patch[prefuncs] =+ "add_chromium_imx_patches"
+
+# * Lost context problems are not known to happen with Vivante GPUs,
+# so it is safe to use ignore-lost-context
+# * EGL is on by default due to the GPU on the i.MX6
+PACKAGECONFIG_append = " use-egl ignore-lost-context"
+
+copy_chromium_imx_files() {
+ # sources in src/ are already organized in a manner
+ # that matches the subdirectories in the chromium
+ # source directory; just copy over the files in src/
+ cp -r ${WORKDIR}/chromium-imx-git/src/* ${S}/
+}
+
+python add_chromium_imx_patches() {
+ d.appendVar('SRC_URI', ' ' + d.getVar('CHROMIUM_IMX_COMMON_PATCHES', 1))
+ d.appendVar('SRC_URI', ' ' + d.getVar('CHROMIUM_IMX_VPU_PATCHES', 1))
+ d.appendVar('OZONE_WAYLAND_EXTRA_PATCHES', ' ' + d.getVar('CHROMIUM_IMX_WAYLAND_PATCHES', 1))
+}
+
+# Necessary flags to enable support for h.264 and MP4 in Chromium
+# (Parsing is done by ffmpeg)
+EXTRA_OEGYP += "-Dproprietary_codecs=1 -Dffmpeg_branding=Chrome"
+
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium_40.0.2214.91.bbappend b/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium_40.0.2214.91.bbappend
new file mode 100644
index 00000000..d9c5d154
--- /dev/null
+++ b/meta-fsl-arm/browser-layer/recipes-browser/chromium/chromium_40.0.2214.91.bbappend
@@ -0,0 +1,12 @@
+include chromium-imx.inc
+
+CHROMIUM_IMX_BRANCH = "chromium-40"
+CHROMIUM_IMX_SRCREV = "af13a3dbdfdb4b162a9f9692761216e5d6204e57"
+CHROMIUM_IMX_COMMON_PATCHES += "file://${PATCH_BASE_DIR}/common/0001-Enable-share-group-workaround-for-Vivante-GPUs.patch"
+
+VPU_PATCHES = "file://${PATCH_BASE_DIR}/common/0002-Add-VPU-video-decode-accelerator-to-Chromium-GPU-.patch"
+
+CHROMIUM_IMX_VPU_PATCHES_mx6q += "${VPU_PATCHES}"
+CHROMIUM_IMX_VPU_PATCHES_mx6dl += "${VPU_PATCHES}"
+
+CHROMIUM_IMX_WAYLAND_PATCHES += "file://${PATCH_BASE_DIR}/wayland/0001-Modify-eglwayland-versions-for-Vivante-GPUs.patch"
diff --git a/meta-fsl-arm/classes/fsl-dynamic-packagearch.bbclass b/meta-fsl-arm/classes/fsl-dynamic-packagearch.bbclass
new file mode 100644
index 00000000..fa542fce
--- /dev/null
+++ b/meta-fsl-arm/classes/fsl-dynamic-packagearch.bbclass
@@ -0,0 +1,65 @@
+# Automatically set PACKAGE_ARCH for MACHINE_SOCARCH
+#
+# This allow to easy reuse of binary packages among similar SoCs. The
+# usual use for this is to share SoC specific packages among different
+# boards.
+#
+# MACHINE_SOCARCH_FILTER list all packages associated with
+# MACHINE_SOCARCH and, when match, will set PACKAGE_ARCH as MACHINE_SOCARCH
+#
+# MACHINE_ARCH_FILTER list all packages associated with
+# MACHINE_ARCH and, when match, will set PACKAGE_ARCH as MACHINE_ARCH
+#
+# For example, in meta-fsl-arm, this is used to share GPU packages for
+# i.MX53 boards (as all them share the AMD GPU) and i.MX6 based boards
+# (as all them share Vivante GPU).
+#
+# To use the class, specify, for example:
+#
+# MACHINE_SOCARCH_SUFFIX_soc = "-soc"
+#
+# and the need filters, as:
+#
+# MACHINE_ARCH_FILTER = "virtual/kernel"
+# MACHINE_SOCARCH_FILTER_soc = "virtual/libgles1 ... virtual/libgl"
+#
+# Copyright 2013-2015 (C) O.S. Systems Software LTDA.
+
+python __anonymous () {
+ machine_arch_filter = set((d.getVar("MACHINE_ARCH_FILTER", True) or "").split())
+ machine_socarch_filter = set((d.getVar("MACHINE_SOCARCH_FILTER", True) or "").split())
+ if machine_socarch_filter or machine_arch_filter:
+ provides = set((d.getVar("PROVIDES", True) or "").split())
+ depends = set((d.getVar("DEPENDS", True) or "").split())
+ PN = d.getVar("PN", True)
+
+ package_arch = None
+ if list(machine_arch_filter & (provides | depends)):
+ package_arch = d.getVar("MACHINE_ARCH", True)
+ elif list(machine_socarch_filter & (provides | depends)):
+ package_arch = d.getVar("MACHINE_SOCARCH", True)
+ if not package_arch:
+ raise bb.parse.SkipPackage("You must set MACHINE_SOCARCH as MACHINE_SOCARCH_FILTER is set for this SoC.")
+
+ machine_socarch_suffix = d.getVar("MACHINE_SOCARCH_SUFFIX", True)
+ if not machine_socarch_suffix:
+ raise bb.parse.SkipPackage("You must set MACHINE_SOCARCH_SUFFIX as MACHINE_SOCARCH_FILTER is set for this SoC.")
+
+ if package_arch:
+ bb.debug(1, "Use '%s' as package archictecture for '%s'" % (package_arch, PN))
+ d.setVar("PACKAGE_ARCH", package_arch)
+
+ cur_package_archs = (d.getVar("PACKAGE_ARCHS", True) or "").split()
+ arch_extra_socarch = (d.getVar("ARM_EXTRA_SOCARCH", True) or "")
+ thumb_extra_socarch = (d.getVar("THUMB_EXTRA_SOCARCH", True) or "")
+ if not arch_extra_socarch in cur_package_archs:
+ d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % arch_extra_socarch)
+
+ if not thumb_extra_socarch in cur_package_archs:
+ d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % thumb_extra_socarch)
+}
+
+ARM_EXTRA_SOCARCH = "${ARMPKGARCH}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}"
+THUMB_EXTRA_SOCARCH = "${ARMPKGARCH}${ARM_THUMB_SUFFIX}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${MACHINE_SOCARCH_SUFFIX}"
+
+MACHINE_SOCARCH = "${@bb.utils.contains('ARM_INSTRUCTION_SET', 'thumb', '${THUMB_EXTRA_SOCARCH}', '${ARM_EXTRA_SOCARCH}', d)}"
diff --git a/meta-fsl-arm/classes/fsl-eula-unpack.bbclass b/meta-fsl-arm/classes/fsl-eula-unpack.bbclass
new file mode 100644
index 00000000..a9f16ef0
--- /dev/null
+++ b/meta-fsl-arm/classes/fsl-eula-unpack.bbclass
@@ -0,0 +1,67 @@
+# fsl-eula-unpack.bbclass provides the mechanism used for unpacking
+# the .bin file downloaded by HTTP and handle the EULA acceptance.
+#
+# To use it, the 'fsl-eula' parameter needs to be added to the
+# SRC_URI entry, e.g:
+#
+# SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV};fsl-eula=true"
+
+LIC_FILES_CHKSUM_append = " file://${FSL_EULA_FILE};md5=acdb807ac7275fe32f9f64992e111241"
+LIC_FILES_CHKSUM[vardepsexclude] += "FSL_EULA_FILE"
+
+python fsl_bin_do_unpack() {
+ src_uri = (d.getVar('SRC_URI', True) or "").split()
+ if len(src_uri) == 0:
+ return
+
+ localdata = bb.data.createCopy(d)
+ bb.data.update_data(localdata)
+
+ rootdir = localdata.getVar('WORKDIR', True)
+ fetcher = bb.fetch2.Fetch(src_uri, localdata)
+
+ for url in fetcher.ud.values():
+ save_cwd = os.getcwd()
+ # Check for supported fetchers
+ if url.type in ['http', 'https', 'ftp', 'file']:
+ if url.parm.get('fsl-eula', False):
+ # If download has failed, do nothing
+ if not os.path.exists(url.localpath):
+ bb.debug(1, "Exiting as '%s' cannot be found" % url.basename)
+ return
+
+ # Change to the working directory
+ bb.note("Handling file '%s' as a Freescale's EULA binary." % url.basename)
+ save_cwd = os.getcwd()
+ os.chdir(rootdir)
+
+ cmd = "sh %s --auto-accept --force" % (url.localpath)
+ bb.fetch2.runfetchcmd(cmd, d, quiet=True)
+
+ # Return to the previous directory
+ os.chdir(save_cwd)
+}
+
+python do_unpack() {
+ eula = d.getVar('ACCEPT_FSL_EULA', True)
+ eula_file = d.getVar('FSL_EULA_FILE', True)
+ pkg = d.getVar('PN', True)
+ if eula == None:
+ bb.fatal("To use '%s' you need to accept the Freescale EULA at '%s'. "
+ "Please read it and in case you accept it, write: "
+ "ACCEPT_FSL_EULA = \"1\" in your local.conf." % (pkg, eula_file))
+ elif eula == '0':
+ bb.fatal("To use '%s' you need to accept the Freescale EULA." % pkg)
+ else:
+ bb.note("Freescale EULA has been accepted for '%s'" % pkg)
+
+ # The binary unpack needs to be done first so 'S' is valid
+ bb.build.exec_func('fsl_bin_do_unpack', d)
+
+ try:
+ bb.build.exec_func('base_do_unpack', d)
+ except:
+ raise
+}
+
+do_unpack[vardepsexclude] += "FSL_EULA_FILE"
diff --git a/meta-fsl-arm/classes/fsl-kernel-localversion.bbclass b/meta-fsl-arm/classes/fsl-kernel-localversion.bbclass
new file mode 100644
index 00000000..1004e355
--- /dev/null
+++ b/meta-fsl-arm/classes/fsl-kernel-localversion.bbclass
@@ -0,0 +1,39 @@
+# Freescale Kernel LOCALVERSION extension
+#
+# This allow to easy reuse of code between different kernel recipes
+#
+# The following options are supported:
+#
+# SCMVERSION Puts the Git hash in kernel local version
+# LOCALVERSION Value used in LOCALVERSION (default to '+fslc')
+#
+# Copyright 2014, 2015 (C) O.S. Systems Software LTDA.
+
+SCMVERSION ??= "y"
+LOCALVERSION ??= "+fslc"
+
+kernel_conf_variable() {
+ CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
+ if test "$2" = "n"
+ then
+ echo "# CONFIG_$1 is not set" >> ${B}/.config
+ else
+ echo "CONFIG_$1=$2" >> ${B}/.config
+ fi
+}
+
+do_configure_prepend() {
+ echo "" > ${B}/.config
+ CONF_SED_SCRIPT=""
+
+ kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
+ kernel_conf_variable LOCALVERSION_AUTO y
+
+ sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config'
+
+ if [ "${SCMVERSION}" = "y" ]; then
+ # Add GIT revision to the local version
+ head=`git --git-dir=${S}/.git rev-parse --verify --short HEAD 2> /dev/null`
+ printf "%s%s" +g $head > ${S}/.scmversion
+ fi
+}
diff --git a/meta-fsl-arm/classes/fsl-u-boot-localversion.bbclass b/meta-fsl-arm/classes/fsl-u-boot-localversion.bbclass
new file mode 100644
index 00000000..f7e09714
--- /dev/null
+++ b/meta-fsl-arm/classes/fsl-u-boot-localversion.bbclass
@@ -0,0 +1,27 @@
+# Freescale U-Boot LOCALVERSION extension
+#
+# This allow to easy reuse of code between different U-Boot recipes
+#
+# The following options are supported:
+#
+# SCMVERSION Puts the Git hash in U-Boot local version
+# LOCALVERSION Value used in LOCALVERSION (default to '+fslc')
+#
+# Copyright 2014 (C) O.S. Systems Software LTDA.
+
+SCMVERSION ??= "y"
+LOCALVERSION ??= "+fslc"
+
+UBOOT_LOCALVERSION = "${LOCALVERSION}"
+
+do_compile_prepend() {
+ if [ "${SCMVERSION}" = "y" ]; then
+ # Add GIT revision to the local version
+ head=`git rev-parse --verify --short HEAD 2> /dev/null`
+ printf "%s%s%s" "${UBOOT_LOCALVERSION}" +g $head > ${S}/.scmversion
+ printf "%s%s%s" "${UBOOT_LOCALVERSION}" +g $head > ${B}/.scmversion
+ else
+ printf "%s" "${UBOOT_LOCALVERSION}" > ${S}/.scmversion
+ printf "%s" "${UBOOT_LOCALVERSION}" > ${B}/.scmversion
+ fi
+}
diff --git a/meta-fsl-arm/classes/image_types_fsl.bbclass b/meta-fsl-arm/classes/image_types_fsl.bbclass
new file mode 100644
index 00000000..b542549d
--- /dev/null
+++ b/meta-fsl-arm/classes/image_types_fsl.bbclass
@@ -0,0 +1,320 @@
+inherit image_types
+
+IMAGE_BOOTLOADER ?= "u-boot"
+
+# Handle u-boot suffixes
+UBOOT_SUFFIX ?= "bin"
+UBOOT_SUFFIX_SDCARD ?= "${UBOOT_SUFFIX}"
+
+#
+# Handles i.MX mxs bootstream generation
+#
+MXSBOOT_NAND_ARGS ?= ""
+
+# IMX Bootlets Linux bootstream
+IMAGE_DEPENDS_linux.sb = "elftosb-native:do_populate_sysroot \
+ imx-bootlets:do_deploy \
+ virtual/kernel:do_deploy"
+IMAGE_LINK_NAME_linux.sb = ""
+IMAGE_CMD_linux.sb () {
+ kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
+ kernel_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.dtb || true`"
+ linux_bd_file=imx-bootlets-linux.bd-${MACHINE}
+ if [ `basename $kernel_bin .bin` = `basename $kernel_dtb .dtb` ]; then
+ # When using device tree we build a zImage with the dtb
+ # appended on the end of the image
+ linux_bd_file=imx-bootlets-linux.bd-dtb-${MACHINE}
+ cat $kernel_bin $kernel_dtb \
+ > $kernel_bin-dtb
+ rm -f ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin-dtb
+ ln -s $kernel_bin-dtb ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin-dtb
+ fi
+
+ # Ensure the file is generated
+ rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.linux.sb
+ (cd ${DEPLOY_DIR_IMAGE}; elftosb -z -c $linux_bd_file -o ${IMAGE_NAME}.linux.sb)
+
+ # Remove the appended file as it is only used here
+ rm -f ${DEPLOY_DIR_IMAGE}/$kernel_bin-dtb
+}
+
+# IMX Bootlets barebox bootstream
+IMAGE_DEPENDS_barebox.mxsboot-sdcard = "elftosb-native:do_populate_sysroot \
+ u-boot-mxsboot-native:do_populate_sysroot \
+ imx-bootlets:do_deploy \
+ barebox:do_deploy"
+IMAGE_CMD_barebox.mxsboot-sdcard () {
+ barebox_bd_file=imx-bootlets-barebox_ivt.bd-${MACHINE}
+
+ # Ensure the files are generated
+ (cd ${DEPLOY_DIR_IMAGE}; rm -f ${IMAGE_NAME}.barebox.sb ${IMAGE_NAME}.barebox.mxsboot-sdcard; \
+ elftosb -f mx28 -z -c $barebox_bd_file -o ${IMAGE_NAME}.barebox.sb; \
+ mxsboot sd ${IMAGE_NAME}.barebox.sb ${IMAGE_NAME}.barebox.mxsboot-sdcard)
+}
+
+# U-Boot mxsboot generation to SD-Card
+UBOOT_SUFFIX_SDCARD_mxs ?= "mxsboot-sdcard"
+IMAGE_DEPENDS_uboot.mxsboot-sdcard = "u-boot-mxsboot-native:do_populate_sysroot \
+ u-boot:do_deploy"
+IMAGE_CMD_uboot.mxsboot-sdcard = "mxsboot sd ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX} \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot.mxsboot-sdcard"
+
+IMAGE_DEPENDS_uboot.mxsboot-nand = "u-boot-mxsboot-native:do_populate_sysroot \
+ u-boot:do_deploy"
+IMAGE_CMD_uboot.mxsboot-nand = "mxsboot ${MXSBOOT_NAND_ARGS} nand \
+ ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX} \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot.mxsboot-nand"
+
+# Boot partition volume id
+BOOTDD_VOLUME_ID ?= "Boot ${MACHINE}"
+
+# Boot partition size [in KiB]
+BOOT_SPACE ?= "8192"
+
+# Barebox environment size [in KiB]
+BAREBOX_ENV_SPACE ?= "512"
+
+# Set alignment to 4MB [in KiB]
+IMAGE_ROOTFS_ALIGNMENT = "4096"
+
+IMAGE_DEPENDS_sdcard = "parted-native:do_populate_sysroot \
+ dosfstools-native:do_populate_sysroot \
+ mtools-native:do_populate_sysroot \
+ virtual/kernel:do_deploy \
+ ${@d.getVar('IMAGE_BOOTLOADER', True) and d.getVar('IMAGE_BOOTLOADER', True) + ':do_deploy' or ''}"
+
+SDCARD = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sdcard"
+
+SDCARD_GENERATION_COMMAND_mxs = "generate_mxs_sdcard"
+SDCARD_GENERATION_COMMAND_mx25 = "generate_imx_sdcard"
+SDCARD_GENERATION_COMMAND_mx5 = "generate_imx_sdcard"
+SDCARD_GENERATION_COMMAND_mx6 = "generate_imx_sdcard"
+SDCARD_GENERATION_COMMAND_vf = "generate_imx_sdcard"
+
+#
+# Create an image that can by written onto a SD card using dd for use
+# with i.MX SoC family
+#
+# External variables needed:
+# ${SDCARD_ROOTFS} - the rootfs image to incorporate
+# ${IMAGE_BOOTLOADER} - bootloader to use {u-boot, barebox}
+#
+# The disk layout used is:
+#
+# 0 -> IMAGE_ROOTFS_ALIGNMENT - reserved to bootloader (not partitioned)
+# IMAGE_ROOTFS_ALIGNMENT -> BOOT_SPACE - kernel and other data
+# BOOT_SPACE -> SDIMG_SIZE - rootfs
+#
+# Default Free space = 1.3x
+# Use IMAGE_OVERHEAD_FACTOR to add more space
+# <--------->
+# 4MiB 8MiB SDIMG_ROOTFS 4MiB
+# <-----------------------> <----------> <----------------------> <------------------------------>
+# ------------------------ ------------ ------------------------ -------------------------------
+# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE | IMAGE_ROOTFS_ALIGNMENT |
+# ------------------------ ------------ ------------------------ -------------------------------
+# ^ ^ ^ ^ ^
+# | | | | |
+# 0 4096 4MiB + 8MiB 4MiB + 8Mib + SDIMG_ROOTFS 4MiB + 8MiB + SDIMG_ROOTFS + 4MiB
+generate_imx_sdcard () {
+ # Create partition table
+ parted -s ${SDCARD} mklabel msdos
+ parted -s ${SDCARD} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
+ parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
+ parted ${SDCARD} print
+
+ # Burn bootloader
+ case "${IMAGE_BOOTLOADER}" in
+ imx-bootlets)
+ bberror "The imx-bootlets is not supported for i.MX based machines"
+ exit 1
+ ;;
+ u-boot)
+ if [ -n "${SPL_BINARY}" ]; then
+ dd if=${DEPLOY_DIR_IMAGE}/${SPL_BINARY} of=${SDCARD} conv=notrunc seek=2 bs=512
+ dd if=${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX_SDCARD} of=${SDCARD} conv=notrunc seek=69 bs=1K
+ else
+ dd if=${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX_SDCARD} of=${SDCARD} conv=notrunc seek=2 bs=512
+ fi
+ ;;
+ barebox)
+ dd if=${DEPLOY_DIR_IMAGE}/barebox-${MACHINE}.bin of=${SDCARD} conv=notrunc seek=1 skip=1 bs=512
+ dd if=${DEPLOY_DIR_IMAGE}/bareboxenv-${MACHINE}.bin of=${SDCARD} conv=notrunc seek=1 bs=512k
+ ;;
+ "")
+ ;;
+ *)
+ bberror "Unknown IMAGE_BOOTLOADER value"
+ exit 1
+ ;;
+ esac
+
+ # Create boot partition image
+ BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDCARD} unit b print \
+ | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 1024 }')
+ rm -f ${WORKDIR}/boot.img
+ mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
+ mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::/${KERNEL_IMAGETYPE}
+
+ # Copy boot scripts
+ for item in ${BOOT_SCRIPTS}; do
+ src=`echo $item | awk -F':' '{ print $1 }'`
+ dst=`echo $item | awk -F':' '{ print $2 }'`
+
+ mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$src ::/$dst
+ done
+
+ # Copy device tree file
+ if test -n "${KERNEL_DEVICETREE}"; then
+ for DTS_FILE in ${KERNEL_DEVICETREE}; do
+ DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
+ if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
+ kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
+ kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
+ if [ $kernel_bin = $kernel_bin_for_dtb ]; then
+ mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
+ fi
+ fi
+ done
+ fi
+
+ # Burn Partition
+ dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc,fsync seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
+ dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc,fsync seek=1 bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
+}
+
+#
+# Create an image that can by written onto a SD card using dd for use
+# with i.MXS SoC family
+#
+# External variables needed:
+# ${SDCARD_ROOTFS} - the rootfs image to incorporate
+# ${IMAGE_BOOTLOADER} - bootloader to use {imx-bootlets, u-boot}
+#
+generate_mxs_sdcard () {
+ # Create partition table
+ parted -s ${SDCARD} mklabel msdos
+
+ case "${IMAGE_BOOTLOADER}" in
+ imx-bootlets)
+ # The disk layout used is:
+ #
+ # 0 -> 1024 - Unused (not partitioned)
+ # 1024 -> BOOT_SPACE - kernel and other data (bootstream)
+ # BOOT_SPACE -> SDIMG_SIZE - rootfs
+ #
+ # Default Free space = 1.3x
+ # Use IMAGE_OVERHEAD_FACTOR to add more space
+ # <--------->
+ # 1024 8MiB SDIMG_ROOTFS 4MiB
+ # <-------> <----------> <----------------------> <------------------------------>
+ # --------------------- ------------------------ -------------------------------
+ # | Unused | BOOT_SPACE | ROOTFS_SIZE | IMAGE_ROOTFS_ALIGNMENT |
+ # --------------------- ------------------------ -------------------------------
+ # ^ ^ ^ ^ ^
+ # | | | | |
+ # 0 1024 1024 + 8MiB 1024 + 8Mib + SDIMG_ROOTFS 1024 + 8MiB + SDIMG_ROOTFS + 4MiB
+ parted -s ${SDCARD} unit KiB mkpart primary 1024 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
+ parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
+
+ # Empty 4 blocks from boot partition
+ dd if=/dev/zero of=${SDCARD} conv=notrunc seek=2048 count=4
+
+ # Write the bootstream in (2048 + 4) blocks
+ dd if=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.linux.sb of=${SDCARD} conv=notrunc seek=2052
+ ;;
+ u-boot)
+ # The disk layout used is:
+ #
+ # 1M - 2M - reserved to bootloader and other data
+ # 2M - BOOT_SPACE - kernel
+ # BOOT_SPACE - SDCARD_SIZE - rootfs
+ #
+ # The disk layout used is:
+ #
+ # 1M -> 2M - reserved to bootloader and other data
+ # 2M -> BOOT_SPACE - kernel and other data
+ # BOOT_SPACE -> SDIMG_SIZE - rootfs
+ #
+ # Default Free space = 1.3x
+ # Use IMAGE_OVERHEAD_FACTOR to add more space
+ # <--------->
+ # 4MiB 8MiB SDIMG_ROOTFS 4MiB
+ # <-----------------------> <-------------> <----------------------> <------------------------------>
+ # ---------------------------------------- ------------------------ -------------------------------
+ # | | | |ROOTFS_SIZE | IMAGE_ROOTFS_ALIGNMENT |
+ # ---------------------------------------- ------------------------ -------------------------------
+ # ^ ^ ^ ^ ^ ^ ^
+ # | | | | | | |
+ # 0 1M 2M 4M 4MiB + BOOTSPACE 4MiB + BOOTSPACE + SDIMG_ROOTFS 4MiB + BOOTSPACE + SDIMG_ROOTFS + 4MiB
+ #
+ parted -s ${SDCARD} unit KiB mkpart primary 1024 2048
+ parted -s ${SDCARD} unit KiB mkpart primary 2048 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
+ parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
+
+ dd if=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot.mxsboot-sdcard of=${SDCARD} conv=notrunc seek=1 bs=$(expr 1024 \* 1024)
+ BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDCARD} unit b print \
+ | awk '/ 2 / { print substr($4, 1, length($4 -1)) / 1024 }')
+
+ rm -f ${WORKDIR}/boot.img
+ mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
+ mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::/${KERNEL_IMAGETYPE}
+ if test -n "${KERNEL_DEVICETREE}"; then
+ for DTS_FILE in ${KERNEL_DEVICETREE}; do
+ DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
+ if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
+ kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
+ kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
+ if [ $kernel_bin = $kernel_bin_for_dtb ]; then
+ mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
+ fi
+ fi
+ done
+ fi
+
+ dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=2 bs=$(expr 1024 \* 1024)
+ ;;
+ barebox)
+ # BAREBOX_ENV_SPACE is taken on BOOT_SPACE_ALIGNED but it doesn't really matter as long as the rootfs is aligned
+ parted -s ${SDCARD} unit KiB mkpart primary 1024 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} - ${BAREBOX_ENV_SPACE})
+ parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} - ${BAREBOX_ENV_SPACE}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
+ parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
+
+ dd if=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.barebox.mxsboot-sdcard of=${SDCARD} conv=notrunc seek=1 bs=$(expr 1024 \* 1024)
+ dd if=${DEPLOY_DIR_IMAGE}/bareboxenv-${MACHINE}.bin of=${SDCARD} conv=notrunc seek=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} - ${BAREBOX_ENV_SPACE}) bs=1024
+ ;;
+ *)
+ bberror "Unknown IMAGE_BOOTLOADER value"
+ exit 1
+ ;;
+ esac
+
+ # Change partition type for mxs processor family
+ bbnote "Setting partition type to 0x53 as required for mxs' SoC family."
+ echo -n S | dd of=${SDCARD} bs=1 count=1 seek=450 conv=notrunc
+
+ parted ${SDCARD} print
+
+ dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc,fsync seek=1 bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
+}
+
+IMAGE_CMD_sdcard () {
+ if [ -z "${SDCARD_ROOTFS}" ]; then
+ bberror "SDCARD_ROOTFS is undefined. To use sdcard image from Freescale's BSP it needs to be defined."
+ exit 1
+ fi
+
+ # Align boot partition and calculate total SD card image size
+ BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
+ BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
+ SDCARD_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
+
+ # Initialize a sparse file
+ dd if=/dev/zero of=${SDCARD} bs=1 count=0 seek=$(expr 1024 \* ${SDCARD_SIZE})
+
+ ${SDCARD_GENERATION_COMMAND}
+}
+
+# The sdcard requires the rootfs filesystem to be built before using
+# it so we must make this dependency explicit.
+IMAGE_TYPEDEP_sdcard = "${@d.getVar('SDCARD_ROOTFS', 1).split('.')[-1]}"
diff --git a/meta-fsl-arm/classes/mfgtool-initramfs-image.bbclass b/meta-fsl-arm/classes/mfgtool-initramfs-image.bbclass
new file mode 100644
index 00000000..a9a2adf1
--- /dev/null
+++ b/meta-fsl-arm/classes/mfgtool-initramfs-image.bbclass
@@ -0,0 +1,40 @@
+# Generates a Manufacturing Tool Initramfs image
+#
+# This generates the initramfs used for the installation process. The
+# image provides the utilities which are used, in the target, during
+# the process and receive the commands from the MfgTool application.
+#
+# Copyright 2014 (C) O.S. Systems Software LTDA.
+
+DEPENDS += "u-boot-mfgtool linux-mfgtool"
+
+FEATURE_PACKAGES_mtd = "packagegroup-fsl-mfgtool-mtd"
+FEATURE_PACKAGES_extfs = "packagegroup-fsl-mfgtool-extfs"
+
+IMAGE_FSTYPES = "cpio.gz.u-boot"
+IMAGE_ROOTFS_SIZE ?= "8192"
+IMAGE_CLASSES = "image_types_uboot"
+
+# Filesystems enabled by default
+DEFAULT_FS_SUPPORT = " \
+ mtd \
+ extfs \
+"
+
+IMAGE_FEATURES = " \
+ ${DEFAULT_FS_SUPPORT} \
+ \
+ read-only-rootfs \
+"
+
+# Avoid installation of syslog
+BAD_RECOMMENDATIONS += "busybox-syslog"
+
+# Avoid static /dev
+USE_DEVFS = "1"
+
+inherit core-image
+
+CORE_IMAGE_BASE_INSTALL = " \
+ ${CORE_IMAGE_EXTRA_INSTALL} \
+"
diff --git a/meta-fsl-arm/conf/layer.conf b/meta-fsl-arm/conf/layer.conf
new file mode 100644
index 00000000..81d29f59
--- /dev/null
+++ b/meta-fsl-arm/conf/layer.conf
@@ -0,0 +1,26 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have a packages directory, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "fsl-arm"
+BBFILE_PATTERN_fsl-arm := "^${LAYERDIR}/"
+BBFILE_PRIORITY_fsl-arm = "5"
+
+FSL_EULA_FILE = "${LAYERDIR}/EULA"
+
+FSL_MIRROR ?= "http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/"
+
+MIRRORS += " \
+${FSL_MIRROR} http://download.ossystems.com.br/bsp/freescale/source/ \n \
+"
+
+# Let us add layer-specific bbappends which are only applied when that
+# layer is included in our configuration
+BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
+# Add layer-specific bb files too
+BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bb' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
diff --git a/meta-fsl-arm/conf/machine/imx23evk.conf b/meta-fsl-arm/conf/machine/imx23evk.conf
new file mode 100644
index 00000000..ecaef9a6
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx23evk.conf
@@ -0,0 +1,19 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX23 Evaluation Kit
+#@SOC: i.MX23
+#@DESCRIPTION: Machine configuration for Freescale i.MX23 Evaluation Kit
+#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
+
+include conf/machine/include/mxs-base.inc
+
+SOC_FAMILY = "mxs:mx23"
+
+IMXBOOTLETS_MACHINE = "stmp378x_dev"
+UBOOT_MACHINE = "mx23evk_config"
+
+KERNEL_DEVICETREE = "imx23-evk.dtb"
+
+SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
+IMAGE_FSTYPES ?= "tar.bz2 ext3 uboot.mxsboot-sdcard sdcard"
+
+MACHINE_FEATURES = "apm usbgadget usbhost vfat touchscreen"
diff --git a/meta-fsl-arm/conf/machine/imx28evk.conf b/meta-fsl-arm/conf/machine/imx28evk.conf
new file mode 100644
index 00000000..672e4587
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx28evk.conf
@@ -0,0 +1,57 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX28 Evaluation Kit
+#@SOC: i.MX28
+#@DESCRIPTION: Machine configuration for Freescale i.MX28 Evaluation Kit
+#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
+
+include conf/machine/include/mxs-base.inc
+
+SOC_FAMILY = "mxs:mx28"
+
+# Disable perf features as 2.6.35.3 fails to build otherwise
+PERF_FEATURES_ENABLE = ""
+
+IMXBOOTLETS_MACHINE = "iMX28_EVK"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "mx28evk_config,sdcard"
+UBOOT_CONFIG[nand] = "mx28evk_nand_config,ubifs"
+UBOOT_CONFIG[sd-auart-console] = "mx28evk_auart_console_config,sdcard"
+
+KERNEL_DEVICETREE = "imx28-evk.dtb"
+
+SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
+IMAGE_FSTYPES ?= "tar.bz2 ext3 uboot.mxsboot-sdcard sdcard"
+
+SERIAL_CONSOLE = "115200 ttyAMA0"
+
+MACHINE_FEATURES = "apm usbgadget usbhost vfat alsa touchscreen"
+
+## Parameters for NAND IC part-# K9LBG08U0D-PCB0
+
+MKUBIFS_ARGS = "--min-io-size 4096 --leb-size 516096 --max-leb-cnt 8139"
+UBINIZE_ARGS = "--min-io-size 4096 --peb-size 524288 --sub-page-size 4096"
+MXSBOOT_NAND_ARGS = "-w 4096 -o 218 -e 524288"
+
+## To determine parameters' values, run "ubiattach -m 6 /dev/ubi_ctrl"
+## (assuming the rootfs device is /dev/mtd6). Here's an example:
+
+# # ubiattach -m 6 /dev/ubi_ctrl
+# [ 28.640396] UBI: attaching mtd6 to ubi0
+# [ 53.000817] UBI: scanning is finished
+# [ 53.126052] UBI: attached mtd6 (name "filesystem", size 4079 MiB) to ubi0
+# [ 53.133109] UBI: PEB size: 524288 bytes (512 KiB), LEB size: 516096 bytes
+# [ 53.140149] UBI: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
+# [ 53.146895] UBI: VID header offset: 4096 (aligned 4096), data offset: 8192
+# [ 53.153931] UBI: good PEBs: 8139, bad PEBs: 20, corrupted PEBs: 0
+# [ 53.160263] UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
+# [ 53.167444] UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
+# [ 53.175872] UBI: available PEBs: 4113, total reserved PEBs: 4026, PEBs reserved for bad PEB handling: 140
+# [ 53.189399] UBI: background thread "ubi_bgt0d" started, PID 217
+# UBI device number 0, total 8139 LEBs (4200505344 bytes, f GiB), available 4113 LEBs (2122702848 bytes, f GiB), LEB size 516096 bytes (f KiB)
+
+# --min-io-size: see "min./max. I/O unit sizes: " in the ubiattach output
+# --leb-size: see "LEB size:" in the ubiattach output
+# --max-leb-cnt: see "total <n> LEBs" in the ubiattach output, where <n> is the number you want
+# --peb-size: see "PEB size:" in the ubiattach output (pick the value in bytes)
+# --sub-page-size: see "sub-page size" in the ubiattach output
diff --git a/meta-fsl-arm/conf/machine/imx31pdk.conf b/meta-fsl-arm/conf/machine/imx31pdk.conf
new file mode 100644
index 00000000..cf368eb8
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx31pdk.conf
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX31 Platform Development Kit
+#@SOC: i.MX31
+#@DESCRIPTION: Machine configuration for Freescale i.MX31 Platform Development Kit
+
+include conf/machine/include/imx-base.inc
+require conf/machine/include/tune-arm1136jf-s.inc
+
+SOC_FAMILY = "mx3:mx31"
+
+GUI_MACHINE_CLASS = "smallscreen"
+
+UBOOT_MAKE_TARGET = "u-boot-with-spl.bin"
+UBOOT_SUFFIX = "bin"
+UBOOT_MACHINE = "mx31pdk_config"
+UBOOT_BINARY = "u-boot-with-spl.bin"
+KERNEL_IMAGETYPE = "uImage"
+
+IMAGE_FSTYPES = "ubi jffs2 tar.bz2"
+MKUBIFS_ARGS = "-m 2048 -e 129024 -c 2030"
+UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
+
+MACHINE_FEATURES += "ext3 bluetooth ext2 screen"
+
diff --git a/meta-fsl-arm/conf/machine/imx35pdk.conf b/meta-fsl-arm/conf/machine/imx35pdk.conf
new file mode 100644
index 00000000..a3fc60cb
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx35pdk.conf
@@ -0,0 +1,25 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX35 Platform Development Kit
+#@SOC: i.MX35
+#@DESCRIPTION: Machine configuration for Freescale i.MX35 Platform Development Kit
+
+include conf/machine/include/imx-base.inc
+require conf/machine/include/tune-arm1136jf-s.inc
+
+SOC_FAMILY = "mx3:mx35"
+
+UBOOT_MACHINE = "mx35pdk_config"
+UBOOT_SUFFIX = "bin"
+UBOOT_BINARY = "u-boot.bin"
+UBOOT_MAKE_TARGET = "u-boot.bin"
+KERNEL_IMAGETYPE = "uImage"
+
+GUI_MACHINE_CLASS = "bigscreen"
+
+ROOT_FLASH_SIZE = "256"
+
+JFFS2_ERASEBLOCK = "0x20000"
+
+IMAGE_FSTYPES += "jffs2 tar.bz2"
+
+MACHINE_FEATURES += "ext2 ext3 screen"
diff --git a/meta-fsl-arm/conf/machine/imx51evk.conf b/meta-fsl-arm/conf/machine/imx51evk.conf
new file mode 100644
index 00000000..9d7d06ca
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx51evk.conf
@@ -0,0 +1,17 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX51 Evaluation Kit
+#@SOC: i.MX51
+#@DESCRIPTION: Machine configuration for Freescale i.MX51 Evaluation Kit
+#@MAINTAINER: Daiane Angolini <daiane.angolini@freescale.com>
+
+include conf/machine/include/imx-base.inc
+include conf/machine/include/tune-cortexa8.inc
+
+SOC_FAMILY = "mx5:mx51"
+
+# Disable perf features as 2.6.35.3 fails to build otherwise
+PERF_FEATURES_ENABLE = ""
+
+KERNEL_DEVICETREE = "imx51-babbage.dtb"
+
+UBOOT_MACHINE = "mx51evk_config"
diff --git a/meta-fsl-arm/conf/machine/imx53ard.conf b/meta-fsl-arm/conf/machine/imx53ard.conf
new file mode 100644
index 00000000..c338d6b5
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx53ard.conf
@@ -0,0 +1,22 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX53 SABRE Automotive Board
+#@SOC: i.MX53
+#@DESCRIPTION: Machine configuration for Freescale i.MX53 SABRE Automotive Board
+#@MAINTAINER: Daiane Angolini <daiane.angolini@freescale.com>
+
+include conf/machine/include/imx-base.inc
+include conf/machine/include/tune-cortexa8.inc
+
+SOC_FAMILY = "mx5:mx53"
+
+# Disable perf features as 2.6.35.3 fails to build otherwise
+PERF_FEATURES_ENABLE = ""
+
+KERNEL_DEVICETREE = "imx53-ard.dtb"
+
+UBOOT_MACHINE = "mx53ard_config"
+KERNEL_IMAGETYPE = "uImage"
+
+MACHINE_FIRMWARE += "linux-firmware-ar3k \
+ linux-firmware-ath6k"
+MACHINE_FEATURES += "wifi bluetooth"
diff --git a/meta-fsl-arm/conf/machine/imx53qsb.conf b/meta-fsl-arm/conf/machine/imx53qsb.conf
new file mode 100644
index 00000000..0e7349e8
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx53qsb.conf
@@ -0,0 +1,21 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX53 Quick Start Board
+#@SOC: i.MX53
+#@DESCRIPTION: Machine configuration for Freescale i.MX53 Quick Start Board
+#@MAINTAINER: Trevor Woerner <trevor.woerner@linaro.org>
+
+include conf/machine/include/imx-base.inc
+include conf/machine/include/tune-cortexa8.inc
+
+SOC_FAMILY = "mx5:mx53"
+
+# Disable perf features as 2.6.35.3 fails to build otherwise
+PERF_FEATURES_ENABLE = ""
+
+KERNEL_DEVICETREE = "imx53-qsb.dtb imx53-qsrb.dtb"
+
+UBOOT_MACHINE = "mx53loco_config"
+
+MACHINE_FIRMWARE = "linux-firmware-ar3k \
+ linux-firmware-ath6k"
+MACHINE_FEATURES += " wifi bluetooth"
diff --git a/meta-fsl-arm/conf/machine/imx6dlsabreauto.conf b/meta-fsl-arm/conf/machine/imx6dlsabreauto.conf
new file mode 100644
index 00000000..8c0fe858
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx6dlsabreauto.conf
@@ -0,0 +1,19 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX6DL SABRE Automotive
+#@SOC: i.MX6DL
+#@DESCRIPTION: Machine configuration for Freescale i.MX6DL SABRE Automotive
+#@MAINTAINER: Daiane Angolini <daiane.angolini@freescale.com>
+
+require conf/machine/include/imx6sabreauto-common.inc
+
+SOC_FAMILY = "mx6:mx6dl"
+
+KERNEL_DEVICETREE = "imx6dl-sabreauto.dtb imx6dl-sabreauto-gpmi-weim.dtb imx6dl-sabreauto-ecspi.dtb "
+KERNEL_DEVICETREE += "imx6dl-sabreauto-flexcan1.dtb "
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "mx6dlsabreauto_config,sdcard"
+UBOOT_CONFIG[eimnor] = "mx6dlsabreauto_eimnor_config"
+UBOOT_CONFIG[nand] = "mx6dlsabreauto_nand_config,ubifs"
+UBOOT_CONFIG[spinor] = "mx6dlsabreauto_spinor_config"
+UBOOT_CONFIG[mfgtool] = "mx6dlsabreauto_config"
diff --git a/meta-fsl-arm/conf/machine/imx6dlsabresd.conf b/meta-fsl-arm/conf/machine/imx6dlsabresd.conf
new file mode 100644
index 00000000..da3ee54b
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx6dlsabresd.conf
@@ -0,0 +1,16 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX6DL SABRE Smart Device
+#@SOC: i.MX6DL
+#@DESCRIPTION: Machine configuration for Freescale i.MX6DL SABRE Smart Device
+#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
+
+require conf/machine/include/imx6sabresd-common.inc
+
+SOC_FAMILY = "mx6:mx6dl"
+
+KERNEL_DEVICETREE = "imx6dl-sabresd.dtb imx6dl-sabresd-ldo.dtb imx6dl-sabresd-hdcp.dtb \
+ imx6dl-sabresd-pf200.dtb imx6dl-sabresd-enetirq.dtb"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "mx6dlsabresd_config,sdcard"
+UBOOT_CONFIG[mfgtool] = "mx6dlsabresd_config"
diff --git a/meta-fsl-arm/conf/machine/imx6qsabreauto.conf b/meta-fsl-arm/conf/machine/imx6qsabreauto.conf
new file mode 100644
index 00000000..b8fdce4b
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx6qsabreauto.conf
@@ -0,0 +1,20 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX6Q SABRE Automotive
+#@SOC: i.MX6Q
+#@DESCRIPTION: Machine configuration for Freescale i.MX6Q SABRE Automotive
+#@MAINTAINER: Daiane Angolini <daiane.angolini@freescale.com>
+
+require conf/machine/include/imx6sabreauto-common.inc
+
+SOC_FAMILY = "mx6:mx6q"
+
+KERNEL_DEVICETREE = "imx6q-sabreauto.dtb imx6q-sabreauto-gpmi-weim.dtb imx6q-sabreauto-ecspi.dtb "
+KERNEL_DEVICETREE += "imx6q-sabreauto-flexcan1.dtb "
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "mx6qsabreauto_config,sdcard"
+UBOOT_CONFIG[eimnor] = "mx6qsabreauto_eimnor_config"
+UBOOT_CONFIG[nand] = "mx6qsabreauto_nand_config,ubifs"
+UBOOT_CONFIG[spinor] = "mx6qsabreauto_spinor_config"
+UBOOT_CONFIG[sata] = "mx6qsabreauto_sata_config"
+UBOOT_CONFIG[mfgtool] = "mx6qsabreauto_config"
diff --git a/meta-fsl-arm/conf/machine/imx6qsabresd.conf b/meta-fsl-arm/conf/machine/imx6qsabresd.conf
new file mode 100644
index 00000000..72d1da5d
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx6qsabresd.conf
@@ -0,0 +1,17 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX6Q SABRE Smart Device
+#@SOC: i.MX6Q
+#@DESCRIPTION: Machine configuration for Freescale i.MX6Q SABRE Smart Device
+#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
+
+require conf/machine/include/imx6sabresd-common.inc
+
+SOC_FAMILY = "mx6:mx6q"
+
+KERNEL_DEVICETREE = "imx6q-sabresd.dtb imx6q-sabresd-ldo.dtb imx6q-sabresd-hdcp.dtb \
+ imx6q-sabresd-enetirq.dtb imx6q-sabresd-uart.dtb"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "mx6qsabresd_config,sdcard"
+UBOOT_CONFIG[sata] = "mx6qsabresd_sata_config"
+UBOOT_CONFIG[mfgtool] = "mx6qsabresd_config"
diff --git a/meta-fsl-arm/conf/machine/imx6slevk.conf b/meta-fsl-arm/conf/machine/imx6slevk.conf
new file mode 100644
index 00000000..9ca57353
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx6slevk.conf
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX6SL Evaluation Kit
+#@SOC: i.MX6SL
+#@DESCRIPTION: Machine configuration for Freescale i.MX6SL Evaluation Kit
+#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
+
+include conf/machine/include/imx-base.inc
+include conf/machine/include/tune-cortexa9.inc
+
+SOC_FAMILY = "mx6:mx6sl"
+
+KERNEL_DEVICETREE = "imx6sl-evk.dtb imx6sl-evk-csi.dtb imx6sl-evk-ldo.dtb \
+ imx6sl-evk-pf200.dtb imx6sl-evk-uart.dtb"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "mx6slevk_config,sdcard"
+UBOOT_CONFIG[spinor] = "mx6slevk_spinor_config"
+UBOOT_CONFIG[mfgtool] = "mx6slevk_config"
+
+SERIAL_CONSOLE = "115200 ttymxc0"
+
+MACHINE_FEATURES += " pci wifi bluetooth"
+
+MACHINE_FIRMWARE += "linux-firmware-ath6k"
diff --git a/meta-fsl-arm/conf/machine/imx6solosabreauto.conf b/meta-fsl-arm/conf/machine/imx6solosabreauto.conf
new file mode 100644
index 00000000..ead787d0
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx6solosabreauto.conf
@@ -0,0 +1,21 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX6Solo SABRE Automotive
+#@SOC: i.MX6S
+#@DESCRIPTION: Machine configuration for Freescale i.MX6Solo SABRE Automotive
+
+require conf/machine/include/imx6sabresd-common.inc
+
+SOC_FAMILY = "mx6:mx6dl"
+
+KERNEL_DEVICETREE = "imx6dl-sabreauto.dtb"
+
+PREFERRED_PROVIDER_u-boot = "u-boot-imx"
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
+KERNEL_IMAGETYPE = "zImage"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "mx6solosabreauto_config,sdcard"
+UBOOT_CONFIG[eimnor] = "mx6solosabreauto_eimnor_config"
+UBOOT_CONFIG[nand] = "mx6solosabreauto_nand_config,ubifs"
+UBOOT_CONFIG[spinor] = "mx6solosabreauto_spinor_config"
+UBOOT_CONFIG[mfgtool] = "mx6solosabreauto_config"
diff --git a/meta-fsl-arm/conf/machine/imx6solosabresd.conf b/meta-fsl-arm/conf/machine/imx6solosabresd.conf
new file mode 100644
index 00000000..b123d8ce
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx6solosabresd.conf
@@ -0,0 +1,19 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX6Solo SABRE Smart Device
+#@SOC: i.MX6S
+#@DESCRIPTION: Machine configuration for Freescale i.MX6Solo SABRE Smart Device
+#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
+
+require conf/machine/include/imx6sabresd-common.inc
+
+SOC_FAMILY = "mx6:mx6dl"
+
+KERNEL_DEVICETREE = "imx6dl-sabresd.dtb imx6dl-sabresd-ldo.dtb"
+
+PREFERRED_PROVIDER_u-boot = "u-boot-imx"
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
+KERNEL_IMAGETYPE = "zImage"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "mx6solosabresd_config,sdcard"
+UBOOT_CONFIG[mfgtool] = "mx6solosabresd_config"
diff --git a/meta-fsl-arm/conf/machine/imx6sxsabreauto.conf b/meta-fsl-arm/conf/machine/imx6sxsabreauto.conf
new file mode 100644
index 00000000..2d9ba0d8
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx6sxsabreauto.conf
@@ -0,0 +1,20 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX6SoloX Sabre Automotive
+#@SOC: i.MX6SX
+#@DESCRIPTION: Machine configuration for Freescale i.MX6SoloX Sabre Automotive
+#@MAINTAINER: Lauren Post <Lauren.Post@freescale.com>
+
+require conf/machine/include/imx6sabreauto-common.inc
+
+SOC_FAMILY = "mx6:mx6sx"
+
+KERNEL_DEVICETREE = "imx6sx-sabreauto.dtb imx6sx-sabreauto-m4.dtb"
+
+PREFERRED_PROVIDER_u-boot = "u-boot-imx"
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "mx6sxsabreauto_config,sdcard"
+UBOOT_CONFIG[qspi1] = "mx6sxsabreauto_qspi1_config"
+UBOOT_CONFIG[nand] = "mx6sxsabreauto_nand_config"
+UBOOT_CONFIG[mfgtool] = "mx6sxsabreauto_config"
diff --git a/meta-fsl-arm/conf/machine/imx6sxsabresd.conf b/meta-fsl-arm/conf/machine/imx6sxsabresd.conf
new file mode 100644
index 00000000..62e3afba
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/imx6sxsabresd.conf
@@ -0,0 +1,22 @@
+#@TYPE: Machine
+#@NAME: Freescale i.MX6SoloX SabreSD
+#@SOC: i.MX6SX
+#@DESCRIPTION: Machine configuration for Freescale i.MX6SoloX Sabre SD
+#@MAINTAINER: Lauren Post <Lauren.Post@freescale.com>
+
+require conf/machine/include/imx6sabresd-common.inc
+
+SOC_FAMILY = "mx6:mx6sx"
+
+KERNEL_DEVICETREE = "imx6sx-sdb.dtb imx6sx-sdb-emmc.dtb imx6sx-sdb-m4.dtb \
+ imx6sx-sdb-sai.dtb imx6sx-sdb-lcdif1.dtb \
+ imx6sx-sdb-reva-ldo.dtb imx6sx-sdb-reva.dtb"
+
+UBOOT_ENTRYPOINT = "0x80008000"
+
+UBOOT_CONFIG ??= "sd"
+UBOOT_CONFIG[sd] = "mx6sxsabresd_config,sdcard"
+UBOOT_CONFIG[emmc] = "mx6sxsabresd_emmc_config,sdcard"
+UBOOT_CONFIG[qspi2] = "mx6sxsabresd_qspi2_config"
+UBOOT_CONFIG[m4fastup] = "mx6sxsabresd_m4fastup_config"
+UBOOT_CONFIG[mfgtool] = "mx6sxsabresd_config"
diff --git a/meta-fsl-arm/conf/machine/include/fsl-default-settings.inc b/meta-fsl-arm/conf/machine/include/fsl-default-settings.inc
new file mode 100644
index 00000000..b36e75a5
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/include/fsl-default-settings.inc
@@ -0,0 +1,3 @@
+# Freescale BSP default settings
+
+IMAGE_CLASSES += "image_types_fsl"
diff --git a/meta-fsl-arm/conf/machine/include/fsl-default-versions.inc b/meta-fsl-arm/conf/machine/include/fsl-default-versions.inc
new file mode 100644
index 00000000..d2a4e93c
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/include/fsl-default-versions.inc
@@ -0,0 +1 @@
+# Freescale BSP default versions
diff --git a/meta-fsl-arm/conf/machine/include/imx-base.inc b/meta-fsl-arm/conf/machine/include/imx-base.inc
new file mode 100644
index 00000000..ecb2f772
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/include/imx-base.inc
@@ -0,0 +1,128 @@
+# Provides the i.MX common settings
+
+include conf/machine/include/fsl-default-settings.inc
+include conf/machine/include/fsl-default-versions.inc
+
+include conf/machine/include/soc-family.inc
+
+# Set specific make target and binary suffix
+PREFERRED_PROVIDER_u-boot ??= "u-boot-fslc"
+PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-fslc"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX ?= "imx"
+
+UBOOT_ENTRYPOINT_mx3 = "0x80008000"
+UBOOT_ENTRYPOINT_mx51 = "0x90008000"
+UBOOT_ENTRYPOINT_mx53 = "0x70008000"
+UBOOT_ENTRYPOINT_mx6 = "0x10008000"
+UBOOT_ENTRYPOINT_mx6sl = "0x80008000"
+UBOOT_ENTRYPOINT_mx6sx = "0x80008000"
+UBOOT_ENTRYPOINT_vf = "0x80008000"
+
+PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
+XSERVER_DRIVER = "xf86-video-fbdev"
+XSERVER_DRIVER_mx5 = "xf86-video-imxfb"
+XSERVER_DRIVER_mx6 = "xf86-video-imxfb-vivante"
+XSERVER = "xserver-xorg \
+ xf86-input-evdev \
+ ${XSERVER_DRIVER}"
+
+PREFERRED_VERSION_directfb_mx6 = "1.7.4"
+
+# Ship kernel modules
+MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
+
+# Tunes for hard/soft float-point selection. Note that we allow building for
+# thumb support giving distros the chance to enable thumb by setting
+# ARM_INSTRUCTION_SET = "thumb"
+#
+# handled by software
+# DEFAULTTUNE_mx6 ?= "cortexa9t-neon"
+# handled by hardware
+DEFAULTTUNE_mx6 ?= "cortexa9thf-neon"
+
+# Sub-architecture support
+MACHINE_SOCARCH_SUFFIX ?= ""
+MACHINE_SOCARCH_SUFFIX_mx3 = "-mx3"
+MACHINE_SOCARCH_SUFFIX_mx5 = "-mx5"
+MACHINE_SOCARCH_SUFFIX_mx6q = "-mx6qdl"
+MACHINE_SOCARCH_SUFFIX_mx6dl = "-mx6qdl"
+MACHINE_SOCARCH_SUFFIX_mx6sx = "-mx6sx"
+MACHINE_SOCARCH_SUFFIX_mx6sl = "-mx6sl"
+MACHINE_SOCARCH_SUFFIX_vf60 = "-vf60"
+MACHINE_SOCARCH_SUFFIX_vf50 = "-vf50"
+
+MACHINE_ARCH_FILTER = "virtual/kernel"
+MACHINE_SOCARCH_FILTER = "libfslcodec libfslvpuwrap libfslparser"
+MACHINE_SOCARCH_FILTER_append_mx5 = " virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl"
+MACHINE_SOCARCH_FILTER_append_mx6 = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d"
+
+INHERIT += "fsl-dynamic-packagearch"
+
+# Firmware
+MACHINE_FIRMWARE ?= ""
+MACHINE_FIRMWARE_append_mx6q = " firmware-imx-vpu-imx6q"
+MACHINE_FIRMWARE_append_mx6dl = " firmware-imx-vpu-imx6d"
+MACHINE_FIRMWARE_append_mx53 = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53"
+MACHINE_FIRMWARE_append_mx51 = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51"
+
+# FIXME: Needs addition of firmware-imx of official BSPs
+#MACHINE_FIRMWARE_append_mx35 = " firmware-imx-sdma-imx35"
+#MACHINE_FIRMWARE_append_mx31 = " firmware-imx-sdma-imx31"
+#MACHINE_FIRMWARE_append_mx27 = " firmware-imx-vpu-imx27"
+#MACHINE_FIRMWARE_append_mx25 = " firmware-imx-sdma-imx25"
+
+MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}"
+
+# Extra audio support
+# FIXME: Add support for ALL SoC families
+MACHINE_EXTRA_RRECOMMENDS_append_mx6 = " ${@base_contains('DISTRO_FEATURES', 'alsa', 'fsl-alsa-plugins', '', d)}"
+
+# Extra udev rules
+MACHINE_EXTRA_RRECOMMENDS += "udev-rules-imx"
+
+# GStreamer 1.0 plugins
+MACHINE_GSTREAMER_1_0_PLUGIN ?= ""
+MACHINE_GSTREAMER_1_0_PLUGIN_mx6q ?= "gstreamer1.0-plugins-imx-meta"
+MACHINE_GSTREAMER_1_0_PLUGIN_mx6dl ?= "gstreamer1.0-plugins-imx-meta"
+
+# mx5 GPU libraries
+GPU_FLAVOUR = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11-', '', d)}"
+PREFERRED_PROVIDER_virtual/egl_mx5 ?= "amd-gpu-${GPU_FLAVOUR}bin-mx51"
+PREFERRED_PROVIDER_virtual/libgles1_mx5 ?= "amd-gpu-${GPU_FLAVOUR}bin-mx51"
+PREFERRED_PROVIDER_virtual/libgles2_mx5 ?= "amd-gpu-${GPU_FLAVOUR}bin-mx51"
+PREFERRED_PROVIDER_amd-gpu-mx51 ?= "amd-gpu-${GPU_FLAVOUR}bin-mx51"
+
+# mx6 GPU libraries
+PREFERRED_PROVIDER_virtual/egl_mx6 ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgles1_mx6q ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgles1_mx6dl ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgles1_mx6sx ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgles1_mx6sl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles2_mx6q ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgles2_mx6dl ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgles2_mx6sx ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgles2_mx6sl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgl_mx6q ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgl_mx6dl ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgl_mx6sx ?= "imx-gpu-viv"
+PREFERRED_PROVIDER_virtual/libgl_mx6sl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libg2d_mx6 ?= "imx-gpu-viv"
+
+# Handle default kernel
+IMX_DEFAULT_KERNEL = "linux-imx"
+IMX_DEFAULT_KERNEL_mx3 = "linux-fslc"
+IMX_DEFAULT_KERNEL_mx6 = "linux-fslc-mx6"
+PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}"
+
+SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
+IMAGE_FSTYPES ?= "tar.bz2 ext3 sdcard"
+
+SERIAL_CONSOLE = "115200 ttymxc0"
+
+KERNEL_IMAGETYPE = "zImage"
+
+MACHINE_FEATURES = "apm usbgadget usbhost vfat alsa touchscreen"
+
+# Add the ability to specify _imx machines
+MACHINEOVERRIDES =. "imx:"
diff --git a/meta-fsl-arm/conf/machine/include/imx6sabreauto-common.inc b/meta-fsl-arm/conf/machine/include/imx6sabreauto-common.inc
new file mode 100644
index 00000000..b4f37b3c
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/include/imx6sabreauto-common.inc
@@ -0,0 +1,10 @@
+# Provides the i.MX6 SABRE AUTO common settings
+
+require conf/machine/include/imx-base.inc
+require conf/machine/include/tune-cortexa9.inc
+
+SERIAL_CONSOLE = "115200 ttymxc3"
+
+MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
+
+MACHINE_FEATURES += " pci wifi bluetooth"
diff --git a/meta-fsl-arm/conf/machine/include/imx6sabresd-common.inc b/meta-fsl-arm/conf/machine/include/imx6sabresd-common.inc
new file mode 100644
index 00000000..40e3cde6
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/include/imx6sabresd-common.inc
@@ -0,0 +1,10 @@
+# Provides the i.MX6 SABRE SD common settings
+
+require conf/machine/include/imx-base.inc
+require conf/machine/include/tune-cortexa9.inc
+
+SERIAL_CONSOLE = "115200 ttymxc0"
+
+MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
+
+MACHINE_FEATURES += " pci wifi bluetooth"
diff --git a/meta-fsl-arm/conf/machine/include/mxs-base.inc b/meta-fsl-arm/conf/machine/include/mxs-base.inc
new file mode 100644
index 00000000..ecf4aed4
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/include/mxs-base.inc
@@ -0,0 +1,40 @@
+# Provides the i.MXS common settings
+
+include conf/machine/include/fsl-default-settings.inc
+include conf/machine/include/fsl-default-versions.inc
+
+include conf/machine/include/soc-family.inc
+include conf/machine/include/tune-arm926ejs.inc
+
+SOC_FAMILY = "mxs"
+
+PREFERRED_PROVIDER_virtual/kernel ??= "linux-imx"
+PREFERRED_PROVIDER_virtual/kernel_mx23 ?= "linux-fslc"
+
+PREFERRED_PROVIDER_u-boot ??= "u-boot-fslc"
+PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-fslc"
+UBOOT_ENTRYPOINT = "0x40008000"
+UBOOT_MAKE_TARGET = "u-boot.sb"
+UBOOT_SUFFIX = "sb"
+
+PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
+XSERVER = "xserver-xorg \
+ xf86-input-evdev \
+ xf86-video-fbdev"
+
+# Sub-architecture support
+MACHINE_SOCARCH_SUFFIX ?= ""
+
+MACHINE_ARCH_FILTER = "virtual/kernel"
+
+INHERIT += "fsl-dynamic-packagearch"
+
+# Ship kernel modules
+MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
+
+SERIAL_CONSOLE = "115200 ttyAMA0"
+
+KERNEL_IMAGETYPE = "zImage"
+
+# Add the ability to specify _imx machines
+MACHINEOVERRIDES =. "imx:"
diff --git a/meta-fsl-arm/conf/machine/include/qoriq-arm.inc b/meta-fsl-arm/conf/machine/include/qoriq-arm.inc
new file mode 100644
index 00000000..20a75945
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/include/qoriq-arm.inc
@@ -0,0 +1,17 @@
+require conf/machine/include/soc-family.inc
+
+# Freescale BSP default providers
+PREFERRED_PROVIDER_u-boot_ls102xa ?= "u-boot-ls1"
+PREFERRED_PROVIDER_virtual/bootloader_ls102xa ?= "u-boot-ls1"
+PREFERRED_PROVIDER_virtual/kernel_ls102xa ?= "linux-ls1"
+
+# Define the default image type
+IMAGE_CLASSES ?= "image_types_uboot"
+KERNEL_IMAGETYPE ?= "uImage"
+
+UBOOT_ENTRYPOINT_ls102xa = "0x80008000"
+
+MACHINE_FEATURES = "pci ext2 ext3 serial"
+MACHINE_EXTRA_RRECOMMENDS = "udev-extraconf"
+
+DEFAULTTUNE_ls102xa ?= "cortexa7hf-neon"
diff --git a/meta-fsl-arm/conf/machine/ls1021atwr.conf b/meta-fsl-arm/conf/machine/ls1021atwr.conf
new file mode 100644
index 00000000..4478e953
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/ls1021atwr.conf
@@ -0,0 +1,26 @@
+#@TYPE: Machine
+#@NAME: Freescale LS1021ATWR board
+#@SOC: ls102xa
+#@DESCRIPTION: Machine configuration for running LS1021ATWR in 32-bit mode
+#@MAINTAINER: Zhenhua Luo <zhenhua.luo@freescale.com>
+
+require conf/machine/include/qoriq-arm.inc
+require conf/machine/include/tune-cortexa7.inc
+
+SOC_FAMILY = "ls102xa"
+
+UBOOT_CONFIG ??= "nor"
+UBOOT_CONFIG[nor] = "ls1021atwr_nor_config"
+UBOOT_CONFIG[sdcard] = "ls1021atwr_sdcard_config,sdcard"
+UBOOT_CONFIG[lpuart] = "ls1021atwr_nor_lpuart_config"
+UBOOT_CONFIG[qspi] = "ls1021atwr_qspi_config"
+UBOOT_CONFIG[secure-boot] = "ls1021atwr_nor_SECURE_BOOT_config"
+
+QE_UCODE="iram_Type_A_LS1021a_r1.0.bin"
+
+KERNEL_DEVICETREE ?= "ls1021a-twr.dtb"
+
+SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyEHV0 115200;ttyLP0 115200;ttyAMA0"
+SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
+USE_VT ?= "0"
+
diff --git a/meta-fsl-arm/conf/machine/twr-vf65gs10.conf b/meta-fsl-arm/conf/machine/twr-vf65gs10.conf
new file mode 100644
index 00000000..d1e14e02
--- /dev/null
+++ b/meta-fsl-arm/conf/machine/twr-vf65gs10.conf
@@ -0,0 +1,23 @@
+#@TYPE: Machine
+#@NAME: Freescale Vybrid TWR-VF65GS10
+#@SOC: VF610
+#@DESCRIPTION: Machine configuration for Freescale Vybrid TWR-VF65GS10
+#@MAINTAINER: Anthony Felice <tony.felice@timesys.com>
+
+include conf/machine/include/imx-base.inc
+include conf/machine/include/tune-cortexa5.inc
+
+SOC_FAMILY = "vf:vf60"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-timesys"
+PREFERRED_PROVIDER_virtual/kernel-module-mcc ?= "kernel-module-mcc"
+PREFERRED_PROVIDER_virtual/kernel-module-mcc-dev ?= "kernel-module-mcc"
+
+UBOOT_MACHINE = "vf610twr_config"
+
+SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
+IMAGE_FSTYPES ?= "tar.bz2 ext3 sdcard"
+
+SERIAL_CONSOLE = "115200 ttyLP1"
+
+MACHINE_FEATURES = "apm usbgadget usbhost vfat alsa touchscreen"
diff --git a/meta-fsl-arm/efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch b/meta-fsl-arm/efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch
new file mode 100644
index 00000000..53f0a528
--- /dev/null
+++ b/meta-fsl-arm/efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch
@@ -0,0 +1,55 @@
+From 0775633e35127e903a1a84d823bf2e7d388d4042 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv@pseudoterminal.org>
+Date: Sun, 1 Jun 2014 01:57:53 +0200
+Subject: [PATCH] Add preprocessor definitions for Vivante GLES headers
+
+The Vivante headers require the LINUX preprocessor definition, otherwise
+compile errors occur
+
+Upstream-Status: Pending
+
+Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
+---
+ m4/evas_check_engine.m4 | 4 ++--
+ src/Makefile_Evas.am | 2 ++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/m4/evas_check_engine.m4 b/m4/evas_check_engine.m4
+index 3fd4890..35d1c5f 100644
+--- a/m4/evas_check_engine.m4
++++ b/m4/evas_check_engine.m4
+@@ -26,9 +26,9 @@ EFL_FIND_X(evas_engine_[]$1,
+ [X11 XCreateColormap Xrender XRenderCreatePicture],
+ [
+ CFLAGS_save="$CFLAGS"
+- CFLAGS="$evas_engine_[]$1[]_cflags $CFLAGS"
++ CFLAGS="$evas_engine_[]$1[]_cflags $CFLAGS -DLINUX"
+ CPPFLAGS_save="$CPPFLAGS"
+- CPPFLAGS="$evas_engine_[]$1[]_cflags $CPPFLAGS"
++ CPPFLAGS="$evas_engine_[]$1[]_cflags $CPPFLAGS -DLINUX"
+
+ AC_CHECK_HEADER([GL/gl.h],
+ [have_dep="yes"],
+diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
+index 644391b..6232f78 100644
+--- a/src/Makefile_Evas.am
++++ b/src/Makefile_Evas.am
+@@ -632,6 +632,7 @@ lib_evas_libevas_la_LIBADD += @evas_engine_gl_common_libs@
+ else
+ noinst_LTLIBRARIES += modules/evas/engines/gl_common/libevas_engine_gl_common.la
+ modules_evas_engines_gl_common_libevas_engine_gl_common_la_SOURCES = $(GL_COMMON_SOURCES)
++modules_evas_engines_gl_common_libevas_engine_gl_common_la_CFLAGS = -DLINUX
+ modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+ -I$(top_srcdir)/src/lib/evas/include \
+ -I$(top_srcdir)/src/lib/evas/cserve2 \
+@@ -736,6 +737,7 @@ else
+ engineglx11pkgdir = $(libdir)/evas/modules/engines/gl_x11/$(MODULE_ARCH)
+ engineglx11pkg_LTLIBRARIES = modules/evas/engines/gl_x11/module.la
+ modules_evas_engines_gl_x11_module_la_SOURCES = $(GL_X11_SOURCES)
++modules_evas_engines_gl_x11_module_la_CFLAGS = -DLINUX
+ modules_evas_engines_gl_x11_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+ -I$(top_srcdir)/src/lib/evas/include \
+ -I$(top_srcdir)/src/lib/evas/cserve2 \
+--
+1.8.3.2
+
diff --git a/meta-fsl-arm/efl-layer/recipes-efl/efl/efl_%.bbappend b/meta-fsl-arm/efl-layer/recipes-efl/efl/efl_%.bbappend
new file mode 100644
index 00000000..72ef7980
--- /dev/null
+++ b/meta-fsl-arm/efl-layer/recipes-efl/efl/efl_%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI_append_mx6 = " file://0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch"
diff --git a/meta-fsl-arm/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend b/meta-fsl-arm/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
new file mode 100644
index 00000000..8e57d663
--- /dev/null
+++ b/meta-fsl-arm/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend
@@ -0,0 +1,3 @@
+#Remove gles2 as it is not supported by sololite
+
+PACKAGECONFIG_remove_mx6sl = "gles2"
diff --git a/meta-fsl-arm/openembedded-layer/recipes-kernel/asf/asf_git.bb b/meta-fsl-arm/openembedded-layer/recipes-kernel/asf/asf_git.bb
new file mode 100644
index 00000000..7cf8f57a
--- /dev/null
+++ b/meta-fsl-arm/openembedded-layer/recipes-kernel/asf/asf_git.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Non-DPAA software Application Specific Fast-path"
+SECTION = "asf"
+LICENSE = "GPLv2 & GPLv2+ & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b5881ecf398da8a03a3f4c501e29d287"
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/asf.git;branch=master"
+SRCREV = "62ba10ab6bab8f8f53934e4bb55b5a552bf3fd6b"
+
+inherit module
+
+S = "${WORKDIR}/git/asfmodule"
+
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+export KERNEL_PATH = "${STAGING_KERNEL_DIR}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+do_configure_prepend () {
+ find ${S} -name Makefile -exec \
+ sed -i 's,$(KERNEL_PATH)/.config,$(KBUILD_OUTPUT)/.config,' {} \;
+}
+
+do_install(){
+ mkdir -p ${D}/${libexecdir}
+ mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/asf
+ cp -rf ${S}/bin/full ${D}/lib/modules/${KERNEL_VERSION}/asf
+ cp -rf ${S}/bin/min ${D}/lib/modules/${KERNEL_VERSION}/asf
+ cp -rf ${S}/../scripts ${D}/${libexecdir}/
+}
+
+FILES_${PN} += "${libexecdir} /lib/modules/${KERNEL_VERSION}/asf"
+RDEPENDS_${PN} += "ipsec-tools"
diff --git a/meta-fsl-arm/openembedded-layer/recipes-support/opencv/opencv/0001-MGS-515-ccc-Opencv-app-can-t-run-on-imx6sx-with-cam.patch b/meta-fsl-arm/openembedded-layer/recipes-support/opencv/opencv/0001-MGS-515-ccc-Opencv-app-can-t-run-on-imx6sx-with-cam.patch
new file mode 100644
index 00000000..274fbe74
--- /dev/null
+++ b/meta-fsl-arm/openembedded-layer/recipes-support/opencv/opencv/0001-MGS-515-ccc-Opencv-app-can-t-run-on-imx6sx-with-cam.patch
@@ -0,0 +1,46 @@
+From 90f869763026e8ff18aeecde217d778f00e4f294 Mon Sep 17 00:00:00 2001
+From: Shawn Xiao <b49994@freescale.com>
+Date: Tue, 10 Feb 2015 16:11:59 +0800
+Subject: [PATCH] MGS-515 [#ccc] Opencv app can't run on imx6sx with cam
+
+This issue is caused by the no support of VIDIOC_QUERYCTRL ioctl
+item in latest cam driver.
+
+Modified the errno in check logic to compatible with new driver.
+
+Feb 10, 2015
+
+Upstream-Status: Pending
+
+Signed-off-by: Shawn Xiao <b49994@freescale.com>
+---
+ modules/highgui/src/cap_v4l.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/modules/highgui/src/cap_v4l.cpp b/modules/highgui/src/cap_v4l.cpp
+index c9fca05..8c46b6c 100644
+--- a/modules/highgui/src/cap_v4l.cpp
++++ b/modules/highgui/src/cap_v4l.cpp
+@@ -707,7 +707,8 @@ static void v4l2_scan_controls(CvCaptureCAM_V4L* capture)
+
+ } else {
+
+- if (errno == EINVAL)
++ if (errno == ENOTTY ||
++ errno == EINVAL)
+ continue;
+
+ perror ("VIDIOC_QUERYCTRL");
+@@ -774,7 +775,8 @@ static void v4l2_scan_controls(CvCaptureCAM_V4L* capture)
+
+ } else {
+
+- if (errno == EINVAL)
++ if (errno == ENOTTY ||
++ errno == EINVAL)
+ break;
+
+ perror ("VIDIOC_QUERYCTRL");
+--
+2.3.0
+
diff --git a/meta-fsl-arm/openembedded-layer/recipes-support/opencv/opencv_%.bbappend b/meta-fsl-arm/openembedded-layer/recipes-support/opencv/opencv_%.bbappend
new file mode 100644
index 00000000..be166965
--- /dev/null
+++ b/meta-fsl-arm/openembedded-layer/recipes-support/opencv/opencv_%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI_append_mx6sx = " file://0001-MGS-515-ccc-Opencv-app-can-t-run-on-imx6sx-with-cam.patch"
diff --git a/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch
new file mode 100644
index 00000000..b0be292d
--- /dev/null
+++ b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch
@@ -0,0 +1,23 @@
+Workaround EGL initialization failure due visual mismatch
+
+Error:
+
+Warning: EGL suggested using X Visual ID 33 (RGB888) for EGL config 28 (RGB444), but this is incompatable
+Unable to find an X11 visual which matches EGL config 28
+Could not initialize EGL
+Aborted
+
+Upstream-Status: Inappropriate [workaround]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+diff -Naur qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
+--- qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp 2013-12-25 19:08:42.163895341 -0800
++++ qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp 2013-12-25 19:09:37.207893799 -0800
+@@ -180,5 +180,5 @@
+ }
+
+ qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
+- return (VisualID)0;
++ return (VisualID)33;
+ }
diff --git a/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
new file mode 100644
index 00000000..a376a838
--- /dev/null
+++ b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
@@ -0,0 +1,79 @@
+# Copyright (C) 2013 Eric Bénard - Eukréa Electromatique
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://Force_egl_visual_ID_33.patch"
+
+HAS_X11 = "${@base_contains('DISTRO_FEATURES', 'x11', 1, 0, d)}"
+
+IS_MX6SL = "0"
+IS_MX6SL_mx6sl = "1"
+
+PACKAGECONFIG_GL_mx5 = "gles2"
+QT_CONFIG_FLAGS_append_mx5 = "${@base_contains('DISTRO_FEATURES', 'x11', ' -no-eglfs', ' -eglfs', d)}"
+
+PACKAGECONFIG_GL_mx6q = "gles2"
+PACKAGECONFIG_GL_mx6dl = "gles2"
+PACKAGECONFIG_GL_mx6sx = "gles2"
+PACKAGECONFIG_GL_mx6sl = "${@base_contains('DISTRO_FEATURES', 'x11', \
+ ' gl', '', d)}"
+QT_CONFIG_FLAGS_append_mx6q = "${@base_contains('DISTRO_FEATURES', 'x11', ' -no-eglfs', ' -eglfs', d)}"
+QT_CONFIG_FLAGS_append_mx6dl = "${@base_contains('DISTRO_FEATURES', 'x11', ' -no-eglfs', ' -eglfs', d)}"
+QT_CONFIG_FLAGS_append_mx6sx = "${@base_contains('DISTRO_FEATURES', 'x11', ' -no-eglfs', ' -eglfs', d)}"
+QT_CONFIG_FLAGS_append_mx6sl = "${@base_contains('DISTRO_FEATURES', 'x11', \
+ ' -no-eglfs', ' -no-opengl -linuxfb -no-eglfs', d)}"
+
+do_configure_prepend_mx5() {
+ sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf
+
+ cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
+IMX5_CFLAGS = -D_LINUX=1
+QMAKE_LIBS_EGL += -lEGL
+QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
+QMAKE_LIBS_OPENVG += -lOpenVG -lEGL
+
+QMAKE_CFLAGS_RELEASE += \$\$IMX5_CFLAGS
+QMAKE_CXXFLAGS_RELEASE += \$\$IMX5_CFLAGS
+QMAKE_CFLAGS_DEBUG += \$\$IMX5_CFLAGS
+QMAKE_CXXFLAGS_DEBUG += \$\$IMX5_CFLAGS
+
+load(qt_config)
+
+EOF
+}
+
+do_configure_prepend_mx6() {
+ # adapt qmake.conf to our needs
+ sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf
+ if test ${HAS_X11} -eq 0; then
+ if test ${IS_MX6SL} -eq 0; then
+
+ cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
+EGLFS_PLATFORM_HOOKS_SOURCES = \$\$PWD/qeglfshooks_imx6.cpp
+IMX6_CFLAGS = -DLINUX=1 -DEGL_API_FB=1
+EOF
+ else
+cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
+IMX6_CFLAGS = -DLINUX=1
+EOF
+fi
+ # copy the hook in the mkspecs directory OE is using
+ cp ${S}/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp ${S}/mkspecs/linux-oe-g++/
+ else
+ cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
+IMX6_CFLAGS = -DLINUX=1
+EOF
+ fi
+ cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
+QMAKE_LIBS_EGL += -lEGL
+QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL
+QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL
+QMAKE_CFLAGS_RELEASE += \$\$IMX6_CFLAGS
+QMAKE_CXXFLAGS_RELEASE += \$\$IMX6_CFLAGS
+QMAKE_CFLAGS_DEBUG += \$\$IMX6_CFLAGS
+QMAKE_CXXFLAGS_DEBUG += \$\$IMX6_CFLAGS
+
+load(qt_config)
+
+EOF
+}
diff --git a/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch
new file mode 100644
index 00000000..80e55c7f
--- /dev/null
+++ b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch
@@ -0,0 +1,42 @@
+From 66dab98c3f42eb70a4c6761a8694e374b8578e99 Mon Sep 17 00:00:00 2001
+From: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
+Date: Thu, 8 May 2014 09:27:04 -0700
+Subject: [PATCH] Fix to match the uniform precision qualifiers in vertex and
+ fragment shaders
+
+When the vertex and fragment shaders are linked together, then they will
+share a single global uniform name space. Hence, types and precisions of
+uniforms with the same name must match across all shaders that are linked
+into a single executable.
+
+As per GLSL_ES_Specification_3.00.3.pdf
+Page 124 12.3 Numeric Precision
+The fragment language has no default precision qualifier for floating point types.
+Hence for float, floating point vector and matrix variable declarations, either
+the declaration must include a precision qualifier or the default float
+precision must have been previously declared.
+
+Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=124653#c9]
+
+Change-Id: I4eb3363b3bca8bc3c839212ec7c966201a3e65e2
+Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
+---
+ Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp
+index f4b9a7e..7e991bf 100644
+--- a/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp
++++ b/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp
+@@ -208,7 +208,7 @@ static const char* fragmentTemplate =
+ ANTIALIASING_TEX_COORD_DIRECTIVE
+ BLUR_CONSTANTS
+ STRINGIFY(
+- precision mediump float;
++ precision highp float;
+ uniform SamplerType s_sampler;
+ uniform sampler2D s_contentTexture;
+ uniform float u_opacity;
+--
+1.9.1
+
diff --git a/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend
new file mode 100644
index 00000000..5d961e64
--- /dev/null
+++ b/meta-fsl-arm/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch"
+
diff --git a/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state.bbappend b/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state.bbappend
new file mode 100644
index 00000000..6bc02467
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf b/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf
new file mode 100755
index 00000000..0cbe59b2
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx5/asound.state b/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx5/asound.state
new file mode 100644
index 00000000..7c13a88a
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf b/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf
new file mode 100644
index 00000000..3f4e0482
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx6/asound.state b/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mx6/asound.state
new file mode 100644
index 00000000..552f763d
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf b/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf
new file mode 100644
index 00000000..39cb3961
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mxs/asound.state b/meta-fsl-arm/recipes-bsp/alsa-state/alsa-state/mxs/asound.state
new file mode 100644
index 00000000..d508cc36
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/apptrk/apptrk/apptrk-install-create-all-components-of-DEST.patch b/meta-fsl-arm/recipes-bsp/apptrk/apptrk/apptrk-install-create-all-components-of-DEST.patch
new file mode 100644
index 00000000..6b4a0e83
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/apptrk/apptrk/no-strip.patch b/meta-fsl-arm/recipes-bsp/apptrk/apptrk/no-strip.patch
new file mode 100644
index 00000000..a8cf6205
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/apptrk/apptrk_git.bb b/meta-fsl-arm/recipes-bsp/apptrk/apptrk_git.bb
new file mode 100644
index 00000000..4453cf87
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/barebox/barebox.inc b/meta-fsl-arm/recipes-bsp/barebox/barebox.inc
new file mode 100644
index 00000000..0d5c127b
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/barebox/barebox_2013.08.0.bb b/meta-fsl-arm/recipes-bsp/barebox/barebox_2013.08.0.bb
new file mode 100644
index 00000000..e4e37179
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/change-file-endianess/change-file-endianess.bb b/meta-fsl-arm/recipes-bsp/change-file-endianess/change-file-endianess.bb
new file mode 100644
index 00000000..2ad8c588
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl b/meta-fsl-arm/recipes-bsp/change-file-endianess/change-file-endianess/byte_swap.tcl
new file mode 100755
index 00000000..aca956bd
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/elftosb/elftosb_10.12.01.bb b/meta-fsl-arm/recipes-bsp/elftosb/elftosb_10.12.01.bb
new file mode 100644
index 00000000..2cef1f6a
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/elftosb/files/cross-build.patch b/meta-fsl-arm/recipes-bsp/elftosb/files/cross-build.patch
new file mode 100644
index 00000000..8cffa03e
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch b/meta-fsl-arm/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch
new file mode 100644
index 00000000..8996ffbb
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx.inc b/meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx.inc
new file mode 100644
index 00000000..80e5e59e
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx_3.14.28-1.0.0.bb b/meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx_3.14.28-1.0.0.bb
new file mode 100644
index 00000000..408baf18
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/formfactor/formfactor/imx51evk/machconfig b/meta-fsl-arm/recipes-bsp/formfactor/formfactor/imx51evk/machconfig
new file mode 100644
index 00000000..3dbcc111
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/formfactor/formfactor/imx53ard/machconfig b/meta-fsl-arm/recipes-bsp/formfactor/formfactor/imx53ard/machconfig
new file mode 100644
index 00000000..7f884fe8
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig b/meta-fsl-arm/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig
new file mode 100644
index 00000000..3dbcc111
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/formfactor/formfactor_%.bbappend b/meta-fsl-arm/recipes-bsp/formfactor/formfactor_%.bbappend
new file mode 100644
index 00000000..8c77b8d3
--- /dev/null
+++ b/meta-fsl-arm/recipes-bsp/formfactor/formfactor_%.bbappend
@@ -0,0 +1,2 @@
+# Append path for freescale to include costom matchconfig
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch b/meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch
new file mode 100644
index 00000000..1deca1cb
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch b/meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch
new file mode 100644
index 00000000..d54add12
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch b/meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch
new file mode 100644
index 00000000..4fb4c519
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb b/meta-fsl-arm/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb
new file mode 100644
index 00000000..6084f169
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-kobs/imx-kobs_3.14.28-1.0.0.bb b/meta-fsl-arm/recipes-bsp/imx-kobs/imx-kobs_3.14.28-1.0.0.bb
new file mode 100644
index 00000000..2cf19005
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-lib/imx-lib-11.09.02/obey-variables.patch b/meta-fsl-arm/recipes-bsp/imx-lib/imx-lib-11.09.02/obey-variables.patch
new file mode 100644
index 00000000..901345ac
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-lib/imx-lib.inc b/meta-fsl-arm/recipes-bsp/imx-lib/imx-lib.inc
new file mode 100644
index 00000000..314e153b
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-lib/imx-lib_11.09.02.bb b/meta-fsl-arm/recipes-bsp/imx-lib/imx-lib_11.09.02.bb
new file mode 100644
index 00000000..16ca1df5
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-lib/imx-lib_3.10.53-1.1.0.bb b/meta-fsl-arm/recipes-bsp/imx-lib/imx-lib_3.10.53-1.1.0.bb
new file mode 100644
index 00000000..4768ce9d
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-test/imx-test.inc b/meta-fsl-arm/recipes-bsp/imx-test/imx-test.inc
new file mode 100644
index 00000000..cba72f58
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-test/imx-test/Fix-build-in-OpenEmbedded-Core-environment.patch b/meta-fsl-arm/recipes-bsp/imx-test/imx-test/Fix-build-in-OpenEmbedded-Core-environment.patch
new file mode 100644
index 00000000..7497e91d
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-test/imx-test/clocks.sh b/meta-fsl-arm/recipes-bsp/imx-test/imx-test/clocks.sh
new file mode 100755
index 00000000..2121bef6
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch b/meta-fsl-arm/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch
new file mode 100644
index 00000000..4fb0564a
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-test/imx-test_00.00.00.bb b/meta-fsl-arm/recipes-bsp/imx-test/imx-test_00.00.00.bb
new file mode 100644
index 00000000..f38dc67f
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-test/imx-test_3.14.28-1.0.0.bb b/meta-fsl-arm/recipes-bsp/imx-test/imx-test_3.14.28-1.0.0.bb
new file mode 100644
index 00000000..fc2ad1d5
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-uuc/imx-uuc_0.5.bb b/meta-fsl-arm/recipes-bsp/imx-uuc/imx-uuc_0.5.bb
new file mode 100644
index 00000000..b172b32c
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu-11.09.02/obey-variables.patch b/meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu-11.09.02/obey-variables.patch
new file mode 100644
index 00000000..13f61b27
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu.inc b/meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu.inc
new file mode 100644
index 00000000..fd59770a
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb b/meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb
new file mode 100644
index 00000000..c5dd9bd5
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu_5.4.28.bb b/meta-fsl-arm/recipes-bsp/imx-vpu/imx-vpu_5.4.28.bb
new file mode 100644
index 00000000..6f691562
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/libmcc/libmcc/build-Fix-symlink-generation.patch b/meta-fsl-arm/recipes-bsp/libmcc/libmcc/build-Fix-symlink-generation.patch
new file mode 100644
index 00000000..0aebe00b
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/libmcc/libmcc/build-with-versioned-soname.patch b/meta-fsl-arm/recipes-bsp/libmcc/libmcc/build-with-versioned-soname.patch
new file mode 100644
index 00000000..d004b78a
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/libmcc/libmcc_1.05.bb b/meta-fsl-arm/recipes-bsp/libmcc/libmcc_1.05.bb
new file mode 100644
index 00000000..1140ed18
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/mqxboot/mqxboot_1.0.bb b/meta-fsl-arm/recipes-bsp/mqxboot/mqxboot_1.0.bb
new file mode 100644
index 00000000..7f11a984
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/mxsldr/mxsldr_git.bb b/meta-fsl-arm/recipes-bsp/mxsldr/mxsldr_git.bb
new file mode 100644
index 00000000..497f6a19
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/qe-ucode/qe-ucode_git.bb b/meta-fsl-arm/recipes-bsp/qe-ucode/qe-ucode_git.bb
new file mode 100644
index 00000000..28af4b65
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch b/meta-fsl-arm/recipes-bsp/rcw/rcw/rcw-make-BOARDS-DESTDIR-overidable-in-Makefile.patch
new file mode 100644
index 00000000..49d99fc5
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/rcw/rcw_git.bb b/meta-fsl-arm/recipes-bsp/rcw/rcw_git.bb
new file mode 100644
index 00000000..2a03309c
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2015.04.bb b/meta-fsl-arm/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2015.04.bb
new file mode 100644
index 00000000..3981b604
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-fslc.inc b/meta-fsl-arm/recipes-bsp/u-boot/u-boot-fslc.inc
new file mode 100644
index 00000000..07fb5074
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-fslc_2015.04.bb b/meta-fsl-arm/recipes-bsp/u-boot/u-boot-fslc_2015.04.bb
new file mode 100644
index 00000000..aeefc5a9
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx-mfgtool_2014.04.bb b/meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx-mfgtool_2014.04.bb
new file mode 100644
index 00000000..f66114c7
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch b/meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch
new file mode 100644
index 00000000..4b0ac9bf
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch b/meta-fsl-arm/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/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch b/meta-fsl-arm/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/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch b/meta-fsl-arm/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/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch b/meta-fsl-arm/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/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx_2014.04.bb b/meta-fsl-arm/recipes-bsp/u-boot/u-boot-imx_2014.04.bb
new file mode 100644
index 00000000..ebae6922
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-ls1_2015.01.bb b/meta-fsl-arm/recipes-bsp/u-boot/u-boot-ls1_2015.01.bb
new file mode 100644
index 00000000..716105f4
--- /dev/null
+++ b/meta-fsl-arm/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/meta-fsl-arm/recipes-bsp/u-boot/u-boot-mfgtool.inc b/meta-fsl-arm/recipes-bsp/u-boot/u-boot-mfgtool.inc
new file mode 100644
index 00000000..91526ad7
--- /dev/null
+++ b/meta-fsl-arm/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}"
diff --git a/meta-fsl-arm/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend b/meta-fsl-arm/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend
new file mode 100644
index 00000000..20545062
--- /dev/null
+++ b/meta-fsl-arm/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend
@@ -0,0 +1,5 @@
+RDEPENDS_${PN} += " \
+ nativesdk-elftosb \
+ nativesdk-mxsldr \
+ nativesdk-u-boot-mkimage \
+"
diff --git a/meta-fsl-arm/recipes-core/udev/udev-rules-imx.bb b/meta-fsl-arm/recipes-core/udev/udev-rules-imx.bb
new file mode 100644
index 00000000..e37d38de
--- /dev/null
+++ b/meta-fsl-arm/recipes-core/udev/udev-rules-imx.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "udev rules for Freescale i.MX SOCs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+
+SRC_URI = " file://10-imx.rules"
+
+S = "${WORKDIR}"
+
+do_install () {
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/10-imx.rules ${D}${sysconfdir}/udev/rules.d/
+}
diff --git a/meta-fsl-arm/recipes-core/udev/udev-rules-imx/10-imx.rules b/meta-fsl-arm/recipes-core/udev/udev-rules-imx/10-imx.rules
new file mode 100644
index 00000000..6afc1e8e
--- /dev/null
+++ b/meta-fsl-arm/recipes-core/udev/udev-rules-imx/10-imx.rules
@@ -0,0 +1,23 @@
+# Create symlinks for i.mx keypads and touchscreens
+#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name}=="mxckpd", SYMLINK+="input/keyboard0"
+#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name}=="mxc_ts", SYMLINK+="input/ts0"
+#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name}=="imx_adc_ts", SYMLINK+="input/ts0"
+#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name}=="mpr084", SYMLINK+="input/keyboard0"
+#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name}=="tsc2007", SYMLINK+="input/ts0"
+#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name} =="STMP3XXX touchscreen", SYMLINK+="input/ts0"
+#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name} =="MXS touchscreen", SYMLINK+="input/ts0"
+#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name} =="HannStar P1003 Touchscreen", SYMLINK+="input/ts0"
+#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name} =="eGalax Touch Screen", SYMLINK+="input/ts0"
+
+# The long class name gets cut off to be mc13783_connectiv in
+# /sys/class/mc13783_connectivity/mc13783_connectivit
+KERNEL=="mc13783_connectiv*", NAME="mc13783_connectivity"
+# Anyone has readonly permission to IIM device file
+KERNEL=="mxc_iim", MODE="0444", SYMLINK+="mxc_mem"
+KERNEL=="mxs_viim", MODE="0444", SYMLINK+="mxc_mem"
+KERNEL=="mxc_ipu", MODE="0666"
+KERNEL=="mxc_vpu", MODE="0666"
+SUBSYSTEM=="video", MODE="0660"
+KERNEL=="fb[0-9]", MODE="0660", GROUP="video"
+KERNEL=="gsl_kmod", MODE="0660", GROUP="video"
+KERNEL=="galcore", MODE="0660", GROUP="video"
diff --git a/meta-fsl-arm/recipes-devtools/cst/cst_git.bb b/meta-fsl-arm/recipes-devtools/cst/cst_git.bb
new file mode 100644
index 00000000..08dbd561
--- /dev/null
+++ b/meta-fsl-arm/recipes-devtools/cst/cst_git.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "utility for security boot"
+SECTION = "cst"
+LICENSE = "BSD"
+
+# TODO: fix license - this file is not a license
+LIC_FILES_CHKSUM = "file://RELEASENOTES;beginline=8;endline=43;md5=5a7b22a2c96b5f94e0498c5f413aa8d3"
+
+DEPENDS += "openssl"
+
+inherit kernel-arch
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/cst.git;branch=master"
+SRCREV = "6f57c86c93cab0f4d0a40d83b685afa6932a6301"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = 'CC="${CC}" LD="${CC}"'
+
+PARALLEL_MAKE = ""
+
+do_install () {
+ oe_runmake install DESTDIR=${D} BIN_DEST_DIR=${bindir}
+}
+
+FILES_${PN}-dbg += "${bindir}/cst/.debug"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-fsl-arm/recipes-devtools/devregs/devregs_git.bb b/meta-fsl-arm/recipes-devtools/devregs/devregs_git.bb
new file mode 100644
index 00000000..3bac55a4
--- /dev/null
+++ b/meta-fsl-arm/recipes-devtools/devregs/devregs_git.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "i.MX Register tool"
+SECTION = "devel"
+LICENSE = "GPL-1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5003fa041d799dd5dd5f646b74e36924"
+
+SRCREV = "34ed402b92920864b89e0fd1e76bae3aa340baaa"
+SRC_URI = "git://github.com/boundarydevices/devregs.git;protocol=http"
+
+PV = "1.0+${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/meta-fsl-arm/recipes-devtools/qemu/qemu-fsl_git.bb b/meta-fsl-arm/recipes-devtools/qemu/qemu-fsl_git.bb
new file mode 100644
index 00000000..94fb9b19
--- /dev/null
+++ b/meta-fsl-arm/recipes-devtools/qemu/qemu-fsl_git.bb
@@ -0,0 +1,49 @@
+require recipes-devtools/qemu/qemu.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
+ file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
+
+# This means QEMU v2.2.0 with FSL specific patches applied
+PV = "2.2.0+${SRCPV}"
+
+# NOTE: this recipe requires poky's qemu.inc which assumes version 2.3
+# where glx enable config option changed to --enable-opengl. For now we
+# restore it, but we should remove the following lines when upgrading
+# to qemu 2.3:
+PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,mesa"
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/qemu.git;branch=master"
+SRCREV = "00ac004143e9fe46944a1885b04268fcd3a95a3a"
+
+S = "${WORKDIR}/git"
+
+QEMU_TARGETS = "arm"
+
+inherit pkgconfig
+
+# Append build host pkg-config paths for native target since the host may provide sdl
+do_configure_prepend() {
+ export PKG_CONFIG=${STAGING_DIR_NATIVE}${bindir_native}/pkg-config
+}
+
+do_configure_append () {
+ if ! grep 'CONFIG_FDT=y' config-host.mak; then
+ echo "CONFIG_RDMA=y" >> config_host_mak
+ fi
+}
+
+# gets around qemu.inc trying to install powerpc_rom.bin
+do_install_prepend() {
+ touch ${WORKDIR}/powerpc_rom.bin
+}
+
+do_install_append() {
+ rm ${WORKDIR}/powerpc_rom.bin
+ # Prevent QA warnings about installed ${localstatedir}/run
+ if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
+}
+
+FILES_${PN} += "/usr/share/qemu/"
+
+# FIXME: Avoid WARNING due missing patch for native/nativesdk
+BBCLASSEXTEND = ""
diff --git a/meta-fsl-arm/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb b/meta-fsl-arm/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb
new file mode 100644
index 00000000..7d79d1ef
--- /dev/null
+++ b/meta-fsl-arm/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb
@@ -0,0 +1,8 @@
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+
+DESCRIPTION = "Small image to be used with Manufacturing Tool \
+(mfg-tool) in a production environment."
+
+LICENSE = "MIT"
+
+inherit mfgtool-initramfs-image
diff --git a/meta-fsl-arm/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb b/meta-fsl-arm/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb
new file mode 100644
index 00000000..50885ee1
--- /dev/null
+++ b/meta-fsl-arm/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb
@@ -0,0 +1,47 @@
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+
+SUMMARY = "Freescale Manufacturing Tool requirements"
+LICENSE = "MIT"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit packagegroup
+
+PACKAGES = " \
+ ${PN}-base \
+ ${PN}-mtd \
+ ${PN}-extfs \
+"
+
+# The essential packages for device bootup that may be set in the
+# machine configuration file.
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
+
+# Distro can override the following VIRTUAL-RUNTIME providers:
+VIRTUAL-RUNTIME_keymaps ?= "keymaps"
+
+RDEPENDS_${PN}-base = " \
+ bash \
+ imx-uuc \
+ util-linux \
+ coreutils \
+ dosfstools \
+ mmc-utils \
+ base-files \
+ base-passwd \
+ busybox \
+ ${@base_contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \
+ ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
+"
+
+RDEPENDS_${PN}-mtd = " \
+ ${PN}-base \
+ imx-kobs \
+ mtd-utils \
+ mtd-utils-ubifs \
+"
+
+RDEPENDS_${PN}-extfs = " \
+ ${PN}-base \
+ e2fsprogs-mke2fs \
+"
diff --git a/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb
new file mode 100644
index 00000000..ecf38f2f
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb
@@ -0,0 +1,13 @@
+# Copyright (C) 2011, 2012 Freescale
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "GPU driver and apps for frambuffer on mx51"
+
+include amd-gpu-mx51.inc
+
+SRC_URI[md5sum] = "9f9b5f67b595721a08793aae8bd8fc46"
+SRC_URI[sha256sum] = "f0db68a764b5fb199729e7435f606b8d12b61ca97990336c647b7e81f4a584d9"
+
+RCONFLICTS_${PN} = "amd-gpu-x11-bin-mx51"
+
+COMPATIBLE_MACHINE = "(mx5)"
diff --git a/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc
new file mode 100644
index 00000000..76c7bc43
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc
@@ -0,0 +1,110 @@
+# Copyright (C) 2011, 2012, 2013 Freescale
+# Copyright (C) 2011-2015 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+LICENSE = "Proprietary"
+SECTION = "libs"
+
+# FIXME: Replace for correct AMD license
+LIC_FILES_CHKSUM = "file://usr/include/VG/openvg.h;endline=30;md5=b0109611dd76961057d4c45ae6519802"
+
+PROVIDES = "amd-gpu-mx51 virtual/egl virtual/libgles1 virtual/libgles2"
+
+SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
+ file://egl.pc \
+ file://glesv2.pc \
+ file://fix-linux-build-check.patch"
+
+inherit fsl-eula-unpack
+
+# For the packages that make up the OpenGL interfaces, inject variables so that
+# they don't get Debian-renamed (which would remove the -mx51 suffix).
+#
+# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
+# the source we cannot fix it. Disable the insane check for now.
+python __anonymous() {
+ for p in d.getVar('PACKAGES', True).split():
+ d.setVar("INSANE_SKIP_%s" % p, "ldflags")
+
+ for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
+ ("libgles2", "libglesv2-2")):
+ fullp = p[0] + "-mx51"
+ pkgs = " ".join(p)
+ d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
+ d.appendVar("RREPLACES_" + fullp, pkgs)
+ d.appendVar("RPROVIDES_" + fullp, pkgs)
+ d.appendVar("RCONFLICTS_" + fullp, pkgs)
+
+ # For -dev, the first element is both the Debian and original name
+ fullp += "-dev"
+ pkgs = p[0] + "-dev"
+ d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
+ d.appendVar("RREPLACES_" + fullp, pkgs)
+ d.appendVar("RPROVIDES_" + fullp, pkgs)
+ d.appendVar("RCONFLICTS_" + fullp, pkgs)
+}
+
+do_install () {
+ install -d ${D}${libdir}
+ install -d ${D}${bindir}
+ install -d ${D}${includedir}
+
+ cp -Pr ${S}/usr/bin/* ${D}${bindir}
+ cp -Pr ${S}/usr/lib/* ${D}${libdir}
+ cp -Pr ${S}/usr/include/* ${D}${includedir}
+
+ find ${D}${bindir} -type f -exec chmod 755 {} \;
+ find ${D}${libdir} -type f -exec chmod 644 {} \;
+ find ${D}${includedir} -type f -exec chmod 644 {} \;
+
+ # FIXME: Fix sonames of broken libraries
+ mv ${D}${libdir}/lib2dz160.so ${D}${libdir}/lib2dz160.so.0
+ mv ${D}${libdir}/lib2dz430.so ${D}${libdir}/lib2dz430.so.0
+ ln -sf lib2dz160.so.0 ${D}${libdir}/lib2dz160.so
+ ln -sf lib2dz430.so.0 ${D}${libdir}/lib2dz430.so
+
+ # FIXME: Remove unknown files
+ rm -r ${D}${libdir}/libcsi.a \
+ ${D}${libdir}/libres.a
+
+ # FIXME: Add pkgconfig files
+ install -d ${D}${libdir}/pkgconfig
+ install -m 644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig
+ install -m 644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig
+}
+
+PACKAGES =+ "libgsl-fsl-mx51 libgsl-fsl-mx51-dev libgsl-fsl-mx51-dbg \
+ libegl-mx51 libegl-mx51-dev libegl-mx51-dbg \
+ libgles-mx51 libgles-mx51-dev libgles-mx51-dbg \
+ libgles2-mx51 libgles2-mx51-dev libgles2-mx51-dbg \
+ libopenvg-mx51 libopenvg-mx51-dev libopenvg-mx51-dbg \
+ lib2dz160-mx51 lib2dz160-mx51-dbg \
+ lib2dz430-mx51 lib2dz430-mx51-dbg"
+
+FILES_${PN}-dbg = "${bindir}/.debug/*"
+
+FILES_libgsl-fsl-mx51 = "${libdir}/libgsl-fsl${SOLIBS}"
+FILES_libgsl-fsl-mx51-dev = "${libdir}/libgsl-fsl${SOLIBSDEV}"
+FILES_libgsl-fsl-mx51-dbg = "${libdir}/.debug/libgsl-fsl${SOLIBS}"
+
+FILES_libegl-mx51 = "${libdir}/libEGL${SOLIBS}"
+FILES_libegl-mx51-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/libEGL${SOLIBSDEV}"
+FILES_libegl-mx51-dbg = "${libdir}/.debug/libEGL${SOLIBS}"
+
+FILES_libgles-mx51 = "${libdir}/libGLESv1*${SOLIBS}"
+FILES_libgles-mx51-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBSDEV}"
+FILES_libgles-mx51-dbg = "${libdir}/.debug/libGLESv1*${SOLIBS}"
+
+FILES_libgles2-mx51 = "${libdir}/libGLESv2${SOLIBS}"
+FILES_libgles2-mx51-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV}"
+FILES_libgles2-mx51-dbg = "${libdir}/.debug/libGLESv2${SOLIBS}"
+
+FILES_libopenvg-mx51 = "${libdir}/libOpenVG${SOLIBS}"
+FILES_libopenvg-mx51-dev = "${includedir}/VG ${libdir}/libOpenVG${SOLIBSDEV}"
+FILES_libopenvg-mx51-dbg = "${libdir}/.debug/libOpenVG${SOLIBS}"
+
+FILES_lib2dz160-mx51 = "${libdir}/lib2dz160${SOLIBS}"
+FILES_lib2dz160-mx51-dbg = "${libdir}/.debug/lib2dz160${SOLIBS}"
+
+FILES_lib2dz430-mx51 = "${libdir}/lib2dz430${SOLIBS}"
+FILES_lib2dz430-mx51-dbg = "${libdir}/.debug/lib2dz430${SOLIBS}"
diff --git a/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb
new file mode 100644
index 00000000..7fc351b0
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb
@@ -0,0 +1,25 @@
+# Copyright (C) 2011-2015 O.S. Systems Software LTDA.
+# Copyright (C) 2011, 2012 Freescale
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "GPU driver and apps for x11 on mx51"
+PR = "r12"
+
+# FIXME: Replace for correct AMD license
+LIC_FILES_CHKSUM = "file://usr/include/VG/openvg.h;endline=30;md5=b0109611dd76961057d4c45ae6519802"
+DEPENDS = "virtual/libx11 libxrender libxext"
+
+include amd-gpu-mx51.inc
+
+SRC_URI[md5sum] = "54391a4e670b597d06d01253fb217cad"
+SRC_URI[sha256sum] = "c7a6fa03b7aa2a375556c59908876554ba720c1e744baba2debb84a408f790db"
+
+RCONFLICTS_${PN} = "amd-gpu-bin-mx51"
+
+COMPATIBLE_MACHINE = "${@base_contains('DISTRO_FEATURES', 'x11', '(mx5)', 'Invalid!', d)}"
+
+do_install_append() {
+ # eglplatform_1.4.h contains X11 compatible headers
+ rm ${D}${includedir}/EGL/eglplatform.h
+ mv ${D}${includedir}/EGL/eglplatform_1.4.h ${D}${includedir}/EGL/eglplatform.h
+}
diff --git a/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/egl.pc b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/egl.pc
new file mode 100644
index 00000000..3d2ab5db
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/egl.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/lib
+includedir=/usr/include
+
+Name: egl
+Description: AMD EGL library
+Requires.private:
+Version: 8.0
+Libs: -L${libdir} -lEGL
+Cflags: -I${includedir}
diff --git a/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch
new file mode 100644
index 00000000..946bfac7
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch
@@ -0,0 +1,54 @@
+diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglext.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglext.h
+--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglext.h 2012-08-18 12:43:19.431788396 -0300
++++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglext.h 2012-08-18 12:43:50.799909873 -0300
+@@ -164,11 +164,11 @@
+ * nanoseconds (unadjusted standard time). Here, it is defined as
+ * appropriate for an ISO C compiler.
+ */
+-#ifndef _LINUX
++#ifndef __linux__
+ typedef uint64_t EGLTimeKHR;
+-#else // _LINUX
++#else // __linux__
+ typedef unsigned long long EGLTimeKHR;
+-#endif // _LINUX
++#endif // __linux__
+
+ #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0xFFF8
+ #define EGL_SYNC_STATUS_KHR 0xFFF7
+diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglfslext.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglfslext.h
+--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglfslext.h 2012-08-18 12:43:19.431788396 -0300
++++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglfslext.h 2012-08-18 12:43:50.759785714 -0300
+@@ -65,7 +65,7 @@
+ } eglYUVInfo;
+ #endif
+
+-#ifdef _LINUX
++#ifdef __linux__
+ struct EGLImageInfoFSL
+ {
+ void *mem_virt[3]; //virtual addresses for Y/U/V planes
+diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/ext.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/ext.h
+--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/ext.h 2012-08-18 12:43:19.431788396 -0300
++++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/ext.h 2012-08-18 12:43:50.799909873 -0300
+@@ -15,7 +15,7 @@
+ extern "C" {
+ #endif
+
+-#ifndef _LINUX
++#ifndef __linux__
+ #include <VG/openvg.h>
+ #else
+ #include "openvg.h"
+diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/openvg.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/openvg.h
+--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/openvg.h 2012-08-18 12:43:19.431788396 -0300
++++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/openvg.h 2012-08-18 12:43:50.799909873 -0300
+@@ -449,7 +449,7 @@
+ # endif
+ # elif defined(__APPLE__)
+ # define VG_API_CALL extern
+-# elif defined(_LINUX)
++# elif defined(__linux__)
+ # if defined (OPENVG_DLL_EXPORTS)
+ # define VG_API_CALL extern
+ # else
diff --git a/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc
new file mode 100644
index 00000000..62e1cb65
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/lib
+includedir=/usr/include
+
+Name: glesv2
+Description: AMD OpenGL ES 2.0 library
+Requires.private:
+Version: 8.0
+Libs: -L${libdir} -lGLESv2 -lEGL
+Cflags: -I${includedir}
diff --git a/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb
new file mode 100644
index 00000000..43b9f7ff
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb
@@ -0,0 +1,36 @@
+# Copyright (C) 2011-2015 O.S. Systems Software LTDA.
+# Copyright (C) 2011, 2012 Freescale
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "AMD libz160 gpu driver"
+LICENSE = "Proprietary"
+SECTION = "libs"
+DEPENDS = "amd-gpu-mx51"
+
+PR = "r2"
+
+#todo: Replace for correct AMD license
+LIC_FILES_CHKSUM = "file://usr/include/z160.h;endline=28;md5=65dd44cd769091092f38e34cd52cc271"
+
+SRC_URI = "${FSL_MIRROR}/libz160-bin-${PV}.bin;fsl-eula=true"
+SRC_URI[md5sum] = "9a9c2c93f4b44e89316772d348eead7d"
+SRC_URI[sha256sum] = "08767eb269a0a30ca0aa3d3b5aa9a53a2d17ed1c24651b7e8cefc7704b883f19"
+
+inherit fsl-eula-unpack
+
+do_install () {
+ install -d ${D}${libdir}
+ install -d ${D}${includedir}
+ install -m 0755 ${S}/usr/lib/* ${D}${libdir}
+ install -m 0644 ${S}/usr/include/* ${D}${includedir}
+}
+
+S = "${WORKDIR}/${PN}-bin-${PV}"
+
+# Avoid QA Issue: No GNU_HASH in the elf binary
+INSANE_SKIP_${PN} = "ldflags"
+INSANE_SKIP_${PN}-dev = "ldflags"
+FILES_${PN} = "${libdir}/*.so"
+FILES_${PN}-dev = "${includedir}"
+
+COMPATIBLE_MACHINE = "(mx5)"
diff --git a/meta-fsl-arm/recipes-graphics/cairo/cairo_%.bbappend b/meta-fsl-arm/recipes-graphics/cairo/cairo_%.bbappend
new file mode 100644
index 00000000..ab1c37a5
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/cairo/cairo_%.bbappend
@@ -0,0 +1,11 @@
+CFLAGS_append_mx6 = " -DLINUX \
+ ${@base_contains('DISTRO_FEATURES', 'x11', '', \
+ base_contains('DISTRO_FEATURES', 'wayland', \
+ '-DEGL_API_FB -DEGL_API_WL', \
+ base_contains('DISTRO_FEATURES', 'directfb', \
+ '-DEGL_API_DFB', '-DEGL_API_FB', d),d),d)}"
+
+
+PACKAGECONFIG_append_mx6q = " egl glesv2"
+PACKAGECONFIG_append_mx6dl = " egl glesv2"
+PACKAGECONFIG_append_mx6sx = " egl glesv2"
diff --git a/meta-fsl-arm/recipes-graphics/clutter/clutter-1.0_%.bbappend b/meta-fsl-arm/recipes-graphics/clutter/clutter-1.0_%.bbappend
new file mode 100644
index 00000000..cdeac1f2
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/clutter/clutter-1.0_%.bbappend
@@ -0,0 +1,9 @@
+# Provide the need flags and backend settings to work with Vivante GPU
+CFLAGS_append_mx6 = " -DLINUX \
+ ${@base_contains('DISTRO_FEATURES', 'x11', '', \
+ base_contains('DISTRO_FEATURES', 'wayland', \
+ '-DEGL_API_WL -DEGL_API_FB', '', d), d)}"
+
+PACKAGECONFIG_mx6 ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'glx x11', \
+ base_contains('DISTRO_FEATURES', 'wayland', \
+ 'wayland egl', '', d), d)}"
diff --git a/meta-fsl-arm/recipes-graphics/cogl/cogl-1.0_%.bbappend b/meta-fsl-arm/recipes-graphics/cogl/cogl-1.0_%.bbappend
new file mode 100644
index 00000000..f77581df
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/cogl/cogl-1.0_%.bbappend
@@ -0,0 +1,10 @@
+# Provide the need flags and backend settings to work with Vivante GPU
+CFLAGS_append_mx6 = " -DLINUX \
+ ${@base_contains('DISTRO_FEATURES', 'x11', '', \
+ base_contains('DISTRO_FEATURES', 'wayland', \
+ '-DEGL_API_WL -DEGL_API_FB', '', d), d)}"
+
+PACKAGECONFIG_mx6 ??= "cogl-pango gles2 \
+ ${@base_contains('DISTRO_FEATURES', 'x11', 'egl-x11', \
+ base_contains('DISTRO_FEATURES', 'wayland', \
+ 'egl-wayland', '', d), d)}"
diff --git a/meta-fsl-arm/recipes-graphics/directfb/directfb/Check-input-NULL-pointer.patch b/meta-fsl-arm/recipes-graphics/directfb/directfb/Check-input-NULL-pointer.patch
new file mode 100644
index 00000000..1d541722
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/directfb/directfb/Check-input-NULL-pointer.patch
@@ -0,0 +1,42 @@
+From 0c1e3d1d54b7f2e637b0984ea10aef1de278ff87 Mon Sep 17 00:00:00 2001
+From: "yong.gan" <yong.gan@freescale.com>
+Date: Fri, 23 May 2014 14:15:09 +0800
+Subject: [PATCH] Check input NULL pointer
+
+Fix the segmentation fault in multi-instance test.
+
+Upstream Status: Pending
+---
+ inputdrivers/linux_input/linux_input.c | 2 +-
+ src/core/input.c | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/inputdrivers/linux_input/linux_input.c b/inputdrivers/linux_input/linux_input.c
+index e275762..35cfbdd 100644
+--- a/inputdrivers/linux_input/linux_input.c
++++ b/inputdrivers/linux_input/linux_input.c
+@@ -1979,7 +1979,7 @@ driver_get_keymap_entry( CoreInputDevice *device,
+ unsigned short value;
+ DFBInputDeviceKeyIdentifier identifier;
+
+- if (data->vt_fd < 0)
++ if (data == NULL || data->vt_fd < 0)
+ return DFB_UNSUPPORTED;
+
+ /* fetch the base level */
+diff --git a/src/core/input.c b/src/core/input.c
+index d77bc9f..ee23909 100644
+--- a/src/core/input.c
++++ b/src/core/input.c
+@@ -723,6 +723,8 @@ dfb_input_core_suspend( DFBInputCore *data )
+ driver->info.name );
+ }
+ }
++ if(data == NULL)
++ return DFB_FAILURE;
+
+ direct_list_foreach (device, data->devices) {
+ InputDeviceShared *devshared;
+--
+1.9.1
+
diff --git a/meta-fsl-arm/recipes-graphics/directfb/directfb/bashism.patch b/meta-fsl-arm/recipes-graphics/directfb/directfb/bashism.patch
new file mode 100644
index 00000000..2ef4e938
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/directfb/directfb/bashism.patch
@@ -0,0 +1,18 @@
+${x//y/} is a bash syntax. Replace with something dash compatible
+
+RP 2015/5/3
+Upstream-Status: Pending
+
+Index: DirectFB-1.7.7/configure.in
+===================================================================
+--- DirectFB-1.7.7.orig/configure.in
++++ DirectFB-1.7.7/configure.in
+@@ -2696,7 +2696,7 @@ AM_CONDITIONAL(BUILD_TOOLS, test "$with_
+ AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = "yes")
+
+ CFLAGS="$CFLAGS $DFB_INTERNAL_CFLAGS"
+-CXXFLAGS="$CXXFLAGS ${CFLAGS//-Werror-implicit-function-declaration/}"
++CXXFLAGS="$CXXFLAGS $(printf '%s\n' "$CFLAGS" | sed 's/-Werror-implicit-function-declaration//g')"
+ DFB_LDFLAGS="$LDFLAGS $ZLIB_LIBS"
+
+ CFLAGS="$CFLAGS $CFLAGS_STD"
diff --git a/meta-fsl-arm/recipes-graphics/directfb/directfb/configurefix.patch b/meta-fsl-arm/recipes-graphics/directfb/directfb/configurefix.patch
new file mode 100644
index 00000000..dd8c0190
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/directfb/directfb/configurefix.patch
@@ -0,0 +1,60 @@
+Libtool needs these set correctly else we end up with pointless rpaths
+such as the QA warnings:
+
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfblayer contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbmaster contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgifft contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbdump contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinput contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbfx contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbscreen contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgiff contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinspector contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdfiff contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinfo contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbpenmount contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbg contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_fbdev.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_devmem.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_dummy.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/ICoreResourceManager/libicoreresourcemanager_test.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_ft2.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/wm/libdirectfbwm_default.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_zytronic.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_penmount.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_linux_input.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_serialmouse.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_mutouch.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_tslib.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_joystick.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_sonypi.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_lirc.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_wm97xx_ts.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_ps2mouse.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_keyboard.so contains probably-redundant RPATH /usr/lib
+
+Upstream-Status: Pending
+
+RP 2012/03/16
+
+Index: DirectFB-1.4.15/configure.in
+===================================================================
+--- DirectFB-1.4.15.orig/configure.in 2012-03-16 13:32:23.692402879 +0000
++++ DirectFB-1.4.15/configure.in 2012-03-16 13:33:22.312400960 +0000
+@@ -97,13 +97,6 @@
+ AC_CHECK_SIZEOF(long long)
+ AC_CHECK_FUNCS(fork)
+
+-
+-## Work around libstuhl during cross build...
+-if test "$host" != "$build"; then
+- sys_lib_dlsearch_path_spec=""
+- sys_lib_search_path_spec=""
+-fi
+-
+ AC_PATH_PROGS(PERL, perl5 perl)
+
+ AC_PATH_PROG(MAN2HTML, man2html, no)
diff --git a/meta-fsl-arm/recipes-graphics/directfb/directfb/fixsepbuild.patch b/meta-fsl-arm/recipes-graphics/directfb/directfb/fixsepbuild.patch
new file mode 100644
index 00000000..94a9ba5f
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/directfb/directfb/fixsepbuild.patch
@@ -0,0 +1,19 @@
+Fix out of tree builds
+
+Upstream-Status: Pending
+
+RP 2013/03/21
+
+Index: DirectFB-1.6.1/configure.in
+===================================================================
+--- DirectFB-1.6.1.orig/configure.in 2013-03-19 01:38:28.174004720 +0000
++++ DirectFB-1.6.1/configure.in 2013-03-21 12:18:10.253113675 +0000
+@@ -111,7 +111,7 @@
+ AC_PATH_TOOL(FLUXCOMP, fluxcomp)
+ AC_SUBST(FLUXCOMP)
+ if test -z "$FLUXCOMP"; then
+- if ! test -e src/core/CoreDFB.cpp; then
++ if ! test -e $srcdir/src/core/CoreDFB.cpp; then
+ AC_MSG_ERROR([
+ *** DirectFB compilation requires fluxcomp ***
+
diff --git a/meta-fsl-arm/recipes-graphics/directfb/directfb/fusion.patch b/meta-fsl-arm/recipes-graphics/directfb/directfb/fusion.patch
new file mode 100644
index 00000000..1f81a679
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/directfb/directfb/fusion.patch
@@ -0,0 +1,36 @@
+directfb: Fix for hangs in direct_test, fusion_skirmish on exit
+
+Upstream-Status: Pending
+Signed-off-by: Lauren Post <lauren.post@freescale.com>
+
+--- a/lib/fusion/fusion.c 2013-01-18 22:57:11.000000000 +0800
++++ b/lib/fusion/fusion.c 2013-07-04 10:42:56.502699119 +0800
+@@ -2853,9 +2853,14 @@
+ direct_mutex_lock( &world->event_dispatcher_mutex );
+
+ while (1) {
+- if (!world->event_dispatcher_buffers)
++ if (!world->event_dispatcher_buffers){
+ direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex );
+-
++ if (world->dispatch_stop) {
++ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" );
++ direct_mutex_unlock( &world->event_dispatcher_mutex );
++ return NULL;
++ }
++ }
+ buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers;
+ D_MAGIC_ASSERT( buf, FusionEventDispatcherBuffer );
+
+@@ -2872,6 +2877,11 @@
+ //D_INFO("waiting...\n");
+ D_ASSERT( buf->read_pos == buf->write_pos );
+ direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex );
++ if (world->dispatch_stop) {
++ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" );
++ direct_mutex_unlock( &world->event_dispatcher_mutex );
++ return NULL;
++ }
+ }
+
+ buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers;
diff --git a/meta-fsl-arm/recipes-graphics/directfb/directfb_1.7.4.bb b/meta-fsl-arm/recipes-graphics/directfb/directfb_1.7.4.bb
new file mode 100644
index 00000000..9bc26373
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/directfb/directfb_1.7.4.bb
@@ -0,0 +1,26 @@
+require recipes-graphics/directfb/directfb.inc
+
+RV = "1.7-4"
+
+DEPENDS += "sysfsutils"
+
+SRC_URI += "file://fixsepbuild.patch \
+ file://Check-input-NULL-pointer.patch"
+
+EXTRA_OECONF = "\
+ --enable-freetype=yes \
+ --enable-zlib \
+ --with-gfxdrivers=none \
+ --disable-sdl \
+ --disable-vnc \
+ --disable-x11 \
+ --disable-imlib2 \
+ --disable-mesa \
+ --with-tests \
+"
+LEAD_SONAME = "libdirectfb-1.7.so.0"
+
+SRC_URI[md5sum] = "f5bdacde77fc653279819796ae11341e"
+SRC_URI[sha256sum] = "20ccd60011c788e50c940ab566943d050679067bc84dc37ca447f1b4af08481b"
+
+PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
diff --git a/meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch b/meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch
new file mode 100644
index 00000000..1160cd10
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch
@@ -0,0 +1,35 @@
+Add ARM support into xf86arm.h. This provides support for Xorg interface.
+Without this the vivante samples will hang during close requiring a reboot
+
+Upstream-Status: Pending
+
+Signed-off-by: Lauren Post <lauren.post@freescale.com>
+Signed-off-by: Evan Kotara <evan.kotara@freescale.com>
+
+diff --git a/xf86drm.h b/xf86drm.h
+--- a/xf86drm.h
++++ b/xf86drm.h
+@@ -461,6 +461,23 @@ do { register unsigned int __old __asm("
+ : "cr0", "memory"); \
+ } while (0)
+
++#elif defined(__arm__)
++ #undef DRM_DEV_MODE
++ #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
++
++ #define DRM_CAS(lock,old,new,__ret) \
++ do { \
++ __asm__ __volatile__ ( \
++ "1: ldrex %0, [%1]\n" \
++ " teq %0, %2\n" \
++ " ite eq\n" \
++ " strexeq %0, %3, [%1]\n" \
++ " movne %0, #1\n" \
++ : "=&r" (__ret) \
++ : "r" (lock), "r" (old), "r" (new) \
++ : "cc","memory"); \
++ } while (0)
++
+ #endif /* architecture */
+ #endif /* __GNUC__ >= 2 */
+
diff --git a/meta-fsl-arm/recipes-graphics/drm/libdrm_%.bbappend b/meta-fsl-arm/recipes-graphics/drm/libdrm_%.bbappend
new file mode 100644
index 00000000..6bd7968d
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/drm/libdrm_%.bbappend
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI_append_mx6 = " file://drm-update-arm.patch"
+
+PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
diff --git a/meta-fsl-arm/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend b/meta-fsl-arm/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
new file mode 100644
index 00000000..0fd67814
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
@@ -0,0 +1,4 @@
+# Set i.MX specific dependencies and device type
+EGLINFO_DEVICE_mx6q = "imx6"
+EGLINFO_DEVICE_mx6dl = "imx6"
+EGLINFO_DEVICE_mx6sx = "imx6"
diff --git a/meta-fsl-arm/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend b/meta-fsl-arm/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
new file mode 100644
index 00000000..0fd67814
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
@@ -0,0 +1,4 @@
+# Set i.MX specific dependencies and device type
+EGLINFO_DEVICE_mx6q = "imx6"
+EGLINFO_DEVICE_mx6dl = "imx6"
+EGLINFO_DEVICE_mx6sx = "imx6"
diff --git a/meta-fsl-arm/recipes-graphics/images/core-image-weston.bbappend b/meta-fsl-arm/recipes-graphics/images/core-image-weston.bbappend
new file mode 100644
index 00000000..6e33067f
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/images/core-image-weston.bbappend
@@ -0,0 +1,4 @@
+# FIXME: Vivante GPU driver cannot operate in X11 and Wayland in same
+# distribution as it needs to have different libraries installed. So
+# in case 'x11' is in DISTRO_FEATURES, Wayland is disabled.
+CONFLICT_DISTRO_FEATURES_append_mx6 = " x11"
diff --git a/meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv.inc b/meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv.inc
new file mode 100644
index 00000000..4b6e030e
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv.inc
@@ -0,0 +1,346 @@
+# Copyright (C) 2012-2015 Freescale Semiconductor
+# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "GPU driver and apps for imx6"
+SECTION = "libs"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://gpu-core/usr/include/gc_vdk.h;beginline=5;endline=11;md5=12c028cbbbedb4b8770267131500592c"
+
+DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes mesa', \
+ base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
+ '', d), d)}"
+
+EXTRA_PROVIDES = ""
+EXTRA_PROVIDES_mx6q = " virtual/libgl virtual/libgles1 virtual/libgles2"
+EXTRA_PROVIDES_mx6dl = " virtual/libgl virtual/libgles1 virtual/libgles2"
+EXTRA_PROVIDES_mx6sx = " virtual/libgl virtual/libgles1 virtual/libgles2"
+PROVIDES += "virtual/wayland-egl virtual/libgal-x11 virtual/egl virtual/libopenvg virtual/libg2d ${EXTRA_PROVIDES}"
+
+PE = "1"
+
+inherit fsl-eula-unpack
+
+SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
+
+PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
+ libgl-mx6 libgl-mx6-dev libgl-mx6-dbg \
+ libgles-mx6 libgles-mx6-dev libgles-mx6-dbg \
+ libgles2-mx6 libgles2-mx6-dev libgles2-mx6-dbg \
+ libgles3-mx6-dev \
+ libglslc-mx6 libglslc-mx6-dev libglslc-mx6-dbg \
+ libopencl-mx6 libopencl-mx6-dev libopencl-mx6-dbg \
+ libopenvg-mx6 libopenvg-mx6-dev libopenvg-mx6-dbg \
+ libvdk-mx6 libvdk-mx6-dev libvdk-mx6-dbg \
+ libegl-mx6 libegl-mx6-dev libegl-mx6-dbg \
+ libgal-mx6 libgal-mx6-dev libgal-mx6-dbg \
+ libvivante-mx6 libvivante-mx6-dev libvivante-mx6-dbg \
+ libvivante-dri-mx6 \
+ libvivante-dfb-mx6 \
+ libvsc-mx6 \
+ libwayland-viv-mx6 libwayland-viv-mx6-dev libwayland-viv-mx6-dbg \
+ libgc-wayland-protocol-mx6 libgc-wayland-protocol-mx6-dev libgc-wayland-protocol-mx6-dbg \
+ libwayland-egl-mx6-dev \
+ imx-gpu-viv-g2d imx-gpu-viv-g2d-dev imx-gpu-viv-g2d-dbg \
+ imx-gpu-viv-tools imx-gpu-viv-tools-dbg \
+ imx-gpu-viv-tools-apitrace imx-gpu-viv-tools-apitrace-dbg \
+ imx-gpu-viv-demos imx-gpu-viv-demos-dbg \
+"
+
+# Skip package if it does not match the machine float-point type in use
+python __anonymous () {
+ is_machine_hardfp = base_contains("TUNE_FEATURES", "callconvention-hard", True, False, d)
+ is_package_hardfp = d.getVar("PACKAGE_FP_TYPE", True) == "hardfp"
+
+ if is_package_hardfp != is_machine_hardfp:
+ PN = d.getVar("PN", True)
+ PV = d.getVar("PV", True)
+ bb.debug(1, "Skipping %s (%s) as machine and package float-point does not match" % (PN, PV))
+ raise bb.parse.SkipPackage("Package Float-Point is not compatible with the machine")
+}
+
+USE_X11 = "${@base_contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
+USE_DFB = "${@base_contains("DISTRO_FEATURES", "directfb", "yes", "no", d)}"
+USE_WL = "${@base_contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}"
+
+# Inhibit warnings about files being stripped.
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+# FIXME: The provided binary doesn't provide soname. If in future BSP
+# release the libraries are fixed, we can drop this hack.
+REALSOLIBS := "${SOLIBS}"
+SOLIBS = "${SOLIBSDEV}"
+
+# For the packages that make up the OpenGL interfaces, inject variables so that
+# they don't get Debian-renamed (which would remove the -mx6 suffix).
+#
+# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
+# the source we cannot fix it. Disable the insane check for now.
+python __anonymous() {
+ packages = d.getVar('PACKAGES', True).split()
+ for p in packages:
+ d.appendVar("INSANE_SKIP_%s" % p, " ldflags")
+
+ for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
+ ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"),
+ ("libgles3",)):
+ fullp = p[0] + "-mx6"
+ pkgs = " ".join(p)
+ d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
+ d.appendVar("RREPLACES_" + fullp, pkgs)
+ d.appendVar("RPROVIDES_" + fullp, pkgs)
+ d.appendVar("RCONFLICTS_" + fullp, pkgs)
+
+ # For -dev, the first element is both the Debian and original name
+ fullp += "-dev"
+ pkgs = p[0] + "-dev"
+ d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
+ d.appendVar("RREPLACES_" + fullp, pkgs)
+ d.appendVar("RPROVIDES_" + fullp, pkgs)
+ d.appendVar("RCONFLICTS_" + fullp, pkgs)
+}
+
+IS_MX6SL = "0"
+IS_MX6SL_mx6sl = "1"
+
+do_install () {
+ install -d ${D}${libdir}
+ install -d ${D}${includedir}
+ install -d ${D}${bindir}
+
+ cp -P ${S}/gpu-core/usr/lib/*.so* ${D}${libdir}
+ cp ${S}/g2d/usr/lib/*.so* ${D}${libdir}
+ cp -r ${S}/gpu-core/usr/include/* ${D}${includedir}
+ cp -Pr ${S}/g2d/usr/include/* ${D}${includedir}
+ cp -r ${S}/gpu-demos/opt ${D}
+ cp -axr ${S}/gpu-tools/gmem-info/usr/bin/* ${D}${bindir}
+
+ install -d ${D}${libdir}/pkgconfig
+
+ # The preference order, based in DISTRO_FEATURES, is x11, wayland, directfb and fb
+ if [ "${USE_X11}" = "yes" ]; then
+ cp -r ${S}/gpu-core/usr/lib/dri ${D}${libdir}
+ cp -axr ${S}/apitrace/x11/usr/lib/* ${D}${libdir}
+ cp -axr ${S}/apitrace/x11/usr/bin/* ${D}${bindir}
+
+ backend=x11
+
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_x11.pc ${D}${libdir}/pkgconfig/egl.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm_x11.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2_x11.pc ${D}${libdir}/pkgconfig/glesv2.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg_x11.pc ${D}${libdir}/pkgconfig/vg.pc
+ mv ${D}${libdir}/libGAL_egl.dri.so ${D}${libdir}/libGAL_egl.so
+ #FIXME: WL & X11 is not currently functional
+ #if [ "${USE_WL}" = "yes" ]; then
+ # install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
+ # install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
+ # install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
+ #fi
+ elif [ "${USE_WL}" = "yes" ]; then
+ cp -axr ${S}/apitrace/non-x11/usr/lib/* ${D}${libdir}
+ cp -axr ${S}/apitrace/non-x11/usr/bin/* ${D}${bindir}
+
+ backend=wl
+
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_wayland.pc ${D}${libdir}/pkgconfig/egl.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
+ mv ${D}${libdir}/libGAL_egl.${backend}.so ${D}${libdir}/libGAL_egl.so
+ else
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc
+
+ if [ "${USE_DFB}" = "yes" ]; then
+ install -d ${D}/${sysconfdir}
+ install -m 644 ${S}/gpu-core/etc/directfbrc ${D}/${sysconfdir}/directfbrc
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_directfb.pc ${D}${libdir}/pkgconfig/egl.pc
+
+ cp -r ${S}/gpu-core/usr/lib/directfb-* ${D}${libdir}
+ cp -axr ${S}/apitrace/non-x11/usr/lib/* ${D}${libdir}
+ cp -axr ${S}/apitrace/non-x11/usr/bin/* ${D}${bindir}
+ backend=dfb
+ else
+ # Regular framebuffer
+ install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_linuxfb.pc ${D}${libdir}/pkgconfig/egl.pc
+ cp -axr ${S}/apitrace/non-x11/usr/lib/* ${D}${libdir}
+ cp -axr ${S}/apitrace/non-x11/usr/bin/* ${D}${bindir}
+ backend=fb
+ fi
+ mv ${D}${libdir}/libGAL_egl.${backend}.so ${D}${libdir}/libGAL_egl.so
+ fi
+
+ # Install Vendor ICDs for OpenCL's installable client driver loader (ICDs Loader)
+ install -d ${D}${sysconfdir}/OpenCL/vendors/
+ install -m 0644 ${S}/gpu-core/etc/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd
+
+ # We'll only have one backend here so we rename it to generic name
+ # and avoid rework in other packages, when possible
+ mv ${D}${libdir}/libGL.so.1.2 ${D}${libdir}/libGL.so.1.2.0
+ ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so.1.2
+ ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so.1
+ ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so
+ mv ${D}${libdir}/libEGL-${backend}.so ${D}${libdir}/libEGL.so.1.0
+ ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1
+ ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so
+ mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so
+ mv ${D}${libdir}/libVIVANTE-${backend}.so ${D}${libdir}/libVIVANTE.so
+
+ # update libglesv2 as backend dependent
+ rm -rf ${D}${libdir}/libGLESv2*
+ cp ${S}/gpu-core/usr/lib/libGLESv2-${backend}.so ${D}${libdir}/libGLESv2.so.2.0.0
+ ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so.2
+ ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so
+
+ # FIXME: The libGL.so* libraries depend on the X11 libraries and
+ # libglapi.so from mesa. For non-X11 distros, neither of them are listed
+ # as build dependencies, which can lead to non-deterministic package
+ # dependencies. If the intention is that the GL backend should be usable
+ # without X11, the linking should be fixed. For now just skip
+ # packaging them.
+ if [ "${USE_X11}" = "no" ]; then
+ rm ${D}${libdir}/libGL.*
+ fi
+
+ # skip packaging wayland libraries if no support is requested
+ if [ "${USE_WL}" = "no" ]; then
+ rm ${D}${libdir}/libgc_wayland_protocol.*
+ rm ${D}${libdir}/libwayland-viv.*
+ fi
+
+ for backend in wl x11 fb dfb dri; do
+ find ${D}${libdir} -name "*-$backend.so" -exec rm '{}' ';'
+ find ${D}${libdir} -name "*.$backend.so" -exec rm '{}' ';'
+ done
+
+ # FIXME: MX6SL does not have 3D support; hack it for now
+ if [ "${IS_MX6SL}" = "1" ]; then
+ rm -rf ${D}${libdir}/libCLC* ${D}${includedir}/CL \
+ \
+ ${D}${libdir}/libGL* ${D}${includedir}/GL* \
+ \
+ ${D}${libdir}/libGLES* \
+ \
+ ${D}${libdir}/libOpenCL* ${D}${includedir}/CL \
+ \
+ ${D}${libdir}/libOpenVG.so ${D}${libdir}/libOpenVG.3d.so \
+ \
+ ${D}${libdir}/libVivanteOpenCL.so \
+ \
+ ${D}/opt/viv_samples/vdk \
+ ${D}/opt/viv_samples/es20 ${D}/opt/viv_samples/cl11
+
+ ln -sf libOpenVG.2d.so ${D}${libdir}/libOpenVG.so
+ fi
+
+ find ${D}${libdir} -type f -exec chmod 644 {} \;
+ find ${D}${includedir} -type f -exec chmod 644 {} \;
+}
+
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_libclc-mx6 = "${libdir}/libCLC${SOLIBS}"
+FILES_libclc-mx6-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
+FILES_libclc-mx6-dbg = "${libdir}/.debug/libCLC${SOLIBS}"
+
+# libEGL.so is used by some demo apps from Freescale
+INSANE_SKIP_libegl-mx6 += "dev-so"
+FILES_libegl-mx6 = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} "
+FILES_libegl-mx6-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
+FILES_libegl-mx6-dbg = "${libdir}/.debug/libEGL${SOLIBS}"
+
+FILES_libgal-mx6 = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
+FILES_libgal-mx6-dev = "${libdir}/libGAL${SOLIBSDEV} ${includedir}/HAL"
+FILES_libgal-mx6-dbg = "${libdir}/.debug/libGAL${SOLIBS}"
+
+FILES_libvsc-mx6 = "${libdir}/libVSC${SOLIBS}"
+
+FILES_libgl-mx6 = "${libdir}/libGL${REALSOLIBS}"
+FILES_libgl-mx6-dev = "${libdir}/libGL${SOLIBSDEV}"
+FILES_libgl-mx6-dbg = "${libdir}/.debug/libGL.${SOLIBS}"
+RDEPENDS_libgl-mx6 = "libglapi"
+# Includes GL headers from mesa
+RDEPENDS_libgl-mx6-dev += "libgl-mesa-dev"
+
+# libEGL needs to open libGLESv1.so
+INSANE_SKIP_libgles-mx6 += "dev-so"
+FILES_libgles-mx6 = "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${REALSOLIBS} ${libdir}/libGLES_*${SOLIBS}"
+FILES_libgles-mx6-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBSDEV} ${libdir}/pkgconfig/glesv1_cm.pc"
+FILES_libgles-mx6-dbg = "${libdir}/.debug/libGLESv1*${SOLIBS} ${libdir}/.debug/libGLES_*${SOLIBS}"
+
+# libEGL needs to open libGLESv2.so
+INSANE_SKIP_libgles2-mx6 += "dev-so"
+FILES_libgles2-mx6 = "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}"
+FILES_libgles2-mx6-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV} ${libdir}/pkgconfig/glesv2.pc"
+FILES_libgles2-mx6-dbg = "${libdir}/.debug/libGLESv2${SOLIBS}"
+RDEPENDS_libgles2-mx6 = "libglslc-mx6"
+
+FILES_libgles3-mx6-dev = "${includedir}/GLES3"
+# as long as there is no libgles3-mx6: ship libgles3-mx6-dev along with
+# libgles2-mx6-dev - otherwise GLES3 headers have to be added manually
+RDEPENDS_libgles2-mx6-dev += "libgles3-mx6-dev"
+
+FILES_libglslc-mx6 = "${libdir}/libGLSLC${SOLIBS}"
+FILES_libglslc-mx6-dev = "${includedir}/CL ${libdir}/libGLSLC${SOLIBSDEV}"
+FILES_libglslc-mx6-dbg = "${libdir}/.debug/libGLSLC${SOLIBS}"
+
+FILES_libopencl-mx6 = "${libdir}/libOpenCL${SOLIBS} \
+ ${libdir}/libVivanteOpenCL${SOLIBS} \
+ ${sysconfdir}/OpenCL/vendors/Vivante.icd"
+FILES_libopencl-mx6-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
+FILES_libopencl-mx6-dbg = "${libdir}/.debug/libOpenCL${SOLIBS}"
+RDEPENDS_libopencl-mx6 = "libclc-mx6"
+
+INSANE_SKIP_libopenvg-mx6 += "dev-so"
+FILES_libopenvg-mx6 = "${libdir}/libOpenVG*${SOLIBS}"
+FILES_libopenvg-mx6-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
+FILES_libopenvg-mx6-dbg = "${libdir}/.debug/libOpenVG*${SOLIBS}"
+
+FILES_libvdk-mx6 = "${libdir}/libVDK${SOLIBS}"
+FILES_libvdk-mx6-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}"
+FILES_libvdk-mx6-dbg = "${libdir}/.debug/libVDK${SOLIBS}"
+
+FILES_libvivante-mx6 = "${libdir}/libVIVANTE${SOLIBS}"
+FILES_libvivante-mx6-dev = "${libdir}/libVIVANTE${SOLIBSDEV}"
+FILES_libvivante-mx6-dbg = "${libdir}/.debug/libVIVANTE${SOLIBS}"
+
+FILES_libvivante-dri-mx6 = "${libdir}/dri/vivante_dri.so"
+RDEPENDS_libvivante-dri-mx6 = "libdrm"
+
+FILES_libvivante-dfb-mx6 = "${libdir}/directfb-*/gfxdrivers/libdirectfb_gal.so"
+
+INSANE_SKIP_libwayland-viv-mx6 += "dev-so"
+FILES_libwayland-viv-mx6 = "${libdir}/libwayland-viv${REALSOLIBS} ${libdir}/libwayland-viv${SOLIBS}"
+FILES_libwayland-viv-mx6-dev = "${includedir}/wayland-viv ${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc"
+FILES_libwayland-viv-mx6-dbg = "${libdir}/.debug/libwayland-viv${SOLIBS}"
+
+INSANE_SKIP_libgc-wayland-protocol-mx6 += "dev-so"
+FILES_libgc-wayland-protocol-mx6 = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}"
+FILES_libgc-wayland-protocol-mx6-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc"
+FILES_libgc-wayland-protocol-mx6-dbg = "${libdir}/libgc_wayland_protocol${SOLIBS}"
+
+FILES_libwayland-egl-mx6-dev = "${libdir}/pkgconfig/wayland-egl.pc"
+
+FILES_libvivante-dfb-mx6 += "${sysconfdir}/directfbrc"
+
+INSANE_SKIP_imx-gpu-viv-g2d += "dev-so"
+FILES_imx-gpu-viv-g2d = "${libdir}/libg2d* "
+FILES_imx-gpu-viv-g2d-dev = "${includedir}/g2d.h"
+FILES_imx-gpu-viv-g2d-dbg = "${libdir}/.debug/libg2d${SOLIBS}"
+
+FILES_imx-gpu-viv-tools = "${bindir}/gmem_info"
+FILES_imx-gpu-viv-tools-dbg = "${bindir}/gmem_info"
+
+FILES_imx-gpu-viv-tools-apitrace = "${bindir} ${libdir}"
+FILES_imx-gpu-viv-tools-apitrace-dbg = "${libdir}/*/*/.debug"
+
+FILES_imx-gpu-viv-demos = "/opt"
+FILES_imx-gpu-viv-demos-dbg = "/opt/viv_samples/*/*/.debug"
+INSANE_SKIP_imx-gpu-viv-demos += "rpaths"
+
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p4.5-hfp.bb b/meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p4.5-hfp.bb
new file mode 100644
index 00000000..fab7ca11
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p4.5-hfp.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require imx-gpu-viv.inc
+
+SRC_URI[md5sum] = "8314408acb6b3bc58fcbbb8a0f48b54b"
+SRC_URI[sha256sum] = "0591b495cd1c2547ae007d405b90729e2fb90603a5728b39d1a99cb4e1cf1eb4"
+
+PACKAGE_FP_TYPE = "hardfp"
diff --git a/meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p4.5-sfp.bb b/meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p4.5-sfp.bb
new file mode 100644
index 00000000..30d28008
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/imx-gpu-viv/imx-gpu-viv_5.0.11.p4.5-sfp.bb
@@ -0,0 +1,12 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require imx-gpu-viv.inc
+
+SRC_URI[md5sum] = "479dce20e0e2f9f7d0a4e4ff70d4a4b2"
+SRC_URI[sha256sum] = "b5b9c8e216b2bc4281c2443e07eab90547de0abd705614756ed68c7ad2fcf97a"
+
+# FIXME skip the QA error for viv-samples
+INSANE_SKIP_${PN} += "rpaths"
+
+PACKAGE_FP_TYPE = "softfp"
diff --git a/meta-fsl-arm/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch b/meta-fsl-arm/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch
new file mode 100644
index 00000000..d899540f
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch
@@ -0,0 +1,355 @@
+From 757649a766f90e745f24df1d191caeef15c71399 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Tue, 4 Jun 2013 09:28:51 -0300
+Subject: [PATCH] Replace glWindowPos2iARB calls with glWindowPos2i
+
+Vivante libGL does not provide the glWindowPos2iARB symbol, but
+glWindowPos2i. Use this instead.
+
+Upstream-Status: Inapropriate [embedded specific]
+
+Reported-by: Jeremy Stashluk <jstashluk@dekaresearch.com>
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ src/demos/copypix.c | 4 ++--
+ src/demos/engine.c | 2 +-
+ src/demos/fogcoord.c | 4 ++--
+ src/glsl/shadow_sampler.c | 2 +-
+ src/tests/auxbuffer.c | 2 +-
+ src/tests/copypixrate.c | 2 +-
+ src/tests/drawbuffers.c | 2 +-
+ src/tests/drawbuffers2.c | 2 +-
+ src/tests/fbotest1.c | 2 +-
+ src/tests/fbotest2.c | 4 ++--
+ src/tests/fbotest3.c | 2 +-
+ src/tests/readrate.c | 10 +++++-----
+ src/tests/viewmemory.c | 2 +-
+ src/trivial/clear-fbo-scissor.c | 2 +-
+ src/trivial/clear-fbo-tex.c | 2 +-
+ src/trivial/clear-fbo.c | 2 +-
+ src/trivial/readpixels.c | 2 +-
+ src/trivial/tri-fbo.c | 2 +-
+ src/xdemos/glxsnoop.c | 2 +-
+ src/xdemos/wincopy.c | 4 ++--
+ 20 files changed, 28 insertions(+), 28 deletions(-)
+
+diff --git a/src/demos/copypix.c b/src/demos/copypix.c
+index 286c5a9..041b567 100644
+--- a/src/demos/copypix.c
++++ b/src/demos/copypix.c
+@@ -54,7 +54,7 @@ static void Display( void )
+ glClear( GL_COLOR_BUFFER_BIT );
+
+ /* draw original image */
+- glWindowPos2iARB(dx, dy);
++ glWindowPos2i(dx, dy);
+ glDrawPixels(ImgWidth, ImgHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
+
+ if (Scissor)
+@@ -71,7 +71,7 @@ static void Display( void )
+
+ /* draw copy */
+ glPixelZoom(Xzoom, Yzoom);
+- glWindowPos2iARB(Xpos, Ypos);
++ glWindowPos2i(Xpos, Ypos);
+ glCopyPixels(dx, dy, ImgWidth, ImgHeight, GL_COLOR);
+ glPixelZoom(1, 1);
+
+diff --git a/src/demos/engine.c b/src/demos/engine.c
+index 928fcbb..beace4c 100644
+--- a/src/demos/engine.c
++++ b/src/demos/engine.c
+@@ -971,7 +971,7 @@ Draw(void)
+ glDisable(GL_LIGHTING);
+ glDisable(GL_TEXTURE_2D);
+ glColor3f(1, 1 , 1);
+- glWindowPos2iARB(10, 10);
++ glWindowPos2i(10, 10);
+ PrintString(s);
+ if (lit)
+ glEnable(GL_LIGHTING);
+diff --git a/src/demos/fogcoord.c b/src/demos/fogcoord.c
+index 567eec0..e833009 100644
+--- a/src/demos/fogcoord.c
++++ b/src/demos/fogcoord.c
+@@ -68,14 +68,14 @@ PrintInfo(void)
+
+ sprintf(s, "Mode(m): %s Start(s/S): %g End(e/E): %g Density(d/D): %g",
+ ModeStr, fogStart, fogEnd, fogDensity);
+- glWindowPos2iARB(5, 20);
++ glWindowPos2i(5, 20);
+ PrintString(s);
+
+ sprintf(s, "Arrays(a): %s glFogCoord(c): %s EyeZ(z/z): %g",
+ (Arrays ? "Yes" : "No"),
+ (fogCoord ? "Yes" : "No"),
+ camz);
+- glWindowPos2iARB(5, 5);
++ glWindowPos2i(5, 5);
+ PrintString(s);
+ }
+
+diff --git a/src/glsl/shadow_sampler.c b/src/glsl/shadow_sampler.c
+index b830030..eb82d8b 100644
+--- a/src/glsl/shadow_sampler.c
++++ b/src/glsl/shadow_sampler.c
+@@ -85,7 +85,7 @@ Redisplay(void)
+ glPopMatrix();
+
+ glUseProgram(0);
+- glWindowPos2iARB(80, 20);
++ glWindowPos2i(80, 20);
+ PrintString("white black white black");
+
+ {
+diff --git a/src/tests/auxbuffer.c b/src/tests/auxbuffer.c
+index 5fa399a..0cd5f47 100644
+--- a/src/tests/auxbuffer.c
++++ b/src/tests/auxbuffer.c
+@@ -419,7 +419,7 @@ event_loop(Display *dpy, Window win)
+ /* Copy aux buffer image to back color buffer */
+ glReadBuffer(GL_AUX0);
+ glDrawBuffer(GL_BACK);
+- glWindowPos2iARB(0, 0);
++ glWindowPos2i(0, 0);
+ glDisable(GL_DEPTH_TEST);
+ glCopyPixels(0, 0, WinWidth, WinHeight, GL_COLOR);
+ glEnable(GL_DEPTH_TEST);
+diff --git a/src/tests/copypixrate.c b/src/tests/copypixrate.c
+index 2f64e0a..df1f9b0 100644
+--- a/src/tests/copypixrate.c
++++ b/src/tests/copypixrate.c
+@@ -91,7 +91,7 @@ BlitOne(void)
+ else
+ #endif
+ {
+- glWindowPos2iARB(x, y);
++ glWindowPos2i(x, y);
+ glCopyPixels(0, 0, ImgWidth, ImgHeight, GL_COLOR);
+ }
+ }
+diff --git a/src/tests/drawbuffers.c b/src/tests/drawbuffers.c
+index fa2f8a7..cd5033f 100644
+--- a/src/tests/drawbuffers.c
++++ b/src/tests/drawbuffers.c
+@@ -88,7 +88,7 @@ Display(void)
+ glUseProgram(0);
+ glDisable(GL_DEPTH_TEST);
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
+- glWindowPos2iARB(0, 0);
++ glWindowPos2i(0, 0);
+ glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
+
+ free(buffer);
+diff --git a/src/tests/drawbuffers2.c b/src/tests/drawbuffers2.c
+index 5bcf0b2..84d444b 100644
+--- a/src/tests/drawbuffers2.c
++++ b/src/tests/drawbuffers2.c
+@@ -112,7 +112,7 @@ Display(void)
+ glUseProgram(0);
+ glDisable(GL_DEPTH_TEST);
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
+- glWindowPos2iARB(0, 0);
++ glWindowPos2i(0, 0);
+ glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
+
+ free(buffer);
+diff --git a/src/tests/fbotest1.c b/src/tests/fbotest1.c
+index 161903c..5930a6d 100644
+--- a/src/tests/fbotest1.c
++++ b/src/tests/fbotest1.c
+@@ -61,7 +61,7 @@ Display( void )
+
+ /* draw to window */
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
+- glWindowPos2iARB(0, 0);
++ glWindowPos2i(0, 0);
+ glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
+
+ free(buffer);
+diff --git a/src/tests/fbotest2.c b/src/tests/fbotest2.c
+index 6ef7f12..11c867e 100644
+--- a/src/tests/fbotest2.c
++++ b/src/tests/fbotest2.c
+@@ -72,7 +72,7 @@ Display( void )
+
+ glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */
+
+- glWindowPos2iARB(0, 0);
++ glWindowPos2i(0, 0);
+ glCopyPixels(0, 0, Width, Height, GL_COLOR);
+ }
+ else if (blitPix) {
+@@ -95,7 +95,7 @@ Display( void )
+ /* draw to window */
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
+ glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */
+- glWindowPos2iARB(0, 0);
++ glWindowPos2i(0, 0);
+ glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
+
+ free(buffer);
+diff --git a/src/tests/fbotest3.c b/src/tests/fbotest3.c
+index 19f684d..e6d7710 100644
+--- a/src/tests/fbotest3.c
++++ b/src/tests/fbotest3.c
+@@ -79,7 +79,7 @@ Display( void )
+ /* draw to window */
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
+ glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */
+- glWindowPos2iARB(0, 0);
++ glWindowPos2i(0, 0);
+ glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
+
+ free(buffer);
+diff --git a/src/tests/readrate.c b/src/tests/readrate.c
+index 3859cf4..81eb8a3 100644
+--- a/src/tests/readrate.c
++++ b/src/tests/readrate.c
+@@ -85,7 +85,7 @@ MeasureFormat(struct format_type *fmt, GLint width, GLint height, GLuint pbo)
+ glEnd();
+
+ #if DRAW
+- glWindowPos2iARB(0,0);
++ glWindowPos2i(0,0);
+ glDrawPixels(width, height,
+ fmt->Format, fmt->Type, Buffer);
+ glFinish();
+@@ -137,21 +137,21 @@ Draw(void)
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+- glWindowPos2iARB(10, y);
++ glWindowPos2i(10, y);
+ sprintf(str, "ReadPixels size: %d x %d", width, height);
+ PrintString(str);
+ y -= 14;
+
+- glWindowPos2iARB(10, y);
++ glWindowPos2i(10, y);
+ PrintString("Press up/down/left/right to change image size.");
+ y -= 14;
+
+- glWindowPos2iARB(10, y);
++ glWindowPos2i(10, y);
+ PrintString("Press 'b' to run benchmark test.");
+ y -= 14;
+
+ if (Benchmark) {
+- glWindowPos2iARB(10, y);
++ glWindowPos2i(10, y);
+ PrintString("Testing...");
+ }
+
+diff --git a/src/tests/viewmemory.c b/src/tests/viewmemory.c
+index 16044b9..3584c33 100644
+--- a/src/tests/viewmemory.c
++++ b/src/tests/viewmemory.c
+@@ -95,7 +95,7 @@ Draw(void)
+
+ glDisable(GL_TEXTURE_2D);
+ glColor3f(0, 1, 0);
+- glWindowPos2iARB(10, 10);
++ glWindowPos2i(10, 10);
+ PrintString(s);
+
+ glutSwapBuffers();
+diff --git a/src/trivial/clear-fbo-scissor.c b/src/trivial/clear-fbo-scissor.c
+index a30935c..5c15200 100644
+--- a/src/trivial/clear-fbo-scissor.c
++++ b/src/trivial/clear-fbo-scissor.c
+@@ -182,7 +182,7 @@ Draw(void)
+
+ /* draw to window */
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
+- glWindowPos2iARB(0, 0);
++ glWindowPos2i(0, 0);
+ glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
+
+ free(buffer);
+diff --git a/src/trivial/clear-fbo-tex.c b/src/trivial/clear-fbo-tex.c
+index de84f98..f0fbdf6 100644
+--- a/src/trivial/clear-fbo-tex.c
++++ b/src/trivial/clear-fbo-tex.c
+@@ -140,7 +140,7 @@ static void Draw( void )
+ glClearColor(0.8, 0.8, 0, 0.0);
+ glClear(GL_COLOR_BUFFER_BIT);
+
+- glWindowPos2iARB(30, 30);
++ glWindowPos2i(30, 30);
+ glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
+
+ free(buffer);
+diff --git a/src/trivial/clear-fbo.c b/src/trivial/clear-fbo.c
+index 10d830b..3fee3e3 100644
+--- a/src/trivial/clear-fbo.c
++++ b/src/trivial/clear-fbo.c
+@@ -116,7 +116,7 @@ Draw(void)
+ glClearColor(0.8, 0.8, 0, 0.0);
+ glClear(GL_COLOR_BUFFER_BIT);
+
+- glWindowPos2iARB(30, 30);
++ glWindowPos2i(30, 30);
+ glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
+
+ free(buffer);
+diff --git a/src/trivial/readpixels.c b/src/trivial/readpixels.c
+index ccce4ed..74e0546 100644
+--- a/src/trivial/readpixels.c
++++ b/src/trivial/readpixels.c
+@@ -71,7 +71,7 @@ static void Draw(void)
+ printf("Pixel(0,0) = %f, %f, %f, %f\n",
+ image[0], image[1], image[2], image[3]);
+ /* draw to right half of window */
+- glWindowPos2iARB(Width, 0);
++ glWindowPos2i(Width, 0);
+ glPixelZoom(Zoom, Zoom);
+ glDrawPixels(Width, Height, GL_RGBA, GL_FLOAT, image);
+ free(image);
+diff --git a/src/trivial/tri-fbo.c b/src/trivial/tri-fbo.c
+index d5800b2..dd1f21a 100644
+--- a/src/trivial/tri-fbo.c
++++ b/src/trivial/tri-fbo.c
+@@ -119,7 +119,7 @@ static void Draw( void )
+ glClearColor(0.8, 0.8, 0, 0.0);
+ glClear(GL_COLOR_BUFFER_BIT);
+
+- glWindowPos2iARB(30, 30);
++ glWindowPos2i(30, 30);
+ glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
+
+
+diff --git a/src/xdemos/glxsnoop.c b/src/xdemos/glxsnoop.c
+index 2215cfd..13d2b2d 100644
+--- a/src/xdemos/glxsnoop.c
++++ b/src/xdemos/glxsnoop.c
+@@ -91,7 +91,7 @@ redraw(Display *dpy, Window srcWin, Window dstWin )
+ }
+
+ glXMakeCurrent(dpy, dstWin, Context);
+- glWindowPos2iARB(0, 0);
++ glWindowPos2i(0, 0);
+ glDrawBuffer(GL_FRONT);
+ glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, image);
+ glFlush();
+diff --git a/src/xdemos/wincopy.c b/src/xdemos/wincopy.c
+index f670983..d010085 100644
+--- a/src/xdemos/wincopy.c
++++ b/src/xdemos/wincopy.c
+@@ -156,11 +156,11 @@ Redraw(void)
+ glClear(GL_COLOR_BUFFER_BIT);
+
+ if (TestClipping) {
+- glWindowPos2iARB(-2, -2);
++ glWindowPos2i(-2, -2);
+ glCopyPixels(-2, -2, Width[0] + 4, Height[0] + 4, GL_COLOR);
+ }
+ else {
+- glWindowPos2iARB(0, 0);
++ glWindowPos2i(0, 0);
+ glCopyPixels(0, 0, Width[0], Height[0], GL_COLOR);
+ }
+
+--
+1.8.1
+
diff --git a/meta-fsl-arm/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch b/meta-fsl-arm/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch
new file mode 100644
index 00000000..eb541d65
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/mesa/mesa-demos/fix-clear-build-break.patch
@@ -0,0 +1,17 @@
+mesa-demos: Add extension header to fix build break now that gl1 is removed
+
+Upstream Status: Pending
+
+diff --git a/src/egl/opengles1/clear.c b/src/egl/opengles1/clear.c
+index 9fe1b5291e1905fd6fe572063ed707d59ce45a81..ca9954a21b5f475709dbdef07f90b900962fcbc7 100644
+--- a/src/egl/opengles1/clear.c
++++ b/src/egl/opengles1/clear.c
+@@ -34,7 +34,7 @@
+ #include <stdio.h>
+ #include <EGL/egl.h>
+ #include <GLES/gl.h>
+-
++#include <GLES/glext.h>
+ #include "eglut.h"
+
+ typedef void (GL_APIENTRY *type_ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
diff --git a/meta-fsl-arm/recipes-graphics/mesa/mesa-demos_%.bbappend b/meta-fsl-arm/recipes-graphics/mesa/mesa-demos_%.bbappend
new file mode 100644
index 00000000..9f675a25
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/mesa/mesa-demos_%.bbappend
@@ -0,0 +1,6 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI_append_mx6 = " file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \
+ file://fix-clear-build-break.patch"
+
+PACKAGECONFIG_remove_mx6sl = "gles1 gles2"
diff --git a/meta-fsl-arm/recipes-graphics/mesa/mesa_%.bbappend b/meta-fsl-arm/recipes-graphics/mesa/mesa_%.bbappend
new file mode 100644
index 00000000..ec11097c
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/mesa/mesa_%.bbappend
@@ -0,0 +1,22 @@
+PACKAGECONFIG_remove_mx5 = "egl gles"
+PROVIDES_remove_mx5 = "virtual/libgles1 virtual/libgles2 virtual/egl"
+
+PACKAGECONFIG_remove_mx6 = "egl gles"
+
+# i.MX6SL uses mesa software rendering
+
+PROVIDES_remove_mx6 = "virtual/libgles1 virtual/libgles2 virtual/egl"
+PROVIDES_remove_mx6q = "virtual/libgl"
+PROVIDES_remove_mx6dl = "virtual/libgl"
+PROVIDES_remove_mx6sx = "virtual/libgl"
+
+USE_VIV_LIBGL = "yes"
+USE_VIV_LIBGL_mx6sl = "no"
+
+# FIXME: Dirty hack to allow use of Vivante GPU libGL binary
+do_install_append_mx6 () {
+ if [ "${USE_VIV_LIBGL}" = "yes" ]; then
+ rm -f ${D}${libdir}/libGL.*
+ fi
+}
+EXTRA_OECONF_mx6 := "${@'${EXTRA_OECONF}'.replace('--enable-glx-tls','--enable-glx')}"
diff --git a/meta-fsl-arm/recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend b/meta-fsl-arm/recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend
new file mode 100644
index 00000000..a95af537
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend
@@ -0,0 +1,3 @@
+# i.MX6 has DirectFB acceleration support, so add it
+RDEPENDS_${PN}_append_mx6 = " libvivante-dfb-mx6"
+PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
diff --git a/meta-fsl-arm/recipes-graphics/piglit/piglit_git.bbappend b/meta-fsl-arm/recipes-graphics/piglit/piglit_git.bbappend
new file mode 100644
index 00000000..316bec99
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/piglit/piglit_git.bbappend
@@ -0,0 +1,7 @@
+DEPENDS_append_mx6 = " virtual/egl"
+
+# Provide the need flags and backend settings to work with Vivante GPU
+CFLAGS_append_mx6 = " -DLINUX \
+ ${@base_contains('DISTRO_FEATURES', 'x11', '-DEGL_API_FB', \
+ base_contains('DISTRO_FEATURES', 'wayland', \
+ '-DEGL_API_WL', '', d), d)}"
diff --git a/meta-fsl-arm/recipes-graphics/wayland/weston/0001-MGS-840-Add-i.MX6-support-for-weston.patch b/meta-fsl-arm/recipes-graphics/wayland/weston/0001-MGS-840-Add-i.MX6-support-for-weston.patch
new file mode 100644
index 00000000..80505bdc
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/wayland/weston/0001-MGS-840-Add-i.MX6-support-for-weston.patch
@@ -0,0 +1,1709 @@
+From 0da66b0b96a7059392f0b62d3a13fcedf1023ba8 Mon Sep 17 00:00:00 2001
+From: Prabhu <prabhu.sundararaj@freescale.com>
+Date: Wed, 24 Jun 2015 17:29:03 -0500
+Subject: [PATCH] MGS-840 Add i.MX6 support for weston
+
+Add fbdev backend support for Vivante FBdev EGL
+
+Date: June 24, 2015
+Signed-off-by: Prabhu <prabhu.sundararaj@freescale.com>
+---
+ Makefile.am | 13 +
+ src/compositor-fbdev.c | 139 ++++-
+ src/gal2d-renderer.c | 1337 ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/gal2d-renderer.h | 47 ++
+ 4 files changed, 1519 insertions(+), 17 deletions(-)
+ mode change 100644 => 100755 Makefile.am
+ create mode 100644 src/gal2d-renderer.c
+ create mode 100644 src/gal2d-renderer.h
+
+diff --git a/Makefile.am b/Makefile.am
+old mode 100644
+new mode 100755
+index 5819b19..e7e2d49
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -207,6 +207,19 @@ gl_renderer_la_SOURCES = \
+ src/vertex-clipping.h
+ endif
+
++module_LTLIBRARIES += gal2d-renderer.la
++gal2d_renderer_la_LDFLAGS = -module -avoid-version
++gal2d_renderer_la_LIBADD = $(COMPOSITOR_LIBS) $(EGL_LIBS)
++gal2d_renderer_la_CFLAGS = \
++ $(COMPOSITOR_CFLAGS) \
++ $(EGL_CFLAGS) \
++ $(GCC_CFLAGS)
++gal2d_renderer_la_SOURCES = \
++ src/gal2d-renderer.h \
++ src/gal2d-renderer.c \
++ src/vertex-clipping.c \
++ src/vertex-clipping.h
++
+ if ENABLE_X11_COMPOSITOR
+ module_LTLIBRARIES += x11-backend.la
+ x11_backend_la_LDFLAGS = -module -avoid-version
+diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
+index 3f3394f..9d18c45 100644
+--- a/src/compositor-fbdev.c
++++ b/src/compositor-fbdev.c
+@@ -45,6 +45,7 @@
+ #include "libinput-seat.h"
+ #include "gl-renderer.h"
+ #include "presentation_timing-server-protocol.h"
++#include "gal2d-renderer.h"
+
+ struct fbdev_compositor {
+ struct weston_compositor base;
+@@ -53,7 +54,9 @@ struct fbdev_compositor {
+ struct udev *udev;
+ struct udev_input input;
+ int use_pixman;
++ int use_gal2d;
+ struct wl_listener session_listener;
++ NativeDisplayType display;
+ };
+
+ struct fbdev_screeninfo {
+@@ -88,15 +91,20 @@ struct fbdev_output {
+ pixman_image_t *shadow_surface;
+ void *shadow_buf;
+ uint8_t depth;
++
++ NativeDisplayType display;
++ NativeWindowType window;
+ };
+
+ struct fbdev_parameters {
+ int tty;
+ char *device;
+ int use_gl;
++ int use_gal2d;
+ };
+
+ struct gl_renderer_interface *gl_renderer;
++struct gal2d_renderer_interface *gal2d_renderer;
+
+ static const char default_seat[] = "seat0";
+
+@@ -471,6 +479,10 @@ fbdev_frame_buffer_destroy(struct fbdev_output *output)
+ strerror(errno));
+
+ output->fb = NULL;
++ if(output->window)
++ fbDestroyWindow(output->window);
++ if(output->display)
++ fbDestroyDisplay(output->display);
+ }
+
+ static void fbdev_output_destroy(struct weston_output *base);
+@@ -478,7 +490,7 @@ static void fbdev_output_disable(struct weston_output *base);
+
+ static int
+ fbdev_output_create(struct fbdev_compositor *compositor,
+- const char *device)
++ int x, int y, const char *device)
+ {
+ struct fbdev_output *output;
+ struct weston_config_section *section;
+@@ -489,7 +501,7 @@ fbdev_output_create(struct fbdev_compositor *compositor,
+ uint32_t config_transform;
+ char *s;
+
+- weston_log("Creating fbdev output.\n");
++ weston_log("Creating fbdev output. %s x=%d y=%d\n", device, x, y);
+
+ output = zalloc(sizeof *output);
+ if (output == NULL)
+@@ -542,7 +554,7 @@ fbdev_output_create(struct fbdev_compositor *compositor,
+ free(s);
+
+ weston_output_init(&output->base, &compositor->base,
+- 0, 0, output->fb_info.width_mm,
++ x, y, output->fb_info.width_mm,
+ output->fb_info.height_mm,
+ config_transform,
+ 1);
+@@ -565,12 +577,43 @@ fbdev_output_create(struct fbdev_compositor *compositor,
+ if (compositor->use_pixman) {
+ if (pixman_renderer_output_create(&output->base) < 0)
+ goto out_shadow_surface;
+- } else {
++ }
++ else if(compositor->use_gal2d) {
++
++ char* fbenv = getenv("FB_FRAMEBUFFER_0");
++ setenv("FB_FRAMEBUFFER_0", device, 1);
++ output->display = fbGetDisplay(compositor->base.wl_display);
++ if (output->display == NULL) {
++ fprintf(stderr, "failed to get display\n");
++ return 0;
++ }
++
++ output->window = fbCreateWindow(output->display, -1, -1, 0, 0);
++ if (output->window == NULL) {
++ fprintf(stderr, "failed to create window\n");
++ return 0;
++ }
++ setenv("FB_FRAMEBUFFER_0", fbenv, 1);
++
++ if (gal2d_renderer->output_create(&output->base,
++ output->display,
++ (NativeWindowType)output->window) < 0) {
++ weston_log("gal_renderer_output_create failed.\n");
++ goto out_shadow_surface;
++ }
++
++ }
++ else {
+ setenv("HYBRIS_EGLPLATFORM", "wayland", 1);
++ output->window = fbCreateWindow(compositor->display, -1, -1, 0, 0);
++ if (output->window == NULL) {
++ fprintf(stderr, "failed to create window\n");
++ return 0;
++ }
+ if (gl_renderer->output_create(&output->base,
+- (EGLNativeWindowType)NULL, NULL,
+- gl_renderer->opaque_attribs,
+- NULL, 0) < 0) {
++ (NativeWindowType)output->window, NULL,
++ gl_renderer->opaque_attribs,
++ NULL, 0) < 0) {
+ weston_log("gl_renderer_output_create failed.\n");
+ goto out_shadow_surface;
+ }
+@@ -629,7 +672,11 @@ fbdev_output_destroy(struct weston_output *base)
+ free(output->shadow_buf);
+ output->shadow_buf = NULL;
+ }
+- } else {
++ }
++ else if (compositor->use_gal2d) {
++ gal2d_renderer->output_destroy(base);
++ }
++ else {
+ gl_renderer->output_destroy(base);
+ }
+
+@@ -692,7 +739,7 @@ fbdev_output_reenable(struct fbdev_compositor *compositor,
+ * are re-initialised. */
+ device = output->device;
+ fbdev_output_destroy(base);
+- fbdev_output_create(compositor, device);
++ fbdev_output_create(compositor, 0, 0, device);
+
+ return 0;
+ }
+@@ -850,7 +897,10 @@ fbdev_compositor_create(struct wl_display *display, int *argc, char *argv[],
+ compositor->base.restore = fbdev_restore;
+
+ compositor->prev_state = WESTON_COMPOSITOR_ACTIVE;
+- compositor->use_pixman = !param->use_gl;
++ compositor->use_gal2d = param->use_gal2d;
++ weston_log("compositor->use_gal2d=%d\n", compositor->use_gal2d);
++ if(param->use_gl == 0 && param->use_gal2d == 0)
++ compositor->use_pixman = 1;
+
+ for (key = KEY_F1; key < KEY_F9; key++)
+ weston_compositor_add_key_binding(&compositor->base, key,
+@@ -860,7 +910,50 @@ fbdev_compositor_create(struct wl_display *display, int *argc, char *argv[],
+ if (compositor->use_pixman) {
+ if (pixman_renderer_init(&compositor->base) < 0)
+ goto out_launcher;
+- } else {
++ }
++ else if (compositor->use_gal2d) {
++ int x = 0, y = 0;
++ int i=0;
++ int count = 0;
++ int k=0, dispCount = 0;
++ char displays[5][32];
++ gal2d_renderer = weston_load_module("gal2d-renderer.so",
++ "gal2d_renderer_interface");
++ if (!gal2d_renderer) {
++ weston_log("could not load gal2d renderer\n");
++ goto out_launcher;
++ }
++
++ if (gal2d_renderer->create(&compositor->base) < 0) {
++ weston_log("gal2d_renderer_create failed.\n");
++ goto out_launcher;
++ }
++
++ weston_log("param->device=%s\n",param->device);
++ count = strlen(param->device);
++
++ for(i= 0; i < count; i++) {
++ if(param->device[i] == ',') {
++ displays[dispCount][k] = '\0';
++ dispCount++;
++ k = 0;
++ continue;
++ }
++ displays[dispCount][k++] = param->device[i];
++ }
++ displays[dispCount][k] = '\0';
++ dispCount++;
++
++ for(i=0; i<dispCount; i++)
++ {
++ if (fbdev_output_create(compositor, x, y, displays[i]) < 0)
++ goto out_pixman;
++ x += container_of(compositor->base.output_list.prev,
++ struct weston_output,
++ link)->width;
++ }
++ }
++ else {
+ gl_renderer = weston_load_module("gl-renderer.so",
+ "gl_renderer_interface");
+ if (!gl_renderer) {
+@@ -868,17 +961,22 @@ fbdev_compositor_create(struct wl_display *display, int *argc, char *argv[],
+ goto out_launcher;
+ }
+
+- if (gl_renderer->create(&compositor->base, NO_EGL_PLATFORM,
+- EGL_DEFAULT_DISPLAY,
++ compositor->display = fbGetDisplay(compositor->base.wl_display);
++ if (compositor->display == NULL) {
++ weston_log("fbGetDisplay failed.\n");
++ goto out_launcher;
++ }
++
++ if (gl_renderer->create(&compositor->base, NO_EGL_PLATFORM, compositor->display,
+ gl_renderer->opaque_attribs,
+ NULL, 0) < 0) {
+ weston_log("gl_renderer_create failed.\n");
+ goto out_launcher;
+ }
+ }
+-
+- if (fbdev_output_create(compositor, param->device) < 0)
+- goto out_pixman;
++ if(!compositor->use_gal2d)
++ if (fbdev_output_create(compositor, 0, 0, param->device) < 0)
++ goto out_pixman;
+
+ udev_input_init(&compositor->input, &compositor->base, compositor->udev, seat_id);
+
+@@ -911,13 +1009,20 @@ backend_init(struct wl_display *display, int *argc, char *argv[],
+ struct fbdev_parameters param = {
+ .tty = 0, /* default to current tty */
+ .device = "/dev/fb0", /* default frame buffer */
++#ifdef ENABLE_EGL
++ .use_gl = 1,
++ .use_gal2d = 0,
++#else
+ .use_gl = 0,
++ .use_gal2d = 1,
++#endif
+ };
+
+ const struct weston_option fbdev_options[] = {
+ { WESTON_OPTION_INTEGER, "tty", 0, &param.tty },
+ { WESTON_OPTION_STRING, "device", 0, &param.device },
+- { WESTON_OPTION_BOOLEAN, "use-gl", 0, &param.use_gl },
++ { WESTON_OPTION_INTEGER, "use-gl", 0, &param.use_gl },
++ { WESTON_OPTION_INTEGER, "use-gal2d", 0, &param.use_gal2d },
+ };
+
+ parse_options(fbdev_options, ARRAY_LENGTH(fbdev_options), argc, argv);
+diff --git a/src/gal2d-renderer.c b/src/gal2d-renderer.c
+new file mode 100644
+index 0000000..7ebbf98
+--- /dev/null
++++ b/src/gal2d-renderer.c
+@@ -0,0 +1,1337 @@
++/*
++ * Copyright (c) 2015 Freescale Semiconductor, Inc.
++ * Copyright © 2012 Intel Corporation
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and
++ * its documentation for any purpose is hereby granted without fee, provided
++ * that the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of the copyright holders not be used in
++ * advertising or publicity pertaining to distribution of the software
++ * without specific, written prior permission. The copyright holders make
++ * no representations about the suitability of this software for any
++ * purpose. It is provided "as is" without express or implied warranty.
++ *
++ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
++ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
++ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
++ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
++ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ */
++
++#define _GNU_SOURCE
++
++#include <stdlib.h>
++#include <string.h>
++#include <ctype.h>
++#include <float.h>
++#include <assert.h>
++#include <pthread.h>
++
++#include "compositor.h"
++#include "gal2d-renderer.h"
++#include "vertex-clipping.h"
++#include "HAL/gc_hal.h"
++#include "HAL/gc_hal_raster.h"
++#include "HAL/gc_hal_eglplatform.h"
++
++#define galONERROR(x) if(status < 0) printf("Error in function %s\n", __func__);
++
++struct gal2d_output_state {
++
++ int current_buffer;
++ pixman_region32_t buffer_damage[2];
++ NativeDisplayType display;
++ gcoSURF* renderSurf;
++ gctUINT32 nNumBuffers;
++ int activebuffer;
++ gcoSURF offscreenSurface;
++ gceSURF_FORMAT format;
++ pthread_mutex_t workerMutex;
++ pthread_t workerId;
++ gctUINT32 exitWorker;
++ gctSIGNAL signal;
++ gctSIGNAL busySignal;
++ gcsHAL_INTERFACE iface;
++ int directBlit;
++ gctINT width;
++ gctINT height;
++};
++
++struct gal2d_surface_state {
++ float color[4];
++ struct weston_buffer_reference buffer_ref;
++ int pitch; /* in pixels */
++ pixman_region32_t texture_damage;
++ gcoSURF gco_Surface;
++
++ struct weston_surface *surface;
++ struct wl_listener surface_destroy_listener;
++ struct wl_listener renderer_destroy_listener;
++};
++
++struct gal2d_renderer {
++ struct weston_renderer base;
++ struct wl_signal destroy_signal;
++ gcoOS gcos;
++ gcoHAL gcoHal;
++ gco2D gcoEngine2d;
++ gctPOINTER localInfo;
++};
++
++static int
++gal2d_renderer_create_surface(struct weston_surface *surface);
++
++static inline struct gal2d_surface_state *
++get_surface_state(struct weston_surface *surface)
++{
++ if (!surface->renderer_state)
++ gal2d_renderer_create_surface(surface);
++ return (struct gal2d_surface_state *)surface->renderer_state;
++}
++
++static inline struct gal2d_renderer *
++get_renderer(struct weston_compositor *ec)
++{
++ return (struct gal2d_renderer *)ec->renderer;
++}
++
++
++
++#define max(a, b) (((a) > (b)) ? (a) : (b))
++#define min(a, b) (((a) > (b)) ? (b) : (a))
++/*
++ * Compute the boundary vertices of the intersection of the global coordinate
++ * aligned rectangle 'rect', and an arbitrary quadrilateral produced from
++ * 'surf_rect' when transformed from surface coordinates into global coordinates.
++ * The vertices are written to 'ex' and 'ey', and the return value is the
++ * number of vertices. Vertices are produced in clockwise winding order.
++ * Guarantees to produce either zero vertices, or 3-8 vertices with non-zero
++ * polygon area.
++ */
++static int
++calculate_edges(struct weston_view *ev, pixman_box32_t *rect,
++ pixman_box32_t *surf_rect, float *ex, float *ey)
++{
++
++ struct clip_context ctx;
++ int i, n;
++ float min_x, max_x, min_y, max_y;
++ struct polygon8 surf = {
++ { surf_rect->x1, surf_rect->x2, surf_rect->x2, surf_rect->x1 },
++ { surf_rect->y1, surf_rect->y1, surf_rect->y2, surf_rect->y2 },
++ 4
++ };
++
++ ctx.clip.x1 = rect->x1;
++ ctx.clip.y1 = rect->y1;
++ ctx.clip.x2 = rect->x2;
++ ctx.clip.y2 = rect->y2;
++
++ /* transform surface to screen space: */
++ for (i = 0; i < surf.n; i++)
++ weston_view_to_global_float(ev, surf.x[i], surf.y[i],
++ &surf.x[i], &surf.y[i]);
++
++ /* find bounding box: */
++ min_x = max_x = surf.x[0];
++ min_y = max_y = surf.y[0];
++
++ for (i = 1; i < surf.n; i++) {
++ min_x = min(min_x, surf.x[i]);
++ max_x = max(max_x, surf.x[i]);
++ min_y = min(min_y, surf.y[i]);
++ max_y = max(max_y, surf.y[i]);
++ }
++
++ /* First, simple bounding box check to discard early transformed
++ * surface rects that do not intersect with the clip region:
++ */
++ if ((min_x >= ctx.clip.x2) || (max_x <= ctx.clip.x1) ||
++ (min_y >= ctx.clip.y2) || (max_y <= ctx.clip.y1))
++ return 0;
++
++ /* Simple case, bounding box edges are parallel to surface edges,
++ * there will be only four edges. We just need to clip the surface
++ * vertices to the clip rect bounds:
++ */
++ if (!ev->transform.enabled)
++ return clip_simple(&ctx, &surf, ex, ey);
++
++ /* Transformed case: use a general polygon clipping algorithm to
++ * clip the surface rectangle with each side of 'rect'.
++ * The algorithm is Sutherland-Hodgman, as explained in
++ * http://www.codeguru.com/cpp/misc/misc/graphics/article.php/c8965/Polygon-Clipping.htm
++ * but without looking at any of that code.
++ */
++ n = clip_transformed(&ctx, &surf, ex, ey);
++
++ if (n < 3)
++ return 0;
++
++ return n;
++}
++
++
++static inline struct gal2d_output_state *
++get_output_state(struct weston_output *output)
++{
++ return (struct gal2d_output_state *)output->renderer_state;
++}
++
++static gctUINT32
++galGetStretchFactor(gctINT32 SrcSize, gctINT32 DestSize)
++{
++ gctUINT stretchFactor;
++ if ( (SrcSize > 0) && (DestSize > 1) )
++ {
++ stretchFactor = ((SrcSize - 1) << 16) / (DestSize - 1);
++ }
++ else
++ {
++ stretchFactor = 0;
++ }
++ return stretchFactor;
++}
++
++static gceSTATUS
++galGetStretchFactors(
++ IN gcsRECT_PTR SrcRect,
++ IN gcsRECT_PTR DestRect,
++ OUT gctUINT32 * HorFactor,
++ OUT gctUINT32 * VerFactor
++ )
++{
++ if (HorFactor != gcvNULL)
++ {
++ gctINT32 src, dest;
++
++ /* Compute width of rectangles. */
++ gcmVERIFY_OK(gcsRECT_Width(SrcRect, &src));
++ gcmVERIFY_OK(gcsRECT_Width(DestRect, &dest));
++
++ /* Compute and return horizontal stretch factor. */
++ *HorFactor = galGetStretchFactor(src, dest);
++ }
++
++ if (VerFactor != gcvNULL)
++ {
++ gctINT32 src, dest;
++
++ /* Compute height of rectangles. */
++ gcmVERIFY_OK(gcsRECT_Height(SrcRect, &src));
++ gcmVERIFY_OK(gcsRECT_Height(DestRect, &dest));
++
++ /* Compute and return vertical stretch factor. */
++ *VerFactor = galGetStretchFactor(src, dest);
++ }
++ /* Success. */
++ return gcvSTATUS_OK;
++}
++
++static gceSTATUS
++gal2d_getSurfaceFormat(halDISPLAY_INFO info, gceSURF_FORMAT * Format)
++{
++ /* Get the color format. */
++ switch (info.greenLength)
++ {
++ case 4:
++ if (info.blueOffset == 0)
++ {
++ *Format = (info.alphaLength == 0) ? gcvSURF_X4R4G4B4 : gcvSURF_A4R4G4B4;
++ }
++ else
++ {
++ *Format = (info.alphaLength == 0) ? gcvSURF_X4B4G4R4 : gcvSURF_A4B4G4R4;
++ }
++ break;
++
++ case 5:
++ if (info.blueOffset == 0)
++ {
++ *Format = (info.alphaLength == 0) ? gcvSURF_X1R5G5B5 : gcvSURF_A1R5G5B5;
++ }
++ else
++ {
++ *Format = (info.alphaLength == 0) ? gcvSURF_X1B5G5R5 : gcvSURF_A1B5G5R5;
++ }
++ break;
++
++ case 6:
++ *Format = gcvSURF_R5G6B5;
++ break;
++
++ case 8:
++ if (info.blueOffset == 0)
++ {
++ *Format = (info.alphaLength == 0) ? gcvSURF_X8R8G8B8 : gcvSURF_A8R8G8B8;
++ }
++ else
++ {
++ *Format = (info.alphaLength == 0) ? gcvSURF_X8B8G8R8 : gcvSURF_A8B8G8R8;
++ }
++ break;
++
++ default:
++ /* Unsupported color depth. */
++ return gcvSTATUS_INVALID_ARGUMENT;
++ }
++ /* Success. */
++ return gcvSTATUS_OK;
++}
++
++static gceSTATUS galIsYUVFormat(IN gceSURF_FORMAT Format)
++{
++ switch (Format)
++ {
++ case gcvSURF_YUY2:
++ case gcvSURF_UYVY:
++ case gcvSURF_I420:
++ case gcvSURF_YV12:
++ case gcvSURF_NV16:
++ case gcvSURF_NV12:
++ case gcvSURF_NV61:
++ case gcvSURF_NV21:
++
++ return gcvSTATUS_TRUE;
++
++ default:
++ return gcvSTATUS_FALSE;
++ }
++}
++
++static gceSTATUS galQueryUVStride(
++ IN gceSURF_FORMAT Format,
++ IN gctUINT32 yStride,
++ OUT gctUINT32_PTR uStride,
++ OUT gctUINT32_PTR vStride
++ )
++{
++ switch (Format)
++ {
++ case gcvSURF_YUY2:
++ case gcvSURF_UYVY:
++ *uStride = *vStride = 0;
++ break;
++
++ case gcvSURF_I420:
++ case gcvSURF_YV12:
++ *uStride = *vStride = yStride / 2;
++ break;
++
++ case gcvSURF_NV16:
++ case gcvSURF_NV12:
++ case gcvSURF_NV61:
++ case gcvSURF_NV21:
++
++ *uStride = yStride;
++ *vStride = 0;
++ break;
++
++ default:
++ return gcvSTATUS_NOT_SUPPORTED;
++ }
++
++ return gcvSTATUS_OK;
++}
++
++static int
++make_current(struct gal2d_renderer *gr, gcoSURF surface)
++{
++ gceSTATUS status = gcvSTATUS_OK;
++ gctUINT width = 0;
++ gctUINT height = 0;
++ gctINT stride = 0;
++ gctUINT32 physical[3];
++ gctPOINTER va =0;
++ gceSURF_FORMAT format;
++
++ if(!surface)
++ goto OnError;
++
++
++ gcmONERROR(gcoSURF_GetAlignedSize(surface, &width, &height, &stride));
++ gcmONERROR(gcoSURF_GetFormat(surface, gcvNULL, &format));
++ gcmONERROR(gcoSURF_Lock(surface, &physical[0], (gctPOINTER *)&va));
++ gco2D_SetGenericTarget(gr->gcoEngine2d,
++ &physical[0], 1,
++ &stride, 1,
++ gcvLINEAR, format,
++ gcvSURF_0_DEGREE, width, height);
++
++ gcmONERROR(gcoSURF_Unlock(surface, (gctPOINTER *)&va));
++OnError:
++ galONERROR(status);
++ return status;
++}
++
++static gceSTATUS
++gal2d_clear(struct weston_output *base)
++{
++ struct gal2d_renderer *gr = get_renderer(base->compositor);
++ struct gal2d_output_state *go = get_output_state(base);
++ gceSTATUS status = gcvSTATUS_OK;
++
++ gctINT stride = 0;
++ gctUINT width = 0, height = 0;
++ gcsRECT dstRect = {0};
++ gcmONERROR(gcoSURF_GetAlignedSize(go->renderSurf[go->activebuffer],
++ &width, &height, &stride));
++ dstRect.right = width;
++ dstRect.bottom = height;
++ gcmONERROR(gco2D_SetSource(gr->gcoEngine2d, &dstRect));
++ gcmONERROR(gco2D_SetClipping(gr->gcoEngine2d, &dstRect));
++ gcmONERROR(gco2D_Clear(gr->gcoEngine2d, 1, &dstRect, 0xff0000ff, 0xCC, 0xCC, go->format));
++ gcmONERROR(gcoHAL_Commit(gr->gcoHal, gcvTRUE));
++
++OnError:
++ galONERROR(status);
++
++ return status;
++}
++
++static gcoSURF getSurfaceFromShm(struct weston_surface *es, struct weston_buffer *buffer)
++{
++ struct gal2d_renderer *gr = get_renderer(es->compositor);
++
++ gcoSURF surface = 0;
++ gceSURF_FORMAT format;
++ gcePOOL pool = gcvPOOL_DEFAULT;
++
++ if (wl_shm_buffer_get_format(buffer->shm_buffer) == WL_SHM_FORMAT_XRGB8888)
++ format = gcvSURF_X8R8G8B8;
++ else
++ format = gcvSURF_A8R8G8B8;
++
++ if(buffer->width == ((buffer->width + 0x7) & ~0x7))
++ {
++ pool = gcvPOOL_USER;
++ }
++
++ gcmVERIFY_OK(gcoSURF_Construct(gr->gcoHal,
++ (gctUINT) buffer->width,
++ (gctUINT) buffer->height,
++ 1, gcvSURF_BITMAP,
++ format, pool, &surface));
++
++ if(pool == gcvPOOL_USER)
++ {
++ gcmVERIFY_OK(gcoSURF_MapUserSurface(surface, 1,
++ (gctPOINTER)wl_shm_buffer_get_data(buffer->shm_buffer), gcvINVALID_ADDRESS));
++ }
++
++ return surface;
++}
++
++static int
++gal2dBindBuffer(struct weston_surface* es)
++{
++ struct gal2d_surface_state *gs = get_surface_state(es);
++ gceSTATUS status = gcvSTATUS_OK;
++ gcoSURF surface = gs->gco_Surface;
++ struct weston_buffer *buffer = gs->buffer_ref.buffer;
++ gcePOOL pool = gcvPOOL_DEFAULT;
++
++ gcmVERIFY_OK(gcoSURF_QueryVidMemNode(surface, gcvNULL,
++ &pool, gcvNULL));
++
++ if(pool != gcvPOOL_USER)
++ {
++ gctUINT alignedWidth;
++ gctPOINTER logical = (gctPOINTER)wl_shm_buffer_get_data(buffer->shm_buffer);
++ gctPOINTER va =0;
++
++
++ gcmVERIFY_OK(gcoSURF_GetAlignedSize(surface, &alignedWidth, gcvNULL, gcvNULL));
++ gcmVERIFY_OK(gcoSURF_Lock(surface, gcvNULL, (gctPOINTER *)&va));
++
++ if(alignedWidth == (unsigned int)buffer->width)
++ {
++ int size = wl_shm_buffer_get_stride(buffer->shm_buffer)*buffer->height;
++ memcpy(va, logical, size);
++ }
++ else
++ {
++ int i, j;
++ for (i = 0; i < buffer->height; i++)
++ {
++ for (j = 0; j < buffer->width; j++)
++ {
++ gctUINT dstOff = i * alignedWidth + j;
++ gctUINT srcOff = (i * buffer->width + j);
++
++ memcpy(va + dstOff * 4, logical + srcOff * 4, 4);
++ }
++ }
++ }
++ gcmVERIFY_OK(gcoSURF_Unlock(surface, (gctPOINTER)va));
++ }
++
++ return status;
++}
++
++static void
++gal2d_flip_surface(struct weston_output *output)
++{
++ struct gal2d_output_state *go = get_output_state(output);
++
++ if(go->nNumBuffers > 1)
++ {
++ gctUINT Offset;
++ gctINT X;
++ gctINT Y;
++
++ gcmVERIFY_OK(gcoOS_GetDisplayBackbuffer(go->display, gcvNULL,
++ gcvNULL, gcvNULL, &Offset, &X, &Y));
++
++ gcmVERIFY_OK(gcoOS_SetDisplayVirtual(go->display, gcvNULL,
++ Offset, X, Y));
++ }
++}
++
++static void *gal2d_output_worker(void *arg)
++{
++ struct weston_output *output = (struct weston_output *)arg;
++ struct gal2d_output_state *go = get_output_state(output);
++
++ while(1)
++ {
++ if(gcoOS_WaitSignal(gcvNULL, go->signal, gcvINFINITE) == gcvSTATUS_OK )
++ {
++ gal2d_flip_surface(output);
++ gcoOS_Signal(gcvNULL,go->busySignal, gcvTRUE);
++ }
++ pthread_mutex_lock(&go->workerMutex);
++ if(go->exitWorker == 1)
++ {
++ pthread_mutex_unlock(&go->workerMutex);
++ break;
++ }
++ pthread_mutex_unlock(&go->workerMutex);
++ }
++ return 0;
++}
++
++static int
++update_surface(struct weston_output *output)
++{
++ struct gal2d_renderer *gr = get_renderer(output->compositor);
++ struct gal2d_output_state *go = get_output_state(output);
++ gceSTATUS status = gcvSTATUS_OK;
++
++ if(go->nNumBuffers == 1)
++ {
++ if(!go->directBlit && go->offscreenSurface)
++ {
++ make_current(gr, go->renderSurf[go->activebuffer]);
++
++ gctUINT srcWidth = 0;
++ gctUINT srcHeight = 0;
++ gceSURF_FORMAT srcFormat;;
++ gcsRECT dstRect = {0};
++ gcoSURF srcSurface = go->offscreenSurface;
++ gctUINT32 srcPhyAddr[3];
++ gctUINT32 srcStride[3];
++
++ gctPOINTER va =0;
++
++ gcmONERROR(gcoSURF_GetAlignedSize(srcSurface, &srcWidth, &srcHeight, (gctINT *)&srcStride[0]));
++ gcmONERROR(gcoSURF_GetFormat(srcSurface, gcvNULL, &srcFormat));
++
++ gcmONERROR(gcoSURF_Lock(srcSurface, srcPhyAddr, (gctPOINTER *)&va));
++ gcmONERROR(gco2D_SetCurrentSourceIndex(gr->gcoEngine2d, 0U));
++
++ gco2D_SetGenericSource(gr->gcoEngine2d, srcPhyAddr, 1,
++ srcStride, 1,
++ gcvLINEAR, srcFormat, gcvSURF_0_DEGREE,
++ srcWidth, srcHeight);
++
++ dstRect.left = 0;
++ dstRect.top = 0;
++ dstRect.right = srcWidth;
++ dstRect.bottom = srcHeight;
++
++ gcmONERROR(gco2D_SetSource(gr->gcoEngine2d, &dstRect));
++ gcmONERROR(gco2D_SetClipping(gr->gcoEngine2d, &dstRect));
++ gcmONERROR(gco2D_Blit(gr->gcoEngine2d, 1, &dstRect, 0xCC, 0xCC, go->format));
++ gcmONERROR(gcoSURF_Unlock(srcSurface, (gctPOINTER *)&va));
++ }
++ gcmONERROR(gcoHAL_Commit(gr->gcoHal, gcvFALSE));
++ }
++ else if(go->nNumBuffers > 1)
++ {
++ gcoHAL_ScheduleEvent(gr->gcoHal, &go->iface);
++ gcmVERIFY_OK(gcoHAL_Commit(gr->gcoHal, gcvFALSE));
++ }
++OnError:
++ galONERROR(status);
++ return status;
++ }
++
++static int
++is_view_visible(struct weston_view *view)
++{
++ /* Return false, if surface is guaranteed to be totally obscured. */
++ int ret;
++ pixman_region32_t unocc;
++
++ pixman_region32_init(&unocc);
++ pixman_region32_subtract(&unocc, &view->transform.boundingbox,
++ &view->clip);
++ ret = pixman_region32_not_empty(&unocc);
++ pixman_region32_fini(&unocc);
++
++ return ret;
++}
++
++static int
++use_output(struct weston_output *output)
++{
++ struct weston_compositor *compositor = output->compositor;
++ struct weston_view *view;
++ struct gal2d_output_state *go = get_output_state(output);
++ struct gal2d_renderer *gr = get_renderer(output->compositor);
++ gceSTATUS status = gcvSTATUS_OK;
++
++ gcoSURF surface;
++ int visibleViews=0;
++ int fullscreenViews=0;
++
++ surface = go->renderSurf[go->activebuffer];
++ if(go->nNumBuffers == 1)
++ {
++ wl_list_for_each_reverse(view, &compositor->view_list, link)
++ if (view->plane == &compositor->primary_plane && is_view_visible(view))
++ {
++ visibleViews++;
++ if(view->surface->width == go->width && view->surface->height == go->height)
++ {
++ pixman_box32_t *bb_rects;
++ int nbb=0;
++ bb_rects = pixman_region32_rectangles(&view->transform.boundingbox, &nbb);
++ if(nbb == 1)
++ if(bb_rects[0].x1 == 0 && bb_rects[0].y1 ==0)
++ fullscreenViews++;
++ }
++ }
++
++ go->directBlit = ((visibleViews == 1) || (fullscreenViews > 1));
++
++ if(!go->directBlit)
++ {
++ surface = go->offscreenSurface;
++ }
++ }
++ make_current(gr, surface);
++ return status;
++}
++
++static int
++gal2d_renderer_read_pixels(struct weston_output *output,
++ pixman_format_code_t format, void *pixels,
++ uint32_t x, uint32_t y,
++ uint32_t width, uint32_t height)
++{
++ return 0;
++}
++
++static int gal2d_int_from_double(double d)
++{
++ return wl_fixed_to_int(wl_fixed_from_double(d));
++}
++
++static void
++repaint_region(struct weston_view *ev, struct weston_output *output, struct gal2d_output_state *go, pixman_region32_t *region,
++ pixman_region32_t *surf_region){
++
++ struct gal2d_renderer *gr = get_renderer(ev->surface->compositor);
++ struct gal2d_surface_state *gs = get_surface_state(ev->surface);
++
++ pixman_box32_t *rects, *surf_rects, *bb_rects;
++ int i, j, nrects, nsurf, nbb=0;
++ gceSTATUS status = gcvSTATUS_OK;
++ gcoSURF srcSurface = gs->gco_Surface;
++ gcsRECT srcRect = {0};
++ gcsRECT dstrect = {0};
++ gctUINT32 horFactor, verFactor;
++ int useStretch =1;
++ int useFilterBlit = 0;
++ gctUINT srcWidth = 0;
++ gctUINT srcHeight = 0;
++ gctUINT32 srcStride[3];
++ gceSURF_FORMAT srcFormat;;
++ gctUINT32 srcPhyAddr[3];
++ gctUINT32 dstPhyAddr[3];
++ gctUINT dstWidth = 0;
++ gctUINT dstHeight = 0;
++ gctUINT32 dstStrides[3];
++ gcoSURF dstsurface;
++ int geoWidth = ev->surface->width;
++ int geoheight = ev->surface->height;
++ gceTILING tiling;
++
++ bb_rects = pixman_region32_rectangles(&ev->transform.boundingbox, &nbb);
++
++ if(!srcSurface || nbb <= 0)
++ goto OnError;
++ rects = pixman_region32_rectangles(region, &nrects);
++ surf_rects = pixman_region32_rectangles(surf_region, &nsurf);
++
++ gcmVERIFY_OK(gcoSURF_GetAlignedSize(srcSurface, &srcWidth, &srcHeight, (gctINT *)&srcStride[0]));
++
++ gcmVERIFY_OK(gcoSURF_GetFormat(srcSurface, gcvNULL, &srcFormat));
++
++ if(galIsYUVFormat(srcFormat) == gcvSTATUS_TRUE)
++ {
++ useFilterBlit = 1;
++ }
++
++ gcmVERIFY_OK(gcoSURF_Lock(srcSurface, &srcPhyAddr[0], gcvNULL));
++
++ gcmVERIFY_OK(gcoSURF_Unlock(srcSurface, gcvNULL));
++
++ srcRect.left = ev->geometry.x < 0.0 ? gal2d_int_from_double(fabsf(ev->geometry.x)) : 0;
++ srcRect.top = 0; /*es->geometry.y < 0.0 ? gal2d_int_from_double(fabsf(es->geometry.y)) : 0;*/
++ srcRect.right = ev->surface->width;
++ srcRect.bottom = ev->surface->height;
++
++ if(useFilterBlit)
++ {
++ dstsurface = go->nNumBuffers > 1 ?
++ go->renderSurf[go->activebuffer] :
++ go->offscreenSurface;
++ gcmVERIFY_OK(gcoSURF_GetAlignedSize(dstsurface, &dstWidth, &dstHeight, (gctINT *)&dstStrides));
++ gcmVERIFY_OK(gcoSURF_Lock(dstsurface, &dstPhyAddr[0], gcvNULL));
++ gcmVERIFY_OK(gcoSURF_Unlock(dstsurface, gcvNULL));
++ }
++ else
++ {
++ gcoSURF_GetTiling(srcSurface, &tiling);
++ if (gcoHAL_IsFeatureAvailable(gr->gcoHal, gcvFEATURE_2D_TILING) != gcvTRUE && (tiling > gcvLINEAR))
++ {
++ weston_log("Tiling not supported \n");
++ status = gcvSTATUS_NOT_SUPPORTED;
++ gcmONERROR(status);
++ }
++ gco2D_SetGenericSource(gr->gcoEngine2d, srcPhyAddr, 1,
++ srcStride, 1,
++ tiling, srcFormat, gcvSURF_0_DEGREE,
++ srcWidth, srcHeight);
++ /* Setup mirror. */
++ gcmONERROR(gco2D_SetBitBlitMirror(gr->gcoEngine2d, gcvFALSE, gcvFALSE));
++ gcmONERROR(gco2D_SetROP(gr->gcoEngine2d, 0xCC, 0xCC));
++ }
++
++ for (i = 0; i < nrects; i++)
++ {
++ pixman_box32_t *rect = &rects[i];
++ gctFLOAT min_x, max_x, min_y, max_y;
++
++ dstrect.left = (bb_rects[0].x1 < 0) ? rect->x1 : bb_rects[0].x1;
++ dstrect.top = (bb_rects[0].y1 < 0) ? rect->y1 : bb_rects[0].y1;
++ dstrect.right = bb_rects[0].x2;
++ dstrect.bottom = bb_rects[0].y2;
++
++ if(dstrect.right < 0 || dstrect.bottom < 0)
++ {
++ break;
++ }
++
++ for (j = 0; j < nsurf; j++)
++ {
++ pixman_box32_t *surf_rect = &surf_rects[j];
++ gctFLOAT ex[8], ey[8]; /* edge points in screen space */
++ int n;
++ gcsRECT clipRect = {0};
++ int m=0;
++ n = calculate_edges(ev, rect, surf_rect, ex, ey);
++ if (n < 3)
++ continue;
++
++ min_x = max_x = ex[0];
++ min_y = max_y = ey[0];
++ for (m = 1; m < n; m++)
++ {
++ min_x = min(min_x, ex[m]);
++ max_x = max(max_x, ex[m]);
++ min_y = min(min_y, ey[m]);
++ max_y = max(max_y, ey[m]);
++ }
++
++ clipRect.left = gal2d_int_from_double(min_x);
++ clipRect.top = gal2d_int_from_double(min_y);
++ clipRect.right = gal2d_int_from_double(max_x);
++ clipRect.bottom = gal2d_int_from_double(max_y);
++
++ if(output->x > 0)
++ {
++ dstrect.left = dstrect.left - output->x;
++ dstrect.right = dstrect.right - output->x;
++ clipRect.left = clipRect.left - output->x;
++ clipRect.right = clipRect.right - output->x;
++ }
++
++ dstrect.left = (dstrect.left < 0) ? 0 : dstrect.left;
++
++ status = gco2D_SetClipping(gr->gcoEngine2d, &clipRect);
++ if(status < 0)
++ {
++ weston_log("Error in gco2D_SetClipping %s\n", __func__);
++ goto OnError;
++ }
++
++ if(useFilterBlit)
++ {
++ gctINT srcStrideNum;
++ gctINT srcAddressNum;
++ gcmVERIFY_OK(galQueryUVStride(srcFormat, srcStride[0],
++ &srcStride[1], &srcStride[2]));
++
++ switch (srcFormat)
++ {
++ case gcvSURF_YUY2:
++ case gcvSURF_UYVY:
++ srcStrideNum = srcAddressNum = 1;
++ break;
++
++ case gcvSURF_I420:
++ case gcvSURF_YV12:
++ srcStrideNum = srcAddressNum = 3;
++ break;
++
++ case gcvSURF_NV16:
++ case gcvSURF_NV12:
++ case gcvSURF_NV61:
++ case gcvSURF_NV21:
++ srcStrideNum = srcAddressNum = 2;
++ break;
++
++ default:
++ gcmONERROR(gcvSTATUS_NOT_SUPPORTED);
++ }
++ gco2D_FilterBlitEx2(gr->gcoEngine2d,
++ srcPhyAddr, srcAddressNum,
++ srcStride, srcStrideNum,
++ gcvLINEAR, srcFormat, gcvSURF_0_DEGREE,
++ geoWidth, geoheight, &srcRect,
++ dstPhyAddr, 1,
++ dstStrides, 1,
++ gcvLINEAR, go->format, gcvSURF_0_DEGREE,
++ dstWidth, dstHeight,
++ &dstrect, gcvNULL);
++ }
++ else
++ {
++ if(useStretch)
++ gcmVERIFY_OK(galGetStretchFactors(&srcRect, &dstrect, &horFactor, &verFactor));
++
++ if(verFactor == 65536 && horFactor == 65536)
++ {
++ gcmVERIFY_OK(gco2D_Blit(gr->gcoEngine2d, 1, &dstrect,
++ 0xCC, 0xCC, go->format));
++ }
++ else
++ {
++ /* Program the stretch factors. */
++ gcmVERIFY_OK(gco2D_SetStretchFactors(gr->gcoEngine2d, horFactor, verFactor));
++
++ gcmVERIFY_OK(gco2D_StretchBlit(gr->gcoEngine2d, 1, &dstrect,
++ 0xCC, 0xCC, go->format));
++ }
++ }
++
++ if(status < 0)
++ {
++ printf("cr l=%d r=%d t=%d b=%d w=%d h=%d\n",
++ clipRect.left, clipRect.right, clipRect.top ,clipRect.bottom,
++ clipRect.right - clipRect.left, clipRect.bottom -clipRect.top);
++ printf("dr l=%d r=%d t=%d b=%d w=%d h=%d\n",
++ dstrect.left, dstrect.right, dstrect.top ,dstrect.bottom,
++ dstrect.right - dstrect.left, dstrect.bottom -dstrect.top);
++ printf("horFactor=%d, verFactor=%d\n",horFactor, verFactor);
++
++ goto OnError;
++ }
++ }
++ }
++
++OnError:
++ galONERROR(status);
++}
++
++static void
++draw_view(struct weston_view *ev, struct weston_output *output,
++ pixman_region32_t *damage) /* in global coordinates */
++{
++ struct weston_compositor *ec = ev->surface->compositor;
++ struct gal2d_output_state *go = get_output_state(output);
++ /* repaint bounding region in global coordinates: */
++ pixman_region32_t repaint;
++ /* non-opaque region in surface coordinates: */
++ pixman_region32_t surface_blend;
++ pixman_region32_t *buffer_damage;
++
++ pixman_region32_init(&repaint);
++ pixman_region32_intersect(&repaint,
++ &ev->transform.boundingbox, damage);
++ pixman_region32_subtract(&repaint, &repaint, &ev->clip);
++
++ if (!pixman_region32_not_empty(&repaint))
++ goto out;
++
++ buffer_damage = &go->buffer_damage[go->current_buffer];
++ pixman_region32_subtract(buffer_damage, buffer_damage, &repaint);
++
++ /* blended region is whole surface minus opaque region: */
++ pixman_region32_init_rect(&surface_blend, 0, 0,
++ ev->surface->width, ev->surface->height);
++ pixman_region32_subtract(&surface_blend, &surface_blend, &ev->surface->opaque);
++
++ struct gal2d_renderer *gr = get_renderer(ec);
++ gco2D_SetCurrentSourceIndex(gr->gcoEngine2d, 0U);
++
++ if (pixman_region32_not_empty(&ev->surface->opaque)) {
++ repaint_region(ev, output, go, &repaint, &ev->surface->opaque);
++ }
++
++ if (pixman_region32_not_empty(&surface_blend)) {
++ gco2D_EnableAlphaBlend(gr->gcoEngine2d,
++ ev->alpha * 0xFF, ev->alpha * 0xFF,
++ gcvSURF_PIXEL_ALPHA_STRAIGHT, gcvSURF_PIXEL_ALPHA_STRAIGHT,
++ gcvSURF_GLOBAL_ALPHA_SCALE, gcvSURF_GLOBAL_ALPHA_SCALE,
++ gcvSURF_BLEND_STRAIGHT, gcvSURF_BLEND_INVERSED,
++ gcvSURF_COLOR_STRAIGHT, gcvSURF_COLOR_STRAIGHT);
++
++ repaint_region(ev, output, go, &repaint, &surface_blend);
++ }
++
++ gco2D_DisableAlphaBlend(gr->gcoEngine2d);
++ pixman_region32_fini(&surface_blend);
++
++out:
++ pixman_region32_fini(&repaint);
++
++}
++
++static void
++repaint_views(struct weston_output *output, pixman_region32_t *damage)
++{
++ struct weston_compositor *compositor = output->compositor;
++ struct weston_view *view;
++ struct gal2d_output_state *go = get_output_state(output);
++
++ if(go->nNumBuffers > 1)
++ {
++ /*500ms is more than enough to process a frame */
++ gcoOS_WaitSignal(gcvNULL, go->busySignal, 500);
++ }
++ go->activebuffer = (go->activebuffer+1) % go->nNumBuffers;
++
++ wl_list_for_each_reverse(view, &compositor->view_list, link)
++ if (view->plane == &compositor->primary_plane)
++ draw_view(view, output, damage);
++}
++
++static void
++gal2d_renderer_repaint_output(struct weston_output *output,
++ pixman_region32_t *output_damage)
++{
++ struct gal2d_output_state *go = get_output_state(output);
++ gctUINT32 i;
++
++ if (use_output(output) < 0)
++ return;
++
++ for (i = 0; i < 2; i++)
++ pixman_region32_union(&go->buffer_damage[i],
++ &go->buffer_damage[i],
++ output_damage);
++
++ pixman_region32_union(output_damage, output_damage,
++ &go->buffer_damage[go->current_buffer]);
++
++ repaint_views(output, output_damage);
++
++ pixman_region32_copy(&output->previous_damage, output_damage);
++ wl_signal_emit(&output->frame_signal, output);
++
++ update_surface(output);
++
++ go->current_buffer ^= 1;
++}
++
++static void
++gal2d_renderer_attach_egl(struct weston_surface *es, struct weston_buffer *buffer)
++{
++ gcsWL_VIV_BUFFER *vivBuffer = wl_resource_get_user_data(buffer->resource);
++ gcoSURF srcSurf = vivBuffer->surface;
++ gceSTATUS status = gcvSTATUS_OK;
++ struct gal2d_surface_state *gs = get_surface_state(es);
++
++ if(gs->gco_Surface != gcvNULL)
++ {
++ gcmONERROR(gcoSURF_Destroy(gs->gco_Surface));
++ }
++
++ gs->gco_Surface = srcSurf;
++ gcoSURF_ReferenceSurface(srcSurf);
++ buffer->width = vivBuffer->width;
++ buffer->height = vivBuffer->height;
++
++ OnError:
++ galONERROR(status);
++}
++
++static void
++gal2d_renderer_flush_damage(struct weston_surface *surface)
++{
++ struct gal2d_surface_state *gs = get_surface_state(surface);
++ struct weston_buffer *buffer = gs->buffer_ref.buffer;
++ struct weston_view *view;
++ int texture_used;
++ pixman_region32_union(&gs->texture_damage,
++ &gs->texture_damage, &surface->damage);
++
++ if (!buffer)
++ return;
++
++ texture_used = 0;
++ wl_list_for_each(view, &surface->views, surface_link) {
++ if (view->plane == &surface->compositor->primary_plane) {
++ texture_used = 1;
++ break;
++ }
++ }
++ if (!texture_used)
++ return;
++
++ if (!pixman_region32_not_empty(&gs->texture_damage))
++ goto done;
++
++ if(wl_shm_buffer_get(buffer->resource))
++ {
++ if(gs->gco_Surface==NULL)
++ {
++ gs->gco_Surface = getSurfaceFromShm(surface, buffer);
++ }
++ gal2dBindBuffer(surface);
++ }
++ else
++ gal2d_renderer_attach_egl(surface, buffer);
++
++done:
++ pixman_region32_fini(&gs->texture_damage);
++ pixman_region32_init(&gs->texture_damage);
++
++ weston_buffer_reference(&gs->buffer_ref, NULL);
++}
++
++static void
++gal2d_renderer_attach(struct weston_surface *es, struct weston_buffer *buffer)
++{
++ struct gal2d_surface_state *gs = get_surface_state(es);
++ struct wl_shm_buffer *shm_buffer;
++ weston_buffer_reference(&gs->buffer_ref, buffer);
++
++ if(buffer==NULL)
++ return;
++
++ shm_buffer = wl_shm_buffer_get(buffer->resource);
++
++ if(shm_buffer)
++ {
++ buffer->width = wl_shm_buffer_get_width(shm_buffer);
++ buffer->height = wl_shm_buffer_get_height(shm_buffer);
++ buffer->shm_buffer = shm_buffer;
++
++ if(gs->gco_Surface)
++ {
++ gcoSURF_Destroy(gs->gco_Surface);
++ gs->gco_Surface = getSurfaceFromShm(es, buffer);
++ }
++ }
++ else
++ gal2d_renderer_attach_egl(es, buffer);
++}
++
++static void
++surface_state_destroy(struct gal2d_surface_state *gs, struct gal2d_renderer *gr)
++{
++ if(gs->gco_Surface)
++ {
++ gcoSURF_Destroy(gs->gco_Surface);
++ }
++ wl_list_remove(&gs->surface_destroy_listener.link);
++ wl_list_remove(&gs->renderer_destroy_listener.link);
++ if(gs->surface)
++ gs->surface->renderer_state = NULL;
++
++ weston_buffer_reference(&gs->buffer_ref, NULL);
++ free(gs);
++}
++
++static void
++surface_state_handle_surface_destroy(struct wl_listener *listener, void *data)
++{
++ struct gal2d_surface_state *gs;
++ struct gal2d_renderer *gr;
++
++ gs = container_of(listener, struct gal2d_surface_state,
++ surface_destroy_listener);
++
++ gr = get_renderer(gs->surface->compositor);
++ surface_state_destroy(gs, gr);
++}
++
++static void
++surface_state_handle_renderer_destroy(struct wl_listener *listener, void *data)
++{
++ struct gal2d_surface_state *gs;
++ struct gal2d_renderer *gr;
++
++ gr = data;
++
++ gs = container_of(listener, struct gal2d_surface_state,
++ renderer_destroy_listener);
++
++ surface_state_destroy(gs, gr);
++}
++
++
++static int
++gal2d_renderer_create_surface(struct weston_surface *surface)
++{
++ struct gal2d_surface_state *gs;
++ struct gal2d_renderer *gr = get_renderer(surface->compositor);
++
++ gs = zalloc(sizeof *gs);
++ if (gs == NULL)
++ return -1;
++
++ /* A buffer is never attached to solid color surfaces, yet
++ * they still go through texcoord computations. Do not divide
++ * by zero there.
++ */
++ gs->pitch = 1;
++
++ gs->surface = surface;
++
++ pixman_region32_init(&gs->texture_damage);
++ surface->renderer_state = gs;
++
++ gs->surface_destroy_listener.notify =
++ surface_state_handle_surface_destroy;
++ wl_signal_add(&surface->destroy_signal,
++ &gs->surface_destroy_listener);
++
++ gs->renderer_destroy_listener.notify =
++ surface_state_handle_renderer_destroy;
++ wl_signal_add(&gr->destroy_signal,
++ &gs->renderer_destroy_listener);
++
++ if (surface->buffer_ref.buffer) {
++ gal2d_renderer_attach(surface, surface->buffer_ref.buffer);
++ gal2d_renderer_flush_damage(surface);
++ }
++
++ return 0;
++}
++
++static void
++gal2d_renderer_surface_set_color(struct weston_surface *surface,
++ float red, float green, float blue, float alpha)
++{
++ struct gal2d_surface_state *gs = get_surface_state(surface);
++
++ gs->color[0] = red;
++ gs->color[1] = green;
++ gs->color[2] = blue;
++ gs->color[3] = alpha;
++}
++
++
++static void
++gal2d_renderer_output_destroy(struct weston_output *output)
++{
++ struct gal2d_output_state *go = get_output_state(output);
++ gctUINT32 i;
++
++ for (i = 0; i < 2; i++)
++ {
++ pixman_region32_fini(&go->buffer_damage[i]);
++ }
++ if(go->nNumBuffers <= 1 )
++ {
++ if(go->offscreenSurface)
++ gcmVERIFY_OK(gcoSURF_Destroy(go->offscreenSurface));
++ }
++ else
++ {
++ gcoOS_Signal(gcvNULL,go->signal, gcvTRUE);
++ pthread_mutex_lock(&go->workerMutex);
++ go->exitWorker = 1;
++ pthread_mutex_unlock(&go->workerMutex);
++ pthread_join(go->workerId, NULL);
++ }
++
++ for(i=0; i < go->nNumBuffers; i++)
++ {
++ gcmVERIFY_OK(gcoSURF_Destroy(go->renderSurf[i]));
++ }
++ free(go->renderSurf);
++ go->renderSurf = gcvNULL;
++
++ free(go);
++}
++
++static void
++gal2d_renderer_destroy(struct weston_compositor *ec)
++{
++ struct gal2d_renderer *gr = get_renderer(ec);
++
++ wl_signal_emit(&gr->destroy_signal, gr);
++ free(ec->renderer);
++ ec->renderer = NULL;
++}
++
++
++static int
++gal2d_renderer_create(struct weston_compositor *ec)
++{
++ struct gal2d_renderer *gr;
++ gceSTATUS status = gcvSTATUS_OK;
++ gr = malloc(sizeof *gr);
++ if (gr == NULL)
++ return -1;
++
++ gr->base.read_pixels = gal2d_renderer_read_pixels;
++ gr->base.repaint_output = gal2d_renderer_repaint_output;
++ gr->base.flush_damage = gal2d_renderer_flush_damage;
++ gr->base.attach = gal2d_renderer_attach;
++ gr->base.surface_set_color = gal2d_renderer_surface_set_color;
++ gr->base.destroy = gal2d_renderer_destroy;
++
++ /* Construct the gcoOS object. */
++ gcmONERROR(gcoOS_Construct(gcvNULL, &gr->gcos));
++
++ /* Construct the gcoHAL object. */
++ gcmONERROR(gcoHAL_Construct(gcvNULL, gr->gcos, &gr->gcoHal));
++ gcmONERROR(gcoHAL_Get2DEngine(gr->gcoHal, &gr->gcoEngine2d));
++ gcmONERROR(gcoHAL_SetHardwareType(gr->gcoHal, gcvHARDWARE_2D));
++
++ ec->renderer = &gr->base;
++ wl_signal_init(&gr->destroy_signal);
++OnError:
++ galONERROR(status);
++
++ /* Return the status. */
++ return status;
++
++}
++
++static int
++gal2d_renderer_output_create(struct weston_output *output, NativeDisplayType display,
++ NativeWindowType window)
++
++ {
++ struct gal2d_renderer *gr = get_renderer(output->compositor);
++ struct gal2d_output_state *go;
++ halDISPLAY_INFO info;
++ gctUINT32 backOffset = 0;
++ gceSTATUS status = gcvSTATUS_OK;
++ gctUINT32 i;
++
++ go = zalloc(sizeof *go);
++ if (go == NULL)
++ return -1;
++
++ output->renderer_state = go;
++ go->display = display;
++ gcmONERROR(gcoOS_InitLocalDisplayInfo(go->display, &gr->localInfo));
++
++ /* Get display information. */
++ gcmONERROR(gcoOS_GetDisplayInfoEx2(
++ go->display, gcvNULL, gr->localInfo,
++ sizeof(info), &info));
++ go->nNumBuffers = info.multiBuffer;
++
++ weston_log("Number of buffers=%d\n",go->nNumBuffers);
++
++ gcmONERROR(gal2d_getSurfaceFormat(info, &go->format));
++ backOffset = (gctUINT32)(info.stride * info.height );
++
++ go->activebuffer = 0;
++
++ go->renderSurf = malloc(sizeof(gcoSURF) * go->nNumBuffers);
++ gcoOS_GetDisplayVirtual(go->display, &go->width, &go->height);
++ gcoOS_SetSwapInterval(go->display, 1);
++
++ /*Needed only for multi Buffer */
++ if(go->nNumBuffers > 1)
++ {
++ gcmVERIFY_OK(gcoOS_CreateSignal(gcvNULL, gcvFALSE,
++ &go->signal));
++ gcmVERIFY_OK(gcoOS_CreateSignal(gcvNULL, gcvFALSE,
++ &go->busySignal));
++
++ go->iface.command = gcvHAL_SIGNAL;
++ go->iface.u.Signal.signal = gcmPTR_TO_UINT64(go->signal);
++ go->iface.u.Signal.auxSignal = 0;
++ go->iface.u.Signal.process = gcmPTR_TO_UINT64(gcoOS_GetCurrentProcessID());
++ go->iface.u.Signal.fromWhere = gcvKERNEL_PIXEL;
++
++ go->exitWorker = 0;
++ pthread_create(&go->workerId, NULL, gal2d_output_worker, output);
++ pthread_mutex_init(&go->workerMutex, gcvNULL);
++ }
++ for(i=0; i < go->nNumBuffers; i++)
++ {
++ gcmONERROR(gcoSURF_Construct(gr->gcoHal, info.width, info.height, 1,
++ gcvSURF_BITMAP, go->format, gcvPOOL_USER, &go->renderSurf[i]));
++
++ gcoSURF_MapUserSurface(go->renderSurf[i], 0,info.logical + (i * backOffset),
++ info.physical + (i * backOffset));
++
++ //Clear surfaces
++ make_current(gr, go->renderSurf[go->activebuffer]);
++ gal2d_clear(output);
++ gal2d_flip_surface(output);
++ }
++ if(go->nNumBuffers <= 1)
++ go->activebuffer = 0;
++ else
++ go->activebuffer = 1;
++
++ if(go->nNumBuffers <= 1 )
++ {
++ gcmVERIFY_OK(gcoSURF_Construct(gr->gcoHal,
++ (gctUINT) info.width,
++ (gctUINT) info.height,
++ 1,
++ gcvSURF_BITMAP,
++ go->format,
++ gcvPOOL_DEFAULT,
++ &go->offscreenSurface));
++ make_current(gr, go->offscreenSurface);
++ gal2d_clear(output);
++ }
++ else
++ {
++ gcoOS_Signal(gcvNULL,go->busySignal, gcvTRUE);
++ }
++
++ for (i = 0; i < 2; i++)
++ pixman_region32_init(&go->buffer_damage[i]);
++OnError:
++ galONERROR(status);
++ /* Return the status. */
++ return status;
++ }
++
++ WL_EXPORT struct gal2d_renderer_interface gal2d_renderer_interface = {
++ .create = gal2d_renderer_create,
++ .output_create = gal2d_renderer_output_create,
++ .output_destroy = gal2d_renderer_output_destroy,
++};
+diff --git a/src/gal2d-renderer.h b/src/gal2d-renderer.h
+new file mode 100644
+index 0000000..fefcfd1
+--- /dev/null
++++ b/src/gal2d-renderer.h
+@@ -0,0 +1,47 @@
++/*
++ * Copyright (c) 2015 Freescale Semiconductor, Inc.
++ * Copyright © 2013 Vasily Khoruzhick <anarsoul@gmail.com>
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and
++ * its documentation for any purpose is hereby granted without fee, provided
++ * that the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of the copyright holders not be used in
++ * advertising or publicity pertaining to distribution of the software
++ * without specific, written prior permission. The copyright holders make
++ * no representations about the suitability of this software for any
++ * purpose. It is provided "as is" without express or implied warranty.
++ *
++ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
++ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
++ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
++ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
++ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ */
++#ifndef __gal_2d_renderer_h_
++#define __gal_2d_renderer_h_
++
++#include "compositor.h"
++#ifdef ENABLE_EGL
++#include <EGL/egl.h>
++#else
++#include <HAL/gc_hal_eglplatform.h>
++typedef HALNativeDisplayType NativeDisplayType;
++typedef HALNativeWindowType NativeWindowType;
++#endif
++
++
++struct gal2d_renderer_interface {
++
++ int (*create)(struct weston_compositor *ec);
++
++ int (*output_create)(struct weston_output *output,
++ NativeDisplayType display,
++ NativeWindowType window);
++
++ void (*output_destroy)(struct weston_output *output);
++};
++
++#endif
+--
+2.3.6
+
diff --git a/meta-fsl-arm/recipes-graphics/wayland/weston_%.bbappend b/meta-fsl-arm/recipes-graphics/wayland/weston_%.bbappend
new file mode 100644
index 00000000..a254f07f
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/wayland/weston_%.bbappend
@@ -0,0 +1,42 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+# only install patch for mx6 with a GPU
+GPU_PATCH = "file://0001-MGS-840-Add-i.MX6-support-for-weston.patch"
+SRC_URI_append_mx6q = " ${GPU_PATCH}"
+SRC_URI_append_mx6dl = " ${GPU_PATCH}"
+SRC_URI_append_mx6sx = " ${GPU_PATCH}"
+SRC_URI_append_mx6sl = " ${GPU_PATCH}"
+
+PACKAGECONFIG_append_mx6q = " cairo-glesv2"
+PACKAGECONFIG_append_mx6dl = " cairo-glesv2"
+PACKAGECONFIG_append_mx6sx = " cairo-glesv2"
+PACKAGECONFIG_remove_mx6sl = "egl"
+
+EXTRA_OECONF_append_mx6 = " \
+ --disable-libunwind \
+ --disable-xwayland-test \
+ WESTON_NATIVE_BACKEND=fbdev-backend.so \
+"
+EXTRA_OEMAKE_append_mx6 = " \
+ COMPOSITOR_CFLAGS="-I ${STAGING_INCDIR}/pixman-1 -DLINUX=1 -DEGL_API_FB -DEGL_API_WL" \
+ FB_COMPOSITOR_CFLAGS="-DLINUX=1 -DEGL_API_FB -DEGL_API_WL" \
+ SIMPLE_EGL_CLIENT_CFLAGS="-DLINUX -DEGL_API_FB -DEGL_API_WL" \
+ EGL_TESTS_CFLAGS="-DLINUX -DEGL_API_FB -DEGL_API_WL" \
+ CLIENT_CFLAGS="-I ${STAGING_INCDIR}/cairo -I ${STAGING_INCDIR}/pixman-1 -DLINUX -DEGL_API_FB -DEGL_API_WL" \
+"
+EXTRA_OEMAKE_append_mx6q = " \
+ COMPOSITOR_LIBS="-lGLESv2 -lEGL -lGAL -lwayland-server -lxkbcommon -lpixman-1" \
+ FB_COMPOSITOR_LIBS="-lGLESv2 -lEGL -lwayland-server -lxkbcommon" \
+"
+EXTRA_OEMAKE_append_mx6dl = " \
+ COMPOSITOR_LIBS="-lGLESv2 -lEGL -lGAL -lwayland-server -lxkbcommon -lpixman-1" \
+ FB_COMPOSITOR_LIBS="-lGLESv2 -lEGL -lwayland-server -lxkbcommon" \
+"
+EXTRA_OEMAKE_append_mx6sx = " \
+ COMPOSITOR_LIBS="-lGLESv2 -lEGL -lGAL -lwayland-server -lxkbcommon -lpixman-1" \
+ FB_COMPOSITOR_LIBS="-lGLESv2 -lEGL -lwayland-server -lxkbcommon" \
+"
+EXTRA_OEMAKE_append_mx6sl = " \
+ COMPOSITOR_LIBS="-lEGL -lGAL -lwayland-server -lxkbcommon -lpixman-1" \
+ FB_COMPOSITOR_LIBS="-lEGL -lwayland-server -lxkbcommon" \
+"
diff --git a/meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput b/meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput
new file mode 100644
index 00000000..59f76300
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput
@@ -0,0 +1,2 @@
+xinput set-int-prop "MXS touchscreen" "Evdev Axis Calibration" 32 194 3938 301 3878
+xinput set-int-prop "MXS touchscreen" "Evdev Axes Swap" 8 1
diff --git a/meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput b/meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput
new file mode 100644
index 00000000..bd140ff9
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput
@@ -0,0 +1,2 @@
+xinput set-int-prop "eGalax Touch Screen" "Evdev Axis Calibration" 42060 2062 -8 -783544 1 1549 65536
+xinput set-int-prop "eGalax Touch Screen" "Evdev Axes Swap" 8 0
diff --git a/meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend b/meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend
new file mode 100644
index 00000000..a9c60f3e
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend
@@ -0,0 +1,2 @@
+# Append path for freescale layer to include bsp pointercal.xinput
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante.inc b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante.inc
new file mode 100644
index 00000000..684cdb4c
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante.inc
@@ -0,0 +1,79 @@
+# Copyright (C) 2012-2015 Freescale Semiconductor
+# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+PE = "3"
+
+inherit autotools-brokensep update-rc.d pkgconfig
+
+DEPENDS += "virtual/xserver virtual/libx11 virtual/libgal-x11 imx-gpu-viv pixman"
+
+LIC_FILES_CHKSUM = "file://EXA/src/vivante_fbdev/vivante.h;endline=19;md5=95cf961a2ceacdf7cf43caef25766779"
+
+SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz \
+ file://rc.autohdmi"
+
+INITSCRIPT_PACKAGES = "xserver-xorg-extension-viv-autohdmi"
+INITSCRIPT_NAME = "rc.autohdmi"
+INITSCRIPT_PARAMS = "start 99 2 3 4 5 ."
+
+EXTRA_OEMAKE += "-C ${S} -d -f Makefile prefix=${D}/usr \
+ sysroot=${STAGING_DIR_TARGET} \
+ BUSID_HAS_NUMBER=1 \
+ BUILD_IN_YOCTO=1 \
+ XSERVER_GREATER_THAN_13=1"
+
+CFLAGS += "-I${STAGING_INCDIR}/xorg \
+ -I${STAGING_INCDIR}/drm \
+ -I../../DRI_1.10.4/src"
+
+S = "${WORKDIR}/xserver-xorg-video-imx-viv-${PV}/"
+
+PACKAGES =+ "xserver-xorg-extension-viv-autohdmi"
+
+# FIXME: The Freescale provided Makefile has hardcodec include paths
+# and this does not work in case prefix is different than /usr,
+# sed it.
+do_configure_prepend () {
+ sed -i 's,$(sysroot)/usr/include,${STAGING_INCDIR},g' \
+ ${S}EXA/src/makefile.linux
+}
+
+# FIXME: This is need as Freescale didn't use standard Makefile filename
+# thus oe_runmame thinks nothing is need to be done, use ln to
+# workaround it.
+base_do_compile () {
+ oe_runmake || die "make failed"
+}
+
+do_install_append () {
+ install -d ${D}${includedir}
+ cp -axr ${S}/EXA/src/vivante_gal/vivante_priv.h ${D}${includedir}
+ cp -axr ${S}/EXA/src/vivante_gal/vivante_gal.h ${D}${includedir}
+
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/rc.autohdmi ${D}/${sysconfdir}/init.d/rc.autohdmi
+
+ find ${D}${includedir} -type f -exec chmod 660 {} \;
+}
+
+RDEPENDS_${PN} += "libvivante-dri-mx6 \
+ xserver-xorg-module-exa \
+ mesa-driver-swrast \
+ xserver-xorg-extension-dri \
+ xserver-xorg-extension-dri2 \
+ xserver-xorg-extension-glx"
+
+REALSOLIBS := "${SOLIBS}"
+SOLIBS = "${SOLIBSDEV}"
+
+FILES_${PN} = "${libdir}/*/*/*/vivante_drv${SOLIBS}"
+FILES_${PN}-dev = "${includedir} /usr/src ${libdir}/libfsl_x11_ext${SOLIBSDEV}"
+FILES_${PN}-dbg = "${libdir}/*/*/*/.debug ${libdir}/.debug/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/.debug/autohdmi"
+
+FILES_xserver-xorg-extension-viv-autohdmi = " ${libdir}/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/autohdmi ${sysconfdir}/init.d/rc.autohdmi"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/rc.autohdmi b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/rc.autohdmi
new file mode 100644
index 00000000..8c16a1d7
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/rc.autohdmi
@@ -0,0 +1,42 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: rc.autohdmi
+# Required-Start: $all
+# Required-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop:
+### END INIT INFO
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+# Source function library.
+. /etc/init.d/functions
+
+case "$1" in
+ start)
+ echo -n "Starting autohdmi: "
+ export DISPLAY=:0
+ autohdmi &
+ echo
+ exit 0
+ ;;
+ reload|force-reload)
+ echo "Error: argument '$1' not supported" >&2
+ exit 3
+ ;;
+ stop)
+ echo -n "Shutting down autohdmi: "
+ killproc autohdmi
+ echo
+ ;;
+ restart)
+ echo -n "Restarting autohdmi: "
+ $0 stop
+ $0 start
+ echo
+ ;;
+ *)
+ echo "Usage: $0 start|stop" >&2
+ exit 3
+ ;;
+esac
diff --git a/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_5.0.11.p4.5.bb b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_5.0.11.p4.5.bb
new file mode 100644
index 00000000..c5cf2715
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_5.0.11.p4.5.bb
@@ -0,0 +1,8 @@
+# Copyright (C) 2012-2015 Freescale Semiconductor
+# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require xf86-video-imxfb-vivante.inc
+
+SRC_URI[md5sum] = "e89cd72f6d35d53accfd6b6bb3e05f42"
+SRC_URI[sha256sum] = "1a0b25a91b493e99dfa94a802290320ea998ebd45d7aab0f73d7c7bb521b7e84"
diff --git a/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch
new file mode 100644
index 00000000..6a2fcdf4
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch
@@ -0,0 +1,33 @@
+From ccdfce5e75ba707deacdd5808a8f3de8744848d0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
+Date: Tue, 5 Feb 2013 10:57:47 +0100
+Subject: [PATCH] Fix "error: unknown type name 'uint'"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In file included from imx_driver.c:33:0:
+.../sysroots/imx53qsb/usr/src/kernel/include/linux/mxcfb.h:107:2: error: unknown type name 'uint'
+
+Upstream-Status: Pending
+
+Signed-off-by: Eric Bénard <eric@eukrea.com>
+---
+ src/imx_driver.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/imx_driver.c b/src/imx_driver.c
+index f4b3e38..4cf662d 100644
+--- a/src/imx_driver.c
++++ b/src/imx_driver.c
+@@ -29,6 +29,7 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <string.h>
++#include <sys/types.h>
+ #include <linux/fb.h>
+ #include <linux/mxcfb.h>
+
+--
+1.7.10.4
+
diff --git a/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch
new file mode 100644
index 00000000..2ac6311f
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch
@@ -0,0 +1,787 @@
+From 5216cb0f14414b5451f58df48a36c1c62c035276 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat, 29 Dec 2012 18:02:11 -0200
+Subject: [PATCH] Make video API forward and backward compatible
+
+This updates the video API in a forward and backward compatible way
+using the "compat-api.h" as used in Xorg maintained drivers.
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ src/compat-api.h | 106 +++++++++++++++++++++++++++++++++++++++++++++++
+ src/imx_display.c | 22 +++++-----
+ src/imx_display.h | 8 ++--
+ src/imx_driver.c | 60 ++++++++++++++-------------
+ src/imx_exa_offscreen.c | 12 +++---
+ src/imx_exa_z160.c | 53 ++++++++++++------------
+ src/imx_xv_ipu.c | 4 +-
+ 7 files changed, 188 insertions(+), 77 deletions(-)
+ create mode 100644 src/compat-api.h
+
+diff --git a/src/compat-api.h b/src/compat-api.h
+new file mode 100644
+index 0000000..73ac8a2
+--- /dev/null
++++ b/src/compat-api.h
+@@ -0,0 +1,106 @@
++/*
++ * Copyright 2012 Red Hat, Inc.
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a
++ * copy of this software and associated documentation files (the "Software"),
++ * to deal in the Software without restriction, including without limitation
++ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
++ * and/or sell copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice (including the next
++ * paragraph) shall be included in all copies or substantial portions of the
++ * Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ * DEALINGS IN THE SOFTWARE.
++ *
++ * Author: Dave Airlie <airlied@redhat.com>
++ */
++
++/* this file provides API compat between server post 1.13 and pre it,
++ it should be reused inside as many drivers as possible */
++#ifndef COMPAT_API_H
++#define COMPAT_API_H
++
++#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
++#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
++#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
++#endif
++
++#ifndef XF86_HAS_SCRN_CONV
++#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
++#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
++#endif
++
++#ifndef XF86_SCRN_INTERFACE
++
++#define SCRN_ARG_TYPE int
++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
++
++#define SCREEN_ARG_TYPE int
++#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
++
++#define SCREEN_INIT_ARGS_DECL int index, ScreenPtr pScreen, int argc, char **argv
++
++#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask
++#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
++
++#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
++#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
++#define CLOSE_SCREEN_DECL_ScrnInfoPtr ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++
++#define FBDEVHWADJUSTFRAME_ARGS(x, y) scrnIndex, (x), (y), 0
++
++#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
++
++#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
++
++#define FREE_SCREEN_ARGS_DECL int arg, int flags
++#define FREE_SCREEN_ARGS(x) (x)->scrnIndex, 0
++
++#define VT_FUNC_ARGS_DECL int arg, int flags
++#define VT_FUNC_ARGS(flags) pScrn->scrnIndex, (flags)
++
++#define ENABLE_DISABLE_FB_ACCESS_ARGS(pScrn, b) pScrn->scrnIndex, b
++
++#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex)
++#else
++#define SCRN_ARG_TYPE ScrnInfoPtr
++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
++
++#define SCREEN_ARG_TYPE ScreenPtr
++#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
++
++#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
++
++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
++#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
++
++#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
++#define CLOSE_SCREEN_ARGS pScreen
++#define CLOSE_SCREEN_DECL_ScrnInfoPtr ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++
++#define FBDEVHWADJUSTFRAME_ARGS(x, y) pScrn, (x), (y)
++
++#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
++#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
++
++#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
++#define FREE_SCREEN_ARGS(x) (x)
++
++#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
++#define VT_FUNC_ARGS(flags) pScrn
++
++#define ENABLE_DISABLE_FB_ACCESS_ARGS(pScrn, b) pScrn, b
++
++#define XF86_ENABLEDISABLEFB_ARG(x) (x)
++
++#endif
++
++#endif
+diff --git a/src/imx_display.c b/src/imx_display.c
+index fcb8195..e2dc36a 100644
+--- a/src/imx_display.c
++++ b/src/imx_display.c
+@@ -42,6 +42,8 @@
+ #include "imx.h"
+ #include "imx_display.h"
+
++#include "compat-api.h"
++
+ #include <X11/Xatom.h>
+
+ #if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,7,6,0,0)
+@@ -1373,19 +1375,19 @@ imxDisplayPreInit(ScrnInfoPtr pScrn)
+ Bool
+ imxDisplayStartScreenInit(int scrnIndex, ScreenPtr pScreen)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr fPtr = IMXPTR(pScrn);
+
+ if (!xf86SetDesiredModes(pScrn)) {
+
+- xf86DrvMsg(scrnIndex, X_ERROR, "mode initialization failed\n");
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "mode initialization failed\n");
+ return FALSE;
+ }
+
+ #if 0
+ if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) {
+
+- xf86DrvMsg(scrnIndex, X_ERROR, "mode initialization failed\n");
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "mode initialization failed\n");
+ return FALSE;
+ }
+ pScrn->displayWidth =
+@@ -1463,29 +1465,29 @@ imxDisplayFinishScreenInit(int scrnIndex, ScreenPtr pScreen)
+ /* -------------------------------------------------------------------- */
+
+ Bool
+-imxDisplaySwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
++imxDisplaySwitchMode(SWITCH_MODE_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+
+ return xf86SetSingleMode(pScrn, mode, RR_Rotate_0);
+ }
+
+ void
+-imxDisplayAdjustFrame(int scrnIndex, int x, int y, int flags)
++imxDisplayAdjustFrame(ADJUST_FRAME_ARGS_DECL)
+ {
+-// fbdevHWAdjustFrame(scrnIndex, x, y, flags);
++// fbdevHWAdjustFrame(pScrn->scrnIndex, x, y, flags);
+ }
+
+ Bool
+-imxDisplayEnterVT(int scrnIndex, int flags)
++imxDisplayEnterVT(VT_FUNC_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+
+ return xf86SetDesiredModes(pScrn);
+ }
+
+ void
+-imxDisplayLeaveVT(int scrnIndex, int flags)
++imxDisplayLeaveVT(VT_FUNC_ARGS_DECL)
+ {
+ }
+
+diff --git a/src/imx_display.h b/src/imx_display.h
+index 4a5d5aa..3a3d43a 100644
+--- a/src/imx_display.h
++++ b/src/imx_display.h
+@@ -59,16 +59,16 @@ imxDisplayValidMode(int scrnIndex, DisplayModePtr mode,
+ Bool verbose, int flags);
+
+ extern Bool
+-imxDisplaySwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
++imxDisplaySwitchMode(SWITCH_MODE_ARGS_DECL);
+
+ extern void
+-imxDisplayAdjustFrame(int scrnIndex, int x, int y, int flags);
++imxDisplayAdjustFrame(ADJUST_FRAME_ARGS_DECL);
+
+ extern Bool
+-imxDisplayEnterVT(int scrnIndex, int flags);
++imxDisplayEnterVT(VT_FUNC_ARGS_DECL);
+
+ extern void
+-imxDisplayLeaveVT(int scrnIndex, int flags);
++imxDisplayLeaveVT(VT_FUNC_ARGS_DECL);
+
+ extern Bool
+ imxDisplayChangeFrameBufferRotateEPDC(int scrnIndex, int fbRotate);
+diff --git a/src/imx_driver.c b/src/imx_driver.c
+index 178e36e..f4b3e38 100644
+--- a/src/imx_driver.c
++++ b/src/imx_driver.c
+@@ -46,6 +46,8 @@
+ #include "fb.h"
+ #include "fbdevhw.h"
+
++#include "compat-api.h"
++
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+ #include "xf86RAC.h"
+@@ -435,17 +437,17 @@ errorPreInit:
+ }
+
+ static void
+-imxFreeScreen(int scrnIndex, int flags)
++imxFreeScreen(FREE_SCREEN_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+
+ imxFreeRec(pScrn);
+ }
+
+ static Bool
+-imxCloseScreen(int scrnIndex, ScreenPtr pScreen)
++imxCloseScreen(CLOSE_SCREEN_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ CLOSE_SCREEN_DECL_ScrnInfoPtr;
+ ImxPtr fPtr = IMXPTR(pScrn);
+
+ fbdevHWRestore(pScrn);
+@@ -453,7 +455,7 @@ imxCloseScreen(int scrnIndex, ScreenPtr pScreen)
+ pScrn->vtSema = FALSE;
+
+ pScreen->CloseScreen = fPtr->saveCloseScreen;
+- return (*pScreen->CloseScreen)(scrnIndex, pScreen);
++ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
+ }
+
+ static int
+@@ -488,9 +490,9 @@ LCM(a, b)
+ }
+
+ static Bool
+-imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
++imxScreenInit(SCREEN_INIT_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr fPtr = IMXPTR(pScrn);
+ VisualPtr visual;
+ int init_picture = 0;
+@@ -514,7 +516,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ /* Map frame buffer memory */
+ fPtr->fbMemoryBase = fbdevHWMapVidmem(pScrn);
+ if (NULL == fPtr->fbMemoryBase) {
+- xf86DrvMsg(scrnIndex,X_ERROR,"mapping of video memory"
++ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory"
+ " failed\n");
+ return FALSE;
+ }
+@@ -558,7 +560,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ const int fbOffsetScreen2 =
+ IMX_ALIGN(fbMaxScreenSize, fbMaxAlignOffset);
+ fPtr->fbMemoryScreenReserve = fbMaxScreenSize;
+- xf86DrvMsg(scrnIndex, X_INFO,
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "reserve %d bytes of frame buffer for screen\n",
+ fPtr->fbMemoryScreenReserve);
+ fPtr->fbMemoryStart2 = NULL;
+@@ -568,12 +570,12 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+
+ fPtr->fbMemoryScreenReserve += fbOffsetScreen2;
+
+- xf86DrvMsg(scrnIndex, X_INFO,
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "reserve same number of bytes for XRandR rotated screen at offset %d\n",
+ fbOffsetScreen2);
+ }
+
+- if (!imxDisplayStartScreenInit(scrnIndex, pScreen)) {
++ if (!imxDisplayStartScreenInit(pScrn->scrnIndex, pScreen)) {
+
+ return FALSE;
+ }
+@@ -582,7 +584,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ miClearVisualTypes();
+ if (pScrn->bitsPerPixel > 8) {
+ if (!miSetVisualTypes(pScrn->depth, TrueColorMask, pScrn->rgbBits, TrueColor)) {
+- xf86DrvMsg(scrnIndex,X_ERROR,"visual type setup failed"
++ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"visual type setup failed"
+ " for %d bits per pixel [1]\n",
+ pScrn->bitsPerPixel);
+ return FALSE;
+@@ -591,14 +593,14 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ if (!miSetVisualTypes(pScrn->depth,
+ miGetDefaultVisualMask(pScrn->depth),
+ pScrn->rgbBits, pScrn->defaultVisual)) {
+- xf86DrvMsg(scrnIndex,X_ERROR,"visual type setup failed"
++ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"visual type setup failed"
+ " for %d bits per pixel [2]\n",
+ pScrn->bitsPerPixel);
+ return FALSE;
+ }
+ }
+ if (!miSetPixmapDepths()) {
+- xf86DrvMsg(scrnIndex,X_ERROR,"pixmap depth setup failed\n");
++ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"pixmap depth setup failed\n");
+ return FALSE;
+ }
+
+@@ -607,10 +609,10 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ has a padding which is independent from the depth (controlfb) */
+ pScrn->displayWidth = fbdevHWGetLineLength(pScrn) /
+ (pScrn->bitsPerPixel / 8);
+- xf86DrvMsg(scrnIndex, X_INFO, "displayWidth = %d\n", pScrn->displayWidth);
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "displayWidth = %d\n", pScrn->displayWidth);
+
+ if (pScrn->displayWidth != pScrn->virtualX) {
+- xf86DrvMsg(scrnIndex, X_INFO,
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Pitch updated to %d after ModeInit\n",
+ pScrn->displayWidth);
+ }
+@@ -633,7 +635,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ init_picture = 1;
+ break;
+ default:
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "internal error: invalid number of bits per"
+ " pixel (%d) encountered in"
+ " imxScreenInit()\n", pScrn->bitsPerPixel);
+@@ -644,7 +646,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ case FBDEVHW_INTERLEAVED_PLANES:
+ /* This should never happen ...
+ * we should check for this much much earlier ... */
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "internal error: interleaved planes are not yet "
+ "supported by the imx driver\n");
+ ret = FALSE;
+@@ -652,20 +654,20 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ case FBDEVHW_TEXT:
+ /* This should never happen ...
+ * we should check for this much much earlier ... */
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "internal error: text mode is not supported by the "
+ "imx driver\n");
+ ret = FALSE;
+ break;
+ case FBDEVHW_VGA_PLANES:
+ /* Not supported yet */
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "internal error: EGA/VGA Planes are not yet "
+ "supported by the imx driver\n");
+ ret = FALSE;
+ break;
+ default:
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "internal error: unrecognised hardware type (%d) "
+ "encountered in imxScreenInit()\n", type);
+ ret = FALSE;
+@@ -699,7 +701,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ /* INIT ACCELERATION BEFORE INIT FOR BACKING STORE & SOFTWARE CURSOR */
+ if (fPtr->useAccel) {
+
+- if (!imxExaZ160Setup(scrnIndex, pScreen)) {
++ if (!imxExaZ160Setup(pScrn->scrnIndex, pScreen)) {
+
+ fPtr->useAccel = FALSE;
+ }
+@@ -731,29 +733,29 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ /* XXX It would be simpler to use miCreateDefColormap() in all cases. */
+ case FBDEVHW_PACKED_PIXELS:
+ if (!miCreateDefColormap(pScreen)) {
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "internal error: miCreateDefColormap failed "
+ "in imxScreenInit()\n");
+ return FALSE;
+ }
+ break;
+ case FBDEVHW_INTERLEAVED_PLANES:
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "internal error: interleaved planes are not yet "
+ "supported by the imx driver\n");
+ return FALSE;
+ case FBDEVHW_TEXT:
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "internal error: text mode is not supported by "
+ "the imx driver\n");
+ return FALSE;
+ case FBDEVHW_VGA_PLANES:
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "internal error: EGA/VGA planes are not yet "
+ "supported by the imx driver\n");
+ return FALSE;
+ default:
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "internal error: unrecognised imx hardware type "
+ "(%d) encountered in imxScreenInit()\n", type);
+ return FALSE;
+@@ -782,7 +784,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ }
+ #endif
+
+- if (!imxDisplayFinishScreenInit(scrnIndex, pScreen)) {
++ if (!imxDisplayFinishScreenInit(pScrn->scrnIndex, pScreen)) {
+ return FALSE;
+ }
+
+@@ -810,7 +812,7 @@ IMXGetPixmapProperties(
+ }
+
+ /* Access screen associated with this pixmap. */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
+
+ /* Check if the screen associated with this pixmap has IMX driver. */
+ if (0 != strcmp(IMX_DRIVER_NAME, pScrn->driverName)) {
+diff --git a/src/imx_exa_offscreen.c b/src/imx_exa_offscreen.c
+index 3a5c24d..0fbe2fc 100644
+--- a/src/imx_exa_offscreen.c
++++ b/src/imx_exa_offscreen.c
+@@ -79,7 +79,7 @@ static void
+ imxExaOffscreenValidate (ScreenPtr pScreen)
+ {
+ /* Access the driver specific data. */
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr imxPtr = IMXPTR(pScrn);
+ ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
+ ExaOffscreenArea *prev = 0, *area;
+@@ -135,7 +135,7 @@ imxExaOffscreenMerge (ImxExaPtr imxExaPtr, ExaOffscreenArea *area)
+ ExaOffscreenArea *
+ imxExaOffscreenFree (ScreenPtr pScreen, ExaOffscreenArea *area)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr imxPtr = IMXPTR(pScrn);
+ ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
+ ExaOffscreenArea *next = area->next;
+@@ -281,7 +281,7 @@ imxExaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
+ pointer privData)
+ {
+ ExaOffscreenArea *area;
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr imxPtr = IMXPTR(pScrn);
+ ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
+ int real_size = 0, largest_avail = 0;
+@@ -418,7 +418,7 @@ imxExaOffscreenSwapIn (ScreenPtr pScreen)
+ Bool
+ imxExaOffscreenInit (ScreenPtr pScreen)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr imxPtr = IMXPTR(pScrn);
+ ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
+ ExaOffscreenArea *area;
+@@ -453,7 +453,7 @@ imxExaOffscreenInit (ScreenPtr pScreen)
+ void
+ imxExaOffscreenFini (ScreenPtr pScreen)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr imxPtr = IMXPTR(pScrn);
+ ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
+ ExaOffscreenArea *area;
+@@ -472,7 +472,7 @@ imxExaOffscreenFini (ScreenPtr pScreen)
+ void
+ imxExaOffscreenSwapOut (ScreenPtr pScreen)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr imxPtr = IMXPTR(pScrn);
+ ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
+
+diff --git a/src/imx_exa_z160.c b/src/imx_exa_z160.c
+index fb718e0..3d0bc96 100644
+--- a/src/imx_exa_z160.c
++++ b/src/imx_exa_z160.c
+@@ -32,6 +32,7 @@
+ #include <errno.h>
+ #include <fcntl.h>
+
++#include "compat-api.h"
+
+ /* Set if handles pixmap allocation and migration, i.e, EXA_HANDLES_PIXMAPS */
+ #define IMX_EXA_ENABLE_HANDLES_PIXMAPS \
+@@ -299,7 +300,7 @@ imxExaZ160GetPixmapAddress(PixmapPtr pPixmap)
+ return fPixmapPtr->ptr;
+ #else
+ /* Access screen associated with this pixmap. */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -344,7 +345,7 @@ imxExaZ160GetPixmapProperties(
+ #else
+
+ /* Access screen associated with this pixmap. */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
+
+ /* Make sure pixmap is in framebuffer */
+ if (!exaDrawableIsOffscreen(&(pPixmap->drawable))) {
+@@ -856,7 +857,7 @@ imxExaZ160SyncIfBusyPixmap(PixmapPtr pPixmap)
+ {
+ /* Access screen associated with this pixmap. */
+ ScreenPtr pScreen = pPixmap->drawable.pScreen;
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+
+ /* Access driver specific data for screen. */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -924,7 +925,7 @@ imxExaZ160CreatePixmap2(ScreenPtr pScreen, int width, int height,
+ }
+
+ /* Access the driver specific data. */
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr imxPtr = IMXPTR(pScrn);
+ ImxExaZ160Ptr fPtr = IMXEXAZ160PTR(imxPtr);
+
+@@ -1028,7 +1029,7 @@ imxExaZ160DestroyPixmap(ScreenPtr pScreen, void *driverPriv)
+ ImxExaPixmapPtr fPixmapPtr = (ImxExaPixmapPtr)driverPriv;
+
+ /* Access the driver specific data. */
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr imxPtr = IMXPTR(pScrn);
+ ImxExaZ160Ptr fPtr = IMXEXAZ160PTR(imxPtr);
+
+@@ -1068,7 +1069,7 @@ imxExaZ160ModifyPixmapHeader(PixmapPtr pPixmap, int width, int height,
+ }
+
+ /* Access screen associated with this pixmap */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -1194,7 +1195,7 @@ imxExaZ160TrackBusyPixmap(ImxExaZ160Ptr fPtr, PixmapPtr pPixmap)
+ static void
+ imxExaZ160WaitMarker(ScreenPtr pScreen, int marker)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+
+ /* Access driver specific data associated with the screen. */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -1249,7 +1250,7 @@ imxExaZ160PrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg)
+ }
+
+ /* Access screen associated with this pixmap */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -1352,7 +1353,7 @@ static void
+ imxExaZ160Solid(PixmapPtr pPixmap, int x1, int y1, int x2, int y2)
+ {
+ /* Access screen associated with this pixmap */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -1423,7 +1424,7 @@ static void
+ imxExaZ160DoneSolid(PixmapPtr pPixmap)
+ {
+ /* Access screen associated with this pixmap */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -1485,7 +1486,7 @@ imxExaZ160PrepareCopy(
+ }
+
+ /* Access the screen associated with this pixmap. */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -1599,7 +1600,7 @@ static void
+ imxExaZ160Copy(PixmapPtr pPixmapDst, int srcX, int srcY, int dstX, int dstY, int width, int height)
+ {
+ /* Access screen associated with dst pixmap */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -1661,7 +1662,7 @@ static void
+ imxExaZ160DoneCopy(PixmapPtr pPixmapDst)
+ {
+ /* Access screen associated with this pixmap */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -1770,7 +1771,7 @@ imxExaZ160CheckComposite(int op, PicturePtr pPictureSrc, PicturePtr pPictureMask
+ }
+
+ /* Access screen associated with dst pixmap (same screen as for src pixmap). */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
+
+ /* Check the number of entities, and fail if it isn't one. */
+ if (pScrn->numEntities != 1) {
+@@ -1987,7 +1988,7 @@ imxExaZ160PrepareComposite(
+ {
+ /* Access screen associated with dst pixmap. */
+ /* Should be same screen as for src pixmap. */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
+
+ /* NOTE - many preconditions already verified in CheckComposite. */
+
+@@ -2196,7 +2197,7 @@ imxExaZ160Composite(
+ int height)
+ {
+ /* Access screen associated with dst pixmap */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -2275,7 +2276,7 @@ static void
+ imxExaZ160DoneComposite(PixmapPtr pPixmapDst)
+ {
+ /* Access screen associated with this pixmap */
+- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -2323,7 +2324,7 @@ imxExaZ160UploadToScreen(
+
+ /* Access screen associated with this pixmap */
+ ScreenPtr pScreen = pPixmapDst->drawable.pScreen;
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -2381,7 +2382,7 @@ imxExaZ160DownloadFromScreen(
+
+ /* Access screen associated with this pixmap */
+ ScreenPtr pScreen = pPixmapSrc->drawable.pScreen;
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+
+ /* Access driver specific data */
+ ImxPtr imxPtr = IMXPTR(pScrn);
+@@ -2412,9 +2413,9 @@ imxExaZ160DownloadFromScreen(
+ }
+
+ Bool
+-imxExaZ160CloseScreen(int scrnIndex, ScreenPtr pScreen)
++imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ CLOSE_SCREEN_DECL_ScrnInfoPtr;
+ ImxPtr imxPtr = IMXPTR(pScrn);
+
+ ImxExaZ160Ptr fPtr = IMXEXAZ160PTR(imxPtr);
+@@ -2504,7 +2505,7 @@ imxExaZ160CloseScreen(int scrnIndex, ScreenPtr pScreen)
+ /* Install our CloseScreen function so that it gets called. */
+ if (NULL != pScreen->CloseScreen) {
+
+- return (*pScreen->CloseScreen)(scrnIndex, pScreen);
++ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
+ }
+
+ return TRUE;
+@@ -2514,7 +2515,7 @@ Bool
+ imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
+ {
+ /* Access the screen info and then private data structures. */
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ ImxPtr imxPtr = IMXPTR(pScrn);
+
+ /* Private data structure must not already be in use. */
+@@ -2582,7 +2583,7 @@ imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
+
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Initialize Z160 interfaces failed.\n");
+- imxExaZ160CloseScreen(scrnIndex, pScreen);
++ imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS);
+ return FALSE;
+ }
+
+@@ -2592,7 +2593,7 @@ imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
+
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Allocate EXA driver structure.\n");
+- imxExaZ160CloseScreen(scrnIndex, pScreen);
++ imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS);
+ return FALSE;
+ }
+
+@@ -2657,7 +2658,7 @@ imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
+ if (!exaDriverInit(pScreen, exaDriverPtr)) {
+
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "EXA initialization failed.\n");
+- imxExaZ160CloseScreen(scrnIndex, pScreen);
++ imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS);
+ return FALSE;
+ }
+ fPtr->imxExaRec.exaDriverPtr = exaDriverPtr;
+diff --git a/src/imx_xv_ipu.c b/src/imx_xv_ipu.c
+index a517742..fc8a827 100644
+--- a/src/imx_xv_ipu.c
++++ b/src/imx_xv_ipu.c
+@@ -398,7 +398,7 @@ xf86XVFillKeyHelper1 (ScreenPtr pScreen, CARD32 key, RegionPtr clipboxes)
+ xRectangle *rects;
+ GCPtr gc;
+
+- if(!xf86Screens[pScreen->myNum]->vtSema) return;
++ if(!xf86ScreenToScrn(pScreen)->vtSema) return;
+
+ gc = GetScratchGC(root->depth, pScreen);
+ pval[0] = key;
+@@ -771,7 +771,7 @@ MXXVInitializeAdaptor
+ XF86VideoAdaptorPtr **pppAdaptor
+ )
+ {
+- ScreenPtr pScreen = screenInfo.screens[pScreenInfo->scrnIndex];
++ ScreenPtr pScreen = xf86ScrnToScreen(pScreenInfo);
+ XF86VideoAdaptorPtr *ppAdaptor = NULL;
+ IMXPtr fPtr = IMXPTR(pScreenInfo);
+ int nAdaptor;
+--
+1.7.10.4
+
diff --git a/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch
new file mode 100644
index 00000000..05be6b32
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch
@@ -0,0 +1,65 @@
+From fc7f191a1a0f290a4e808dd8f9bd58ba1dbd2be4 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat, 29 Dec 2012 18:00:36 -0200
+Subject: [PATCH 1/2] ext: Update to newer swap macros
+
+The swap macros now use an internal temporary variable so we need to
+adapt the code according.
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ src/imx_ext.c | 16 ++++++----------
+ 1 file changed, 6 insertions(+), 10 deletions(-)
+
+diff --git a/src/imx_ext.c b/src/imx_ext.c
+index f12469a..710cba4 100644
+--- a/src/imx_ext.c
++++ b/src/imx_ext.c
+@@ -57,8 +57,6 @@ void imxExtInit()
+ static int
+ Proc_IMX_EXT_GetPixmapPhysAddr(ClientPtr client)
+ {
+- int n;
+-
+ REQUEST(xIMX_EXT_GetPixmapPhysAddrReq);
+ REQUEST_SIZE_MATCH(xIMX_EXT_GetPixmapPhysAddrReq);
+
+@@ -96,10 +94,10 @@ Proc_IMX_EXT_GetPixmapPhysAddr(ClientPtr client)
+ /* Check if any reply values need byte swapping */
+ if (client->swapped) {
+
+- swaps(&rep.sequenceNumber, n);
+- swapl(&rep.length, n);
+- swapl(&rep.pixmapPhysAddr, n);
+- swapl(&rep.pixmapPitch, n);
++ swaps(&rep.sequenceNumber);
++ swapl(&rep.length);
++ swapl(&rep.pixmapPhysAddr);
++ swapl(&rep.pixmapPitch);
+ }
+
+ /* Reply to client */
+@@ -123,16 +121,14 @@ Proc_IMX_EXT_Dispatch(ClientPtr client)
+ static int
+ SProc_IMX_EXT_GetPixmapPhysAddr(ClientPtr client)
+ {
+- int n;
+-
+ REQUEST(xIMX_EXT_GetPixmapPhysAddrReq);
+
+ /* Swap request message length and verify it is correct. */
+- swaps(&stuff->length, n);
++ swaps(&stuff->length);
+ REQUEST_SIZE_MATCH(xIMX_EXT_GetPixmapPhysAddrReq);
+
+ /* Swap remaining request message parameters. */
+- swapl(&stuff->pixmap, n);
++ swapl(&stuff->pixmap);
+
+ return Proc_IMX_EXT_GetPixmapPhysAddr(client);
+ }
+--
+1.7.10.4
+
diff --git a/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/glibc-2.20.patch b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/glibc-2.20.patch
new file mode 100644
index 00000000..3b1b84d1
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/glibc-2.20.patch
@@ -0,0 +1,57 @@
+Fix build errors seen with glibc 2.20
+
+/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/imx53qsb/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
+ strndup(const char *str, size_t n);
+ ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: xserver-xorg-video-imx-11.09.01/src/imx_accel.c
+===================================================================
+--- xserver-xorg-video-imx-11.09.01.orig/src/imx_accel.c 2011-07-26 14:22:47.000000000 -0700
++++ xserver-xorg-video-imx-11.09.01/src/imx_accel.c 2014-08-29 15:54:43.648070587 -0700
+@@ -21,6 +21,7 @@
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
++#include <xorg-server.h>
+
+ #include <stdint.h>
+ #include "xf86.h"
+Index: xserver-xorg-video-imx-11.09.01/src/imx_exa_offscreen.c
+===================================================================
+--- xserver-xorg-video-imx-11.09.01.orig/src/imx_exa_offscreen.c 2014-08-29 15:26:31.992070587 -0700
++++ xserver-xorg-video-imx-11.09.01/src/imx_exa_offscreen.c 2014-08-29 15:54:54.632070587 -0700
+@@ -53,7 +53,7 @@
+ * When allocating, the contiguous block of areas with the minimum eviction
+ * cost is found and evicted in order to make room for the new allocation.
+ */
+-
++#include <xorg-server.h>
+
+ #include "xf86.h"
+ #include "exa.h"
+Index: xserver-xorg-video-imx-11.09.01/src/imx_exa_z160.c
+===================================================================
+--- xserver-xorg-video-imx-11.09.01.orig/src/imx_exa_z160.c 2014-08-29 15:26:31.992070587 -0700
++++ xserver-xorg-video-imx-11.09.01/src/imx_exa_z160.c 2014-08-29 15:54:36.056070587 -0700
+@@ -21,6 +21,7 @@
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
++#include <xorg-server.h>
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+Index: xserver-xorg-video-imx-11.09.01/src/imx_ext.c
+===================================================================
+--- xserver-xorg-video-imx-11.09.01.orig/src/imx_ext.c 2014-08-29 15:26:32.064070587 -0700
++++ xserver-xorg-video-imx-11.09.01/src/imx_ext.c 2014-08-29 15:55:18.048070587 -0700
+@@ -21,6 +21,7 @@
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
++#include <xorg-server.h>
+
+ #include <X11/X.h>
+ #include <X11/Xproto.h>
diff --git a/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch
new file mode 100644
index 00000000..64af7732
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch
@@ -0,0 +1,53 @@
+From 5b348e7be67957f4be6fcfa4942128c04f6db905 Mon Sep 17 00:00:00 2001
+From: Adrian Alonso <b38018@freescale.com>
+Date: Thu, 4 Aug 2011 14:24:26 -0500
+Subject: [PATCH] xf86-video-imxfb: fix m4 hardcodded paths
+
+* Fix m4 macros lookup location; remove /usr/share/aclocal path
+
+Signed-off-by: Adrian Alonso <b38018@freescale.com>
+---
+ Makefile.am | 2 +-
+ Makefile.in | 2 +-
+ configure.ac | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 6752256..e205657 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -20,4 +20,4 @@
+
+ AUTOMAKE_OPTIONS = foreign
+ SUBDIRS = src
+-ACLOCAL_AMFLAGS = -I /usr/share/aclocal
++ACLOCAL_AMFLAGS = -I m4
+diff --git a/Makefile.in b/Makefile.in
+index 5c0ba0e..f829db7 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -243,7 +243,7 @@ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = foreign
+ SUBDIRS = src
+-ACLOCAL_AMFLAGS = -I /usr/share/aclocal
++ACLOCAL_AMFLAGS = -I m4
+ all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+diff --git a/configure.ac b/configure.ac
+index a1ac73b..0078b86 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -29,7 +29,7 @@ AC_INIT([xf86-video-imx],
+ AC_CONFIG_SRCDIR([Makefile.am])
+ AM_CONFIG_HEADER([config.h])
+ AC_CONFIG_AUX_DIR(.)
+-AC_CONFIG_MACRO_DIR([/usr/share/aclocal])
++AC_CONFIG_MACRO_DIR([m4])
+
+ AM_INIT_AUTOMAKE([dist-bzip2])
+
+--
+1.7.4.1
+
diff --git a/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch
new file mode 100644
index 00000000..14ccbbf9
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch
@@ -0,0 +1,34 @@
+Fix building using new Xorg 1.14
+
+mibstore functions are no longer supported. This patch removes them
+from this driver, following the pattern in
+http://patches.openembedded.org/patch/46133/
+
+This checkin shows when/where the changes to the X server were made
+that deleted the header mibstore.h and mentions the reasons.
+http://lists.x.org/archives/xorg-devel/2012-September/033575.html
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+Index: xserver-xorg-video-imx-11.09.01/src/imx_driver.c
+===================================================================
+--- xserver-xorg-video-imx-11.09.01.orig/src/imx_driver.c
++++ xserver-xorg-video-imx-11.09.01/src/imx_driver.c
+@@ -37,7 +37,6 @@
+ #include "xf86_OSproc.h"
+
+ #include "mipointer.h"
+-#include "mibstore.h"
+ #include "micmap.h"
+ #include "colormapst.h"
+ #include "xf86cmap.h"
+@@ -722,7 +721,6 @@ imxScreenInit(SCREEN_INIT_ARGS_DECL)
+ /* Initialize for X extensions. */
+ imxExtInit();
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+
+ /* software cursor */
diff --git a/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb
new file mode 100644
index 00000000..51f243fc
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb
@@ -0,0 +1,48 @@
+# Copyright (C) 2011-2015 O.S. Systems Software LTDA.
+# Copyright (C) 2011, 2012 Freescale
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+DESCRIPTION = "X.Org X server -- Freescale iMx framebuffer driver"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f7bdc0c63080175d1667091b864cb12c"
+DEPENDS = "virtual/kernel virtual/xserver virtual/libx11 xproto randrproto util-macros amd-gpu-x11-bin-mx51 libz160"
+
+PR = "r12"
+
+SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-${PV}.tar.gz \
+ file://xf86-video-imxfb-fix-m4-hardcodded-paths.patch \
+ file://Make-video-API-forward-and-backward-compatible.patch \
+ file://ext-Update-to-newer-swap-macros.patch \
+ file://Fix-error-unknown-type-name-uint.patch \
+ file://xserver-1.14-compat.patch \
+ file://glibc-2.20.patch \
+"
+SRC_URI[md5sum] = "d19148399b5d1c4dab90d0cc6f2c4789"
+SRC_URI[sha256sum] = "d7d85e9f13c6dd58addab89847f3a8a67f6382a54135c7978c9a95368af024d4"
+
+inherit autotools pkgconfig
+
+# Make sure kernel sources are available
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+# Skip warning
+UNKNOWN_CONFIGURE_WHITELIST += "--enable-neon"
+
+FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so"
+FILES_${PN}-dbg += " ${libdir}/xorg/modules/drivers/.debug"
+EXTRA_OECONF_armv7a = " --enable-neon "
+CFLAGS += " -I${STAGING_INCDIR}/xorg -I${STAGING_KERNEL_DIR}/include"
+
+S = "${WORKDIR}/xserver-xorg-video-imx-${PV}"
+
+do_install_append () {
+ # driver's la files are not packaged
+ rm -f ${D}${libdir}/xorg/modules/drivers/*.la
+}
+
+RDEPENDS_${PN} += "xserver-xorg-module-exa"
+
+INSANE_SKIP_${PN} = "ldflags"
+INSANE_SKIP_${PN}-dbg = "ldflags"
+COMPATIBLE_MACHINE = "(mx5)"
diff --git a/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf
new file mode 100644
index 00000000..a99e6f24
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf
@@ -0,0 +1,16 @@
+Section "Device"
+ Identifier "i.MX Accelerated Framebuffer Device"
+ Driver "imx"
+ Option "fbdev" "/dev/fb0"
+ # This option only recognized when "mxc_epdc_fb" frame buffer driver in
+ # use. Values are "RGB565" (default, 16-bit RGB), "Y8" (8-bit gray),
+ # and "Y8INV" (8-bit gray inverted).
+ Option "FormatEPDC" "Y8INV"
+EndSection
+
+Section "ServerFlags"
+ Option "BlankTime" "0"
+ Option "StandbyTime" "0"
+ Option "SuspendTime" "0"
+ Option "OffTime" "0"
+EndSection
diff --git a/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
new file mode 100644
index 00000000..b89bed60
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
@@ -0,0 +1,14 @@
+Section "Device"
+ Identifier "i.MX Accelerated Framebuffer Device"
+ Driver "vivante"
+ Option "fbdev" "/dev/fb0"
+ Option "vivante_fbdev" "/dev/fb0"
+ Option "HWcursor" "false"
+EndSection
+
+Section "ServerFlags"
+ Option "BlankTime" "0"
+ Option "StandbyTime" "0"
+ Option "SuspendTime" "0"
+ Option "OffTime" "0"
+EndSection
diff --git a/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf
new file mode 100644
index 00000000..79b6c0fc
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf
@@ -0,0 +1,12 @@
+Section "Device"
+ Identifier "Kernel Framebuffer Device"
+ Driver "fbdev"
+ Option "fbdev" "/dev/fb0"
+EndSection
+
+Section "ServerFlags"
+ Option "BlankTime" "0"
+ Option "StandbyTime" "0"
+ Option "SuspendTime" "0"
+ Option "OffTime" "0"
+EndSection
diff --git a/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
new file mode 100644
index 00000000..ceb438e3
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
@@ -0,0 +1,2 @@
+# Append path for freescale layer to include bsp xorg.conf
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-fsl-arm/recipes-kernel/kernel-module-mcc/kernel-module-mcc/mcc_config.h-Only-include-mvf_sema4.h-if-building-in.patch b/meta-fsl-arm/recipes-kernel/kernel-module-mcc/kernel-module-mcc/mcc_config.h-Only-include-mvf_sema4.h-if-building-in.patch
new file mode 100644
index 00000000..570edaa7
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/kernel-module-mcc/kernel-module-mcc/mcc_config.h-Only-include-mvf_sema4.h-if-building-in.patch
@@ -0,0 +1,51 @@
+From 17e04c68557c4c9cb1a0112717019329a0cc3f96 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Tue, 6 Jan 2015 13:39:50 -0200
+Subject: [PATCH] mcc_config.h: Only include mvf_sema4.h if building in kernel
+Organization: O.S. Systems Software LTDA.
+
+When mcc_config.h is used to make application we shouldn't include
+mvf_sema4.h as it is an internal symbol of kernel and shouldn't be
+directly referenced by user space applications using the MCC
+interface.
+
+This patch puts a guard using __KERNEL__ define, avoiding the include
+and the definition of MCC_SHMEM_SEMAPHORE_NUMBER as
+MVF_SHMEM_SEMAPHORE_NUMBER would be undefined.
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ mcc_config.h | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/mcc_config.h b/mcc_config.h
+index 6a12c6d..3887aad 100644
+--- a/mcc_config.h
++++ b/mcc_config.h
+@@ -18,8 +18,13 @@
+ #ifndef __MCC_CONFIG__
+ #define __MCC_CONFIG__
+
++#ifdef __KERNEL__
+ #include <linux/mvf_sema4.h>
+
++/* semaphore number */
++#define MCC_SHMEM_SEMAPHORE_NUMBER (MVF_SHMEM_SEMAPHORE_NUMBER)
++#endif
++
+ /* used OS */
+ #define MCC_OS_USED (MCC_LINUX)
+
+@@ -47,7 +52,4 @@
+ /* other cores, besides this participating in mcc */
+ #define MCC_OTHER_CORES {1}
+
+-/* semaphore number */
+-#define MCC_SHMEM_SEMAPHORE_NUMBER (MVF_SHMEM_SEMAPHORE_NUMBER)
+-
+ #endif /* __MCC_CONFIG__ */
+--
+2.1.4
+
diff --git a/meta-fsl-arm/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.06.bb b/meta-fsl-arm/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.06.bb
new file mode 100644
index 00000000..db3eb025
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.06.bb
@@ -0,0 +1,20 @@
+# Copyright (C) 2013 Timesys Corporation
+SUMMARY = "Multicore communication kernel module"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c8959abcbbe4d6676c58eab9354019e6"
+
+PROVIDES = "virtual/kernel-module-mcc"
+RPROVIDES_${PN} = "virtual/kernel-module-mcc"
+RPROVIDES_${PN}-dev = "virtual/kernel-module-mcc-dev"
+
+inherit module
+
+SRC_URI = "http://repository.timesys.com/buildsources/m/mcc-kmod/mcc-kmod-${PV}/mcc-kmod-${PV}.tar.bz2 \
+ file://mcc_config.h-Only-include-mvf_sema4.h-if-building-in.patch"
+
+SRC_URI[md5sum] = "d0507968592af5d8781e8bdbbb249e7d"
+SRC_URI[sha256sum] = "43f834ddf9845da843c7790a307a0dbc8b04a40deed06aed7c3c99ad3a273f6c"
+
+S = "${WORKDIR}/mcc-kmod-${PV}"
+
+COMPATIBLE_MACHINE = "(vf60)"
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-fslc-mx6/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-fslc-mx6/defconfig
new file mode 100644
index 00000000..85d70009
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-fslc-mx6/defconfig
@@ -0,0 +1,414 @@
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_GPIO_PCA953X=y
+CONFIG_ARCH_MXC=y
+CONFIG_MACH_IMX51_DT=y
+CONFIG_MACH_EUKREA_CPUIMX51SD=y
+CONFIG_SOC_IMX50=y
+CONFIG_SOC_IMX53=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_IMX6SX=y
+CONFIG_SOC_VF610=y
+# CONFIG_SWP_EMULATE is not set
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PREEMPT=y
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+CONFIG_CMA=y
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_KEXEC=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_ARM_IMX6Q_CPUFREQ=y
+CONFIG_CPU_IDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_IPV6=y
+CONFIG_NETFILTER=y
+CONFIG_VLAN_8021Q=y
+CONFIG_LLC2=y
+CONFIG_CAN=y
+CONFIG_CAN_FLEXCAN=y
+CONFIG_CAN_M_CAN=y
+CONFIG_BT=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=y
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=y
+CONFIG_BT_HCIBTUSB=y
+CONFIG_BT_HCIBTSDIO=y
+CONFIG_BT_HCIUART=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIBCM203X=y
+CONFIG_BT_ATH3K=y
+CONFIG_CFG80211=y
+CONFIG_MAC80211=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=320
+CONFIG_IMX_WEIM=y
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_IMX=y
+CONFIG_PATA_IMX=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_ATH_CARDS=y
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_BRCMFMAC=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_SNVS_PWRKEY=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_ELAN=y
+CONFIG_TOUCHSCREEN_MAX11801=y
+CONFIG_TOUCHSCREEN_MC13783=y
+CONFIG_TOUCHSCREEN_TSC2007=y
+CONFIG_TOUCHSCREEN_STMPE=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+CONFIG_INPUT_ISL29023=y
+CONFIG_SERIO_SERPORT=m
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_FSL_OTP=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_SABRESD_MAX8903=y
+CONFIG_SENSORS_MAX17135=y
+CONFIG_SENSORS_MAG3110=y
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+CONFIG_DEVICE_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_MAX17135=y
+CONFIG_MFD_SI476X_CORE=y
+CONFIG_MFD_STMPE=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_MAX17135=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_GPIO_CIR=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_CAPTURE=m
+CONFIG_MXC_CAMERA_OV5640=m
+CONFIG_MXC_CAMERA_OV5642=m
+CONFIG_MXC_CAMERA_OV5640_MIPI=m
+CONFIG_MXC_TVIN_ADV7180=m
+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_VIDEO_MXC_CSI_CAMERA=m
+CONFIG_MXC_VADC=m
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_MX3=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_CODA=y
+CONFIG_RADIO_SI476X=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_DRM=y
+CONFIG_DRM_VIVANTE=y
+CONFIG_FB=y
+CONFIG_FB_MXS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXC_LDB=y
+CONFIG_FB_MXC_MIPI_DSI=y
+CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
+CONFIG_FB_MXC_HDMI=y
+CONFIG_FB_MXC_EINK_PANEL=y
+CONFIG_FB_MXS_SII902X=y
+CONFIG_FB_MXC_DCIC=m
+CONFIG_HANNSTAR_CABC=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_CS42888=y
+CONFIG_SND_SOC_IMX_WM8962=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_MQS=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_SND_SOC_IMX_HDMI=y
+CONFIG_SND_SOC_IMX_SI476X=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_MXC=y
+CONFIG_USB_ACM=m
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_EHSET_TEST_FIXTURE=m
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MXC_IPU=y
+CONFIG_MXC_GPU_VIV=y
+CONFIG_MXC_MIPI_CSI2=y
+CONFIG_MXC_MLB150=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+CONFIG_MXC_PXP_V2=y
+CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
+CONFIG_STAGING=y
+CONFIG_STAGING_MEDIA=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_IIO=y
+CONFIG_VF610_ADC=y
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_DEBUG_FS=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_FTRACE is not set
+CONFIG_SECURITYFS=y
+CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=y
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=y
+CONFIG_CRYPTO_RMD320=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_TWOFISH=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DEV_FSL_CAAM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-fslc-mx6_3.14-1.0.x.bb b/meta-fsl-arm/recipes-kernel/linux/linux-fslc-mx6_3.14-1.0.x.bb
new file mode 100644
index 00000000..daf396df
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-fslc-mx6_3.14-1.0.x.bb
@@ -0,0 +1,16 @@
+# Copyright (C) 2015 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "FSL Community BSP i.MX6 Linux kernel with backported features and fixes"
+DESCRIPTION = "Linux kernel based on Freescale 3.14.28 GA release, used by FSL Community BSP in order to \
+provide support for i.MX6 based platforms and include official Linux kernel stable updates, backported \
+features and fixes coming from the vendors, kernel community or FSL Community itself."
+
+include linux-fslc.inc
+
+PV .= "+git${SRCPV}"
+
+SRCBRANCH = "3.14-1.0.x-mx6"
+SRCREV = "9e71c2c628a48c6892a01ea98a818a41357981c1"
+
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-fslc.inc b/meta-fsl-arm/recipes-kernel/linux/linux-fslc.inc
new file mode 100644
index 00000000..1501ae7f
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-fslc.inc
@@ -0,0 +1,11 @@
+# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-kernel/linux/linux-imx.inc
+require recipes-kernel/linux/linux-dtb.inc
+
+DEPENDS += "lzop-native bc-native"
+
+SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${SRCBRANCH} \
+ file://defconfig"
+LOCALVERSION = "-fslc"
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-fslc/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-fslc/defconfig
new file mode 100644
index 00000000..d615e3d3
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-fslc/defconfig
@@ -0,0 +1,357 @@
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+CONFIG_FHANDLE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_ARCH_MULTI_V6=y
+CONFIG_ARCH_MXC=y
+CONFIG_MACH_MX31LILLY=y
+CONFIG_MACH_MX31LITE=y
+CONFIG_MACH_PCM037=y
+CONFIG_MACH_PCM037_EET=y
+CONFIG_MACH_MX31_3DS=y
+CONFIG_MACH_MX31MOBOARD=y
+CONFIG_MACH_QONG=y
+CONFIG_MACH_ARMADILLO5X0=y
+CONFIG_MACH_KZM_ARM11_01=y
+CONFIG_MACH_IMX31_DT=y
+CONFIG_MACH_IMX35_DT=y
+CONFIG_MACH_PCM043=y
+CONFIG_MACH_MX35_3DS=y
+CONFIG_MACH_VPR200=y
+CONFIG_SOC_IMX50=y
+CONFIG_SOC_IMX51=y
+CONFIG_SOC_IMX53=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_IMX6SX=y
+CONFIG_SOC_VF610=y
+CONFIG_PCI=y
+CONFIG_PCI_IMX6=y
+CONFIG_PCCARD=y
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+CONFIG_CMA=y
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+CONFIG_ARM_IMX6Q_CPUFREQ=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_IPV6=y
+CONFIG_NETFILTER=y
+CONFIG_CAN=y
+CONFIG_CAN_FLEXCAN=y
+CONFIG_BT=y
+CONFIG_BT_HCIUART=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_CFG80211=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=y
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_DMA_CMA=y
+CONFIG_IMX_WEIM=y
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_IMX=y
+CONFIG_PATA_IMX=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_AT803X_PHY=y
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_PCMCIA_RAYCS=y
+CONFIG_BRCMFMAC=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_MC13783=y
+CONFIG_TOUCHSCREEN_TSC2007=y
+CONFIG_TOUCHSCREEN_STMPE=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+CONFIG_SERIO_SERPORT=m
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_HW_RANDOM=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_MC9S08DZ60=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_STMPE=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_IMX=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_SENSORS_GPIO_FAN=y
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_STMPE=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_GPIO_CIR=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_MX3=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_CODA=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_IMX_IPUV3_CORE=y
+CONFIG_DRM=y
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_IMX=y
+CONFIG_DRM_IMX_FB_HELPER=y
+CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
+CONFIG_DRM_IMX_TVE=y
+CONFIG_DRM_IMX_LDB=y
+CONFIG_DRM_IMX_HDMI=y
+CONFIG_FB_MXS=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_BACKLIGHT_GPIO=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_FSL_SAI=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_PHYCORE_AC97=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_WM8962=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_SND_SOC_TLV320AIC3X=y
+CONFIG_SND_SIMPLE_CARD=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_MXC=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_EHSET_TEST_FIXTURE=m
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_DS1307=y
+CONFIG_RTC_DRV_ISL1208=y
+CONFIG_RTC_DRV_PCF8563=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
+CONFIG_FSL_EDMA=y
+CONFIG_STAGING=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEBUG_FS=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+CONFIG_PROVE_LOCKING=y
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_FTRACE is not set
+# CONFIG_ARM_UNWIND is not set
+CONFIG_SECURITYFS=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-fslc/mxs/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-fslc/mxs/defconfig
new file mode 100644
index 00000000..b47e7c66
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-fslc/mxs/defconfig
@@ -0,0 +1,185 @@
+CONFIG_SYSVIPC=y
+CONFIG_FHANDLE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+CONFIG_PERF_EVENTS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_BLK_DEV_INTEGRITY=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_ARCH_MULTI_V7 is not set
+CONFIG_ARCH_MXS=y
+# CONFIG_ARM_THUMB is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_AEABI=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+# CONFIG_INET_DIAG is not set
+# CONFIG_IPV6 is not set
+CONFIG_CAN=m
+CONFIG_CAN_FLEXCAN=m
+# CONFIG_WIRELESS is not set
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_MTD_UBI=y
+# CONFIG_BLK_DEV is not set
+CONFIG_EEPROM_AT24=y
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_NETDEVICES=y
+CONFIG_ENC28J60=y
+CONFIG_SMSC_PHY=y
+CONFIG_ICPLUS_PHY=y
+CONFIG_REALTEK_PHY=y
+CONFIG_MICREL_PHY=y
+CONFIG_USB_USBNET=y
+CONFIG_USB_NET_SMSC95XX=y
+# CONFIG_WLAN is not set
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_SERIO is not set
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_MXS_AUART=y
+# CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MXS=y
+CONFIG_SPI=y
+CONFIG_SPI_GPIO=m
+CONFIG_SPI_MXS=y
+CONFIG_GPIO_SYSFS=y
+# CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_STMP3XXX_RTC_WATCHDOG=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_FB=y
+CONFIG_FB_MXS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SOC=y
+CONFIG_SND_MXS_SOC=y
+CONFIG_SND_SOC_MXS_SGTL5000=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ETH=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_MMC=y
+CONFIG_MMC_MXS=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_STMP=y
+CONFIG_DMADEVICES=y
+CONFIG_MXS_DMA=y
+CONFIG_STAGING=y
+CONFIG_MXS_LRADC=y
+CONFIG_IIO=y
+CONFIG_IIO_SYSFS_TRIGGER=y
+CONFIG_PWM=y
+CONFIG_PWM_MXS=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT4_FS=y
+# CONFIG_DNOTIFY is not set
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_CACHEFILES=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RUBIN=y
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_850=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEBUG_INFO=y
+CONFIG_FRAME_WARN=2048
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_TIMER_STATS=y
+CONFIG_PROVE_LOCKING=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_STRICT_DEVMEM=y
+CONFIG_DEBUG_USER=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DEV_MXS_DCP=y
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC7=m
+CONFIG_FONTS=y
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-fslc_4.1.bb b/meta-fsl-arm/recipes-kernel/linux/linux-fslc_4.1.bb
new file mode 100644
index 00000000..84edf118
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-fslc_4.1.bb
@@ -0,0 +1,17 @@
+# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "FSL Community BSP Linux mainline based kernel with backported features and fixes"
+DESCRIPTION = "Linux kernel based on mainline kernel used by FSL Community BSP in order to \
+provide support for some backported features and fixes, or because it was applied in linux-next \
+and takes some time to become part of a stable version, or because it is not applicable for \
+upstreaming."
+
+include linux-fslc.inc
+
+PV = "4.1+git${SRCPV}"
+
+SRCBRANCH = "patches-4.1"
+SRCREV = "665a389b8e62c444969ac65e3e0eda5d8c13ea24"
+
+COMPATIBLE_MACHINE = "(mxs|mx3|mx5|mx6)"
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/fixes-for-using-make-3.82.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/fixes-for-using-make-3.82.patch
new file mode 100644
index 00000000..aa81fb25
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/fixes-for-using-make-3.82.patch
@@ -0,0 +1,51 @@
+From: Jan Beulich <JBeulich@novell.com>
+Date: Mon, 16 Aug 2010 11:58:58 +0100
+Subject: fixes for using make 3.82
+
+It doesn't like pattern and explicit rules to be on the same line,
+and it seems to be more picky when matching file (or really directory)
+names with different numbers of trailing slashes.
+
+Upstream-Status: Backport [2.6.36]
+
+Signed-off-by: Jan Beulich <jbeulich@novell.com>
+Acked-by: Sam Ravnborg <sam@ravnborg.org>
+Andrew Benton <b3nton@gmail.com>
+Cc: <stable@kernel.org>
+Signed-off-by: Michal Marek <mmarek@suse.cz>
+---
+ firmware/Makefile | 2 +-
+ scripts/mkmakefile | 4 +++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/firmware/Makefile b/firmware/Makefile
+index 2f1c370..bed7d05 100644
+--- a/firmware/Makefile
++++ b/firmware/Makefile
+@@ -145,7 +145,7 @@ fw-shipped-$(CONFIG_FB_MXC_EINK_PANEL) += imx/epdc_E60_V110.fw \
+ fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-)
+
+ # Directories which we _might_ need to create, so we have a rule for them.
+-firmware-dirs := $(sort $(patsubst %,$(objtree)/$(obj)/%/,$(dir $(fw-external-y) $(fw-shipped-all))))
++firmware-dirs := $(sort $(addprefix $(objtree)/$(obj)/,$(dir $(fw-external-y) $(fw-shipped-all))))
+
+ quiet_cmd_mkdir = MKDIR $(patsubst $(objtree)/%,%,$@)
+ cmd_mkdir = mkdir -p $@
+diff --git a/scripts/mkmakefile b/scripts/mkmakefile
+index 67d59c7..5325423 100644
+--- a/scripts/mkmakefile
++++ b/scripts/mkmakefile
+@@ -44,7 +44,9 @@ all:
+
+ Makefile:;
+
+-\$(all) %/: all
++\$(all): all
+ @:
+
++%/: all
++ @:
+ EOF
+--
+2.1.4
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig
new file mode 100644
index 00000000..3c20ee8f
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig
@@ -0,0 +1,2053 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.35.3
+# Sat Aug 4 14:59:15 2012
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_HAVE_PROC_CPU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_ARCH_HAS_CPUFREQ=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_FIQ=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+# CONFIG_RD_LZO is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+# CONFIG_ASHMEM is not set
+CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+# CONFIG_PERF_EVENTS is not set
+# CONFIG_PERF_COUNTERS is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_SLOW_WORK is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CNS3XXX is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+CONFIG_ARCH_MXS=y
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_DOVE is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_NUC93X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_S5P6440 is not set
+# CONFIG_ARCH_S5P6442 is not set
+# CONFIG_ARCH_S5PC100 is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_PLAT_SPEAR is not set
+CONFIG_IRAM_ALLOC=y
+CONFIG_DMA_ZONE_SIZE=12
+
+#
+# Freescale i.MXS implementations
+#
+# CONFIG_ARCH_MX28 is not set
+CONFIG_ARCH_MX23=y
+CONFIG_VECTORS_PHY_ADDR=0
+CONFIG_MACH_MX23EVK=y
+CONFIG_MXS_UNIQUE_ID=y
+CONFIG_MXS_UNIQUE_ID_OTP=y
+CONFIG_MXS_ICOLL=y
+CONFIG_MXS_EARLY_CONSOLE=y
+CONFIG_MXS_DMA_ENGINE=y
+CONFIG_MXS_LRADC=y
+CONFIG_MXS_PWM_CHANNELS=8
+
+#
+# Freescale Application UART:
+#
+CONFIG_MXS_AUART_DMA_SUPPORT=y
+CONFIG_MXS_AUART_PORTS=5
+# CONFIG_MXS_AUART0_DEVICE_ENABLE is not set
+# CONFIG_MXS_AUART0_DMA_ENABLE is not set
+CONFIG_MXS_AUART1_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART1_DMA_ENABLE is not set
+# CONFIG_MXS_AUART2_DEVICE_ENABLE is not set
+# CONFIG_MXS_AUART2_DMA_ENABLE is not set
+# CONFIG_MXS_AUART3_DEVICE_ENABLE is not set
+# CONFIG_MXS_AUART3_DMA_ENABLE is not set
+# CONFIG_MXS_AUART4_DEVICE_ENABLE is not set
+# CONFIG_MXS_AUART4_DMA_ENABLE is not set
+CONFIG_MXS_RAM_FREQ_SCALING=y
+# CONFIG_MXS_RAM_MDDR is not set
+CONFIG_MXS_RAM_DDR=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_PABRT_LEGACY=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+CONFIG_ARM_L1_CACHE_SHIFT=5
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_HZ=100
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=999999
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# CPU Power Management
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+# CONFIG_VFP is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND_NVS=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_APM_EMULATION is not set
+# CONFIG_PM_RUNTIME is not set
+CONFIG_PM_OPS=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+CONFIG_ARPD=y
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+CONFIG_INET_TUNNEL=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+CONFIG_INET6_XFRM_MODE_TRANSPORT=y
+CONFIG_INET6_XFRM_MODE_TUNNEL=y
+CONFIG_INET6_XFRM_MODE_BEET=y
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=y
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+# CONFIG_NF_CONNTRACK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+# CONFIG_NF_DEFRAG_IPV4 is not set
+# CONFIG_IP_NF_QUEUE is not set
+# CONFIG_IP_NF_IPTABLES is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration
+#
+# CONFIG_IP6_NF_QUEUE is not set
+# CONFIG_IP6_NF_IPTABLES is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+
+#
+# Some wireless drivers require a rate control algorithm
+#
+# CONFIG_WIMAX is not set
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_MXC_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_GPMI_NFC=y
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+CONFIG_MTD_UBI_GLUEBI=y
+
+#
+# UBI debugging options
+#
+# CONFIG_MTD_UBI_DEBUG is not set
+CONFIG_MTD_UBI_BLOCK=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+CONFIG_MXS_PERSISTENT=y
+# CONFIG_ANDROID_PMEM is not set
+# CONFIG_UID_STAT is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_IWMC3200TOP is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# CONFIG_SCSI_LOWLEVEL is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+# CONFIG_MII is not set
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+CONFIG_ENC28J60=y
+# CONFIG_ENC28J60_WRITEVERIFY is not set
+# CONFIG_ETHOC is not set
+# CONFIG_SMC911X is not set
+# CONFIG_SMSC911X is not set
+# CONFIG_DNET is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_B44 is not set
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
+CONFIG_NETDEV_1000=y
+CONFIG_NETDEV_10000=y
+CONFIG_WLAN=y
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_ATH6K_LEGACY is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_HSO is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+CONFIG_INPUT_POLLDEV=y
+# CONFIG_INPUT_SPARSEKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_MXS=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
+# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
+# CONFIG_TOUCHSCREEN_AD7879 is not set
+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+# CONFIG_TOUCHSCREEN_EETI is not set
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_MCS5000 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_TOUCHSCREEN_MXS=y
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+# CONFIG_TOUCHSCREEN_W90X900 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_ATI_REMOTE is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+# CONFIG_INPUT_UINPUT is not set
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_LIBPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+CONFIG_MXS_VIIM=y
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MXS_DUART=y
+CONFIG_SERIAL_MXS_AUART=y
+# CONFIG_SERIAL_MXS_AUART_CONSOLE is not set
+CONFIG_SERIAL_MXS_DUART_CONSOLE=y
+# CONFIG_SERIAL_MAX3100 is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_FSL_OTP is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_MXS=y
+CONFIG_I2C_MXS_SELECT0=y
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_XILINX is not set
+CONFIG_SPI_MXS=y
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+# CONFIG_GPIO_SYSFS is not set
+
+#
+# Memory mapped GPIO expanders:
+#
+# CONFIG_GPIO_IT8761E is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+
+#
+# AC97 GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_MAX17040 is not set
+CONFIG_BATTERY_MXS=y
+# CONFIG_MXS_VBUS_CURRENT_DRAW is not set
+# CONFIG_BATTERY_DS2438 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX17135 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+CONFIG_MXC_MMA7450=m
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_MXS_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_TC35892 is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_LTC3589_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_MC13783 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_AB8500_CORE is not set
+# CONFIG_MFD_MAX17135 is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+CONFIG_REGULATOR_MXS=y
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=y
+
+#
+# Multimedia drivers
+#
+CONFIG_IR_CORE=y
+CONFIG_VIDEO_IR=y
+CONFIG_RC_MAP=y
+CONFIG_IR_NEC_DECODER=y
+CONFIG_IR_RC5_DECODER=y
+CONFIG_IR_RC6_DECODER=y
+CONFIG_IR_JVC_DECODER=y
+CONFIG_IR_SONY_DECODER=y
+# CONFIG_IR_IMON is not set
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA9887=y
+CONFIG_MEDIA_TUNER_TEA5761=y
+CONFIG_MEDIA_TUNER_TEA5767=y
+CONFIG_MEDIA_TUNER_MT20XX=y
+CONFIG_MEDIA_TUNER_XC2028=y
+CONFIG_MEDIA_TUNER_XC5000=y
+CONFIG_MEDIA_TUNER_MC44S803=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEOBUF_GEN=y
+CONFIG_VIDEOBUF_DMA_CONTIG=y
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_IR_I2C=y
+CONFIG_VIDEO_MXS_PXP=y
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+# CONFIG_USB_VIDEO_CLASS is not set
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+# CONFIG_USB_M5602 is not set
+# CONFIG_USB_STV06XX is not set
+# CONFIG_USB_GL860 is not set
+# CONFIG_USB_GSPCA_BENQ is not set
+# CONFIG_USB_GSPCA_CONEX is not set
+# CONFIG_USB_GSPCA_CPIA1 is not set
+# CONFIG_USB_GSPCA_ETOMS is not set
+# CONFIG_USB_GSPCA_FINEPIX is not set
+# CONFIG_USB_GSPCA_JEILINJ is not set
+# CONFIG_USB_GSPCA_MARS is not set
+# CONFIG_USB_GSPCA_MR97310A is not set
+# CONFIG_USB_GSPCA_OV519 is not set
+# CONFIG_USB_GSPCA_OV534 is not set
+# CONFIG_USB_GSPCA_OV534_9 is not set
+# CONFIG_USB_GSPCA_PAC207 is not set
+# CONFIG_USB_GSPCA_PAC7302 is not set
+# CONFIG_USB_GSPCA_PAC7311 is not set
+# CONFIG_USB_GSPCA_SN9C2028 is not set
+# CONFIG_USB_GSPCA_SN9C20X is not set
+# CONFIG_USB_GSPCA_SONIXB is not set
+# CONFIG_USB_GSPCA_SONIXJ is not set
+# CONFIG_USB_GSPCA_SPCA500 is not set
+# CONFIG_USB_GSPCA_SPCA501 is not set
+# CONFIG_USB_GSPCA_SPCA505 is not set
+# CONFIG_USB_GSPCA_SPCA506 is not set
+# CONFIG_USB_GSPCA_SPCA508 is not set
+# CONFIG_USB_GSPCA_SPCA561 is not set
+# CONFIG_USB_GSPCA_SQ905 is not set
+# CONFIG_USB_GSPCA_SQ905C is not set
+# CONFIG_USB_GSPCA_STK014 is not set
+# CONFIG_USB_GSPCA_STV0680 is not set
+# CONFIG_USB_GSPCA_SUNPLUS is not set
+# CONFIG_USB_GSPCA_T613 is not set
+# CONFIG_USB_GSPCA_TV8532 is not set
+# CONFIG_USB_GSPCA_VC032X is not set
+# CONFIG_USB_GSPCA_ZC3XX is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_HDPVR is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_CX231XX is not set
+# CONFIG_VIDEO_USBVISION is not set
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
+# CONFIG_USB_ET61X251 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_ZC0301 is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_I2C_SI4713 is not set
+# CONFIG_RADIO_SI4713 is not set
+# CONFIG_USB_DSBR is not set
+# CONFIG_RADIO_SI470X is not set
+# CONFIG_USB_MR800 is not set
+# CONFIG_RADIO_TEA5764 is not set
+# CONFIG_RADIO_SAA7706H is not set
+# CONFIG_RADIO_TEF6862 is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_MXS=y
+# CONFIG_FB_MXS_LCD_43WVF1G is not set
+CONFIG_FB_MXS_LCD_LMS430=y
+# CONFIG_FB_MXS_TVENC is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+CONFIG_BACKLIGHT_MXS=y
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_HRTIMER is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+CONFIG_SND_SPI=y
+# CONFIG_SND_USB is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_MXS_SOC=y
+CONFIG_SND_MXS_SOC_EVK_ADC=y
+CONFIG_SND_MXS_SOC_ADC=y
+# CONFIG_SND_MXS_SOC_EVK_DEVB_SPDIF is not set
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_MXS_ADC_CODEC=y
+# CONFIG_SOUND_PRIME is not set
+# CONFIG_HID_SUPPORT is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+# CONFIG_USB_DEVICEFS is not set
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_MON=y
+# CONFIG_USB_WUSB is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ARC=y
+CONFIG_USB_EHCI_ARC_OTG=y
+# CONFIG_USB_STATIC_IRAM is not set
+# CONFIG_USB_EHCI_FSL_MC13783 is not set
+# CONFIG_USB_EHCI_FSL_1301 is not set
+# CONFIG_USB_EHCI_FSL_1504 is not set
+CONFIG_USB_EHCI_FSL_UTMI=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HWA_HCD is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+CONFIG_USB_GADGET_ARC=y
+CONFIG_USB_ARC=y
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_FSL_UTP is not set
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+CONFIG_USB_CDC_COMPOSITE=m
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_WEBCAM is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ULPI is not set
+# CONFIG_NOP_USB_XCEIV is not set
+# CONFIG_MXC_OTG is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_IMX_ESDHCI_PIO_MODE is not set
+CONFIG_MMC_MXS=y
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MXS=y
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_FS_XATTR=y
+# CONFIG_EXT4_FS_POSIX_ACL is not set
+# CONFIG_EXT4_FS_SECURITY is not set
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+CONFIG_UBIFS_FS=y
+# CONFIG_UBIFS_FS_XATTR is not set
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+# CONFIG_UBIFS_FS_DEBUG is not set
+# CONFIG_LOGFS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_PAGE_POISONING is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_ARM_UNWIND=y
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_ERRORS is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_EARLY_PRINTK is not set
+# CONFIG_DEBUG_ICEDCC is not set
+# CONFIG_OC_ETM is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY=y
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_NETWORK is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_TESTS=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_CRYPTODEV=y
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_ZLIB is not set
+CONFIG_CRYPTO_LZO=y
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_DCP=y
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig
new file mode 100644
index 00000000..29c4677f
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig
@@ -0,0 +1,2181 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.35.3
+# Tue Jul 2 16:27:45 2013
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_HAVE_PROC_CPU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_ARCH_HAS_CPUFREQ=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_FIQ=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+# CONFIG_TASKSTATS is not set
+CONFIG_AUDIT=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_CGROUPS is not set
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+# CONFIG_RELAY is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_LZO=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_EXTRA_PASS=y
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_PERF_COUNTERS is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_SLOW_WORK is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CNS3XXX is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_STMP3XXX is not set
+CONFIG_ARCH_MXS=y
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_DOVE is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_NUC93X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_S5P6440 is not set
+# CONFIG_ARCH_S5P6442 is not set
+# CONFIG_ARCH_S5PC100 is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_PLAT_SPEAR is not set
+CONFIG_IRAM_ALLOC=y
+CONFIG_DMA_ZONE_SIZE=16
+
+#
+# Freescale i.MXS implementations
+#
+CONFIG_ARCH_MX28=y
+# CONFIG_ARCH_MX23 is not set
+CONFIG_MACH_MX28EVK=y
+CONFIG_VECTORS_PHY_ADDR=0
+CONFIG_MXS_TIMER_WITH_MACH=y
+# CONFIG_MEM_mDDR is not set
+CONFIG_MXS_ICOLL=y
+CONFIG_MXS_EARLY_CONSOLE=y
+CONFIG_MXS_DMA_ENGINE=y
+CONFIG_MXS_LRADC=y
+CONFIG_MXS_PWM_CHANNELS=8
+
+#
+# Freescale Application UART:
+#
+CONFIG_MXS_AUART_DMA_SUPPORT=y
+CONFIG_MXS_AUART_PORTS=5
+CONFIG_MXS_AUART0_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART0_DMA_ENABLE is not set
+CONFIG_MXS_AUART1_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART1_DMA_ENABLE is not set
+CONFIG_MXS_AUART2_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART2_DMA_ENABLE is not set
+CONFIG_MXS_AUART3_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART3_DMA_ENABLE is not set
+CONFIG_MXS_AUART4_DEVICE_ENABLE=y
+# CONFIG_MXS_AUART4_DMA_ENABLE is not set
+CONFIG_MXS_RAM_FREQ_SCALING=y
+# CONFIG_MXS_RAM_MDDR is not set
+# CONFIG_MXS_RAM_DDR is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_PABRT_LEGACY=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+CONFIG_ARM_L1_CACHE_SHIFT=5
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_HZ=100
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=999999
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
+CONFIG_CMDLINE=""
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# CPU Power Management
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+# CONFIG_FPE_NWFPE is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+# CONFIG_BINFMT_AOUT is not set
+CONFIG_BINFMT_MISC=y
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND_NVS=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_APM_EMULATION is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETLABEL is not set
+CONFIG_NETWORK_SECMARK=y
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_TCPPROBE is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_CAN=y
+CONFIG_CAN_RAW=y
+# CONFIG_CAN_BCM is not set
+
+#
+# CAN Device Drivers
+#
+# CONFIG_CAN_VCAN is not set
+# CONFIG_CAN_DEV is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_CAN_FLEXCAN=m
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_PRIV=y
+# CONFIG_CFG80211 is not set
+CONFIG_WIRELESS_EXT_SYSFS=y
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+
+#
+# Some wireless drivers require a rate control algorithm
+#
+# CONFIG_WIMAX is not set
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_MXC_DATAFLASH is not set
+# CONFIG_MTD_MXC_M25P80 is not set
+CONFIG_MTD_M25P80=m
+CONFIG_M25PXX_USE_FAST_READ=y
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_GPMI_NFC=y
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+# CONFIG_MTD_UBI_GLUEBI is not set
+
+#
+# UBI debugging options
+#
+# CONFIG_MTD_UBI_DEBUG is not set
+CONFIG_MTD_UBI_BLOCK=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+
+#
+# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
+#
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+CONFIG_MXS_PERSISTENT=y
+CONFIG_MXS_PERFMON=y
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_IWMC3200TOP is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+CONFIG_SCSI_ISCSI_ATTRS=m
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_LIBFCOE is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_MICREL_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_ENC28J60 is not set
+# CONFIG_ETHOC is not set
+# CONFIG_SMC911X is not set
+# CONFIG_SMSC911X is not set
+# CONFIG_DNET is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_B44 is not set
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
+CONFIG_FEC=y
+# CONFIG_FEC_NAPI is not set
+# CONFIG_FEC_1588 is not set
+# CONFIG_FEC2 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_WLAN=y
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_HOSTAP is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_HSO is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=y
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_MXS=y
+# CONFIG_KEYBOARD_MPR121 is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=m
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+CONFIG_MOUSE_VSXXXAA=m
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_IFORCE is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_ZHENHUA is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
+# CONFIG_JOYSTICK_XPAD is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
+# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
+# CONFIG_TOUCHSCREEN_AD7879 is not set
+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+# CONFIG_TOUCHSCREEN_EETI is not set
+# CONFIG_TOUCHSCREEN_EGALAX is not set
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+CONFIG_TOUCHSCREEN_GUNZE=m
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_MCS5000 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_TOUCHSCREEN_MXS=y
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+# CONFIG_TOUCHSCREEN_W90X900 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+# CONFIG_TOUCHSCREEN_P1003 is not set
+# CONFIG_TOUCHSCREEN_MAX11801 is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_ATI_REMOTE is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_ISL29023 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_N_HDLC is not set
+# CONFIG_N_GSM is not set
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+CONFIG_STALDRV=y
+CONFIG_MXS_VIIM=y
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MXS_DUART=y
+CONFIG_SERIAL_MXS_AUART=y
+# CONFIG_SERIAL_MXS_AUART_CONSOLE is not set
+CONFIG_SERIAL_MXS_DUART_CONSOLE=y
+# CONFIG_SERIAL_MAX3100 is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_FSL_OTP is not set
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=m
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_R3964 is not set
+CONFIG_RAW_DRIVER=y
+CONFIG_MAX_RAW_DEVS=8192
+# CONFIG_TCG_TPM is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+# CONFIG_I2C_CHARDEV is not set
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_MXS=y
+CONFIG_I2C_MXS_SELECT0=y
+# CONFIG_I2C_MXS_SELECT0_PIOQUEUE_MODE is not set
+# CONFIG_I2C_MXS_SELECT1 is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_XILINX is not set
+CONFIG_SPI_MXS=y
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_GPIO_SYSFS is not set
+
+#
+# Memory mapped GPIO expanders:
+#
+# CONFIG_GPIO_IT8761E is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+
+#
+# AC97 GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_MAX17040 is not set
+CONFIG_BATTERY_MXS=y
+# CONFIG_MXS_VBUS_CURRENT_DRAW is not set
+# CONFIG_BATTERY_DS2438 is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_MXS_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+# CONFIG_SSB_SDIOHOST is not set
+# CONFIG_SSB_DEBUG is not set
+CONFIG_MFD_SUPPORT=y
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_TC35892 is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_LTC3589_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_MC13783 is not set
+# CONFIG_PMIC_DA9052 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_AB8500_CORE is not set
+# CONFIG_MFD_MAX17135 is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+CONFIG_REGULATOR_MXS=y
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
+# CONFIG_VIDEO_ALLOW_V4L1 is not set
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=y
+
+#
+# Multimedia drivers
+#
+CONFIG_IR_CORE=y
+CONFIG_VIDEO_IR=y
+CONFIG_RC_MAP=y
+CONFIG_IR_NEC_DECODER=y
+CONFIG_IR_RC5_DECODER=y
+CONFIG_IR_RC6_DECODER=y
+CONFIG_IR_JVC_DECODER=y
+CONFIG_IR_SONY_DECODER=y
+# CONFIG_IR_IMON is not set
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA9887=y
+CONFIG_MEDIA_TUNER_TEA5761=y
+CONFIG_MEDIA_TUNER_TEA5767=y
+CONFIG_MEDIA_TUNER_MT20XX=y
+CONFIG_MEDIA_TUNER_XC2028=y
+CONFIG_MEDIA_TUNER_XC5000=y
+CONFIG_MEDIA_TUNER_MC44S803=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEOBUF_GEN=y
+CONFIG_VIDEOBUF_DMA_CONTIG=y
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+CONFIG_VIDEO_IR_I2C=y
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+# CONFIG_VIDEO_TVAUDIO is not set
+# CONFIG_VIDEO_TDA7432 is not set
+# CONFIG_VIDEO_TDA9840 is not set
+# CONFIG_VIDEO_TDA9875 is not set
+# CONFIG_VIDEO_TEA6415C is not set
+# CONFIG_VIDEO_TEA6420 is not set
+# CONFIG_VIDEO_MSP3400 is not set
+# CONFIG_VIDEO_CS5345 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+# CONFIG_VIDEO_M52790 is not set
+# CONFIG_VIDEO_TLV320AIC23B is not set
+# CONFIG_VIDEO_WM8775 is not set
+# CONFIG_VIDEO_WM8739 is not set
+# CONFIG_VIDEO_VP27SMPX is not set
+
+#
+# RDS decoders
+#
+# CONFIG_VIDEO_SAA6588 is not set
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_ADV7180 is not set
+# CONFIG_VIDEO_BT819 is not set
+# CONFIG_VIDEO_BT856 is not set
+# CONFIG_VIDEO_BT866 is not set
+# CONFIG_VIDEO_KS0127 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_TCM825X is not set
+# CONFIG_VIDEO_SAA7110 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA717X is not set
+# CONFIG_VIDEO_SAA7191 is not set
+# CONFIG_VIDEO_TVP514X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+# CONFIG_VIDEO_TVP7002 is not set
+# CONFIG_VIDEO_VPX3220 is not set
+
+#
+# Video and audio decoders
+#
+# CONFIG_VIDEO_CX25840 is not set
+
+#
+# MPEG video encoders
+#
+# CONFIG_VIDEO_CX2341X is not set
+
+#
+# Video encoders
+#
+# CONFIG_VIDEO_SAA7127 is not set
+# CONFIG_VIDEO_SAA7185 is not set
+# CONFIG_VIDEO_ADV7170 is not set
+# CONFIG_VIDEO_ADV7175 is not set
+# CONFIG_VIDEO_THS7303 is not set
+# CONFIG_VIDEO_ADV7343 is not set
+# CONFIG_VIDEO_AK881X is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+CONFIG_VIDEO_MXS_PXP=y
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_SOC_CAMERA is not set
+# CONFIG_V4L_USB_DRIVERS is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+# CONFIG_RADIO_ADAPTERS is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_MXS=y
+CONFIG_FB_MXS_LCD_43WVF1G=y
+# CONFIG_FB_MXS_LCD_LMS430 is not set
+# CONFIG_FB_MXS_TVENC is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+CONFIG_BACKLIGHT_MXS=y
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_HRTIMER is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+CONFIG_SND_SPI=y
+# CONFIG_SND_USB is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_MXS_SOC=y
+CONFIG_SND_MXS_SOC_SPDIF_DAI=y
+CONFIG_SND_MXS_SOC_EVK_DEVB=y
+CONFIG_SND_MXS_SOC_DAI=y
+CONFIG_SND_MXS_SOC_EVK_DEVB_SPDIF=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_SGTL5000=y
+CONFIG_SND_SOC_MXS_SPDIF=y
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_3M_PCT is not set
+CONFIG_HID_A4TECH=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+# CONFIG_HID_CANDO is not set
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+# CONFIG_HID_PRODIKEYS is not set
+CONFIG_HID_CYPRESS=y
+CONFIG_HID_DRAGONRISE=y
+# CONFIG_DRAGONRISE_FF is not set
+# CONFIG_HID_EGALAX is not set
+CONFIG_HID_EZKEY=y
+CONFIG_HID_KYE=y
+CONFIG_HID_GYRATION=y
+# CONFIG_HID_TWINHAN is not set
+CONFIG_HID_KENSINGTON=y
+CONFIG_HID_LOGITECH=y
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+CONFIG_HID_MICROSOFT=y
+# CONFIG_HID_MOSART is not set
+CONFIG_HID_MONTEREY=y
+CONFIG_HID_NTRIG=y
+# CONFIG_HID_ORTEK is not set
+CONFIG_HID_PANTHERLORD=y
+# CONFIG_PANTHERLORD_FF is not set
+CONFIG_HID_PETALYNX=y
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_QUANTA is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_ROCCAT_KONE is not set
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SONY=y
+# CONFIG_HID_STANTUM is not set
+CONFIG_HID_SUNPLUS=y
+CONFIG_HID_GREENASIA=y
+# CONFIG_GREENASIA_FF is not set
+CONFIG_HID_SMARTJOYPLUS=y
+# CONFIG_SMARTJOYPLUS_FF is not set
+CONFIG_HID_TOPSEED=y
+CONFIG_HID_THRUSTMASTER=y
+# CONFIG_THRUSTMASTER_FF is not set
+CONFIG_HID_ZEROPLUS=y
+# CONFIG_ZEROPLUS_FF is not set
+# CONFIG_HID_ZYDACRON is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+# CONFIG_USB_DEVICEFS is not set
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_MON is not set
+# CONFIG_USB_WUSB is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ARC=y
+CONFIG_USB_EHCI_ARC_H1=y
+CONFIG_USB_EHCI_ARC_OTG=y
+# CONFIG_USB_STATIC_IRAM is not set
+# CONFIG_USB_EHCI_FSL_MC13783 is not set
+# CONFIG_USB_EHCI_FSL_1301 is not set
+# CONFIG_USB_EHCI_FSL_1504 is not set
+CONFIG_USB_EHCI_FSL_UTMI=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HWA_HCD is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+CONFIG_USB_GADGET_ARC=y
+CONFIG_USB_ARC=y
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_FSL_UTP is not set
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_WEBCAM is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ULPI is not set
+# CONFIG_NOP_USB_XCEIV is not set
+CONFIG_MXC_OTG=y
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_IMX_ESDHCI_PIO_MODE is not set
+CONFIG_MMC_MXS=y
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_MXS=y
+# CONFIG_LEDS_PCA9532 is not set
+# CONFIG_LEDS_GPIO is not set
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+# CONFIG_LEDS_TRIGGERS is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MXS=y
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+# CONFIG_MXC_PXP is not set
+# CONFIG_TIMB_DMA is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+# CONFIG_VIDEO_TM6000 is not set
+# CONFIG_USB_IP_COMMON is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+# CONFIG_RT2870 is not set
+# CONFIG_COMEDI is not set
+# CONFIG_ASUS_OLED is not set
+# CONFIG_TRANZPORT is not set
+# CONFIG_POHMELFS is not set
+# CONFIG_LINE6_USB is not set
+# CONFIG_VT6656 is not set
+# CONFIG_FB_UDL is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_IIO is not set
+# CONFIG_RAMZSWAP is not set
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_FB_SM7XX is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# CONFIG_ADIS16255 is not set
+CONFIG_ATH6K_LEGACY=m
+CONFIG_AR600x_SD31_XXX=y
+# CONFIG_AR600x_WB31_XXX is not set
+# CONFIG_AR600x_SD32_XXX is not set
+# CONFIG_AR600x_CUSTOM_XXX is not set
+# CONFIG_ATH6KL_ENABLE_COEXISTENCE is not set
+# CONFIG_ATH6KL_HCI_BRIDGE is not set
+# CONFIG_ATH6KL_CFG80211 is not set
+# CONFIG_ATH6KL_HTC_RAW_INTERFACE is not set
+# CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER is not set
+# CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK is not set
+# CONFIG_ATH6KL_DEBUG is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+# CONFIG_INOTIFY is not set
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
+CONFIG_PRINT_QUOTA_WARNING=y
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=y
+# CONFIG_QFMT_V1 is not set
+CONFIG_QFMT_V2=y
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=y
+# CONFIG_UBIFS_FS_XATTR is not set
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+# CONFIG_UBIFS_FS_DEBUG is not set
+# CONFIG_LOGFS is not set
+CONFIG_CRAMFS=m
+# CONFIG_SQUASHFS is not set
+CONFIG_VXFS_FS=m
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+CONFIG_OSF_PARTITION=y
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+CONFIG_UNIXWARE_DISKLABEL=y
+# CONFIG_LDM_PARTITION is not set
+CONFIG_SGI_PARTITION=y
+# CONFIG_ULTRIX_PARTITION is not set
+CONFIG_SUN_PARTITION=y
+# CONFIG_KARMA_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_ENABLE_WARN_DEPRECATED is not set
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_LKDTM is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_RING_BUFFER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_ENABLE_DEFAULT_TRACERS is not set
+# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_ARM_UNWIND is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_OC_ETM is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_DEBUG_PROC_KEYS=y
+CONFIG_SECURITY=y
+# CONFIG_SECURITYFS is not set
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
+CONFIG_LSM_MMAP_MIN_ADDR=65536
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
+CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_DEVELOP=y
+CONFIG_SECURITY_SELINUX_AVC_STATS=y
+CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
+# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_IMA is not set
+CONFIG_DEFAULT_SECURITY_SELINUX=y
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+# CONFIG_DEFAULT_SECURITY_DAC is not set
+CONFIG_DEFAULT_SECURITY="selinux"
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_TESTS=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_CRYPTODEV=y
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_ZLIB is not set
+CONFIG_CRYPTO_LZO=y
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_DCP=y
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+# CONFIG_CRC_T10DIF is not set
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
+CONFIG_GENERIC_ATOMIC64=y
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig
new file mode 100644
index 00000000..213a06d7
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig
@@ -0,0 +1,2586 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.35.3
+# Tue Jul 2 16:23:28 2013
+#
+CONFIG_ARM=y
+CONFIG_HAVE_PWM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_HAVE_PROC_CPU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_ARCH_HAS_CPUFREQ=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_CONSTRUCTORS=y
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TINY_RCU is not set
+# CONFIG_RCU_TRACE is not set
+CONFIG_RCU_FANOUT=32
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_NS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+# CONFIG_CGROUP_MEM_RES_CTLR is not set
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_SYSFS_DEPRECATED_V2 is not set
+# CONFIG_RELAY is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_PERF_COUNTERS is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_SLOW_WORK is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+# CONFIG_INLINE_SPIN_TRYLOCK is not set
+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK is not set
+# CONFIG_INLINE_SPIN_LOCK_BH is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_SPIN_UNLOCK is not set
+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_READ_TRYLOCK is not set
+# CONFIG_INLINE_READ_LOCK is not set
+# CONFIG_INLINE_READ_LOCK_BH is not set
+# CONFIG_INLINE_READ_LOCK_IRQ is not set
+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_READ_UNLOCK is not set
+# CONFIG_INLINE_READ_UNLOCK_BH is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
+# CONFIG_INLINE_WRITE_TRYLOCK is not set
+# CONFIG_INLINE_WRITE_LOCK is not set
+# CONFIG_INLINE_WRITE_LOCK_BH is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
+# CONFIG_INLINE_WRITE_UNLOCK is not set
+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCMRING is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CNS3XXX is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+CONFIG_ARCH_MXC=y
+# CONFIG_ARCH_STMP3XXX is not set
+# CONFIG_ARCH_MXS is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_DOVE is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_NUC93X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_S5P6440 is not set
+# CONFIG_ARCH_S5P6442 is not set
+# CONFIG_ARCH_S5PC100 is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_U300 is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_PLAT_SPEAR is not set
+
+#
+# Freescale MXC Implementations
+#
+# CONFIG_ARCH_MX1 is not set
+# CONFIG_ARCH_MX2 is not set
+# CONFIG_ARCH_MX25 is not set
+# CONFIG_ARCH_MX3 is not set
+# CONFIG_ARCH_MX37 is not set
+# CONFIG_ARCH_MXC91231 is not set
+CONFIG_ARCH_MX5=y
+CONFIG_MXC_SDMA_API=y
+CONFIG_SDMA_IRAM=y
+CONFIG_ARCH_MX51=y
+CONFIG_ARCH_MX53=y
+CONFIG_ARCH_MX50=y
+CONFIG_FORCE_MAX_ZONEORDER=13
+CONFIG_MX5_MULTI_ARCH=y
+CONFIG_MACH_MX51_3DS=y
+CONFIG_MACH_MX51_BABBAGE=y
+CONFIG_MACH_MX53_EVK=y
+CONFIG_MACH_MX53_ARD=y
+CONFIG_MACH_MX53_SMD=y
+CONFIG_MACH_MX53_LOCO=y
+CONFIG_MACH_MX50_ARM2=y
+CONFIG_MACH_MX50_RDP=y
+
+#
+# MX5x Options:
+#
+CONFIG_ARCH_MXC_HAS_NFC_V3=y
+CONFIG_ARCH_MXC_HAS_NFC_V3_2=y
+CONFIG_MXC_BLUETOOTH_RFKILL=y
+CONFIG_IRAM_ALLOC=y
+CONFIG_DMA_ZONE_SIZE=112
+CONFIG_ISP1504_MXC=y
+CONFIG_UTMI_MXC=y
+# CONFIG_MXC_IRQ_PRIOR is not set
+CONFIG_MXC_TZIC=y
+CONFIG_MXC_PWM=y
+# CONFIG_MXC_DEBUG_BOARD is not set
+CONFIG_ARCH_HAS_RNGC=y
+CONFIG_ARCH_MXC_IOMUX_V3=y
+CONFIG_MXC_DVFS_PER=y
+CONFIG_MXC_ZQ_CALIBRATION=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_V7=y
+CONFIG_CPU_CACHE_V7=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V7=y
+CONFIG_CPU_HAS_ASID=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_ARM_THUMBEE is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_HAS_TLS_REG=y
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+CONFIG_CPU_HAS_PMU=y
+# CONFIG_ARM_ERRATA_430973 is not set
+# CONFIG_ARM_ERRATA_458693 is not set
+# CONFIG_ARM_ERRATA_460075 is not set
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_VMSPLIT_3G is not set
+CONFIG_VMSPLIT_2G=y
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0x80000000
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_HZ=100
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+CONFIG_HIGHMEM=y
+# CONFIG_HIGHPTE is not set
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+CONFIG_RUNTIME_PHYS_OFFSET=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw rootfstype=jffs2 ip=off"
+# CONFIG_CMDLINE_FORCE is not set
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# CPU Power Management
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_IMX=y
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+# CONFIG_PM_ADVANCED_DEBUG is not set
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND_NVS=y
+CONFIG_SUSPEND=y
+# CONFIG_PM_TEST_SUSPEND is not set
+CONFIG_SUSPEND_DEVICE_TIME_DEBUG=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_APM_EMULATION=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_OPS=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_TCPPROBE is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_CAN=y
+CONFIG_CAN_RAW=y
+CONFIG_CAN_BCM=y
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_VCAN=y
+# CONFIG_CAN_DEV is not set
+CONFIG_CAN_DEBUG_DEVICES=y
+CONFIG_CAN_FLEXCAN=y
+# CONFIG_IRDA is not set
+CONFIG_BT=y
+CONFIG_BT_L2CAP=y
+# CONFIG_BT_L2CAP_EXT_FEATURES is not set
+CONFIG_BT_SCO=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=y
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=y
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=y
+# CONFIG_BT_HCIBTSDIO is not set
+CONFIG_BT_HCIUART=y
+# CONFIG_BT_HCIUART_H4 is not set
+# CONFIG_BT_HCIUART_BCSP is not set
+CONFIG_BT_HCIUART_ATH3K=y
+# CONFIG_BT_HCIUART_LL is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+CONFIG_BT_HCIVHCI=y
+# CONFIG_BT_MRVL is not set
+# CONFIG_BT_ATH3K is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_PRIV=y
+# CONFIG_CFG80211 is not set
+CONFIG_WIRELESS_EXT_SYSFS=y
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+
+#
+# Some wireless drivers require a rate control algorithm
+#
+# CONFIG_WIMAX is not set
+CONFIG_RFKILL=y
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_TESTS is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+# CONFIG_MTD_MXC is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+CONFIG_MTD_MXC_DATAFLASH=y
+CONFIG_MTD_MXC_M25P80=y
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_IMX_NFC is not set
+CONFIG_MTD_NAND_MXC_V3=y
+# CONFIG_MTD_NAND_MXC_SWECC is not set
+# CONFIG_MTD_NAND_MXC_FORCE_CE is not set
+# CONFIG_MXC_NAND_LOW_LEVEL_ERASE is not set
+CONFIG_MTD_NAND_GPMI_NFC=y
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+# CONFIG_MTD_UBI_GLUEBI is not set
+
+#
+# UBI debugging options
+#
+# CONFIG_MTD_UBI_DEBUG is not set
+# CONFIG_MTD_UBI_BLOCK is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_DRBD is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+CONFIG_MXS_PERFMON=y
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_IWMC3200TOP is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_LIBFCOE is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+# CONFIG_SATA_PMP is not set
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_SATA_AHCI_FSL_NO_HOTPLUG_MODE=y
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+# CONFIG_SATA_MV is not set
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_FSL=m
+
+#
+# PIO-only SFF controllers
+#
+# CONFIG_PATA_PLATFORM is not set
+
+#
+# Generic fallback / legacy drivers
+#
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_MICREL_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_ENC28J60 is not set
+# CONFIG_ETHOC is not set
+# CONFIG_SMC911X is not set
+CONFIG_SMSC911X=y
+# CONFIG_DNET is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_B44 is not set
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
+CONFIG_FEC=y
+CONFIG_FEC_NAPI=y
+# CONFIG_FEC_1588 is not set
+# CONFIG_FEC2 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_WLAN=y
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_HOSTAP is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_HSO is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+CONFIG_INPUT_POLLDEV=y
+# CONFIG_INPUT_SPARSEKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+# CONFIG_INPUT_APMPOWER is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_IMX is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_MXC=y
+CONFIG_KEYBOARD_MPR121=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
+# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
+# CONFIG_TOUCHSCREEN_AD7879 is not set
+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+# CONFIG_TOUCHSCREEN_EETI is not set
+CONFIG_TOUCHSCREEN_EGALAX=y
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_MCS5000 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_TOUCHSCREEN_MXC=y
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+# CONFIG_TOUCHSCREEN_W90X900 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+CONFIG_TOUCHSCREEN_P1003=y
+CONFIG_TOUCHSCREEN_DA9052=y
+CONFIG_TOUCHSCREEN_MAX11801=y
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_ATI_REMOTE is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+CONFIG_INPUT_UINPUT=y
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+CONFIG_INPUT_DA9052_ONKEY=y
+CONFIG_INPUT_ISL29023=y
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+CONFIG_FM_SI4702=m
+CONFIG_MXC_IIM=y
+CONFIG_MXS_VIIM=y
+CONFIG_IMX_SIM=m
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MXC=y
+CONFIG_SERIAL_MXC_CONSOLE=y
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_IMX is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_FSL_OTP is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_HW_RANDOM_FSL_RNGC is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_RAMOOPS is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_DESIGNWARE is not set
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_IMX=y
+# CONFIG_I2C_MXC is not set
+CONFIG_I2C_MXC_HS=y
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_BITBANG=y
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_IMX is not set
+# CONFIG_SPI_XILINX is not set
+CONFIG_SPI_MXC=y
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# PPS support
+#
+# CONFIG_PPS is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+
+#
+# Memory mapped GPIO expanders:
+#
+# CONFIG_GPIO_IT8761E is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+CONFIG_GPIO_PCA953X=y
+# CONFIG_GPIO_PCA953X_IRQ is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+
+#
+# AC97 GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+# CONFIG_DA9052_GPIO_ENABLE is not set
+CONFIG_W1=m
+CONFIG_W1_CON=y
+
+#
+# 1-wire Bus Masters
+#
+# CONFIG_W1_MASTER_DS2490 is not set
+# CONFIG_W1_MASTER_DS2482 is not set
+CONFIG_W1_MASTER_MXC=m
+# CONFIG_W1_MASTER_DS1WM is not set
+# CONFIG_W1_MASTER_GPIO is not set
+
+#
+# 1-wire Slaves
+#
+# CONFIG_W1_SLAVE_THERM is not set
+# CONFIG_W1_SLAVE_SMEM is not set
+# CONFIG_W1_SLAVE_DS2431 is not set
+# CONFIG_W1_SLAVE_DS2751 is not set
+# CONFIG_W1_SLAVE_DS2433 is not set
+CONFIG_W1_SLAVE_DS2438=m
+# CONFIG_W1_SLAVE_DS2760 is not set
+# CONFIG_W1_SLAVE_BQ27000 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+CONFIG_APM_POWER=y
+# CONFIG_TEST_POWER is not set
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_DA9052 is not set
+# CONFIG_BATTERY_MAX17085 is not set
+# CONFIG_BATTERY_MAX17040 is not set
+CONFIG_BATTERY_DS2438=m
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+CONFIG_SENSORS_DA9052=y
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+CONFIG_SENSORS_MAX17135=y
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+CONFIG_SENSORS_IMX_AHCI=y
+CONFIG_SENSORS_MAG3110=y
+CONFIG_SENSORS_ISL29003=y
+CONFIG_MXC_MMA8450=y
+CONFIG_MXC_MMA8451=y
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_DA9052_WATCHDOG is not set
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_MXC_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_IMX2_WDT is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+CONFIG_MFD_SUPPORT=y
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_TC35892 is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+CONFIG_MFD_LTC3589=y
+CONFIG_MFD_LTC3589_I2C=y
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_MC13783 is not set
+CONFIG_PMIC_DA9052=y
+# CONFIG_ABX500_CORE is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_AB8500_CORE is not set
+CONFIG_MFD_MAX17135=y
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_DUMMY is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_MC34708=y
+CONFIG_REGULATOR_LTC3589=y
+CONFIG_REGULATOR_MAX17135=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=y
+
+#
+# Multimedia drivers
+#
+CONFIG_IR_CORE=y
+CONFIG_VIDEO_IR=y
+CONFIG_RC_MAP=y
+CONFIG_IR_NEC_DECODER=y
+CONFIG_IR_RC5_DECODER=y
+CONFIG_IR_RC6_DECODER=y
+CONFIG_IR_JVC_DECODER=y
+CONFIG_IR_SONY_DECODER=y
+# CONFIG_IR_IMON is not set
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+CONFIG_MEDIA_TUNER_CUSTOMISE=y
+# CONFIG_MEDIA_TUNER_SIMPLE is not set
+# CONFIG_MEDIA_TUNER_TDA8290 is not set
+# CONFIG_MEDIA_TUNER_TDA827X is not set
+# CONFIG_MEDIA_TUNER_TDA18271 is not set
+# CONFIG_MEDIA_TUNER_TDA9887 is not set
+# CONFIG_MEDIA_TUNER_TEA5761 is not set
+# CONFIG_MEDIA_TUNER_TEA5767 is not set
+# CONFIG_MEDIA_TUNER_MT20XX is not set
+# CONFIG_MEDIA_TUNER_MT2060 is not set
+# CONFIG_MEDIA_TUNER_MT2266 is not set
+# CONFIG_MEDIA_TUNER_MT2131 is not set
+# CONFIG_MEDIA_TUNER_QT1010 is not set
+# CONFIG_MEDIA_TUNER_XC2028 is not set
+# CONFIG_MEDIA_TUNER_XC5000 is not set
+# CONFIG_MEDIA_TUNER_MXL5005S is not set
+# CONFIG_MEDIA_TUNER_MXL5007T is not set
+# CONFIG_MEDIA_TUNER_MC44S803 is not set
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+CONFIG_VIDEO_IR_I2C=y
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+# CONFIG_VIDEO_TVAUDIO is not set
+# CONFIG_VIDEO_TDA7432 is not set
+# CONFIG_VIDEO_TDA9840 is not set
+# CONFIG_VIDEO_TDA9875 is not set
+# CONFIG_VIDEO_TEA6415C is not set
+# CONFIG_VIDEO_TEA6420 is not set
+# CONFIG_VIDEO_MSP3400 is not set
+# CONFIG_VIDEO_CS5345 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+# CONFIG_VIDEO_M52790 is not set
+# CONFIG_VIDEO_TLV320AIC23B is not set
+# CONFIG_VIDEO_WM8775 is not set
+# CONFIG_VIDEO_WM8739 is not set
+# CONFIG_VIDEO_VP27SMPX is not set
+
+#
+# RDS decoders
+#
+# CONFIG_VIDEO_SAA6588 is not set
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_ADV7180 is not set
+# CONFIG_VIDEO_BT819 is not set
+# CONFIG_VIDEO_BT856 is not set
+# CONFIG_VIDEO_BT866 is not set
+# CONFIG_VIDEO_KS0127 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_TCM825X is not set
+# CONFIG_VIDEO_SAA7110 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA717X is not set
+# CONFIG_VIDEO_SAA7191 is not set
+# CONFIG_VIDEO_TVP514X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+# CONFIG_VIDEO_TVP7002 is not set
+# CONFIG_VIDEO_VPX3220 is not set
+
+#
+# Video and audio decoders
+#
+# CONFIG_VIDEO_CX25840 is not set
+
+#
+# MPEG video encoders
+#
+# CONFIG_VIDEO_CX2341X is not set
+
+#
+# Video encoders
+#
+# CONFIG_VIDEO_SAA7127 is not set
+# CONFIG_VIDEO_SAA7185 is not set
+# CONFIG_VIDEO_ADV7170 is not set
+# CONFIG_VIDEO_ADV7175 is not set
+# CONFIG_VIDEO_THS7303 is not set
+# CONFIG_VIDEO_ADV7343 is not set
+# CONFIG_VIDEO_AK881X is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+# CONFIG_VIDEO_VIVI is not set
+CONFIG_VIDEO_MXC_CAMERA=m
+
+#
+# MXC Camera/V4L2 PRP Features support
+#
+CONFIG_VIDEO_MXC_IPU_CAMERA=y
+# CONFIG_VIDEO_MXC_CSI_CAMERA is not set
+# CONFIG_MXC_CAMERA_MC521DA is not set
+# CONFIG_MXC_EMMA_CAMERA_MICRON111 is not set
+# CONFIG_MXC_CAMERA_OV2640_EMMA is not set
+# CONFIG_MXC_CAMERA_MICRON111 is not set
+# CONFIG_MXC_CAMERA_OV2640 is not set
+CONFIG_MXC_CAMERA_OV3640=m
+CONFIG_MXC_CAMERA_OV5640=m
+CONFIG_MXC_CAMERA_OV5642=m
+CONFIG_MXC_TVIN_ADV7180=m
+CONFIG_MXC_IPU_PRP_VF_SDC=m
+CONFIG_MXC_IPU_PRP_ENC=m
+CONFIG_MXC_IPU_CSI_ENC=m
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+# CONFIG_VIDEO_MXC_IPUV1_WVGA_OUTPUT is not set
+# CONFIG_VIDEO_MXC_PXP_V4L2 is not set
+# CONFIG_VIDEO_MXC_OPL is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+# CONFIG_USB_M5602 is not set
+# CONFIG_USB_STV06XX is not set
+# CONFIG_USB_GL860 is not set
+# CONFIG_USB_GSPCA_BENQ is not set
+# CONFIG_USB_GSPCA_CONEX is not set
+# CONFIG_USB_GSPCA_CPIA1 is not set
+# CONFIG_USB_GSPCA_ETOMS is not set
+# CONFIG_USB_GSPCA_FINEPIX is not set
+# CONFIG_USB_GSPCA_JEILINJ is not set
+# CONFIG_USB_GSPCA_MARS is not set
+# CONFIG_USB_GSPCA_MR97310A is not set
+# CONFIG_USB_GSPCA_OV519 is not set
+# CONFIG_USB_GSPCA_OV534 is not set
+# CONFIG_USB_GSPCA_OV534_9 is not set
+# CONFIG_USB_GSPCA_PAC207 is not set
+# CONFIG_USB_GSPCA_PAC7302 is not set
+# CONFIG_USB_GSPCA_PAC7311 is not set
+# CONFIG_USB_GSPCA_SN9C2028 is not set
+# CONFIG_USB_GSPCA_SN9C20X is not set
+# CONFIG_USB_GSPCA_SONIXB is not set
+# CONFIG_USB_GSPCA_SONIXJ is not set
+# CONFIG_USB_GSPCA_SPCA500 is not set
+# CONFIG_USB_GSPCA_SPCA501 is not set
+# CONFIG_USB_GSPCA_SPCA505 is not set
+# CONFIG_USB_GSPCA_SPCA506 is not set
+# CONFIG_USB_GSPCA_SPCA508 is not set
+# CONFIG_USB_GSPCA_SPCA561 is not set
+# CONFIG_USB_GSPCA_SQ905 is not set
+# CONFIG_USB_GSPCA_SQ905C is not set
+# CONFIG_USB_GSPCA_STK014 is not set
+# CONFIG_USB_GSPCA_STV0680 is not set
+# CONFIG_USB_GSPCA_SUNPLUS is not set
+# CONFIG_USB_GSPCA_T613 is not set
+# CONFIG_USB_GSPCA_TV8532 is not set
+# CONFIG_USB_GSPCA_VC032X is not set
+# CONFIG_USB_GSPCA_ZC3XX is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_HDPVR is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_CX231XX is not set
+# CONFIG_VIDEO_USBVISION is not set
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
+# CONFIG_USB_ET61X251 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_ZC0301 is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_I2C_SI4713 is not set
+# CONFIG_RADIO_SI4713 is not set
+# CONFIG_USB_DSBR is not set
+# CONFIG_RADIO_SI470X is not set
+# CONFIG_USB_MR800 is not set
+# CONFIG_RADIO_TEA5764 is not set
+# CONFIG_RADIO_SAA7706H is not set
+# CONFIG_RADIO_TEF6862 is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_MXC=y
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXC_EPSON_VGA_SYNC_PANEL=y
+CONFIG_FB_MXC_TVOUT_TVE=y
+CONFIG_FB_MXC_LDB=y
+# CONFIG_FB_MXC_CLAA_WVGA_SYNC_PANEL is not set
+# CONFIG_FB_MXC_SEIKO_WVGA_SYNC_PANEL is not set
+CONFIG_FB_MXC_SII902X=y
+CONFIG_FB_MXC_CH7026=y
+# CONFIG_FB_MXC_TVOUT_CH7024 is not set
+# CONFIG_FB_MXC_ASYNC_PANEL is not set
+CONFIG_FB_MXC_EINK_PANEL=y
+# CONFIG_FB_MXC_EINK_AUTO_UPDATE_MODE is not set
+# CONFIG_FB_MXC_ELCDIF_FB is not set
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+# CONFIG_BACKLIGHT_DA9052 is not set
+CONFIG_BACKLIGHT_PWM=y
+# CONFIG_BACKLIGHT_ADP8860 is not set
+CONFIG_BACKLIGHT_MXC_MC13892=y
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_HRTIMER is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+# CONFIG_SND_ARM is not set
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_MXC_SOC=y
+CONFIG_SND_MXC_SOC_SSI=y
+CONFIG_SND_MXC_SOC_ESAI=y
+CONFIG_SND_MXC_SOC_SPDIF_DAI=y
+CONFIG_SND_MXC_SOC_IRAM=y
+CONFIG_SND_SOC_IMX_3STACK_SGTL5000=y
+# CONFIG_SND_SOC_IMX_3STACK_AK4647 is not set
+# CONFIG_SND_SOC_IMX_3STACK_WM8580 is not set
+# CONFIG_SND_SOC_IMX_3STACK_AK5702 is not set
+# CONFIG_SND_SOC_IMX_3STACK_BLUETOOTH is not set
+CONFIG_SND_SOC_IMX_3STACK_CS42888=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+# CONFIG_MXC_SSI_DUAL_FIFO is not set
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_CS42888=y
+CONFIG_SND_SOC_SGTL5000=y
+CONFIG_SND_SOC_MXC_SPDIF=y
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_3M_PCT is not set
+CONFIG_HID_A4TECH=m
+CONFIG_HID_APPLE=m
+CONFIG_HID_BELKIN=m
+# CONFIG_HID_CANDO is not set
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+# CONFIG_HID_PRODIKEYS is not set
+CONFIG_HID_CYPRESS=m
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EGALAX is not set
+CONFIG_HID_EZKEY=m
+# CONFIG_HID_KYE is not set
+CONFIG_HID_GYRATION=m
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+CONFIG_HID_LOGITECH=m
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_HID_MAGICMOUSE is not set
+CONFIG_HID_MICROSOFT=m
+# CONFIG_HID_MOSART is not set
+CONFIG_HID_MONTEREY=m
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+CONFIG_HID_PANTHERLORD=m
+# CONFIG_PANTHERLORD_FF is not set
+CONFIG_HID_PETALYNX=m
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_QUANTA is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_ROCCAT_KONE is not set
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+# CONFIG_HID_STANTUM is not set
+CONFIG_HID_SUNPLUS=m
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+# CONFIG_USB_DEVICEFS is not set
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_MON is not set
+# CONFIG_USB_WUSB is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ARC=y
+CONFIG_USB_EHCI_ARC_OTG=y
+# CONFIG_USB_STATIC_IRAM is not set
+# CONFIG_USB_EHCI_FSL_MC13783 is not set
+# CONFIG_USB_EHCI_FSL_1301 is not set
+# CONFIG_USB_EHCI_FSL_1504 is not set
+CONFIG_USB_EHCI_FSL_UTMI=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_EHCI_MXC is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HWA_HCD is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=y
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_R8A66597 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C_HSOTG is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+CONFIG_USB_GADGET_ARC=y
+# CONFIG_USB_STATIC_IRAM_PPH is not set
+CONFIG_USB_ARC=y
+# CONFIG_USB_GADGET_LANGWELL is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_FSL_UTP is not set
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_WEBCAM is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ULPI is not set
+# CONFIG_NOP_USB_XCEIV is not set
+CONFIG_MXC_OTG=y
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+CONFIG_SDIO_UNIFI_FS=m
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_MXC is not set
+CONFIG_MMC_IMX_ESDHCI=y
+# CONFIG_MMC_IMX_ESDHCI_PIO_MODE is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_MC13892=y
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_GPIO_PLATFORM=y
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_DA9052 is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+CONFIG_LEDS_TRIGGERS=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DA9052 is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_MXC is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MXC_V2=y
+# CONFIG_RTC_DRV_IMXDI is not set
+CONFIG_RTC_MC13892=y
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_MXC_PXP=y
+CONFIG_MXC_PXP_CLIENT_DEVICE=y
+# CONFIG_TIMB_DMA is not set
+CONFIG_DMA_ENGINE=y
+
+#
+# DMA Clients
+#
+# CONFIG_NET_DMA is not set
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+CONFIG_STAGING=y
+# CONFIG_STAGING_EXCLUDE_BUILD is not set
+# CONFIG_VIDEO_TM6000 is not set
+# CONFIG_USB_IP_COMMON is not set
+# CONFIG_PRISM2_USB is not set
+# CONFIG_ECHO is not set
+# CONFIG_RT2870 is not set
+# CONFIG_COMEDI is not set
+# CONFIG_ASUS_OLED is not set
+# CONFIG_TRANZPORT is not set
+# CONFIG_POHMELFS is not set
+# CONFIG_LINE6_USB is not set
+# CONFIG_VT6656 is not set
+# CONFIG_FB_UDL is not set
+
+#
+# RAR Register Driver
+#
+# CONFIG_IIO is not set
+# CONFIG_RAMZSWAP is not set
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_FB_SM7XX is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# CONFIG_ST_BT is not set
+# CONFIG_ADIS16255 is not set
+CONFIG_ATH6K_LEGACY=m
+CONFIG_AR600x_SD31_XXX=y
+# CONFIG_AR600x_WB31_XXX is not set
+# CONFIG_AR600x_SD32_XXX is not set
+# CONFIG_AR600x_CUSTOM_XXX is not set
+# CONFIG_ATH6KL_ENABLE_COEXISTENCE is not set
+# CONFIG_ATH6KL_HCI_BRIDGE is not set
+# CONFIG_ATH6KL_CFG80211 is not set
+# CONFIG_ATH6KL_HTC_RAW_INTERFACE is not set
+# CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER is not set
+# CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK is not set
+# CONFIG_ATH6KL_DEBUG is not set
+
+#
+# MXC support drivers
+#
+CONFIG_MXC_IPU=y
+CONFIG_MXC_IPU_V3=y
+
+#
+# MXC SSI support
+#
+# CONFIG_MXC_SSI is not set
+
+#
+# MXC Digital Audio Multiplexer support
+#
+# CONFIG_MXC_DAM is not set
+
+#
+# MXC PMIC support
+#
+CONFIG_MXC_PMIC=y
+# CONFIG_MXC_PMIC_MC13783 is not set
+CONFIG_MXC_PMIC_MC13892=y
+CONFIG_MXC_PMIC_MC34708=y
+CONFIG_MXC_PMIC_I2C=y
+CONFIG_MXC_PMIC_SPI=y
+# CONFIG_MXC_PMIC_MC34704 is not set
+# CONFIG_MXC_PMIC_MC9SDZ60 is not set
+# CONFIG_MXC_PMIC_CHARDEV is not set
+
+#
+# MXC PMIC Client Drivers
+#
+CONFIG_MXC_MC13892_ADC=y
+CONFIG_MXC_MC13892_RTC=y
+CONFIG_MXC_MC13892_LIGHT=y
+CONFIG_MXC_MC13892_BATTERY=m
+CONFIG_MXC_MC13892_CONNECTIVITY=y
+CONFIG_MXC_MC13892_POWER=y
+CONFIG_MXC_MC34708_ADC=y
+CONFIG_MXC_MC34708_RTC=y
+CONFIG_MXC_MC34708_BATTERY=m
+# CONFIG_MXC_MC34708_PWM is not set
+# CONFIG_MXC_PMIC_MC9S08DZ60 is not set
+
+#
+# MXC Security Drivers
+#
+# CONFIG_MXC_SECURITY_SCC is not set
+# CONFIG_MXC_SECURITY_SCC2 is not set
+# CONFIG_MXC_SECURITY_RNG is not set
+
+#
+# SAHARA2 Security Hardware Support
+#
+# CONFIG_MXC_SAHARA is not set
+
+#
+# MXC MPEG4 Encoder Kernel module support
+#
+# CONFIG_MXC_HMP4E is not set
+
+#
+# MXC HARDWARE EVENT
+#
+# CONFIG_MXC_HWEVENT is not set
+
+#
+# MXC VPU(Video Processing Unit) support
+#
+CONFIG_MXC_VPU=y
+# CONFIG_MXC_VPU_DEBUG is not set
+
+#
+# MXC Asynchronous Sample Rate Converter support
+#
+CONFIG_MXC_ASRC=y
+
+#
+# MXC Bluetooth support
+#
+CONFIG_MXC_BLUETOOTH=m
+
+#
+# Broadcom GPS ioctrl support
+#
+CONFIG_GPS_IOCTRL=m
+
+#
+# MXC Media Local Bus Driver
+#
+CONFIG_MXC_MLB=m
+
+#
+# i.MX ADC support
+#
+# CONFIG_IMX_ADC is not set
+
+#
+# MXC GPU support
+#
+CONFIG_MXC_AMD_GPU=y
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_XATTR=y
+# CONFIG_EXT4_FS_POSIX_ACL is not set
+# CONFIG_EXT4_FS_SECURITY is not set
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=y
+CONFIG_JBD2=y
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+# CONFIG_FUSE_FS is not set
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=y
+# CONFIG_UBIFS_FS_XATTR is not set
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+# CONFIG_UBIFS_FS_DEBUG is not set
+# CONFIG_LOGFS is not set
+CONFIG_CRAMFS=y
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=m
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_ENABLE_DEFAULT_TRACERS is not set
+# CONFIG_BOOT_TRACER is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_KMEMTRACE is not set
+# CONFIG_WORKQUEUE_TRACER is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_ARM_UNWIND=y
+# CONFIG_DEBUG_USER is not set
+# CONFIG_OC_ETM is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_MANAGER_TESTS=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_CRYPTODEV=y
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_ZLIB is not set
+CONFIG_CRYPTO_LZO=y
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_DCP is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_NLATTR=y
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch
new file mode 100644
index 00000000..6b89bb66
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch
@@ -0,0 +1,42 @@
+From e0b2222000d04b43e7892148dc9892c9375de939 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat, 5 May 2012 15:04:24 -0300
+Subject: [PATCH] mxs-duart: use ttyAMA for device name
+
+This allow to easy configuration of u-boot avoiding divergences
+between Freescale's and mainline kernels.
+
+Upstream-Status: Inapropriate [configuration]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ drivers/serial/mxs-duart.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/serial/mxs-duart.c b/drivers/serial/mxs-duart.c
+index 64e5057..2ba0c33 100644
+--- a/drivers/serial/mxs-duart.c
++++ b/drivers/serial/mxs-duart.c
+@@ -665,7 +665,7 @@ static int __init duart_console_setup(struct console *co, char *options)
+ }
+
+ static struct console duart_console = {
+- .name = "ttyAM",
++ .name = "ttyAMA",
+ .write = duart_console_write,
+ .device = uart_console_device,
+ .setup = duart_console_setup,
+@@ -688,8 +688,8 @@ console_initcall(duart_console_init);
+
+ static struct uart_driver duart_drv = {
+ .owner = THIS_MODULE,
+- .driver_name = "ttyAM",
+- .dev_name = "ttyAM",
++ .driver_name = "ttyAMA",
++ .dev_name = "ttyAMA",
+ .major = SERIAL_DUART_MAJOR,
+ .minor = SERIAL_DUART_MINOR,
+ .nr = 1,
+--
+1.7.10
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch
new file mode 100644
index 00000000..9ff2d14f
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch
@@ -0,0 +1,33 @@
+From 9a06d08e43923f8ce35f1c649334f14d2e81941b Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Tue, 19 Mar 2013 14:04:08 -0300
+Subject: [PATCH] perf: Avoid use of sysroot's Linux headers
+
+As Yocto now use a newer Linux headers package we end having a build
+failure in perf as 'stddef.h' has changed and does not provide NULL
+definition anymore. To workaround it we add the srcdir onto search path
+for include files, before sysroot one.
+
+Upstream-Status: Inappropriate [build system specific change]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ tools/perf/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/perf/Makefile b/tools/perf/Makefile
+index 854652a..9605d46 100644
+--- a/tools/perf/Makefile
++++ b/tools/perf/Makefile
+@@ -301,7 +301,7 @@ endif
+ # Those must not be GNU-specific; they are shared with perl/ which may
+ # be built by a different compiler. (Note that this is an artifact now
+ # but it still might be nice to keep that distinction.)
+-BASIC_CFLAGS = -Iutil/include -Iarch/$(ARCH)/include
++BASIC_CFLAGS = -Iutil/include -Iarch/$(ARCH)/include -I../../include
+ BASIC_LDFLAGS =
+
+ # Guard against environment variables
+--
+1.8.1
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0001-ARM-imx6q-drop-unnecessary-semicolon.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0001-ARM-imx6q-drop-unnecessary-semicolon.patch
new file mode 100644
index 00000000..8d431832
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0001-ARM-imx6q-drop-unnecessary-semicolon.patch
@@ -0,0 +1,35 @@
+From 5332a5467624b01d0c166309cd1dceac5f7b9d96 Mon Sep 17 00:00:00 2001
+From: Dmitry Voytik <voytikd@gmail.com>
+Date: Thu, 6 Nov 2014 22:46:20 +0400
+Subject: [PATCH 1/3] ARM: imx6q: drop unnecessary semicolon
+
+commit d2a10a1727b3948019128e83162f22c65859f1fd upstream.
+
+Drop unnecessary semicolon after closing curly bracket.
+
+Signed-off-by: Dmitry Voytik <voytikd@gmail.com>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+Upstream-Status: Backport [3.14.29]
+
+---
+ arch/arm/mach-imx/clk-imx6q.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
+index f0d8000..a5107ab 100644
+--- a/arch/arm/mach-imx/clk-imx6q.c
++++ b/arch/arm/mach-imx/clk-imx6q.c
+@@ -149,7 +149,7 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
+ post_div_table[2].div = 1;
+ video_div_table[1].div = 1;
+ video_div_table[2].div = 1;
+- };
++ }
+
+ clk[IMX6QDL_PLL1_BYPASS_SRC] = imx_clk_mux("pll1_bypass_src", base + 0x00, 14, 2, pll_bypass_src_sels, ARRAY_SIZE(pll_bypass_src_sels));
+ clk[IMX6QDL_PLL2_BYPASS_SRC] = imx_clk_mux("pll2_bypass_src", base + 0x30, 14, 2, pll_bypass_src_sels, ARRAY_SIZE(pll_bypass_src_sels));
+--
+2.1.4
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch
new file mode 100644
index 00000000..d7b852da
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch
@@ -0,0 +1,40 @@
+From 5b9eb0cdaefd7ac8e31c1e1812582e0169ba9722 Mon Sep 17 00:00:00 2001
+From: Gary Bisson <bisson.gary@gmail.com>
+Date: Wed, 3 Dec 2014 15:03:51 -0800
+Subject: [PATCH 2/3] ARM: clk-imx6q: fix video divider for rev T0 1.0
+
+commit 81ef447950bf0955aca46f4a7617d8ce435cf0ce upstream.
+
+The post dividers do not work on i.MX6Q rev T0 1.0 so they must be fixed
+to 1. As the table index was wrong, a divider a of 4 could still be
+requested which implied the clock not to be set properly. This is the
+root cause of the HDMI not working at high resolution on rev T0 1.0 of
+the SoC.
+
+Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+Upstream-Status: Backport [3.14.29]
+
+---
+ arch/arm/mach-imx/clk-imx6q.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
+index a5107ab..cf060a9 100644
+--- a/arch/arm/mach-imx/clk-imx6q.c
++++ b/arch/arm/mach-imx/clk-imx6q.c
+@@ -148,7 +148,7 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
+ post_div_table[1].div = 1;
+ post_div_table[2].div = 1;
+ video_div_table[1].div = 1;
+- video_div_table[2].div = 1;
++ video_div_table[3].div = 1;
+ }
+
+ clk[IMX6QDL_PLL1_BYPASS_SRC] = imx_clk_mux("pll1_bypass_src", base + 0x00, 14, 2, pll_bypass_src_sels, ARRAY_SIZE(pll_bypass_src_sels));
+--
+2.1.4
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch
new file mode 100644
index 00000000..0743099f
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch
@@ -0,0 +1,56 @@
+From 8340ad4ab71b568e65dfd1b92cc0967152887f97 Mon Sep 17 00:00:00 2001
+From: Nikolay Dimitrov <picmaster@mail.bg>
+Date: Sun, 8 Feb 2015 22:18:09 +0200
+Subject: [PATCH 3/3] ARM: imx6sl: Disable imx6sl-specific code when imx6sl SOC
+ support is disabled
+
+Currently the build fails when CONFIG_SOC_IMX6SL is disabled, due to some
+hard-coded stuff. The patch purpose is to handle enabling/disabling this
+config option.
+
+Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg>
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+Upstream-Status: Pending
+
+---
+ arch/arm/mach-imx/Makefile | 3 ++-
+ arch/arm/mach-imx/mxc.h | 4 ++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
+index b76a214..27f1976 100644
+--- a/arch/arm/mach-imx/Makefile
++++ b/arch/arm/mach-imx/Makefile
+@@ -122,7 +122,8 @@ obj-$(CONFIG_SOC_IMX6SL) += busfreq_lpddr2.o lpddr2_freq_imx6.o imx6sl_lpm_wfi.o
+ AFLAGS_lpddr2_freq_imx6sx.o :=-Wa,-march=armv7-a
+ AFLAGS_ddr3_freq_imx6sx.o :=-Wa,-march=armv7-a
+ AFLAGS_imx6sx_low_power_idle.o :=-Wa,-march=armv7-a
+-obj-$(CONFIG_SOC_IMX6SX) += ddr3_freq_imx6sx.o lpddr2_freq_imx6sx.o imx6sx_low_power_idle.o
++obj-$(CONFIG_SOC_IMX6SX) += ddr3_freq_imx6sx.o lpddr2_freq_imx6sx.o imx6sx_low_power_idle.o \
++ busfreq_lpddr2.o lpddr2_freq_imx6.o
+ endif
+
+
+diff --git a/arch/arm/mach-imx/mxc.h b/arch/arm/mach-imx/mxc.h
+index 1510769..e6af4dd 100644
+--- a/arch/arm/mach-imx/mxc.h
++++ b/arch/arm/mach-imx/mxc.h
+@@ -158,10 +158,14 @@ extern unsigned int __mxc_cpu_type;
+ #endif
+
+ #ifndef __ASSEMBLY__
++#ifdef CONFIG_SOC_IMX6SL
+ static inline bool cpu_is_imx6sl(void)
+ {
+ return __mxc_cpu_type == MXC_CPU_IMX6SL;
+ }
++#else
++# define cpu_is_imx6sl() (0)
++#endif
+
+ static inline bool cpu_is_imx6dl(void)
+ {
+--
+2.1.4
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch
new file mode 100644
index 00000000..0d3caa40
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch
@@ -0,0 +1,36 @@
+From 77903c01d8c6c5d2544085ba074aceadc1191d21 Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Thu, 11 Dec 2014 15:12:25 +0100
+Subject: [PATCH 2/2] mmc: sdhci-esdhc-imx: Fixup runtime PM conditions during
+ ->probe()
+
+By configure runtime PM prior we enable the use of it, we close the gap
+for strange and unhandled conditions. Moreover it makes us rely on the
+driver core, after finalized ->probe(), to request an inactive device
+to become runtime PM idle/suspended, which earlier potentially could
+happen already at pm_runtime_set_autosuspend_delay().
+
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+---
+ drivers/mmc/host/sdhci-esdhc-imx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
+index 043866c..10ef824 100644
+--- a/drivers/mmc/host/sdhci-esdhc-imx.c
++++ b/drivers/mmc/host/sdhci-esdhc-imx.c
+@@ -1080,10 +1080,10 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
+ goto disable_clk;
+
+ pm_runtime_set_active(&pdev->dev);
+- pm_runtime_enable(&pdev->dev);
+ pm_runtime_set_autosuspend_delay(&pdev->dev, 50);
+ pm_runtime_use_autosuspend(&pdev->dev);
+ pm_suspend_ignore_children(&pdev->dev, 1);
++ pm_runtime_enable(&pdev->dev);
+
+ return 0;
+
+--
+1.9.3
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch
new file mode 100644
index 00000000..d40e55af
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch
@@ -0,0 +1,100 @@
+From a2fe37b69d4fe369c284d50927193fed81c238a0 Mon Sep 17 00:00:00 2001
+From: Fabio Estevam <fabio.estevam@freescale.com>
+Date: Fri, 13 Mar 2015 14:07:54 -0300
+Subject: [PATCH] Revert "net: fec: fix the warning found by dma debug"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit 2b995f63987013bacde99168218f9c7b252bdcf1.
+
+Панов Андрей reported the following regression:
+
+"Commit 2b995f63987013bacde99168218f9c7b252bdcf1 in 4.0.0-rc3 introduces a
+nasty bug in transmit, corrupting packets.
+
+To reproduce:
+
+$ dd if=/dev/zero of=zeros bs=1M count=20
+$ md5sum -b zeros
+8f4e33f3dc3e414ff94e5fb6905cba8c *zeros
+
+This checksum is correct.
+
+Copy file "zeros" to another host with NFS, and it gets corrupted, checksum is
+changed.
+File should be big, small amounts of transmit isn't affected.
+
+I use an i.MX6 Quad board.
+
+If this commit is reverted, all works fine."
+
+Reported-by: Панов Андрей <rockford@yandex.ru>
+Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/freescale/fec_main.c | 34 ++++++++++---------------------
+ 1 file changed, 11 insertions(+), 23 deletions(-)
+
+diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
+index 787db50..78e1ce0 100644
+--- a/drivers/net/ethernet/freescale/fec_main.c
++++ b/drivers/net/ethernet/freescale/fec_main.c
+@@ -1189,13 +1189,12 @@ static void
+ fec_enet_tx_queue(struct net_device *ndev, u16 queue_id)
+ {
+ struct fec_enet_private *fep;
+- struct bufdesc *bdp, *bdp_t;
++ struct bufdesc *bdp;
+ unsigned short status;
+ struct sk_buff *skb;
+ struct fec_enet_priv_tx_q *txq;
+ struct netdev_queue *nq;
+ int index = 0;
+- int i, bdnum;
+ int entries_free;
+
+ fep = netdev_priv(ndev);
+@@ -1216,29 +1215,18 @@ fec_enet_tx_queue(struct net_device *ndev, u16 queue_id)
+ if (bdp == txq->cur_tx)
+ break;
+
+- bdp_t = bdp;
+- bdnum = 1;
+- index = fec_enet_get_bd_index(txq->tx_bd_base, bdp_t, fep);
+- skb = txq->tx_skbuff[index];
+- while (!skb) {
+- bdp_t = fec_enet_get_nextdesc(bdp_t, fep, queue_id);
+- index = fec_enet_get_bd_index(txq->tx_bd_base, bdp_t, fep);
+- skb = txq->tx_skbuff[index];
+- bdnum++;
+- }
+- if (skb_shinfo(skb)->nr_frags &&
+- (status = bdp_t->cbd_sc) & BD_ENET_TX_READY)
+- break;
++ index = fec_enet_get_bd_index(txq->tx_bd_base, bdp, fep);
+
+- for (i = 0; i < bdnum; i++) {
+- if (!IS_TSO_HEADER(txq, bdp->cbd_bufaddr))
+- dma_unmap_single(&fep->pdev->dev, bdp->cbd_bufaddr,
+- bdp->cbd_datlen, DMA_TO_DEVICE);
+- bdp->cbd_bufaddr = 0;
+- if (i < bdnum - 1)
+- bdp = fec_enet_get_nextdesc(bdp, fep, queue_id);
+- }
++ skb = txq->tx_skbuff[index];
+ txq->tx_skbuff[index] = NULL;
++ if (!IS_TSO_HEADER(txq, bdp->cbd_bufaddr))
++ dma_unmap_single(&fep->pdev->dev, bdp->cbd_bufaddr,
++ bdp->cbd_datlen, DMA_TO_DEVICE);
++ bdp->cbd_bufaddr = 0;
++ if (!skb) {
++ bdp = fec_enet_get_nextdesc(bdp, fep, queue_id);
++ continue;
++ }
+
+ /* Check for errors. */
+ if (status & (BD_ENET_TX_HB | BD_ENET_TX_LC |
+--
+1.9.3
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/mx6/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/mx6/defconfig
new file mode 100644
index 00000000..303e6791
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.14.28/mx6/defconfig
@@ -0,0 +1,413 @@
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_GPIO_PCA953X=y
+CONFIG_ARCH_MXC=y
+CONFIG_MACH_IMX51_DT=y
+CONFIG_MACH_EUKREA_CPUIMX51SD=y
+CONFIG_SOC_IMX50=y
+CONFIG_SOC_IMX53=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_IMX6SX=y
+CONFIG_SOC_VF610=y
+# CONFIG_SWP_EMULATE is not set
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PREEMPT=y
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+CONFIG_CMA=y
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_ARM_IMX6Q_CPUFREQ=y
+CONFIG_CPU_IDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_IPV6=y
+CONFIG_NETFILTER=y
+CONFIG_VLAN_8021Q=y
+CONFIG_LLC2=y
+CONFIG_CAN=y
+CONFIG_CAN_FLEXCAN=y
+CONFIG_CAN_M_CAN=y
+CONFIG_BT=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=y
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=y
+CONFIG_BT_HCIBTUSB=y
+CONFIG_BT_HCIBTSDIO=y
+CONFIG_BT_HCIUART=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIBCM203X=y
+CONFIG_BT_ATH3K=y
+CONFIG_CFG80211=y
+CONFIG_MAC80211=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=320
+CONFIG_IMX_WEIM=y
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_IMX=y
+CONFIG_PATA_IMX=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_ATH_CARDS=y
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_BRCMFMAC=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_SNVS_PWRKEY=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_ELAN=y
+CONFIG_TOUCHSCREEN_MAX11801=y
+CONFIG_TOUCHSCREEN_MC13783=y
+CONFIG_TOUCHSCREEN_TSC2007=y
+CONFIG_TOUCHSCREEN_STMPE=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+CONFIG_INPUT_ISL29023=y
+CONFIG_SERIO_SERPORT=m
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_FSL_OTP=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_SABRESD_MAX8903=y
+CONFIG_SENSORS_MAX17135=y
+CONFIG_SENSORS_MAG3110=y
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+CONFIG_DEVICE_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_MAX17135=y
+CONFIG_MFD_SI476X_CORE=y
+CONFIG_MFD_STMPE=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_MAX17135=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_GPIO_CIR=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_CAPTURE=m
+CONFIG_MXC_CAMERA_OV5640=m
+CONFIG_MXC_CAMERA_OV5642=m
+CONFIG_MXC_CAMERA_OV5640_MIPI=m
+CONFIG_MXC_TVIN_ADV7180=m
+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_VIDEO_MXC_CSI_CAMERA=m
+CONFIG_MXC_VADC=m
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_MX3=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_CODA=y
+CONFIG_RADIO_SI476X=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_DRM=y
+CONFIG_DRM_VIVANTE=y
+CONFIG_FB=y
+CONFIG_FB_MXS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXC_LDB=y
+CONFIG_FB_MXC_MIPI_DSI=y
+CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
+CONFIG_FB_MXC_HDMI=y
+CONFIG_FB_MXC_EINK_PANEL=y
+CONFIG_FB_MXS_SII902X=y
+CONFIG_FB_MXC_DCIC=m
+CONFIG_HANNSTAR_CABC=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_CS42888=y
+CONFIG_SND_SOC_IMX_WM8962=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_MQS=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_SND_SOC_IMX_HDMI=y
+CONFIG_SND_SOC_IMX_SI476X=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_MXC=y
+CONFIG_USB_ACM=m
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_EHSET_TEST_FIXTURE=m
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MXC_IPU=y
+CONFIG_MXC_GPU_VIV=y
+CONFIG_MXC_MIPI_CSI2=y
+CONFIG_MXC_MLB150=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+CONFIG_MXC_PXP_V2=y
+CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
+CONFIG_STAGING=y
+CONFIG_STAGING_MEDIA=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_IIO=y
+CONFIG_VF610_ADC=y
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_DEBUG_FS=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_FTRACE is not set
+CONFIG_SECURITYFS=y
+CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=y
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=y
+CONFIG_CRYPTO_RMD320=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_TWOFISH=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DEV_FSL_CAAM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool-3.14.28/mx6/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool-3.14.28/mx6/defconfig
new file mode 100644
index 00000000..17598b15
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool-3.14.28/mx6/defconfig
@@ -0,0 +1,332 @@
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_ARCH_MULTI_V6=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_ARCH_MXC=y
+# CONFIG_MACH_MX31ADS is not set
+# CONFIG_MACH_BUG is not set
+CONFIG_MACH_IMX51_DT=y
+CONFIG_MACH_EUKREA_CPUIMX51SD=y
+CONFIG_SOC_IMX50=y
+CONFIG_SOC_IMX53=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_IMX6SX=y
+CONFIG_SOC_VF610=y
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PREEMPT=y
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+CONFIG_CMA=y
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_ARM_IMX6Q_CPUFREQ=y
+CONFIG_CPU_IDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_IPV6=y
+CONFIG_NETFILTER=y
+CONFIG_CFG80211=y
+CONFIG_MAC80211=y
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=320
+CONFIG_IMX_WEIM=y
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_IMX=y
+CONFIG_PATA_IMX=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_AT803X_PHY=y
+CONFIG_BRCMFMAC=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_MC13783=y
+CONFIG_TOUCHSCREEN_TSC2007=y
+CONFIG_TOUCHSCREEN_STMPE=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+CONFIG_SERIO_SERPORT=m
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_IMX_SEMA4=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_GPIO_SYSFS=y
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+CONFIG_DEVICE_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_STMPE=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_GPIO_CIR=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_MX3=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_CODA=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_DRM=y
+CONFIG_DRM_VIVANTE=y
+CONFIG_FB=y
+CONFIG_FB_MXS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXC_LDB=y
+CONFIG_FB_MXC_MIPI_DSI=y
+CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
+CONFIG_FB_MXC_HDMI=y
+CONFIG_FB_MXC_EINK_PANEL=y
+CONFIG_FB_MXC_EINK_AUTO_UPDATE_MODE=y
+CONFIG_FB_MXS_SII902X=y
+CONFIG_HANNSTAR_CABC=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_WM8962=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_MXC=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ETH=m
+CONFIG_USB_PHY=y
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_ETH is not set
+# CONFIG_USB_G_NCM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+CONFIG_USB_MASS_STORAGE=y
+CONFIG_FSL_UTP=y
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+# CONFIG_USB_G_WEBCAM is not set
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MXC_IPU=y
+CONFIG_MXC_GPU_VIV=y
+CONFIG_MXC_MIPI_CSI2=y
+CONFIG_MXC_MLB150=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+CONFIG_MXC_PXP_V2=y
+CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
+CONFIG_STAGING=y
+CONFIG_STAGING_MEDIA=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_FTRACE is not set
+CONFIG_SECURITYFS=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool_3.14.28.bb b/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool_3.14.28.bb
new file mode 100644
index 00000000..825c94a6
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-mfgtool_3.14.28.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+# Copyright (C) 2014-2015 Freescale Semiconductor
+
+SUMMARY = "Produces a Manufacturing Tool compatible Linux Kernel"
+DESCRIPTION = "Linux Kernel provided and supported by Freescale that produces a \
+Manufacturing Tool compatible Linux Kernel to be used in updater environment"
+
+require linux-imx_${PV}.bb
+require linux-mfgtool.inc
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-ARM-imx6q-drop-unnecessary-semicolon.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-ARM-imx6q-drop-unnecessary-semicolon.patch
new file mode 100644
index 00000000..8d431832
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-ARM-imx6q-drop-unnecessary-semicolon.patch
@@ -0,0 +1,35 @@
+From 5332a5467624b01d0c166309cd1dceac5f7b9d96 Mon Sep 17 00:00:00 2001
+From: Dmitry Voytik <voytikd@gmail.com>
+Date: Thu, 6 Nov 2014 22:46:20 +0400
+Subject: [PATCH 1/3] ARM: imx6q: drop unnecessary semicolon
+
+commit d2a10a1727b3948019128e83162f22c65859f1fd upstream.
+
+Drop unnecessary semicolon after closing curly bracket.
+
+Signed-off-by: Dmitry Voytik <voytikd@gmail.com>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+Upstream-Status: Backport [3.14.29]
+
+---
+ arch/arm/mach-imx/clk-imx6q.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
+index f0d8000..a5107ab 100644
+--- a/arch/arm/mach-imx/clk-imx6q.c
++++ b/arch/arm/mach-imx/clk-imx6q.c
+@@ -149,7 +149,7 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
+ post_div_table[2].div = 1;
+ video_div_table[1].div = 1;
+ video_div_table[2].div = 1;
+- };
++ }
+
+ clk[IMX6QDL_PLL1_BYPASS_SRC] = imx_clk_mux("pll1_bypass_src", base + 0x00, 14, 2, pll_bypass_src_sels, ARRAY_SIZE(pll_bypass_src_sels));
+ clk[IMX6QDL_PLL2_BYPASS_SRC] = imx_clk_mux("pll2_bypass_src", base + 0x30, 14, 2, pll_bypass_src_sels, ARRAY_SIZE(pll_bypass_src_sels));
+--
+2.1.4
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch
new file mode 100644
index 00000000..4be4066d
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0001-fix-build.patch
@@ -0,0 +1,71 @@
+Fix build errors when RT patch is applied
+
+Upstream-Status: Inappropriate [other]
+Freescale does not support the RT patch
+
+Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
+Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> [updated for 3.14.28]
+
+diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+index 2ec98dc..5d0b7df 100644
+--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
++++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+@@ -7344,7 +7344,7 @@ gckOS_WaitSignal(
+
+ might_sleep();
+
+- spin_lock_irq(&signal->obj.wait.lock);
++ raw_spin_lock_irq(&signal->obj.wait.lock);
+
+ if (signal->obj.done)
+ {
+@@ -7366,9 +7366,8 @@ gckOS_WaitSignal(
+ ? MAX_SCHEDULE_TIMEOUT
+ : Wait * HZ / 1000;
+
+- DECLARE_WAITQUEUE(wait, current);
+- wait.flags |= WQ_FLAG_EXCLUSIVE;
+- __add_wait_queue_tail(&signal->obj.wait, &wait);
++ DEFINE_SWAITER(wait);
++ swait_prepare_locked(&signal->obj.wait, &wait);
+
+ while (gcvTRUE)
+ {
+@@ -7380,9 +7379,9 @@ gckOS_WaitSignal(
+ }
+
+ __set_current_state(TASK_INTERRUPTIBLE);
+- spin_unlock_irq(&signal->obj.wait.lock);
++ raw_spin_unlock_irq(&signal->obj.wait.lock);
+ timeout = schedule_timeout(timeout);
+- spin_lock_irq(&signal->obj.wait.lock);
++ raw_spin_lock_irq(&signal->obj.wait.lock);
+
+ if (signal->obj.done)
+ {
+@@ -7403,10 +7402,10 @@ gckOS_WaitSignal(
+ }
+ }
+
+- __remove_wait_queue(&signal->obj.wait, &wait);
++ swait_finish_locked(&signal->obj.wait, &wait);
+ }
+
+- spin_unlock_irq(&signal->obj.wait.lock);
++ raw_spin_unlock_irq(&signal->obj.wait.lock);
+
+ OnError:
+ /* Return status. */
+diff --git a/include/linux/imx_sema4.h b/include/linux/imx_sema4.h
+index 9787980..3586199 100644
+--- a/include/linux/imx_sema4.h
++++ b/include/linux/imx_sema4.h
+@@ -9,6 +9,8 @@
+ #ifndef __LINUX_IMX_SEMA4_H__
+ #define __LINUX_IMX_SEMA4_H__
+
++#include <linux/wait.h>
++
+ #define SEMA4_NUM_DEVICES 1
+ #define SEMA4_NUM_GATES 16
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch
new file mode 100644
index 00000000..d7b852da
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch
@@ -0,0 +1,40 @@
+From 5b9eb0cdaefd7ac8e31c1e1812582e0169ba9722 Mon Sep 17 00:00:00 2001
+From: Gary Bisson <bisson.gary@gmail.com>
+Date: Wed, 3 Dec 2014 15:03:51 -0800
+Subject: [PATCH 2/3] ARM: clk-imx6q: fix video divider for rev T0 1.0
+
+commit 81ef447950bf0955aca46f4a7617d8ce435cf0ce upstream.
+
+The post dividers do not work on i.MX6Q rev T0 1.0 so they must be fixed
+to 1. As the table index was wrong, a divider a of 4 could still be
+requested which implied the clock not to be set properly. This is the
+root cause of the HDMI not working at high resolution on rev T0 1.0 of
+the SoC.
+
+Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+Upstream-Status: Backport [3.14.29]
+
+---
+ arch/arm/mach-imx/clk-imx6q.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
+index a5107ab..cf060a9 100644
+--- a/arch/arm/mach-imx/clk-imx6q.c
++++ b/arch/arm/mach-imx/clk-imx6q.c
+@@ -148,7 +148,7 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
+ post_div_table[1].div = 1;
+ post_div_table[2].div = 1;
+ video_div_table[1].div = 1;
+- video_div_table[2].div = 1;
++ video_div_table[3].div = 1;
+ }
+
+ clk[IMX6QDL_PLL1_BYPASS_SRC] = imx_clk_mux("pll1_bypass_src", base + 0x00, 14, 2, pll_bypass_src_sels, ARRAY_SIZE(pll_bypass_src_sels));
+--
+2.1.4
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0002-fix-build-with-rt-enabled.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
new file mode 100644
index 00000000..83652c96
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0002-fix-build-with-rt-enabled.patch
@@ -0,0 +1,19 @@
+Fix build error when PREEMPT_RT_FULL is enabled
+
+Upstream-Status: Pending
+
+Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
+
+Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+===================================================================
+--- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
++++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
+@@ -3266,7 +3266,7 @@ gckOS_CreateMutex(
+ gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex));
+
+ /* Initialize the mutex. */
+- mutex_init(*Mutex);
++ mutex_init((struct mutex*)*Mutex);
+
+ /* Return status. */
+ gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex);
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch
new file mode 100644
index 00000000..0743099f
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch
@@ -0,0 +1,56 @@
+From 8340ad4ab71b568e65dfd1b92cc0967152887f97 Mon Sep 17 00:00:00 2001
+From: Nikolay Dimitrov <picmaster@mail.bg>
+Date: Sun, 8 Feb 2015 22:18:09 +0200
+Subject: [PATCH 3/3] ARM: imx6sl: Disable imx6sl-specific code when imx6sl SOC
+ support is disabled
+
+Currently the build fails when CONFIG_SOC_IMX6SL is disabled, due to some
+hard-coded stuff. The patch purpose is to handle enabling/disabling this
+config option.
+
+Signed-off-by: Nikolay Dimitrov <picmaster@mail.bg>
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+Upstream-Status: Pending
+
+---
+ arch/arm/mach-imx/Makefile | 3 ++-
+ arch/arm/mach-imx/mxc.h | 4 ++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
+index b76a214..27f1976 100644
+--- a/arch/arm/mach-imx/Makefile
++++ b/arch/arm/mach-imx/Makefile
+@@ -122,7 +122,8 @@ obj-$(CONFIG_SOC_IMX6SL) += busfreq_lpddr2.o lpddr2_freq_imx6.o imx6sl_lpm_wfi.o
+ AFLAGS_lpddr2_freq_imx6sx.o :=-Wa,-march=armv7-a
+ AFLAGS_ddr3_freq_imx6sx.o :=-Wa,-march=armv7-a
+ AFLAGS_imx6sx_low_power_idle.o :=-Wa,-march=armv7-a
+-obj-$(CONFIG_SOC_IMX6SX) += ddr3_freq_imx6sx.o lpddr2_freq_imx6sx.o imx6sx_low_power_idle.o
++obj-$(CONFIG_SOC_IMX6SX) += ddr3_freq_imx6sx.o lpddr2_freq_imx6sx.o imx6sx_low_power_idle.o \
++ busfreq_lpddr2.o lpddr2_freq_imx6.o
+ endif
+
+
+diff --git a/arch/arm/mach-imx/mxc.h b/arch/arm/mach-imx/mxc.h
+index 1510769..e6af4dd 100644
+--- a/arch/arm/mach-imx/mxc.h
++++ b/arch/arm/mach-imx/mxc.h
+@@ -158,10 +158,14 @@ extern unsigned int __mxc_cpu_type;
+ #endif
+
+ #ifndef __ASSEMBLY__
++#ifdef CONFIG_SOC_IMX6SL
+ static inline bool cpu_is_imx6sl(void)
+ {
+ return __mxc_cpu_type == MXC_CPU_IMX6SL;
+ }
++#else
++# define cpu_is_imx6sl() (0)
++#endif
+
+ static inline bool cpu_is_imx6dl(void)
+ {
+--
+2.1.4
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0003-no-split-ptlocks.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0003-no-split-ptlocks.patch
new file mode 100644
index 00000000..40c012a5
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0003-no-split-ptlocks.patch
@@ -0,0 +1,85 @@
+Work around the oops below by disabling split ptlocks
+
+Upstream-Status: Inappropriate [disable feature]
+
+Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
+Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> [updated for 3.14.28]
+
+Unable to handle kernel NULL pointer dereference at virtual address 00000000
+pgd = ac5a8000
+[00000000] *pgd=3c8db831, *pte=00000000, *ppte=00000000
+Internal error: Oops: 17 [#1] PREEMPT SMP ARM
+Modules linked in:
+CPU: 1 PID: 277 Comm: test-qt5 Not tainted 3.10.17-rt12-monkey+gec1af9f #2
+task: ac65df80 ti: ac968000 task.ti: ac968000
+PC is at _raw_spin_lock+0x10/0x4c
+LR is at get_parent_ip+0x10/0x2c
+pc : [<80623fd4>] lr : [<8004ef18>] psr: 60010013
+sp : ac969c38 ip : 80c44404 fp : 00000000
+r10: ac65df80 r9 : ac969cd8 r8 : 00000000
+r7 : 00000054 r6 : afffe000 r5 : 00000000 r4 : 00000000
+r3 : ac65df80 r2 : 00000001 r1 : 00000000 r0 : 00000000
+Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
+Control: 10c53c7d Table: 3c5a804a DAC: 00000015
+Process test-qt5 (pid: 277, stack limit = 0xac968238)
+Stack: (0xac969c38 to 0xac96a000)
+9c20: b00549a8 806235e0
+9c40: 00000000 ac968000 812f9a00 80017cec ac969c74 fffffffe 00000000 00005000
+9c60: 00000000 80017e6c ac968000 ac65df80 00000000 00000000 00000001 ac968001
+9c80: ac65df80 b00549a8 00000000 afffe000 00000054 00000000 ac969cd8 afffe150
+9ca0: b0054bf8 8044e540 ac969cd8 b00549a8 ac0b8180 00000230 ac8fd000 00000230
+9cc0: 00000000 8044f6f4 ac155700 ac969cf4 ac155700 804605b8 ac155700 ac969d8c
+9ce0: 00000002 ac969d24 b0054bf8 804607f4 7ef1fcd0 80450078 ac0b8180 ac155700
+9d00: ac969d8c 00000002 ac8fd000 8045f1a0 ac969d24 00000000 ac8fd01c b00549a8
+9d20: b0050000 00000008 ac969d98 ac0b8300 ac969d8c 00000115 ac969d98 ac969e00
+9d40: ac155600 ac3985f0 7ef1fcd0 8045661c 00000115 00000000 00000001 00000000
+9d60: 00007530 80454144 80c32e18 00000001 81518e18 806237dc 00000001 ac968038
+9d80: 00000000 00000000 00000000 00000000 00000115 806237dc ac6f5688 ac968018
+9da0: 812e1640 00000000 00000001 ac968000 ac969dc4 8004efe4 ac968008 ac39a000
+9dc0: ac744400 ac968020 00007530 ac968000 ac968000 ac3985f0 7ef1fcd0 8044d374
+9de0: 7ef1fd20 00000000 000000f8 00000000 7ef1fd20 00000000 000000f8 00000000
+9e00: 00000028 00000002 00000000 6437d1dd 7ef1fddc 76f9c030 7ef1fd88 76fb9abc
+9e20: 00000320 00005007 e02c7eca c1399eff 020fb2db 00000000 00000000 00000000
+9e40: 00000001 00000040 00000400 00000004 00000010 00000400 00000002 00000100
+9e60: 00000100 00000008 00000008 00000000 ffffffff 00000000 7588e180 76fb1000
+9e80: 08000000 00000000 00000000 76fb11b8 000000af 760b6cd8 ffffffff 7431d4c0
+9ea0: 000cb1ac 75889000 00000000 00000001 000000b0 00000000 00000000 76fa0da0
+9ec0: 00000000 00000001 00000001 00000000 00000000 7588cb40 00000001 75957ecc
+9ee0: 00000001 7ef1fe7c 75953e94 7ef1fedc 00000002 76fa789c 00007530 ac6813c0
+9f00: 00000000 7ef1fcd0 ac6813c0 ac968000 ac3985f0 800d68fc 00000001 ac968000
+9f20: ac969f34 8004efe4 ac4f71d4 6c31d000 00000000 80623fd4 00000000 80623578
+9f40: ac4f71d4 800a3d40 00000001 00000000 ac969f5c 00000003 ac6813c8 00000000
+9f60: 00000001 00007530 00000003 00000000 7ef1fcd0 ac6813c0 ac968000 00000000
+9f80: 00000000 800d6afc ac4f7180 00000000 00002710 00007530 75957e40 00000036
+9fa0: 8000e2c4 8000e140 00002710 00007530 00000003 00007530 7ef1fcd0 01bc3008
+9fc0: 00002710 00007530 75957e40 00000036 01bd2e70 00000001 7ef1fd20 00000000
+9fe0: 759540c4 7ef1fcbc 7593f698 760a0ccc 20010010 00000003 00000000 00000000
+[<80623fd4>] (_raw_spin_lock+0x10/0x4c) from [<806235e0>] (rt_spin_lock_slowlock+0x34/0x29c)
+[<806235e0>] (rt_spin_lock_slowlock+0x34/0x29c) from [<8044e540>] (_QueryProcessPageTable+0x8c/0xdc)
+[<8044e540>] (_QueryProcessPageTable+0x8c/0xdc) from [<8044f6f4>] (gckOS_GetPhysicalAddress+0x20/0x58)
+[<8044f6f4>] (gckOS_GetPhysicalAddress+0x20/0x58) from [<804605b8>] (gckHARDWARE_ConvertLogical+0x2c/0x90)
+[<804605b8>] (gckHARDWARE_ConvertLogical+0x2c/0x90) from [<804607f4>] (gckHARDWARE_Link+0x60/0x104)
+[<804607f4>] (gckHARDWARE_Link+0x60/0x104) from [<8045f1a0>] (gckCONTEXT_Construct+0x264/0x2bc)
+[<8045f1a0>] (gckCONTEXT_Construct+0x264/0x2bc) from [<8045661c>] (gckCOMMAND_Attach+0x44/0x88)
+[<8045661c>] (gckCOMMAND_Attach+0x44/0x88) from [<80454144>] (gckKERNEL_Dispatch+0x358/0x12c8)
+[<80454144>] (gckKERNEL_Dispatch+0x358/0x12c8) from [<8044d374>] (drv_ioctl+0x120/0x284)
+[<8044d374>] (drv_ioctl+0x120/0x284) from [<800d68fc>] (do_vfs_ioctl+0x408/0x5d0)
+[<800d68fc>] (do_vfs_ioctl+0x408/0x5d0) from [<800d6afc>] (SyS_ioctl+0x38/0x64)
+[<800d6afc>] (SyS_ioctl+0x38/0x64) from [<8000e140>] (ret_fast_syscall+0x0/0x30)
+Code: e92d4010 e1a04000 e3a00001 ebe8abd7 (e1943f9f)
+---[ end trace 0000000000000002 ]---
+note: test-qt5[277] exited with preempt_count 1
+
+diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
+index 6c1dc6c..8c00faf 100644
+--- a/include/linux/mm_types.h
++++ b/include/linux/mm_types.h
+@@ -24,7 +24,7 @@
+
+ struct address_space;
+
+-#define USE_SPLIT_PTE_PTLOCKS (NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS)
++#define USE_SPLIT_PTE_PTLOCKS (0)
+ #define USE_SPLIT_PMD_PTLOCKS (USE_SPLIT_PTE_PTLOCKS && \
+ IS_ENABLED(CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK))
+ #define ALLOC_SPLIT_PTLOCKS (SPINLOCK_SIZE > BITS_PER_LONG/8)
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch
new file mode 100644
index 00000000..0d3caa40
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch
@@ -0,0 +1,36 @@
+From 77903c01d8c6c5d2544085ba074aceadc1191d21 Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Thu, 11 Dec 2014 15:12:25 +0100
+Subject: [PATCH 2/2] mmc: sdhci-esdhc-imx: Fixup runtime PM conditions during
+ ->probe()
+
+By configure runtime PM prior we enable the use of it, we close the gap
+for strange and unhandled conditions. Moreover it makes us rely on the
+driver core, after finalized ->probe(), to request an inactive device
+to become runtime PM idle/suspended, which earlier potentially could
+happen already at pm_runtime_set_autosuspend_delay().
+
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+---
+ drivers/mmc/host/sdhci-esdhc-imx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
+index 043866c..10ef824 100644
+--- a/drivers/mmc/host/sdhci-esdhc-imx.c
++++ b/drivers/mmc/host/sdhci-esdhc-imx.c
+@@ -1080,10 +1080,10 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
+ goto disable_clk;
+
+ pm_runtime_set_active(&pdev->dev);
+- pm_runtime_enable(&pdev->dev);
+ pm_runtime_set_autosuspend_delay(&pdev->dev, 50);
+ pm_runtime_use_autosuspend(&pdev->dev);
+ pm_suspend_ignore_children(&pdev->dev, 1);
++ pm_runtime_enable(&pdev->dev);
+
+ return 0;
+
+--
+1.9.3
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch
new file mode 100644
index 00000000..5e5721cf
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch
@@ -0,0 +1,100 @@
+From a2fe37b69d4fe369c284d50927193fed81c238a0 Mon Sep 17 00:00:00 2001
+From: Fabio Estevam <fabio.estevam@freescale.com>
+Date: Fri, 13 Mar 2015 14:07:54 -0300
+Subject: [PATCH] Revert "net: fec: fix the warning found by dma debug"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit 2b995f63987013bacde99168218f9c7b252bdcf1.
+
+????? ?????? reported the following regression:
+
+"Commit 2b995f63987013bacde99168218f9c7b252bdcf1 in 4.0.0-rc3 introduces a
+nasty bug in transmit, corrupting packets.
+
+To reproduce:
+
+$ dd if=/dev/zero of=zeros bs=1M count=20
+$ md5sum -b zeros
+8f4e33f3dc3e414ff94e5fb6905cba8c *zeros
+
+This checksum is correct.
+
+Copy file "zeros" to another host with NFS, and it gets corrupted, checksum is
+changed.
+File should be big, small amounts of transmit isn't affected.
+
+I use an i.MX6 Quad board.
+
+If this commit is reverted, all works fine."
+
+Reported-by: ????? ?????? <rockford@yandex.ru>
+Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/freescale/fec_main.c | 34 ++++++++++---------------------
+ 1 file changed, 11 insertions(+), 23 deletions(-)
+
+diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
+index 787db50..78e1ce0 100644
+--- a/drivers/net/ethernet/freescale/fec_main.c
++++ b/drivers/net/ethernet/freescale/fec_main.c
+@@ -1189,13 +1189,12 @@ static void
+ fec_enet_tx_queue(struct net_device *ndev, u16 queue_id)
+ {
+ struct fec_enet_private *fep;
+- struct bufdesc *bdp, *bdp_t;
++ struct bufdesc *bdp;
+ unsigned short status;
+ struct sk_buff *skb;
+ struct fec_enet_priv_tx_q *txq;
+ struct netdev_queue *nq;
+ int index = 0;
+- int i, bdnum;
+ int entries_free;
+
+ fep = netdev_priv(ndev);
+@@ -1216,29 +1215,18 @@ fec_enet_tx_queue(struct net_device *ndev, u16 queue_id)
+ if (bdp == txq->cur_tx)
+ break;
+
+- bdp_t = bdp;
+- bdnum = 1;
+- index = fec_enet_get_bd_index(txq->tx_bd_base, bdp_t, fep);
+- skb = txq->tx_skbuff[index];
+- while (!skb) {
+- bdp_t = fec_enet_get_nextdesc(bdp_t, fep, queue_id);
+- index = fec_enet_get_bd_index(txq->tx_bd_base, bdp_t, fep);
+- skb = txq->tx_skbuff[index];
+- bdnum++;
+- }
+- if (skb_shinfo(skb)->nr_frags &&
+- (status = bdp_t->cbd_sc) & BD_ENET_TX_READY)
+- break;
++ index = fec_enet_get_bd_index(txq->tx_bd_base, bdp, fep);
+
+- for (i = 0; i < bdnum; i++) {
+- if (!IS_TSO_HEADER(txq, bdp->cbd_bufaddr))
+- dma_unmap_single(&fep->pdev->dev, bdp->cbd_bufaddr,
+- bdp->cbd_datlen, DMA_TO_DEVICE);
+- bdp->cbd_bufaddr = 0;
+- if (i < bdnum - 1)
+- bdp = fec_enet_get_nextdesc(bdp, fep, queue_id);
+- }
++ skb = txq->tx_skbuff[index];
+ txq->tx_skbuff[index] = NULL;
++ if (!IS_TSO_HEADER(txq, bdp->cbd_bufaddr))
++ dma_unmap_single(&fep->pdev->dev, bdp->cbd_bufaddr,
++ bdp->cbd_datlen, DMA_TO_DEVICE);
++ bdp->cbd_bufaddr = 0;
++ if (!skb) {
++ bdp = fec_enet_get_nextdesc(bdp, fep, queue_id);
++ continue;
++ }
+
+ /* Check for errors. */
+ if (status & (BD_ENET_TX_HB | BD_ENET_TX_LC |
+--
+1.9.3
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/mx6/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/mx6/defconfig
new file mode 100644
index 00000000..30aabbd3
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt-3.14.28/mx6/defconfig
@@ -0,0 +1,413 @@
+CONFIG_LOCALVERSION="-1.0.0_ga"
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PERF_EVENTS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_GPIO_PCA953X=y
+CONFIG_ARCH_MXC=y
+CONFIG_MACH_IMX51_DT=y
+CONFIG_MACH_EUKREA_CPUIMX51SD=y
+CONFIG_SOC_IMX50=y
+CONFIG_SOC_IMX53=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_IMX6SX=y
+CONFIG_SOC_VF610=y
+# CONFIG_SWP_EMULATE is not set
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PREEMPT_RT_FULL=y
+CONFIG_AEABI=y
+CONFIG_HIGHMEM=y
+CONFIG_CMA=y
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_ARM_IMX6Q_CPUFREQ=y
+CONFIG_CPU_IDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+CONFIG_IPV6=y
+CONFIG_NETFILTER=y
+CONFIG_VLAN_8021Q=y
+CONFIG_LLC2=y
+CONFIG_CAN=y
+CONFIG_CAN_FLEXCAN=y
+CONFIG_CAN_M_CAN=y
+CONFIG_BT=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=y
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=y
+CONFIG_BT_HCIBTUSB=y
+CONFIG_BT_HCIBTSDIO=y
+CONFIG_BT_HCIUART=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIBCM203X=y
+CONFIG_BT_ATH3K=y
+CONFIG_CFG80211=y
+CONFIG_MAC80211=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=320
+CONFIG_IMX_WEIM=y
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_IMX=y
+CONFIG_PATA_IMX=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+# CONFIG_NET_VENDOR_FARADAY is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_ATH_CARDS=y
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_BRCMFMAC=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_SNVS_PWRKEY=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_ELAN=y
+CONFIG_TOUCHSCREEN_MAX11801=y
+CONFIG_TOUCHSCREEN_MC13783=y
+CONFIG_TOUCHSCREEN_TSC2007=y
+CONFIG_TOUCHSCREEN_STMPE=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+CONFIG_INPUT_ISL29023=y
+CONFIG_SERIO_SERPORT=m
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_FSL_OTP=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_SABRESD_MAX8903=y
+CONFIG_SENSORS_MAX17135=y
+CONFIG_SENSORS_MAG3110=y
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+CONFIG_DEVICE_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_MAX17135=y
+CONFIG_MFD_SI476X_CORE=y
+CONFIG_MFD_STMPE=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_MAX17135=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_GPIO_CIR=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_CAPTURE=m
+CONFIG_MXC_CAMERA_OV5640=m
+CONFIG_MXC_CAMERA_OV5642=m
+CONFIG_MXC_CAMERA_OV5640_MIPI=m
+CONFIG_MXC_TVIN_ADV7180=m
+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_VIDEO_MXC_CSI_CAMERA=m
+CONFIG_MXC_VADC=m
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_MX3=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_CODA=y
+CONFIG_RADIO_SI476X=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_DRM=y
+CONFIG_DRM_VIVANTE=y
+CONFIG_FB=y
+CONFIG_FB_MXS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXC_LDB=y
+CONFIG_FB_MXC_MIPI_DSI=y
+CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
+CONFIG_FB_MXC_HDMI=y
+CONFIG_FB_MXC_EINK_PANEL=y
+CONFIG_FB_MXS_SII902X=y
+CONFIG_FB_MXC_DCIC=m
+CONFIG_HANNSTAR_CABC=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_CS42888=y
+CONFIG_SND_SOC_IMX_WM8962=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_MQS=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_SND_SOC_IMX_HDMI=y
+CONFIG_SND_SOC_IMX_SI476X=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_MXC=y
+CONFIG_USB_ACM=m
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_EHSET_TEST_FIXTURE=m
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MXC_IPU=y
+CONFIG_MXC_GPU_VIV=y
+CONFIG_MXC_MIPI_CSI2=y
+CONFIG_MXC_MLB150=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+CONFIG_MXC_PXP_V2=y
+CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
+CONFIG_STAGING=y
+CONFIG_STAGING_MEDIA=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_IIO=y
+CONFIG_VF610_ADC=y
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_DEBUG_FS=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_FTRACE is not set
+CONFIG_SECURITYFS=y
+CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=y
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=y
+CONFIG_CRYPTO_RMD320=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_TWOFISH=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DEV_FSL_CAAM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt_3.14.28.bb b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt_3.14.28.bb
new file mode 100644
index 00000000..f5cb5806
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx-rt_3.14.28.bb
@@ -0,0 +1,31 @@
+# Adapted from linux-imx_3.14.28.bb
+
+SUMMARY = "Linux real-time kernel based on linux-imx"
+DESCRIPTION = "Linux kernel that is based on Freescale's linux-imx, \
+with added real-time capabilities."
+
+require recipes-kernel/linux/linux-imx.inc
+require recipes-kernel/linux/linux-dtb.inc
+
+DEPENDS += "lzop-native bc-native"
+
+SRCBRANCH = "imx_3.14.28_1.0.0_ga"
+SRCREV = "91cf351a2afc17ac4a260e4d2ad1e32d00925a1b"
+LOCALVERSION = "-1.0.0_ga"
+
+SRC_URI += "\
+ file://0001-ARM-imx6q-drop-unnecessary-semicolon.patch \
+ file://0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch \
+ file://0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch \
+ file://0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch \
+ file://0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch \
+ https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/older/patch-3.14.28-rt25.patch.gz;name=rt-patch1 \
+ file://0001-fix-build.patch \
+ file://0002-fix-build-with-rt-enabled.patch \
+ file://0003-no-split-ptlocks.patch \
+"
+
+SRC_URI[rt-patch1.md5sum] = "28bfd1e14ccab1ea1fb48f56f982d80c"
+SRC_URI[rt-patch1.sha256sum] = "4c9bd426cf559a99e169208df5535fcb18ec98daec73f148c88859a7c3333e52"
+
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx.inc b/meta-fsl-arm/recipes-kernel/linux/linux-imx.inc
new file mode 100644
index 00000000..d7902272
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx.inc
@@ -0,0 +1,22 @@
+# Copyright (C) 2012, 2015 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+inherit kernel fsl-kernel-localversion
+
+# Put a local version until we have a true SRCREV to point to
+LOCALVERSION ?= ""
+SCMVERSION ?= "y"
+SRCBRANCH ?= ""
+
+SRC_URI = "git://git.freescale.com/imx/linux-2.6-imx.git;branch=${SRCBRANCH} \
+ file://defconfig \
+"
+
+S = "${WORKDIR}/git"
+
+# We need to pass it as param since kernel might support more then one
+# machine, with different entry points
+KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch
new file mode 100644
index 00000000..870f0c5f
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch
@@ -0,0 +1,31 @@
+From 4a6353dad68074bb7ae08817cd7beb5cd13f2359 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Mon, 18 Jun 2012 12:02:56 -0300
+Subject: [PATCH] NFS: Fix nfsroot support
+
+The NFS support to use alternative ports breaks building of regular
+NFS root support as the API has been change in an incompatible way.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ fs/nfs/nfsroot.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c
+index df101d9..e1578e1 100644
+--- a/fs/nfs/nfsroot.c
++++ b/fs/nfs/nfsroot.c
+@@ -506,7 +506,7 @@ static int __init root_nfs_get_handle(void)
+ if (!request.fh)
+ goto out;
+ set_sockaddr(&sin, servaddr, htons(mount_port));
+- status = nfs_mount(&request);
++ status = nfs_mount(&request, NFS_MNT_PROGRAM);
+ if (status < 0)
+ printk(KERN_ERR "Root-NFS: Server returned error %d "
+ "while mounting %s\n", status, nfs_export_path);
+--
+1.7.10
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch
new file mode 100644
index 00000000..7597fa1c
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch
@@ -0,0 +1,241 @@
+From e85103e27b7591337d3240cf0ab2670d0ab73d52 Mon Sep 17 00:00:00 2001
+From: Jason Wessel <jason.wessel@windriver.com>
+Date: Wed, 7 Jan 2009 00:59:33 -0500
+Subject: [PATCH] NFS: allow nfs root mount to use alternate rpc ports
+
+Allow an nfs root mount to use alternate RPC ports for mountd and nfsd.
+
+Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
+[forward port to 2.6.33+]
+Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
+---
+ fs/nfs/client.c | 10 ++++++++++
+ fs/nfs/internal.h | 4 +++-
+ fs/nfs/mount_clnt.c | 3 ++-
+ fs/nfs/super.c | 33 ++++++++++++++++++++++++++++++++-
+ include/linux/nfs_fs_sb.h | 1 +
+ include/linux/nfs_mount.h | 4 +++-
+ 6 files changed, 51 insertions(+), 4 deletions(-)
+
+diff --git a/fs/nfs/client.c b/fs/nfs/client.c
+index d25b525..b706c02 100644
+--- a/fs/nfs/client.c
++++ b/fs/nfs/client.c
+@@ -105,6 +105,7 @@ struct nfs_client_initdata {
+ const struct nfs_rpc_ops *rpc_ops;
+ int proto;
+ u32 minorversion;
++ int nfs_prog;
+ };
+
+ /*
+@@ -123,6 +124,7 @@ static struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_
+ goto error_0;
+
+ clp->rpc_ops = cl_init->rpc_ops;
++ clp->nfs_prog = cl_init->nfs_prog;
+
+ atomic_set(&clp->cl_count, 1);
+ clp->cl_cons_state = NFS_CS_INITING;
+@@ -448,6 +450,9 @@ static struct nfs_client *nfs_match_client(const struct nfs_client_initdata *dat
+ /* Match nfsv4 minorversion */
+ if (clp->cl_minorversion != data->minorversion)
+ continue;
++ if (clp->nfs_prog != data->nfs_prog)
++ continue;
++
+ /* Match the full socket address */
+ if (!nfs_sockaddr_cmp(sap, clap))
+ continue;
+@@ -618,6 +623,10 @@ static int nfs_create_rpc_client(struct nfs_client *clp,
+ if (!IS_ERR(clp->cl_rpcclient))
+ return 0;
+
++ if (clp->nfs_prog)
++ nfs_program.number = clp->nfs_prog;
++ else
++ nfs_program.number = NFS_PROGRAM;
+ clnt = rpc_create(&args);
+ if (IS_ERR(clnt)) {
+ dprintk("%s: cannot create RPC client. Error = %ld\n",
+@@ -786,6 +795,7 @@ static int nfs_init_server(struct nfs_server *server,
+ .addrlen = data->nfs_server.addrlen,
+ .rpc_ops = &nfs_v2_clientops,
+ .proto = data->nfs_server.protocol,
++ .nfs_prog = data->nfs_prog,
+ };
+ struct rpc_timeout timeparms;
+ struct nfs_client *clp;
+diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
+index e70f44b..3e2649f 100644
+--- a/fs/nfs/internal.h
++++ b/fs/nfs/internal.h
+@@ -71,6 +71,8 @@ struct nfs_parsed_mount_data {
+ int timeo, retrans;
+ int acregmin, acregmax,
+ acdirmin, acdirmax;
++ int nfs_prog;
++ int mount_prog;
+ int namlen;
+ unsigned int options;
+ unsigned int bsize;
+@@ -116,7 +118,7 @@ struct nfs_mount_request {
+ rpc_authflavor_t *auth_flavs;
+ };
+
+-extern int nfs_mount(struct nfs_mount_request *info);
++extern int nfs_mount(struct nfs_mount_request *info, int prog);
+ extern void nfs_umount(const struct nfs_mount_request *info);
+
+ /* client.c */
+diff --git a/fs/nfs/mount_clnt.c b/fs/nfs/mount_clnt.c
+index 59047f8..0a2bd63 100644
+--- a/fs/nfs/mount_clnt.c
++++ b/fs/nfs/mount_clnt.c
+@@ -141,7 +141,7 @@ struct mnt_fhstatus {
+ *
+ * Uses default timeout parameters specified by underlying transport.
+ */
+-int nfs_mount(struct nfs_mount_request *info)
++int nfs_mount(struct nfs_mount_request *info, int m_prog)
+ {
+ struct mountres result = {
+ .fh = info->fh,
+@@ -171,6 +171,7 @@ int nfs_mount(struct nfs_mount_request *info)
+ if (info->noresvport)
+ args.flags |= RPC_CLNT_CREATE_NONPRIVPORT;
+
++ mnt_program.number = m_prog;
+ mnt_clnt = rpc_create(&args);
+ if (IS_ERR(mnt_clnt))
+ goto out_clnt_err;
+diff --git a/fs/nfs/super.c b/fs/nfs/super.c
+index f9df16d..0b3bbf8 100644
+--- a/fs/nfs/super.c
++++ b/fs/nfs/super.c
+@@ -94,6 +94,8 @@ enum {
+ Opt_mountvers,
+ Opt_nfsvers,
+ Opt_minorversion,
++ Opt_mountprog,
++ Opt_nfsprog,
+
+ /* Mount options that take string arguments */
+ Opt_sec, Opt_proto, Opt_mountproto, Opt_mounthost,
+@@ -160,6 +162,8 @@ static const match_table_t nfs_mount_option_tokens = {
+ { Opt_nfsvers, "nfsvers=%s" },
+ { Opt_nfsvers, "vers=%s" },
+ { Opt_minorversion, "minorversion=%s" },
++ { Opt_mountprog, "mountprog=%s" },
++ { Opt_nfsprog, "nfsprog=%s" },
+
+ { Opt_sec, "sec=%s" },
+ { Opt_proto, "proto=%s" },
+@@ -787,6 +791,8 @@ static struct nfs_parsed_mount_data *nfs_alloc_parsed_mount_data(unsigned int ve
+ data->acregmax = NFS_DEF_ACREGMAX;
+ data->acdirmin = NFS_DEF_ACDIRMIN;
+ data->acdirmax = NFS_DEF_ACDIRMAX;
++ data->nfs_prog = NFS_PROGRAM;
++ data->mount_prog = NFS_MNT_PROGRAM;
+ data->mount_server.port = NFS_UNSPEC_PORT;
+ data->nfs_server.port = NFS_UNSPEC_PORT;
+ data->nfs_server.protocol = XPRT_TRANSPORT_TCP;
+@@ -1168,6 +1174,26 @@ static int nfs_parse_mount_options(char *raw,
+ goto out_invalid_value;
+ mnt->acdirmax = option;
+ break;
++ case Opt_mountprog:
++ string = match_strdup(args);
++ if (string == NULL)
++ goto out_nomem;
++ rc = strict_strtoul(string, 10, &option);
++ kfree(string);
++ if (rc != 0)
++ goto out_invalid_value;
++ mnt->mount_prog = option;
++ break;
++ case Opt_nfsprog:
++ string = match_strdup(args);
++ if (string == NULL)
++ goto out_nomem;
++ rc = strict_strtoul(string, 10, &option);
++ kfree(string);
++ if (rc != 0)
++ goto out_invalid_value;
++ mnt->nfs_prog = option;
++ break;
+ case Opt_actimeo:
+ string = match_strdup(args);
+ if (string == NULL)
+@@ -1566,7 +1592,7 @@ static int nfs_try_mount(struct nfs_parsed_mount_data *args,
+ * Now ask the mount server to map our export path
+ * to a file handle.
+ */
+- status = nfs_mount(&request);
++ status = nfs_mount(&request,args->mount_prog);
+ if (status != 0) {
+ dfprintk(MOUNT, "NFS: unable to mount server %s, error %d\n",
+ request.hostname, status);
+@@ -1739,6 +1765,7 @@ static int nfs_validate_mount_data(void *options,
+ {
+ struct nfs_mount_data *data = (struct nfs_mount_data *)options;
+ struct sockaddr *sap = (struct sockaddr *)&args->nfs_server.address;
++ args->nfs_prog = NFS_PROGRAM;
+
+ if (data == NULL)
+ goto out_no_data;
+@@ -1758,6 +1785,8 @@ static int nfs_validate_mount_data(void *options,
+ goto out_no_sec;
+ case 5:
+ memset(data->context, 0, sizeof(data->context));
++ case 7:
++ args->nfs_prog = (data->version >= 7) ? data->nfs_prog : NFS_PROGRAM;
+ case 6:
+ if (data->flags & NFS_MOUNT_VER3) {
+ if (data->root.size > NFS3_FHSIZE || data->root.size == 0)
+@@ -2476,6 +2505,8 @@ static int nfs4_validate_mount_data(void *options,
+ if (data == NULL)
+ goto out_no_data;
+
++ args->nfs_prog = NFS_PROGRAM;
++
+ switch (data->version) {
+ case 1:
+ if (data->host_addrlen > sizeof(args->nfs_server.address))
+diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
+index d6e10a4..585cba4 100644
+--- a/include/linux/nfs_fs_sb.h
++++ b/include/linux/nfs_fs_sb.h
+@@ -41,6 +41,7 @@ struct nfs_client {
+
+ u32 cl_minorversion;/* NFSv4 minorversion */
+ struct rpc_cred *cl_machine_cred;
++ int nfs_prog;
+
+ #ifdef CONFIG_NFS_V4
+ u64 cl_clientid; /* constant */
+diff --git a/include/linux/nfs_mount.h b/include/linux/nfs_mount.h
+index 4499016..86beb0c 100644
+--- a/include/linux/nfs_mount.h
++++ b/include/linux/nfs_mount.h
+@@ -20,7 +20,7 @@
+ * mount-to-kernel version compatibility. Some of these aren't used yet
+ * but here they are anyway.
+ */
+-#define NFS_MOUNT_VERSION 6
++#define NFS_MOUNT_VERSION 7
+ #define NFS_MAX_CONTEXT_LEN 256
+
+ struct nfs_mount_data {
+@@ -43,6 +43,8 @@ struct nfs_mount_data {
+ struct nfs3_fh root; /* 4 */
+ int pseudoflavor; /* 5 */
+ char context[NFS_MAX_CONTEXT_LEN + 1]; /* 6 */
++ int nfs_prog; /* 7 */
++ int mount_prog; /* 7 */
+ };
+
+ /* bits in the flags field visible to user space */
+--
+1.7.9.1
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx_2.6.35.3.bb b/meta-fsl-arm/recipes-kernel/linux/linux-imx_2.6.35.3.bb
new file mode 100644
index 00000000..1585e3b9
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx_2.6.35.3.bb
@@ -0,0 +1,27 @@
+# Copyright (C) 2011-2013 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Linux Kernel provided and supported by Freescale"
+DESCRIPTION = "Linux Kernel provided and supported by Freescale with focus on \
+i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU and IPU."
+
+PR = "r45"
+
+include linux-imx.inc
+
+COMPATIBLE_MACHINE = "(mx28|mx5)"
+
+# Revision of imx_2.6.35_maintain branch
+SRCREV = "b3912bb8a4caf3ec50909135e88af959982c43ca"
+LOCALVERSION = "-maintain"
+SRCBRANCH = "imx_2.6.35_maintain"
+
+SRC_URI += "file://NFS-Fix-nfsroot-support.patch \
+ file://NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch \
+ file://perf-avoid-use-sysroot-headers.patch \
+ file://fixes-for-using-make-3.82.patch \
+"
+
+SRC_URI_append_mx28 = " \
+ file://mxs-duart-use-ttyAMA-for-device-name.patch \
+"
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx_3.14.28.bb b/meta-fsl-arm/recipes-kernel/linux/linux-imx_3.14.28.bb
new file mode 100644
index 00000000..ba6f99af
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-imx_3.14.28.bb
@@ -0,0 +1,25 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Linux Kernel provided and supported by Freescale"
+DESCRIPTION = "Linux Kernel provided and supported by Freescale with focus on \
+i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU and IPU."
+
+require recipes-kernel/linux/linux-imx.inc
+require recipes-kernel/linux/linux-dtb.inc
+
+DEPENDS += "lzop-native bc-native"
+
+SRCBRANCH = "imx_3.14.28_1.0.0_ga"
+LOCALVERSION = "-1.0.0_ga"
+SRCREV = "91cf351a2afc17ac4a260e4d2ad1e32d00925a1b"
+
+SRC_URI += " \
+ file://0001-ARM-imx6q-drop-unnecessary-semicolon.patch \
+ file://0002-ARM-clk-imx6q-fix-video-divider-for-rev-T0-1.0.patch \
+ file://0003-ARM-imx6sl-Disable-imx6sl-specific-code-when-imx6sl-.patch \
+ file://0004-mmc-sdhci-esdhc-imx-Fixup-runtime-PM-conditions-duri.patch \
+ file://0005-Revert-net-fec-fix-the-warning-found-by-dma-debug.patch \
+"
+
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-ls1.inc b/meta-fsl-arm/recipes-kernel/linux/linux-ls1.inc
new file mode 100644
index 00000000..08d88f40
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-ls1.inc
@@ -0,0 +1,26 @@
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+inherit kernel fsl-kernel-localversion
+LOCALVERSION ?= "+ls1"
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;branch=${SRCBRANCH} \
+ file://defconfig \
+"
+
+KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
+ZIMAGE_BASE_NAME = "zImage-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ install -m 0644 arch/${ARCH}/boot/zImage ${D}/boot/zImage-${KERNEL_VERSION}
+}
+
+do_deploy_append() {
+ install -m 0644 arch/${ARCH}/boot/zImage ${DEPLOYDIR}/${ZIMAGE_BASE_NAME}.bin
+ ln -sf ${ZIMAGE_BASE_NAME}.bin ${DEPLOYDIR}/zImage-${MACHINE}.bin
+ ln -sf ${ZIMAGE_BASE_NAME}.bin ${DEPLOYDIR}/zImage
+}
+
+FILES_kernel-image += "/boot/zImage*"
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-ls1/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-ls1/defconfig
new file mode 100644
index 00000000..fff637a0
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-ls1/defconfig
@@ -0,0 +1,3159 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/arm 3.12.37 Kernel Configuration
+#
+CONFIG_ARM=y
+CONFIG_MIGHT_HAVE_PCI=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_HAVE_PROC_CPU=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_ARCH_HAS_CPUFREQ=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+# CONFIG_COMPILE_TEST is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+# CONFIG_FHANDLE is not set
+# CONFIG_AUDIT is not set
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_DEBUG=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+# CONFIG_RCU_USER_QS is not set
+CONFIG_RCU_FANOUT=32
+CONFIG_RCU_FANOUT_LEAF=16
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_NOCB_CPU is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=16
+CONFIG_GENERIC_SCHED_CLOCK=y
+# CONFIG_CGROUPS is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+# CONFIG_NAMESPACES is not set
+# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
+# CONFIG_SCHED_AUTOGROUP is not set
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_EXPERT=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_EMBEDDED=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_SLUB_DEBUG is not set
+CONFIG_COMPAT_BRK=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_JUMP_LABEL=y
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_CMDLINE_PARSER=y
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+CONFIG_MMU=y
+CONFIG_ARCH_MULTIPLATFORM=y
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_DOVE is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_LPC32XX is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_SHMOBILE is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C24XX is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_S5P64X0 is not set
+# CONFIG_ARCH_S5PC100 is not set
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_EXYNOS is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP1 is not set
+
+#
+# Multiple platform selection
+#
+
+#
+# CPU Core family selection
+#
+# CONFIG_ARCH_MULTI_V6 is not set
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_MULTI_V6_V7=y
+# CONFIG_ARCH_MULTI_CPU_AUTO is not set
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_ARCH_BCM is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+# CONFIG_ARCH_HIGHBANK is not set
+# CONFIG_ARCH_KEYSTONE is not set
+CONFIG_ARCH_MXC=y
+
+#
+# Freescale i.MX support
+#
+# CONFIG_MXC_IRQ_PRIOR is not set
+# CONFIG_MXC_DEBUG_BOARD is not set
+CONFIG_HAVE_IMX_SRC=y
+
+#
+# i.MX51 machines:
+#
+# CONFIG_MACH_IMX51_DT is not set
+# CONFIG_MACH_MX51_BABBAGE is not set
+# CONFIG_MACH_EUKREA_CPUIMX51SD is not set
+
+#
+# Device tree only
+#
+# CONFIG_SOC_IMX53 is not set
+# CONFIG_SOC_IMX6Q is not set
+# CONFIG_SOC_IMX6SL is not set
+# CONFIG_SOC_VF610 is not set
+CONFIG_FSL_SOC=y
+CONFIG_SOC_LS1021A=y
+# CONFIG_ARCH_OMAP3 is not set
+# CONFIG_ARCH_OMAP4 is not set
+# CONFIG_SOC_OMAP5 is not set
+# CONFIG_SOC_AM33XX is not set
+# CONFIG_SOC_AM43XX is not set
+# CONFIG_ARCH_ROCKCHIP is not set
+# CONFIG_ARCH_SOCFPGA is not set
+# CONFIG_PLAT_SPEAR is not set
+# CONFIG_ARCH_STI is not set
+# CONFIG_ARCH_SHMOBILE_MULTI is not set
+# CONFIG_ARCH_SUNXI is not set
+# CONFIG_ARCH_SIRF is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_VIRT is not set
+# CONFIG_ARCH_WM8850 is not set
+# CONFIG_ARCH_ZYNQ is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_V7=y
+CONFIG_CPU_CACHE_V7=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V7=y
+CONFIG_CPU_HAS_ASID=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_LPAE=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARM_THUMB=y
+# CONFIG_ARM_THUMBEE is not set
+CONFIG_ARM_VIRT_EXT=y
+# CONFIG_SWP_EMULATE is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_KUSER_HELPERS=y
+CONFIG_MIGHT_HAVE_CACHE_L2X0=y
+# CONFIG_CACHE_L2X0 is not set
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+CONFIG_ARM_NR_BANKS=8
+CONFIG_MULTI_IRQ_HANDLER=y
+# CONFIG_ARM_ERRATA_430973 is not set
+# CONFIG_ARM_ERRATA_643719 is not set
+# CONFIG_ARM_ERRATA_720789 is not set
+# CONFIG_ARM_ERRATA_754322 is not set
+# CONFIG_ARM_ERRATA_754327 is not set
+# CONFIG_ARM_ERRATA_764369 is not set
+# CONFIG_ARM_ERRATA_775420 is not set
+# CONFIG_ARM_ERRATA_798181 is not set
+# CONFIG_ARM_ERRATA_773022 is not set
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+
+#
+# PCI host controller drivers
+#
+CONFIG_PCIE_DW=y
+CONFIG_PCI_LAYERSCAPE=y
+# CONFIG_PCIEPORTBUS is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_HAVE_SMP=y
+CONFIG_SMP=y
+CONFIG_SMP_ON_UP=y
+CONFIG_ARM_CPU_TOPOLOGY=y
+# CONFIG_SCHED_MC is not set
+# CONFIG_SCHED_SMT is not set
+CONFIG_HAVE_ARM_ARCH_TIMER=y
+# CONFIG_MCPM is not set
+# CONFIG_VMSPLIT_3G is not set
+CONFIG_VMSPLIT_2G=y
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0x80000000
+CONFIG_NR_CPUS=4
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_ARM_PSCI is not set
+CONFIG_ARCH_NR_GPIO=0
+CONFIG_HAVE_PREEMPT_LAZY=y
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT__LL is not set
+# CONFIG_PREEMPT_RTB is not set
+# CONFIG_PREEMPT_RT_FULL is not set
+CONFIG_HZ_FIXED=0
+CONFIG_HZ_100=y
+# CONFIG_HZ_200 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_500 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+CONFIG_SCHED_HRTICK=y
+CONFIG_THUMB2_KERNEL=y
+CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11=y
+CONFIG_ARM_ASM_UNIFIED=y
+CONFIG_AEABI=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+CONFIG_HAVE_ARCH_PFN_VALID=y
+CONFIG_HIGHMEM=y
+# CONFIG_HIGHPTE is not set
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_SYS_SUPPORTS_HUGETLBFS=y
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_HAVE_MEMBLOCK=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+# CONFIG_CROSS_MEMORY_ATTACH is not set
+CONFIG_CLEANCACHE=y
+CONFIG_FRONTSWAP=y
+# CONFIG_CMA is not set
+# CONFIG_ZBUD is not set
+# CONFIG_ZSWAP is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+# CONFIG_SECCOMP is not set
+# CONFIG_CC_STACKPROTECTOR is not set
+# CONFIG_XEN is not set
+
+#
+# Boot options
+#
+CONFIG_USE_OF=y
+CONFIG_ATAGS=y
+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
+# CONFIG_ARM_APPENDED_DTB is not set
+CONFIG_CMDLINE="console=ttyS0,115200"
+CONFIG_CMDLINE_FROM_BOOTLOADER=y
+# CONFIG_CMDLINE_EXTEND is not set
+# CONFIG_CMDLINE_FORCE is not set
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_AUTO_ZRELADDR=y
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+
+#
+# ARM CPU frequency scaling drivers
+#
+# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set
+CONFIG_QORIQ_CPUFREQ=y
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+#
+# ARM CPU Idle Drivers
+#
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+CONFIG_KERNEL_MODE_NEON=y
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=y
+CONFIG_COREDUMP=y
+
+#
+# Power management options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+# CONFIG_PM_RUNTIME is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_APM_EMULATION is not set
+CONFIG_PM_CLK=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_CPU_PM=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARM_CPU_SUSPEND=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_DIAG is not set
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=y
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=y
+CONFIG_XFRM_USER=y
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=y
+CONFIG_NET_KEY=y
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+# CONFIG_IP_MULTIPLE_TABLES is not set
+# CONFIG_IP_ROUTE_MULTIPATH is not set
+# CONFIG_IP_ROUTE_VERBOSE is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_IP_PNP_BOOTP is not set
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX is not set
+# CONFIG_NET_IP_TUNNEL is not set
+CONFIG_IP_MROUTE=y
+# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
+# CONFIG_IP_PIMSM_V1 is not set
+# CONFIG_IP_PIMSM_V2 is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_NET_IPVTI is not set
+CONFIG_INET_AH=y
+CONFIG_INET_ESP=y
+CONFIG_INET_IPCOMP=y
+CONFIG_INET_XFRM_TUNNEL=y
+CONFIG_INET_TUNNEL=y
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_INET_UDP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK_ACCT is not set
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+# CONFIG_NF_CONNTRACK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+# CONFIG_NF_DEFRAG_IPV4 is not set
+# CONFIG_IP_NF_IPTABLES is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+# CONFIG_BRIDGE is not set
+CONFIG_HAVE_NET_DSA=y
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_OPENVSWITCH is not set
+# CONFIG_VSOCKETS is not set
+# CONFIG_NETLINK_MMAP is not set
+# CONFIG_NETLINK_DIAG is not set
+# CONFIG_NET_MPLS_GSO is not set
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+# CONFIG_BPF_JIT is not set
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_TCPPROBE is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_CAN=y
+CONFIG_CAN_RAW=y
+# CONFIG_CAN_BCM is not set
+# CONFIG_CAN_GW is not set
+
+#
+# CAN Device Drivers
+#
+# CONFIG_CAN_VCAN is not set
+# CONFIG_CAN_SLCAN is not set
+CONFIG_CAN_DEV=y
+CONFIG_CAN_CALC_BITTIMING=y
+# CONFIG_CAN_AT91 is not set
+# CONFIG_CAN_MCP251X is not set
+CONFIG_CAN_FLEXCAN=y
+# CONFIG_CAN_FLEXCAN_RX_FIFO_EN is not set
+# CONFIG_CAN_FLEXCAN_ERRATA_ERR005829 is not set
+# CONFIG_PCH_CAN is not set
+# CONFIG_CAN_GRCAN is not set
+# CONFIG_CAN_SJA1000 is not set
+# CONFIG_CAN_C_CAN is not set
+# CONFIG_CAN_CC770 is not set
+
+#
+# CAN USB interfaces
+#
+# CONFIG_CAN_EMS_USB is not set
+# CONFIG_CAN_ESD_USB2 is not set
+# CONFIG_CAN_KVASER_USB is not set
+# CONFIG_CAN_PEAK_USB is not set
+# CONFIG_CAN_8DEV_USB is not set
+# CONFIG_CAN_SOFTING is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+# CONFIG_LIB80211 is not set
+
+#
+# CFG80211 needs to be enabled for MAC80211
+#
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_RFKILL_REGULATOR is not set
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+# CONFIG_NFC is not set
+CONFIG_HAVE_BPF_JIT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_MMIO=y
+# CONFIG_DMA_SHARED_BUFFER is not set
+
+#
+# Bus devices
+#
+# CONFIG_IMX_WEIM is not set
+# CONFIG_ARM_CCI is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+CONFIG_MTD_OF_PARTS=y
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+# CONFIG_MTD_CFI_NOSWAP is not set
+CONFIG_MTD_CFI_BE_BYTE_SWAP=y
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+CONFIG_MTD_DATAFLASH=y
+# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
+# CONFIG_MTD_DATAFLASH_OTP is not set
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOCG3 is not set
+CONFIG_MTD_NAND_ECC=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_ECC_BCH is not set
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_NAND_DENALI is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_RICOH is not set
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_DOCG4 is not set
+# CONFIG_MTD_NAND_CAFE is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+CONFIG_MTD_NAND_FSL_IFC=y
+# CONFIG_MTD_NAND_MXC is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+CONFIG_MTD_SPI_NOR_BASE=y
+CONFIG_SPI_FSL_QUADSPI=y
+# CONFIG_MTD_UBI is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+CONFIG_PROC_DEVICETREE=y
+# CONFIG_OF_SELFTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_NET=y
+CONFIG_OF_MDIO=y
+CONFIG_OF_PCI=y
+CONFIG_OF_PCI_IRQ=y
+CONFIG_OF_MTD=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_DRBD is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_NVME is not set
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=8
+CONFIG_BLK_DEV_RAM_SIZE=262144
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MG_DISK is not set
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_RSXX is not set
+
+#
+# Misc devices
+#
+# CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_ATMEL_PWM is not set
+# CONFIG_DUMMY_IRQ is not set
+CONFIG_HWLAT_DETECTOR=m
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ATMEL_SSC is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_FSL_DCM is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1780 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+# CONFIG_BMP085_I2C is not set
+# CONFIG_BMP085_SPI is not set
+# CONFIG_PCH_PHUB is not set
+# CONFIG_USB_SWITCH_FSA9480 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+CONFIG_SRAM=y
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+
+#
+# Altera FPGA firmware download module
+#
+# CONFIG_ALTERA_STAPL is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_ISCSI_BOOT_SYSFS is not set
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_SCSI_BNX2X_FCOE is not set
+# CONFIG_BE2ISCSI is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_MVUMI is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_ESAS2R is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_MPT2SAS is not set
+# CONFIG_SCSI_MPT3SAS is not set
+# CONFIG_SCSI_UFSHCD is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_LIBFCOE is not set
+# CONFIG_FCOE is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_PMCRAID is not set
+# CONFIG_SCSI_PM8001 is not set
+# CONFIG_SCSI_SRP is not set
+# CONFIG_SCSI_BFA_FC is not set
+# CONFIG_SCSI_CHELSIO_FCOE is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+# CONFIG_AHCI_IMX is not set
+# CONFIG_SATA_FSL is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_SATA_ACARD_AHCI is not set
+CONFIG_SATA_SIL24=y
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_SX4 is not set
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_HIGHBANK is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_RCAR is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+
+#
+# PATA SFF controllers with BMDMA
+#
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARASAN_CF is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_ATP867X is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CS5536 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IMX is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RDC is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SCH is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_TOSHIBA is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+
+#
+# PIO-only SFF controllers
+#
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_PLATFORM is not set
+# CONFIG_PATA_RZ1000 is not set
+
+#
+# Generic fallback / legacy drivers
+#
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_LEGACY is not set
+# CONFIG_MD is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+# CONFIG_I2O is not set
+CONFIG_NETDEVICES=y
+# CONFIG_AS_FASTPATH is not set
+CONFIG_NET_CORE=y
+# CONFIG_BONDING is not set
+# CONFIG_DUMMY is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NET_TEAM is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_VXLAN is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_NLMON is not set
+# CONFIG_ARCNET is not set
+
+#
+# CAIF transport drivers
+#
+
+#
+# Distributed Switch Architecture drivers
+#
+# CONFIG_NET_DSA_MV88E6XXX is not set
+# CONFIG_NET_DSA_MV88E6060 is not set
+# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
+# CONFIG_NET_DSA_MV88E6131 is not set
+# CONFIG_NET_DSA_MV88E6123_61_65 is not set
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_3COM=y
+# CONFIG_VORTEX is not set
+# CONFIG_TYPHOON is not set
+CONFIG_NET_VENDOR_ADAPTEC=y
+# CONFIG_ADAPTEC_STARFIRE is not set
+CONFIG_NET_VENDOR_ALTEON=y
+# CONFIG_ACENIC is not set
+CONFIG_NET_VENDOR_AMD=y
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_PCNET32 is not set
+CONFIG_NET_VENDOR_ARC=y
+# CONFIG_ARC_EMAC is not set
+CONFIG_NET_VENDOR_ATHEROS=y
+# CONFIG_ATL2 is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_ATL1C is not set
+# CONFIG_ALX is not set
+CONFIG_NET_CADENCE=y
+# CONFIG_ARM_AT91_ETHER is not set
+# CONFIG_MACB is not set
+CONFIG_NET_VENDOR_BROADCOM=y
+# CONFIG_B44 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_CNIC is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2X is not set
+CONFIG_NET_VENDOR_BROCADE=y
+# CONFIG_BNA is not set
+# CONFIG_NET_CALXEDA_XGMAC is not set
+CONFIG_NET_VENDOR_CHELSIO=y
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_CHELSIO_T3 is not set
+# CONFIG_CHELSIO_T4 is not set
+# CONFIG_CHELSIO_T4VF is not set
+CONFIG_NET_VENDOR_CIRRUS=y
+# CONFIG_CS89x0 is not set
+CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_ENIC is not set
+# CONFIG_DM9000 is not set
+# CONFIG_DNET is not set
+CONFIG_NET_VENDOR_DEC=y
+# CONFIG_NET_TULIP is not set
+CONFIG_NET_VENDOR_DLINK=y
+# CONFIG_DL2K is not set
+# CONFIG_SUNDANCE is not set
+CONFIG_NET_VENDOR_EMULEX=y
+# CONFIG_BE2NET is not set
+CONFIG_NET_VENDOR_EXAR=y
+# CONFIG_S2IO is not set
+# CONFIG_VXGE is not set
+CONFIG_NET_VENDOR_FARADAY=y
+# CONFIG_FTMAC100 is not set
+# CONFIG_FTGMAC100 is not set
+CONFIG_NET_VENDOR_FREESCALE=y
+CONFIG_FEC=y
+CONFIG_FSL_PQ_MDIO=y
+# CONFIG_FSL_XGMAC_MDIO is not set
+CONFIG_GIANFAR=y
+# CONFIG_FSL_GIANFAR_1588 is not set
+# CONFIG_GFAR_DBG_LOOP is not set
+
+#
+# Frame Manager support
+#
+CONFIG_NET_VENDOR_HP=y
+# CONFIG_HP100 is not set
+CONFIG_NET_VENDOR_INTEL=y
+# CONFIG_E100 is not set
+# CONFIG_E1000 is not set
+CONFIG_E1000E=y
+# CONFIG_IGB is not set
+# CONFIG_IGBVF is not set
+# CONFIG_IXGB is not set
+# CONFIG_IXGBE is not set
+# CONFIG_IXGBEVF is not set
+# CONFIG_I40E is not set
+CONFIG_NET_VENDOR_I825XX=y
+# CONFIG_IP1000 is not set
+# CONFIG_JME is not set
+CONFIG_NET_VENDOR_MARVELL=y
+# CONFIG_MVMDIO is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+# CONFIG_MLX4_EN is not set
+# CONFIG_MLX4_CORE is not set
+CONFIG_NET_VENDOR_MICREL=y
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
+# CONFIG_KSZ884X_PCI is not set
+CONFIG_NET_VENDOR_MICROCHIP=y
+# CONFIG_ENC28J60 is not set
+CONFIG_NET_VENDOR_MYRI=y
+# CONFIG_MYRI10GE is not set
+# CONFIG_FEALNX is not set
+CONFIG_NET_VENDOR_NATSEMI=y
+# CONFIG_NATSEMI is not set
+# CONFIG_NS83820 is not set
+CONFIG_NET_VENDOR_8390=y
+# CONFIG_AX88796 is not set
+# CONFIG_NE2K_PCI is not set
+CONFIG_NET_VENDOR_NVIDIA=y
+# CONFIG_FORCEDETH is not set
+CONFIG_NET_VENDOR_OKI=y
+# CONFIG_ETHOC is not set
+CONFIG_NET_PACKET_ENGINE=y
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_NET_VENDOR_QLOGIC=y
+# CONFIG_QLA3XXX is not set
+# CONFIG_QLCNIC is not set
+# CONFIG_QLGE is not set
+# CONFIG_NETXEN_NIC is not set
+CONFIG_NET_VENDOR_REALTEK=y
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_R8169 is not set
+# CONFIG_SH_ETH is not set
+CONFIG_NET_VENDOR_RDC=y
+# CONFIG_R6040 is not set
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+# CONFIG_SC92031 is not set
+CONFIG_NET_VENDOR_SIS=y
+# CONFIG_SIS900 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SFC is not set
+CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_SMC91X is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SMC911X is not set
+# CONFIG_SMSC911X is not set
+# CONFIG_SMSC9420 is not set
+CONFIG_NET_VENDOR_STMICRO=y
+# CONFIG_STMMAC_ETH is not set
+CONFIG_NET_VENDOR_SUN=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NIU is not set
+CONFIG_NET_VENDOR_TEHUTI=y
+# CONFIG_TEHUTI is not set
+CONFIG_NET_VENDOR_TI=y
+# CONFIG_TLAN is not set
+CONFIG_NET_VENDOR_VIA=y
+# CONFIG_VIA_RHINE is not set
+# CONFIG_VIA_VELOCITY is not set
+CONFIG_NET_VENDOR_WIZNET=y
+# CONFIG_WIZNET_W5100 is not set
+# CONFIG_WIZNET_W5300 is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_AT803X_PHY is not set
+# CONFIG_AMD_PHY is not set
+# CONFIG_ATHEROS_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+CONFIG_VITESSE_PHY=y
+# CONFIG_SMSC_PHY is not set
+CONFIG_BROADCOM_PHY=y
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+CONFIG_REALTEK_PHY=y
+CONFIG_NATIONAL_PHY=y
+# CONFIG_DP8384x_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+CONFIG_MICREL_PHY=y
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_MDIO_BUS_MUX=y
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+CONFIG_MDIO_BUS_MUX_MMIOREG=y
+# CONFIG_FSL_10GBASE_KR is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_RTL8152 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_IPHETH is not set
+CONFIG_WLAN=y
+# CONFIG_ATMEL is not set
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_WL_TI is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+# CONFIG_VMXNET3 is not set
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+# CONFIG_INPUT_MATRIXKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_IMX is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+# CONFIG_MOUSE_PS2_TRACKPOINT is not set
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_CYAPA is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+# CONFIG_MOUSE_SYNAPTICS_USB is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=m
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_SERIO_OLPC_APSP is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+# CONFIG_CONSOLE_TRANSLATIONS is not set
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_N_GSM is not set
+# CONFIG_TRACE_SINK is not set
+CONFIG_DEVKMEM=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+# CONFIG_SERIAL_8250_DW is not set
+# CONFIG_SERIAL_8250_EM is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_MFD_HSU is not set
+# CONFIG_SERIAL_IMX is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_OF_PLATFORM=y
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_IFX6X60 is not set
+# CONFIG_SERIAL_PCH_UART is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+# CONFIG_SERIAL_ST_ASC is not set
+# CONFIG_TTY_PRINTK is not set
+# CONFIG_HVC_DCC is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_HW_RANDOM_ATMEL is not set
+# CONFIG_HW_RANDOM_EXYNOS is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_MUX_GPIO is not set
+# CONFIG_I2C_MUX_PCA9541 is not set
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_EG20T is not set
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_IMX=y
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_PXA_PCI is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+CONFIG_SPI_BITBANG=y
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_IMX is not set
+# CONFIG_SPI_FSL_SPI is not set
+CONFIG_SPI_FSL_DSPI=y
+# CONFIG_SPI_FSL_ESPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_PXA2XX_PCI is not set
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_TOPCLIFF_PCH is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_HSI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=y
+# CONFIG_PPS_DEBUG is not set
+# CONFIG_NTP_PPS is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_GIANFAR=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_OF_GPIO=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+
+#
+# Memory mapped GPIO drivers:
+#
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_EM is not set
+CONFIG_GPIO_MPC8XXX=y
+# CONFIG_GPIO_RCAR is not set
+# CONFIG_GPIO_TS5500 is not set
+# CONFIG_GPIO_VX855 is not set
+# CONFIG_GPIO_GRGPIO is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_SX150X is not set
+# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_ADNP is not set
+
+#
+# PCI GPIO expanders:
+#
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_AMD8111 is not set
+# CONFIG_GPIO_ML_IOH is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
+
+#
+# AC97 GPIO expanders:
+#
+
+#
+# LPC GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+
+#
+# USB GPIO expanders:
+#
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_POWER_AVS is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7314 is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7310 is not set
+# CONFIG_SENSORS_ADT7410 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_G762 is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_GPIO_FAN is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_HTU21 is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_LINEAGE is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+CONFIG_SENSORS_LM90=y
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+CONFIG_SENSORS_LTC2945=y
+# CONFIG_SENSORS_LTC4151 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LTC4261 is not set
+# CONFIG_SENSORS_LM95234 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_LM95245 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX16065 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX1668 is not set
+# CONFIG_SENSORS_MAX197 is not set
+# CONFIG_SENSORS_MAX6639 is not set
+# CONFIG_SENSORS_MAX6642 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_MAX6697 is not set
+# CONFIG_SENSORS_MCP3021 is not set
+# CONFIG_SENSORS_NCT6775 is not set
+# CONFIG_SENSORS_NTC_THERMISTOR is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_PMBUS is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMM665 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC6W201 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SCH56XX_COMMON is not set
+# CONFIG_SENSORS_SCH5627 is not set
+# CONFIG_SENSORS_SCH5636 is not set
+# CONFIG_SENSORS_ADS1015 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_INA209 is not set
+CONFIG_SENSORS_INA2XX=y
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83795 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+CONFIG_IMX2_WDT=y
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_MEN_A21_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_CROS_EC is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RTSX_PCI is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_SEC_CORE is not set
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SMSC is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_PALMAS is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS80031 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TIMBERDALE is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_VEXPRESS_CONFIG is not set
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_DEBUG=y
+CONFIG_REGULATOR_DUMMY=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_AD5398 is not set
+# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_DA9210 is not set
+# CONFIG_REGULATOR_FAN53555 is not set
+# CONFIG_REGULATOR_GPIO is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_LP872X is not set
+# CONFIG_REGULATOR_LP8755 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_MAX8973 is not set
+# CONFIG_REGULATOR_PFUZE100 is not set
+# CONFIG_REGULATOR_TPS51632 is not set
+# CONFIG_REGULATOR_TPS62360 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_TPS6524X is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_DRM is not set
+# CONFIG_TEGRA_HOST1X is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_VIDEOMODE_HELPERS=y
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+CONFIG_FB_FSL_SII902X=y
+CONFIG_FB_FSL_DCU=y
+# CONFIG_FB_FSL_DIU is not set
+# CONFIG_FB_SSD1289 is not set
+# CONFIG_FB_SMSCUFX is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_FB_GOLDFISH is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+CONFIG_FB_MX3=y
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_AUO_K190X is not set
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_EXYNOS_VIDEO is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_FB_SSD1307 is not set
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_DMAENGINE_PCM=y
+CONFIG_SND_COMPRESS_OFFLOAD=y
+CONFIG_SND_JACK=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_HRTIMER is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_ALOOP is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CS5535AUDIO is not set
+# CONFIG_SND_CTXFI is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_LOLA is not set
+# CONFIG_SND_LX6464ES is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+CONFIG_SND_ARM=y
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+# CONFIG_SND_USB_6FIRE is not set
+# CONFIG_SND_USB_HIFACE is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+# CONFIG_SND_ATMEL_SOC is not set
+# CONFIG_SND_DESIGNWARE_I2S is not set
+CONFIG_SND_SOC_FSL_SAI=y
+# CONFIG_SND_POWERPC_SOC is not set
+# CONFIG_SND_IMX_SOC is not set
+CONFIG_SND_VF610_SOC=y
+CONFIG_SND_SOC_VF610_SGTL5000=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+CONFIG_SND_SOC_SGTL5000=y
+# CONFIG_SND_SIMPLE_CARD is not set
+# CONFIG_SOUND_PRIME is not set
+
+#
+# HID support
+#
+CONFIG_HID=y
+# CONFIG_HIDRAW is not set
+# CONFIG_UHID is not set
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_PRODIKEYS is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_HUION is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LENOVO_TPKBD is not set
+# CONFIG_HID_LOGITECH is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# I2C HID support
+#
+# CONFIG_I2C_HID is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_MON is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_PLATFORM=y
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+# CONFIG_USB_FUSBH200_HCD is not set
+# CONFIG_USB_FOTG210_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_IMX21_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_REALTEK is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_STORAGE_ENE_UB6250 is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_HOST=y
+
+#
+# Platform Glue Driver Support
+#
+# CONFIG_USB_DWC3_EXYNOS is not set
+# CONFIG_USB_DWC3_PCI is not set
+
+#
+# Debugging features
+#
+# CONFIG_USB_DWC3_DEBUG is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+# CONFIG_USB_EZUSB_FX2 is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+
+#
+# USB Physical Layer drivers
+#
+# CONFIG_USB_PHY is not set
+# CONFIG_NOP_USB_XCEIV is not set
+# CONFIG_AM335X_PHY_USB is not set
+# CONFIG_SAMSUNG_USB2PHY is not set
+# CONFIG_SAMSUNG_USB3PHY is not set
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
+# CONFIG_USB_MXS_PHY is not set
+# CONFIG_USB_RCAR_PHY is not set
+# CONFIG_USB_ULPI is not set
+# CONFIG_USB_GADGET is not set
+# CONFIG_UWB is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_IO_ACCESSORS=y
+CONFIG_MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER=y
+# CONFIG_MMC_SDHCI_PCI is not set
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ESDHC=y
+# CONFIG_MMC_SDHCI_ESDHC_IMX is not set
+# CONFIG_MMC_SDHCI_PXAV3 is not set
+# CONFIG_MMC_SDHCI_PXAV2 is not set
+# CONFIG_MMC_MXC is not set
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+# CONFIG_MMC_DW is not set
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+CONFIG_RTC_DRV_DS3232=y
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF2127 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_IMXDI is not set
+# CONFIG_RTC_DRV_MXC is not set
+# CONFIG_RTC_DRV_SNVS is not set
+# CONFIG_RTC_DRV_MOXART is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+# CONFIG_DW_DMAC_CORE is not set
+# CONFIG_DW_DMAC is not set
+# CONFIG_DW_DMAC_PCI is not set
+# CONFIG_FSL_DMA is not set
+CONFIG_MX3_IPU=y
+CONFIG_MX3_IPU_IRQS=4
+# CONFIG_TIMB_DMA is not set
+# CONFIG_IMX_SDMA is not set
+# CONFIG_IMX_DMA is not set
+# CONFIG_FSL_RAID is not set
+CONFIG_FSL_EDMA=y
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_OF=y
+
+#
+# DMA Clients
+#
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_VIRT_DRIVERS is not set
+
+#
+# Virtio drivers
+#
+# CONFIG_VIRTIO_PCI is not set
+# CONFIG_VIRTIO_MMIO is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# CONFIG_STAGING is not set
+CONFIG_FSL_SLEEP_FSM=y
+
+#
+# SOC (System On Chip) specific Drivers
+#
+CONFIG_FSL_SOC_DRIVERS=y
+CONFIG_LS1_SOC_DRIVERS=y
+CONFIG_FTM_ALARM=y
+# CONFIG_FSL_QIXIS is not set
+# CONFIG_QUICC_ENGINE is not set
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Common Clock Framework
+#
+# CONFIG_COMMON_CLK_DEBUG is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+CONFIG_CLK_QORIQ=y
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKSRC_OF=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_ARM_ARCH_TIMER=y
+# CONFIG_MAILBOX is not set
+# CONFIG_IOMMU_SUPPORT is not set
+
+#
+# Remoteproc drivers
+#
+# CONFIG_STE_MODEM_RPROC is not set
+
+#
+# Rpmsg drivers
+#
+# CONFIG_PM_DEVFREQ is not set
+# CONFIG_EXTCON is not set
+CONFIG_MEMORY=y
+CONFIG_FSL_IFC=y
+# CONFIG_IIO is not set
+# CONFIG_VME_BUS is not set
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+CONFIG_PWM_FSL_FTM=y
+# CONFIG_PWM_IMX is not set
+# CONFIG_PWM_PCA9685 is not set
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+# CONFIG_IPACK_BUS is not set
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+# CONFIG_RESET_CONTROLLER is not set
+# CONFIG_FMC is not set
+# CONFIG_TDM is not set
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_POSIX_ACL is not set
+# CONFIG_EXT2_FS_SECURITY is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_FS_POSIX_ACL is not set
+# CONFIG_EXT4_FS_SECURITY is not set
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTACTL is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+# CONFIG_NTFS_RW is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_LOGFS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_F2FS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_SWAP is not set
+# CONFIG_NFS_V4_1 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+# CONFIG_SUNRPC_DEBUG is not set
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=y
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+CONFIG_NLS_ISO8859_15=y
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+CONFIG_NLS_UTF8=y
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+
+#
+# Compile-time checks and compiler options
+#
+# CONFIG_DEBUG_INFO is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_READABLE_ASM is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_SECTION_MISMATCH=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+
+#
+# Memory Debugging
+#
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Lockups and Hangs
+#
+# CONFIG_LOCKUP_DETECTOR is not set
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+
+#
+# Runtime Testing
+#
+# CONFIG_LKDTM is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_RBTREE_TEST is not set
+# CONFIG_INTERVAL_TREE_TEST is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_STRICT_DEVMEM is not set
+CONFIG_ARM_UNWIND=y
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_LL is not set
+CONFIG_DEBUG_IMX_UART_PORT=1
+CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
+# CONFIG_DEBUG_UART_PL01X is not set
+# CONFIG_DEBUG_UART_8250 is not set
+CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
+# CONFIG_ARM_KPROBES_TEST is not set
+CONFIG_PID_IN_CONTEXTIDR=y
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_ENCRYPTED_KEYS is not set
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+# CONFIG_CRYPTO_USER is not set
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_PCRYPT is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_AUTHENC=y
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+# CONFIG_CRYPTO_TLS is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_CMAC is not set
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_CRC32 is not set
+CONFIG_CRYPTO_CRCT10DIF=y
+# CONFIG_CRYPTO_GHASH is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=y
+# CONFIG_CRYPTO_SHA1_ARM is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_AES_ARM is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_ZLIB is not set
+CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
+CONFIG_CRYPTO_DEV_FSL_CAAM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_JR=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9
+# CONFIG_CRYPTO_DEV_FSL_CAAM_INTC is not set
+CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y
+CONFIG_FSL_CAAM_PKC_SUPPORT=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
+# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set
+# CONFIG_CRYPTO_DEV_TALITOS is not set
+# CONFIG_CRYPTO_DEV_SAHARA is not set
+# CONFIG_ASYMMETRIC_KEY_TYPE is not set
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+# CONFIG_CRC8 is not set
+# CONFIG_CRC64_ECMA is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+# CONFIG_XZ_DEC is not set
+# CONFIG_XZ_DEC_BCJ is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+# CONFIG_AVERAGE is not set
+# CONFIG_CORDIC is not set
+# CONFIG_DDR is not set
+CONFIG_OID_REGISTRY=y
+CONFIG_FONT_SUPPORT=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_VIRTUALIZATION is not set
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-ls1_3.12.bb b/meta-fsl-arm/recipes-kernel/linux/linux-ls1_3.12.bb
new file mode 100644
index 00000000..eaa0f2a0
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-ls1_3.12.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Linux Kernel for Freescale layerscape platforms"
+DESCRIPTION = "Linux Kernel provided and supported by Freescale with focus on \
+Layerscape1 Family Boards. "
+
+require recipes-kernel/linux/linux-ls1.inc
+require recipes-kernel/linux/linux-dtb.inc
+
+SRCBRANCH = "master"
+SRCREV = "f488de6741d5ba805b9fe813d2ddf32368d3a888"
+
+COMPATIBLE_MACHINE = "(ls102xa)"
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-mfgtool.inc b/meta-fsl-arm/recipes-kernel/linux/linux-mfgtool.inc
new file mode 100644
index 00000000..948d698c
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-mfgtool.inc
@@ -0,0 +1,82 @@
+# Produces a Manufacturing Tool compatible Linux Kernel
+#
+# This makes a separated binary set for Manufacturing Tool use
+# without clobbering the Linux Kernel used for normal use.
+#
+# This file must be included after the original linux-imx.inc file
+# as it overrides the needed values.
+#
+# Copyright (C) 2014, 2015 O.S. Systems Software LTDA.
+
+# Adjust provides
+PROVIDES = "linux-mfgtool"
+
+# Avoid coliding files
+LOCALVERSION_append = "-mfgtool"
+KERNEL_SRC_PATH = "/usr/src/kernel-mfgtool"
+KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-mfgtool-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
+KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-mfgtool-${MACHINE}"
+MODULE_IMAGE_BASE_NAME = "modules-mfgtool-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
+MODULE_TARBALL_SYMLINK_NAME = "modules-mfgtool-${MACHINE}.tgz"
+STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-mfgtool-source"
+STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-mfgtool-build-artifacts"
+
+# Ensures we prefer our mfgtool specific files
+FILESEXTRAPATHS_prepend := "${THISDIR}/${ORIG_PN}-${PV}:${THISDIR}/${ORIG_PN}:"
+
+python mfgtool_recipe_handler () {
+ pn = e.data.getVar("PN", True)
+ if not (pn.endswith("-mfgtool") or pn.startswith("mfgtool-")):
+ return
+
+ e.data.setVar("MLPREFIX", "mfgtool-")
+ e.data.setVar("ORIG_PN", e.data.getVar("PN", True))
+ e.data.setVar("PN", "mfgtool-" + e.data.getVar("PN", True).replace("-mfgtool", "").replace("mfgtool-", ""))
+}
+
+python () {
+ pn = d.getVar("PN", True)
+ if not pn.startswith("mfgtool-"):
+ return
+
+ from oe.classextend import ClassExtender
+
+ class LinuxMfgToolExtender(ClassExtender):
+ def extend_name(self, name):
+ if name.startswith("rtld"):
+ return name
+ if name.endswith("-" + self.extname):
+ name = name.replace("-" + self.extname, "")
+ if name.startswith("virtual/"):
+ subs = name.split("/", 1)[1]
+ if not subs.startswith(self.extname):
+ return "virtual/" + self.extname + "-" + subs
+ return name
+ if not name.startswith(self.extname):
+ return self.extname + "-" + name
+ return name
+
+ clsextend = LinuxMfgToolExtender("mfgtool", d)
+ clsextend.rename_packages()
+ clsextend.rename_package_variables((d.getVar("PACKAGEVARS", True) or "").split())
+
+ clsextend.map_packagevars()
+ clsextend.map_regexp_variable("PACKAGES_DYNAMIC")
+}
+
+addhandler mfgtool_recipe_handler
+mfgtool_recipe_handler[eventmask] = "bb.event.RecipePreFinalise"
+
+# FIXME: Avoid depmod data emiting as kernel-abiversion path is
+# hardcoded.
+emit_depmod_pkgdata() {
+ :
+}
+
+# FIXME: We need to remove the STAGING_KERNEL_BUILDDIR contents as
+# kernel.bbclass has no way to skip its installation.
+# FIXME: It is not possible to have external modules against
+# this kernel variant.
+do_install_append() {
+ rm -r ${STAGING_KERNEL_BUILDDIR}
+}
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch b/meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch
new file mode 100644
index 00000000..7cf3597e
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch
@@ -0,0 +1,37 @@
+From 05143ab75368653deee90dd24f26fa17e21711e9 Mon Sep 17 00:00:00 2001
+From: Andy Voltz <andy.voltz@timesys.com>
+Date: Thu, 6 Jun 2013 11:48:44 -0400
+Subject: [PATCH 1/2] mvf_fec.c: Fix mac address read to match fuse layout for
+ latest u-boot
+
+---
+ arch/arm/mach-mvf/mvf_fec.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/arch/arm/mach-mvf/mvf_fec.c b/arch/arm/mach-mvf/mvf_fec.c
+index d51f205..1ab339b 100644
+--- a/arch/arm/mach-mvf/mvf_fec.c
++++ b/arch/arm/mach-mvf/mvf_fec.c
+@@ -35,13 +35,13 @@ static int fec_get_mac_addr(unsigned char *mac)
+ unsigned int value;
+
+ value = readl(MVF_IO_ADDRESS(MVF_FEC_BASE_ADDR) + ENET_PALR);
+- mac[2] = value & 0xff;
+- mac[3] = (value >> 8) & 0xff;
+- mac[4] = (value >> 16) & 0xff;
+- mac[5] = (value >> 24) & 0xff;
++ mac[3] = value & 0xff;
++ mac[2] = (value >> 8) & 0xff;
++ mac[1] = (value >> 16) & 0xff;
++ mac[0] = (value >> 24) & 0xff;
+ value = readl(MVF_IO_ADDRESS(MVF_FEC_BASE_ADDR) + ENET_PAUR);
+- mac[0] = (value >> 16) & 0xff;
+- mac[1] = (value >> 24) & 0xff;
++ mac[5] = (value >> 16) & 0xff;
++ mac[4] = (value >> 24) & 0xff;
+
+ return 0;
+ }
+--
+1.7.9.5
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch b/meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch
new file mode 100644
index 00000000..3c75b713
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch
@@ -0,0 +1,35 @@
+From bf6634e8ad489e47150c0acb8efbe5ddd89066f5 Mon Sep 17 00:00:00 2001
+From: Andy Voltz <andy.voltz@timesys.com>
+Date: Thu, 27 Jun 2013 15:20:27 -0400
+Subject: [PATCH 2/2] mvf.c: Change console device name to match mainline
+ u-boot
+
+---
+ drivers/tty/serial/mvf.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/tty/serial/mvf.c b/drivers/tty/serial/mvf.c
+index 814a7da..4f7a82f 100644
+--- a/drivers/tty/serial/mvf.c
++++ b/drivers/tty/serial/mvf.c
+@@ -55,7 +55,7 @@
+ /* We've been assigned a range on the "Low-density serial ports" major */
+ #define SERIAL_IMX_MAJOR 207
+ #define MINOR_START 16
+-#define DEV_NAME "ttymxc"
++#define DEV_NAME "ttyLP"
+ #define MAX_INTERNAL_IRQ MXC_INTERNAL_IRQS
+
+ /*
+@@ -605,7 +605,7 @@ static int imx_startup(struct uart_port *port)
+ if (sport->enable_dma) {
+ /* request eDMA channel and buffer */
+ sport->dma_tx_ch = mcf_edma_request_channel(pdata->dma_req_tx,
+- dma_tx_callback, NULL, 1, sport, NULL, "ttymxc");
++ dma_tx_callback, NULL, 1, sport, NULL, DEV_NAME);
+
+ sport->dma_is_txing = 0;
+
+--
+1.7.9.5
+
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/defconfig
new file mode 100644
index 00000000..b750bed7
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-timesys-3.0.15/defconfig
@@ -0,0 +1,144 @@
+CONFIG_EXPERIMENTAL=y
+CONFIG_SYSVIPC=y
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_EMBEDDED=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_ARCH_MXC=y
+CONFIG_ARCH_MVF=y
+CONFIG_MACH_MVFA5_TWR_VF700=y
+CONFIG_DMA_ZONE_SIZE=16
+CONFIG_ARM_ERRATA_743622=y
+CONFIG_ARM_ERRATA_754322=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_COMPACTION=y
+CONFIG_KSM=y
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=/dev/nfs rw nfsroot=10.193.20.106:/tftpboot/10.193.20.115 ip=10.193.20.115:10.193.20.106:10.193.20.254:255.255.255.0::eth0:off console=ttymxc1,115200 mem=128M"
+CONFIG_VFP=y
+CONFIG_NEON=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_PM_RUNTIME=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_INET_LRO is not set
+# CONFIG_IPV6 is not set
+CONFIG_DEVTMPFS=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_FSL_NFC=y
+CONFIG_MTD_NAND_FSL_NFC_SWECC=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_MISC_DEVICES=y
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_NETDEVICES=y
+CONFIG_MICREL_PHY=y
+CONFIG_NET_ETHERNET=y
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+CONFIG_INPUT_POLLDEV=y
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_CRTOUCH=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=y
+# CONFIG_CONSOLE_TRANSLATIONS is not set
+CONFIG_LEGACY_PTY_COUNT=4
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_MVF_DSPI_EDMA=y
+CONFIG_GPIO_SYSFS=y
+# CONFIG_HWMON is not set
+# CONFIG_MFD_SUPPORT is not set
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_VIDEO_DEV=y
+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_FB=y
+CONFIG_FB_MVF_DCU=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
+CONFIG_SND=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_SOC=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ARC=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ETH=m
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+# CONFIG_MXC_HMP4E is not set
+# CONFIG_MXC_HWEVENT is not set
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
+CONFIG_EXT4_FS=y
+CONFIG_AUTOFS4_FS=m
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_JFFS2_FS=y
+CONFIG_CRAMFS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_ROOT_NFS=y
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_EFI_PARTITION=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_UTF8=m
+# CONFIG_ARM_UNWIND is not set
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRC_CCITT=m
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-timesys_3.0.15.bb b/meta-fsl-arm/recipes-kernel/linux/linux-timesys_3.0.15.bb
new file mode 100644
index 00000000..25fd9e55
--- /dev/null
+++ b/meta-fsl-arm/recipes-kernel/linux/linux-timesys_3.0.15.bb
@@ -0,0 +1,20 @@
+# Copyright (C) 2013-2014 Timesys Corporation
+# Released under the MIT license (see COPYING.MIT for the terms)
+include linux-imx.inc
+
+SUMMARY = "Linux Kernel with added drivers and board support for Vybrid-based platforms"
+
+# Revision of 3.0.15_vybrid branch
+SRC_URI = "git://github.com/Timesys/linux-timesys.git;protocol=git;branch=${SRCBRANCH} \
+ file://defconfig \
+"
+
+SRC_URI_append_twr-vf65gs10 = "file://0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch \
+ file://0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch \
+"
+
+SRCBRANCH = "3.0.15_vybrid-twr"
+SRCREV = "50c4c848d6b8743894cfcec166db475ef6140504"
+LOCALVERSION ?= "-${SRCBRANCH}"
+
+COMPATIBLE_MACHINE = "(vf60)"
diff --git a/meta-fsl-arm/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch b/meta-fsl-arm/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
new file mode 100644
index 00000000..32b31953
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/alsa/alsa-lib/0001-add-conf-for-multichannel-support-in-imx.patch
@@ -0,0 +1,221 @@
+From e99c36dfdce3e0f393eeaca6c2790b566f72d6a8 Mon Sep 17 00:00:00 2001
+From: Shengjiu Wang <b02247@freescale.com>
+Date: Thu, 5 Jun 2014 17:37:47 +0800
+Subject: [PATCH] add conf for multichannel support in imx
+
+Upstream Status: Inappropriate [platform specific]
+
+Signed-off-by: Shengjiu Wang <b02247@freescale.com>
+---
+ src/conf/cards/CS42888.conf | 94 ++++++++++++++++++++++++++++++++++++++++++++
+ src/conf/cards/IMX-HDMI.conf | 67 +++++++++++++++++++++++++++++++
+ src/conf/cards/Makefile.am | 4 +-
+ src/conf/cards/aliases.conf | 2 +
+ 4 files changed, 166 insertions(+), 1 deletion(-)
+ create mode 100644 src/conf/cards/CS42888.conf
+ create mode 100644 src/conf/cards/IMX-HDMI.conf
+
+diff --git a/src/conf/cards/CS42888.conf b/src/conf/cards/CS42888.conf
+new file mode 100644
+index 0000000..671a284
+--- /dev/null
++++ b/src/conf/cards/CS42888.conf
+@@ -0,0 +1,94 @@
++#
++# Configuration for the CS42888 chip
++#
++
++# default with dmix & dsnoop
++CS42888.pcm.default {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type asym
++ playback.pcm {
++ type plug
++ slave.pcm {
++ @func concat
++ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
++ }
++ }
++ capture.pcm {
++ type plug
++ slave.pcm {
++ @func concat
++ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
++ }
++ }
++}
++
++<confdir:pcm/surround40.conf>
++
++CS42888.pcm.surround40.0 {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type plug
++ slave.pcm {
++ type hw
++ card $CARD
++ }
++ slave.channels 4
++ ttable.0.0 1
++ ttable.1.2 1
++ ttable.2.1 1
++ ttable.3.3 1
++}
++
++
++<confdir:pcm/surround41.conf>
++<confdir:pcm/surround50.conf>
++<confdir:pcm/surround51.conf>
++
++CS42888.pcm.surround51.0 {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type plug
++ slave.pcm {
++ type hw
++ card $CARD
++ }
++ slave.channels 6
++ ttable.0.0 1
++ ttable.1.3 1
++ ttable.2.1 1
++ ttable.3.4 1
++ ttable.4.2 1
++ ttable.5.5 1
++}
++
++<confdir:pcm/surround71.conf>
++
++CS42888.pcm.surround71.0 {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type plug
++ slave.pcm {
++ type hw
++ card $CARD
++ }
++ slave.channels 8
++ ttable.0.0 1
++ ttable.1.4 1
++ ttable.2.1 1
++ ttable.3.5 1
++ ttable.4.2 1
++ ttable.5.6 1
++ ttable.6.3 1
++ ttable.7.7 1
++}
++
++# vim: ft=alsaconf
+diff --git a/src/conf/cards/IMX-HDMI.conf b/src/conf/cards/IMX-HDMI.conf
+new file mode 100644
+index 0000000..a51509e
+--- /dev/null
++++ b/src/conf/cards/IMX-HDMI.conf
+@@ -0,0 +1,67 @@
++#
++# Configuration for the CS42888 chip
++#
++
++# default with dmix & dsnoop
++IMX-HDMI.pcm.default {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type asym
++ playback.pcm {
++ type plug
++ slave.pcm {
++ @func concat
++ strings [ "dmix:" $CARD ",FORMAT=S32_LE" ]
++ }
++ }
++ capture.pcm {
++ type plug
++ slave.pcm {
++ @func concat
++ strings [ "dsnoop:" $CARD ",FORMAT=S32_LE" ]
++ }
++ }
++}
++
++<confdir:pcm/surround40.conf>
++
++IMX-HDMI.pcm.surround40.0 {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type hw
++ card $CARD
++ channels 4
++}
++
++
++<confdir:pcm/surround41.conf>
++<confdir:pcm/surround50.conf>
++<confdir:pcm/surround51.conf>
++
++IMX-HDMI.pcm.surround51.0 {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type hw
++ card $CARD
++ channels 6
++}
++
++<confdir:pcm/surround71.conf>
++
++IMX-HDMI.pcm.surround71.0 {
++ @args [ CARD ]
++ @args.CARD {
++ type string
++ }
++ type hw
++ card $CARD
++ channels 8
++}
++
++# vim: ft=alsaconf
+diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am
+index ee7991b..b08acae 100644
+--- a/src/conf/cards/Makefile.am
++++ b/src/conf/cards/Makefile.am
+@@ -54,7 +54,9 @@ cfg_files = aliases.conf \
+ VIA8237.conf \
+ VX222.conf \
+ VXPocket.conf \
+- VXPocket440.conf
++ VXPocket440.conf \
++ CS42888.conf \
++ IMX-HDMI.conf
+
+ if BUILD_ALISP
+ cfg_files += aliases.alisp
+diff --git a/src/conf/cards/aliases.conf b/src/conf/cards/aliases.conf
+index 4a92fb2..46430c2 100644
+--- a/src/conf/cards/aliases.conf
++++ b/src/conf/cards/aliases.conf
+@@ -55,6 +55,8 @@ AV100 cards.CMI8788
+ AV200 cards.CMI8788
+ CMI8786 cards.CMI8788
+ CMI8787 cards.CMI8788
++cs42888-audio cards.CS42888
++imx-hdmi-soc cards.IMX-HDMI
+
+ <confdir:pcm/default.conf>
+ <confdir:pcm/dmix.conf>
+--
+1.8.0
+
diff --git a/meta-fsl-arm/recipes-multimedia/alsa/alsa-lib_%.bbappend b/meta-fsl-arm/recipes-multimedia/alsa/alsa-lib_%.bbappend
new file mode 100644
index 00000000..9d95e680
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/alsa/alsa-lib_%.bbappend
@@ -0,0 +1,7 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI_append_mx6 = " file://0001-add-conf-for-multichannel-support-in-imx.patch \
+"
+PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
+
diff --git a/meta-fsl-arm/recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch b/meta-fsl-arm/recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch
new file mode 100644
index 00000000..d76c74d4
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/alsa/fsl-alsa-plugins/0001-asrc_pair-update-output-buffer-size.patch
@@ -0,0 +1,47 @@
+From 9acab46fe307ec71d4a4dbe447e356f90b6a4a09 Mon Sep 17 00:00:00 2001
+From: Shengjiu Wang <shengjiu.wang@freescale.com>
+Date: Fri, 12 Dec 2014 14:58:06 +0800
+Subject: [PATCH] [asrc_pair] update output buffer size
+
+When input size larger than DMA_MAX_BYTES the output size should be updated.
+Otherwise the asrc have will not have enough data, then it will be timeout.
+
+Upstream Status: Inappropriate [platform specific]
+
+Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
+---
+ asrc/asrc_pair.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/asrc/asrc_pair.c b/asrc/asrc_pair.c
+index e3df027..e74e8b1 100644
+--- a/asrc/asrc_pair.c
++++ b/asrc/asrc_pair.c
+@@ -139,7 +139,7 @@ asrc_pair *asrc_pair_create(unsigned int channels, ssize_t in_period_frames,
+ config.dma_buffer_size = dma_buffer_size;
+ config.input_sample_rate = in_rate;
+ config.output_sample_rate = out_rate;
+- config.buffer_num = 1;
++ config.buffer_num = buf_num;
+ config.input_word_width = ASRC_WIDTH_16_BIT;
+ config.output_word_width = ASRC_WIDTH_16_BIT;
+ config.inclk = INCLK_NONE;
+@@ -303,8 +303,13 @@ void asrc_pair_convert_s16(asrc_pair *pair, const int16_t *src, unsigned int src
+
+ while (src_left > 0)
+ {
+- in_len = src_left > pair->buf_size ? pair->buf_size : src_left;
+- out_len = dst_left;
++ if (src_left > pair->buf_size) {
++ in_len = pair->buf_size;
++ out_len = dst_left * in_len/src_left;
++ } else {
++ in_len = src_left;
++ out_len = dst_left;
++ }
+
+ buf_info.input_buffer_vaddr = s;
+ buf_info.input_buffer_length = in_len;
+--
+1.9.1
+
diff --git a/meta-fsl-arm/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb b/meta-fsl-arm/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb
new file mode 100644
index 00000000..af552701
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb
@@ -0,0 +1,33 @@
+# Copyright (C) 2013 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Freescale alsa-lib plugins"
+LICENSE = "GPLv2"
+SECTION = "multimedia"
+DEPENDS = "alsa-lib virtual/kernel"
+
+# Make sure kernel sources are available
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit autotools pkgconfig
+
+SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "b1ca7a250a8cd5da07062081b30b4118"
+SRC_URI[sha256sum] = "902df92255d755e8eb08b3c3db0c7b9d70d26d9659b219373bee425ffdc34245"
+
+SRC_URI_append_mx6 = " file://0001-asrc_pair-update-output-buffer-size.patch"
+
+INCLUDE_DIR = "-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"
+
+EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
+
+INSANE_SKIP_${PN} = "dev-so"
+
+FILES_${PN} += "${libdir}/alsa-lib/libasound_*.so"
+FILES_${PN}-dbg += "${libdir}/alsa-lib/.debug"
+FILES_${PN}-dev += "${libdir}/alsa-lib/*.la"
+
+COMPATIBLE_MACHINE = "(mx6)"
+PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
diff --git a/meta-fsl-arm/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb b/meta-fsl-arm/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb
new file mode 100644
index 00000000..ab28bc12
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb
@@ -0,0 +1,69 @@
+# Copyright (C) 2014,2015 Freescale Semiconductor
+# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Gstreamer freescale plugins"
+LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
+SECTION = "multimedia"
+
+DEPENDS = "libfslcodec libfslparser virtual/kernel gstreamer1.0 gstreamer1.0-plugins-base"
+DEPENDS_append_mx6q = " imx-lib imx-vpu libfslvpuwrap"
+DEPENDS_append_mx6dl = " imx-lib imx-vpu libfslvpuwrap"
+DEPENDS_append_mx6sl = " imx-lib"
+DEPENDS_append_mx6sx = " imx-lib"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+ file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
+
+SRC_URI = "${FSL_MIRROR}/gst1.0-fsl-plugins-${PV}.tar.gz"
+SRC_URI[md5sum] = "b5c1072536479c174bda1349ade5d10c"
+SRC_URI[sha256sum] = "9d5c051cbde023014e67fde07bc314b6b9a5e7030e24eb0d8afdf33e7e458125"
+
+S = "${WORKDIR}/gst1.0-fsl-plugins-${PV}"
+
+inherit autotools pkgconfig
+
+# Make sure kernel sources are available
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+PLATFORM_mx6 = "MX6"
+PLATFORM_mx6sl = "MX6SL"
+PLATFORM_mx6sx = "MX6SX"
+
+# Todo add a mechanism to map possible build targets
+EXTRA_OECONF = "PLATFORM=${PLATFORM} \
+ CPPFLAGS="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include" \
+ CROSS_ROOT=${PKG_CONFIG_SYSROOT_DIR}"
+
+PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl"
+
+# Add codec list that the beep plugin run-time depended
+BEEP_RDEPENDS = "libfslcodec-aac libfslcodec-mp3 libfslcodec-oggvorbis"
+RDEPENDS_${PN} += "libfslparser ${BEEP_RDEPENDS}"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG_mx6 = "overlaysink"
+
+# FIXME: Add all features
+# feature from excluded mm packages
+PACKAGECONFIG[ac3] += ",,libfslac3codec,libfslac3codec"
+# feature from special mm packages
+PACKAGECONFIG[aacp] += ",,libfslaacpcodec,libfslaacpcodec"
+MSDEPENDS = "libfslmsparser libfslmscodec"
+PACKAGECONFIG[wma10dec] += ",,${MSDEPENDS},${MSDEPENDS}"
+PACKAGECONFIG[wma8enc] += "--enable-wma8enc,--disable-wma8enc,${MSDEPENDS},${MSDEPENDS}"
+OVDEPENDS = "virtual/libg2d"
+PACKAGECONFIG[overlaysink] += "--enable-overlaysink,--disable-overlaysink, ${OVDEPENDS}"
+
+FILES_${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
+RDEPENDS_${PN} += "gstreamer1.0-plugins-good-id3demux"
+
+FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
+FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc"
+FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES_${PN}-gplay = "${bindir}/gplay-1.0"
+FILES_${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}"
+FILES_${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}"
+
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
new file mode 100644
index 00000000..bcce7c78
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
@@ -0,0 +1,11 @@
+# Vivante EGL headers require the correct preprocessor
+# defines to be set for each platform
+CFLAGS_append_mx6 = " -DLINUX \
+ ${@base_contains('DISTRO_FEATURES', 'x11', '', \
+ base_contains('DISTRO_FEATURES', 'wayland', '-DEGL_API_FB -DWL_EGL_PLATFORM', \
+ base_contains('DISTRO_FEATURES', 'directfb', '-DEGL_API_DFB -I${STAGING_INCDIR}/directfb', \
+ '-DEGL_API_FB', d),d),d)}"
+
+PACKAGECONFIG_GL_mx6sl = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', \
+ base_contains('DISTRO_FEATURES', 'x11', \
+ 'opengl', '', d), '', d)}"
diff --git a/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch b/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch
new file mode 100644
index 00000000..15322bd6
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch
@@ -0,0 +1,31 @@
+From 9cfb86cd100904f0ef2626f348695bd2d3416c6a Mon Sep 17 00:00:00 2001
+From: Jian Li <jian.li@freescale.com>
+Date: Mon, 23 Jun 2014 14:14:07 +0800
+Subject: [PATCH] gstplaybin enable native video
+
+- use native video patch in playbin for i.MX SoCs
+
+Upstream Status: Inappropriate [platform specific]
+
+Signed-off-by: Jian Li <jian.li@freescale.com>
+---
+ gst/playback/gstplaybin2.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
+index fc02ca3..c342438 100644
+--- a/gst/playback/gstplaybin2.c
++++ b/gst/playback/gstplaybin2.c
+@@ -511,8 +511,7 @@ struct _GstPlayBinClass
+ #define DEFAULT_SUBURI NULL
+ #define DEFAULT_SOURCE NULL
+ #define DEFAULT_FLAGS GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_TEXT | \
+- GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_DEINTERLACE | \
+- GST_PLAY_FLAG_SOFT_COLORBALANCE
++ GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_NATIVE_VIDEO
+ #define DEFAULT_N_VIDEO 0
+ #define DEFAULT_CURRENT_VIDEO -1
+ #define DEFAULT_N_AUDIO 0
+--
+1.7.9.5
+
diff --git a/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
new file mode 100644
index 00000000..5b939d4f
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
@@ -0,0 +1,10 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI_append_mxs = " file://gstplaybin-enable-native-video.patch"
+SRC_URI_append_mx5 = " file://gstplaybin-enable-native-video.patch"
+SRC_URI_append_mx6 = " file://gstplaybin-enable-native-video.patch"
+
+PACKAGE_ARCH_mxs = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH_mx5 = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
diff --git a/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb b/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb
new file mode 100644
index 00000000..bfb70809
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
+SECTION = "multimedia"
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base imx-gpu-viv libfslcodec libfslvpuwrap virtual/kernel virtual/egl \
+ virtual/libgles2 ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
+# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
+# for the uniaudio decoder, videoparsersbad for the VPU video decoder
+# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good and -bad recipes are built
+RDEPENDS_gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
+RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
+RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
+
+SRCBRANCH ?= "master"
+SRCREV = "cd04f047e17cbdff5d8e075be7dccaf4522ad713"
+SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
+
+S = "${WORKDIR}/git"
+
+inherit waf
+
+do_compile[depends] += "virtual/kernel:do_shared_workdir"
+
+# configure the eglvivsink element to use the appropriate EGL platform code
+# X11 if x11 is present in DISTRO_FEATURES
+# Wayland if x11 is not present in DISTRO_FEATURES, but wayland is
+# Framebuffer otherwise
+EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \
+ base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
+ 'fb', d),d)}"
+
+EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include"
+
+# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0)
+LIBV = "1.0"
+require recipes-multimedia/gstreamer/gst-plugins-package.inc
+
+# the following line is required to produce one package for each plugin
+PACKAGES_DYNAMIC = "^${PN}-.*"
+
+COMPATIBLE_MACHINE = "(mx6)"
+
+# disable the false alarm (the "it isn't a build dependency" QA warning)
+INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps"
+INSANE_SKIP_gstreamer1.0-plugins-imx-imxvpu = "build-deps"
diff --git a/meta-fsl-arm/recipes-multimedia/libfslcodec/libfslcodec.inc b/meta-fsl-arm/recipes-multimedia/libfslcodec/libfslcodec.inc
new file mode 100644
index 00000000..ed07774b
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/libfslcodec/libfslcodec.inc
@@ -0,0 +1,104 @@
+# Copyright (C) 2012-2014 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+DESCRIPTION = "Freescale Multimedia codec libs"
+LICENSE = "Proprietary"
+SECTION = "multimedia"
+LIC_FILES_CHKSUM = "file://COPYING;md5=acdb807ac7275fe32f9f64992e111241"
+
+inherit fsl-eula-unpack autotools pkgconfig
+
+SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
+
+# Choose between Soft Float-Point and Hard Float-Point
+EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d)}"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG_mx6q = "vpu"
+PACKAGECONFIG_mx6dl = "vpu"
+PACKAGECONFIG_mx5 = "vpu"
+
+PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,imx-vpu"
+
+do_install_append() {
+ # FIXME: This link points to nowhere
+ rm ${D}${libdir}/imx-mm/audio-codec/lib_src_ppp_arm11_elinux.so
+
+ # LTIB move the files around or gst-fsl-plugin won't find them
+ for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do
+ mv $p ${D}${libdir}
+ done
+ rmdir ${D}${libdir}/imx-mm/video-codec
+
+}
+
+do_install_append_mx5() {
+ # FIXME: The binary files depends on libvpu.so.4 which is i.MX6 only
+ rm -r ${D}${datadir}/imx-mm/*/examples/*/bin
+}
+
+python __set_insane_skip() {
+ # Ensure we have PACKAGES expanded
+ bb.build.exec_func("read_subpackage_metadata", d)
+
+ for p in d.getVar('PACKAGES', True).split():
+ # Even though we are packaging libraries those are plugins so we
+ # shouldn't rename the packages to follow its sonames.
+ d.setVar("DEBIAN_NOAUTONAME_%s" % p, "1")
+
+ # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
+ # the source we cannot fix it. Disable the insane check for now.
+ if p == 'libfslcodec-test-bin':
+ # FIXME: includes the DUT .so files so we need to deploy those
+ d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel libdir")
+ else:
+ d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel")
+}
+
+do_package_qa[prefuncs] += "__set_insane_skip"
+
+python __split_libfslcodec_plugins() {
+ codecdir = bb.data.expand('${libdir}', d)
+ do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*',
+ aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*',
+ output_pattern='libfslcodec-%s',
+ description='Freescale i.MX Codec (%s)',
+ extra_depends='')
+}
+
+python __set_metapkg_rdepends() {
+ # Allow addition of all codecs in a image; useful specially for
+ # debugging.
+ codec_pkgs = oe.utils.packages_filter_out_system(d)
+ codec_pkgs = filter(lambda x: x not in ['libfslcodec-test-bin', 'libfslcodec-test-source'],
+ codec_pkgs)
+ d.appendVar('RDEPENDS_libfslcodec-meta', ' ' + ' '.join(codec_pkgs))
+}
+
+PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends"
+
+PACKAGES_DYNAMIC = "${PN}-*"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source"
+
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-meta = "1"
+
+# Ensure we get warnings if we miss something
+FILES_${PN} = ""
+
+FILES_${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \
+ ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \
+ ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*"
+
+FILES_${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin"
+
+FILES_${PN}-test-source += "${datadir}/imx-mm/*"
+
+# FIXME: The wrap and lib names does not match
+FILES_${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*"
+FILES_${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*"
+FILES_${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-fsl-arm/recipes-multimedia/libfslcodec/libfslcodec_4.0.3.bb b/meta-fsl-arm/recipes-multimedia/libfslcodec/libfslcodec_4.0.3.bb
new file mode 100644
index 00000000..4f105d40
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/libfslcodec/libfslcodec_4.0.3.bb
@@ -0,0 +1,9 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-multimedia/libfslcodec/libfslcodec.inc
+
+SRC_URI[md5sum] = "829f88758622eab85b7427e5b488c8a0"
+SRC_URI[sha256sum] = "0d0ff933eed0a021763115b9c8ae812c6376a19bbd95e555d89ea7404f6c8f2f"
+
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-fsl-arm/recipes-multimedia/libfslparser/libfslparser.inc b/meta-fsl-arm/recipes-multimedia/libfslparser/libfslparser.inc
new file mode 100644
index 00000000..d46330e4
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/libfslparser/libfslparser.inc
@@ -0,0 +1,33 @@
+# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
+# Copyright (C) 2012-2013 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+DESCRIPTION = "Freescale Multimedia parser libs"
+LICENSE = "Proprietary"
+SECTION = "multimedia"
+LIC_FILES_CHKSUM = "file://COPYING;md5=acdb807ac7275fe32f9f64992e111241"
+
+inherit fsl-eula-unpack autotools pkgconfig
+
+SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
+
+# Choose between Soft Float-Point and Hard Float-Point
+EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '--enable-fsw', d)}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+python __set_insane_skip() {
+ # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
+ # the source we cannot fix it. Disable the insane check for now.
+ # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those
+ for p in d.getVar('PACKAGES', True).split():
+ d.setVar("INSANE_SKIP_%s" % p, "ldflags dev-so textrel")
+}
+
+do_package_qa[prefuncs] += "__set_insane_skip"
+
+# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those
+FILES_${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
diff --git a/meta-fsl-arm/recipes-multimedia/libfslparser/libfslparser_4.0.3.bb b/meta-fsl-arm/recipes-multimedia/libfslparser/libfslparser_4.0.3.bb
new file mode 100644
index 00000000..790cb952
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/libfslparser/libfslparser_4.0.3.bb
@@ -0,0 +1,10 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-multimedia/libfslparser/libfslparser.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=acdb807ac7275fe32f9f64992e111241"
+
+SRC_URI[md5sum] = "a0b0779edc543536de71898657072275"
+SRC_URI[sha256sum] = "9db10ca6a61c8fdbe91b55b65d084dcbb5f9cfb58b088996c7dd2d6dc8385730"
+
+COMPATIBLE_MACHINE = "(mx6)"
diff --git a/meta-fsl-arm/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.58.bb b/meta-fsl-arm/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.58.bb
new file mode 100644
index 00000000..c61eb6dd
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.58.bb
@@ -0,0 +1,23 @@
+# Copyright (C) 2013-2015 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+DESCRIPTION = "Freescale Multimedia VPU wrapper"
+DEPENDS = "imx-vpu"
+LICENSE = "Proprietary"
+SECTION = "multimedia"
+LIC_FILES_CHKSUM = "file://COPYING;md5=acdb807ac7275fe32f9f64992e111241"
+
+SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
+S = "${WORKDIR}/${PN}-${PV}"
+
+SRC_URI[md5sum] = "bf4960ab18e6bb59e98aae797b80cd7f"
+SRC_URI[sha256sum] = "a278eb18ec24230166ac39e2eadf7b934798f0432654c2e24c4cb69c3ac1cf0f"
+
+inherit fsl-eula-unpack autotools pkgconfig
+
+do_install_append() {
+ # FIXME: Drop examples for now
+ rm -r ${D}${datadir}
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(mx6q|mx6dl)"
diff --git a/meta-fsl-arm/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-fsl-arm/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
new file mode 100644
index 00000000..b9acb361
--- /dev/null
+++ b/meta-fsl-arm/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
@@ -0,0 +1,4 @@
+
+CACHED_CONFIGUREVARS_append_mx6 = " ax_cv_PTHREAD_PRIO_INHERIT=no"
+
+PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
diff --git a/meta-fsl-arm/recipes-qt/qt4/qt4-embedded_%.bbappend b/meta-fsl-arm/recipes-qt/qt4/qt4-embedded_%.bbappend
new file mode 100644
index 00000000..14324ca1
--- /dev/null
+++ b/meta-fsl-arm/recipes-qt/qt4/qt4-embedded_%.bbappend
@@ -0,0 +1 @@
+include qt4-imx-support.inc
diff --git a/meta-fsl-arm/recipes-qt/qt4/qt4-imx-support.inc b/meta-fsl-arm/recipes-qt/qt4/qt4-imx-support.inc
new file mode 100644
index 00000000..69ad67ba
--- /dev/null
+++ b/meta-fsl-arm/recipes-qt/qt4/qt4-imx-support.inc
@@ -0,0 +1,28 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/qt4:"
+
+python __anonymous () {
+ families = ['mx5', 'mx6']
+ cur_families = (d.getVar('SOC_FAMILY', True) or '').split(':')
+ if any(map(lambda x: x in cur_families,
+ families)):
+ d.appendVarFlag('do_configure', 'depends', ' virtual/kernel:do_shared_workdir')
+}
+
+SRC_URI_append_mx5 += "file://0001-Add-support-for-i.MX-codecs-to-phonon.patch"
+SRC_URI_append_mx6 += " \
+ file://0001-Add-support-for-i.MX-codecs-to-phonon.patch \
+ file://0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch \
+ file://0003-i.MX6-force-egl-visual-ID-33.patch \
+"
+
+DEPENDS_append_mx5 = " virtual/kernel virtual/libgles2"
+QT_GLFLAGS_mx5 = "-opengl es2 -openvg"
+QT_CONFIG_FLAGS_append_mx5 = " -I${STAGING_KERNEL_DIR}/include/"
+
+DEPENDS_append_mx6 = " virtual/kernel virtual/libgles2"
+QT_GLFLAGS_mx6 = "-opengl es2 -openvg"
+QT_CONFIG_FLAGS_append_mx6 = " -I${STAGING_KERNEL_DIR}/include/uapi \
+ -I${STAGING_KERNEL_DIR}/include/ \
+ -DLINUX=1 -DEGL_API_FB=1 \
+ -DQT_QPA_EXPERIMENTAL_TOUCHEVENT=1"
+
diff --git a/meta-fsl-arm/recipes-qt/qt4/qt4-x11-free_%.bbappend b/meta-fsl-arm/recipes-qt/qt4/qt4-x11-free_%.bbappend
new file mode 100644
index 00000000..14324ca1
--- /dev/null
+++ b/meta-fsl-arm/recipes-qt/qt4/qt4-x11-free_%.bbappend
@@ -0,0 +1 @@
+include qt4-imx-support.inc
diff --git a/meta-fsl-arm/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch b/meta-fsl-arm/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch
new file mode 100644
index 00000000..1213650c
--- /dev/null
+++ b/meta-fsl-arm/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch
@@ -0,0 +1,468 @@
+From 2ff5682e42771519757756dedbf27b7a9e8e25d9 Mon Sep 17 00:00:00 2001
+From: Rogerio Pimentel <rogerio.pimentel@freescale.com>
+Date: Tue, 24 Jul 2012 13:47:01 -0300
+Subject: [PATCH] Add support for i.MX codecs to phonon
+
+Add support for i.MX codecs to phonon
+
+Signed-off-by: Daniele Dall'Acqua <daniele.d@freescale.com>
+Signed-off-by: Rogerio Pimentel <rogerio.pimentel@freescale.com>
+---
+ src/3rdparty/phonon/gstreamer/abstractrenderer.h | 1 +
+ src/3rdparty/phonon/gstreamer/mediaobject.cpp | 4 +
+ src/3rdparty/phonon/gstreamer/videowidget.cpp | 60 ++------
+ src/3rdparty/phonon/gstreamer/videowidget.h | 1 +
+ src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 169 ++++++++++++++--------
+ src/3rdparty/phonon/gstreamer/widgetrenderer.h | 17 ++-
+ src/3rdparty/phonon/gstreamer/x11renderer.cpp | 22 +---
+ 7 files changed, 141 insertions(+), 133 deletions(-)
+
+diff --git a/src/3rdparty/phonon/gstreamer/abstractrenderer.h b/src/3rdparty/phonon/gstreamer/abstractrenderer.h
+index 10a2822..fa0d87d 100644
+--- a/src/3rdparty/phonon/gstreamer/abstractrenderer.h
++++ b/src/3rdparty/phonon/gstreamer/abstractrenderer.h
+@@ -49,6 +49,7 @@ public:
+ virtual bool eventFilter(QEvent *) = 0;
+ virtual void handlePaint(QPaintEvent *) {}
+ virtual bool paintsOnWidget() { return true; } // Controls overlays
++ virtual void handleMove(QMoveEvent * event ) {};
+
+ protected:
+ VideoWidget *m_videoWidget;
+diff --git a/src/3rdparty/phonon/gstreamer/mediaobject.cpp b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
+index 23a60c0..f806d64 100644
+--- a/src/3rdparty/phonon/gstreamer/mediaobject.cpp
++++ b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
+@@ -515,6 +515,9 @@ void MediaObject::createPipeline()
+ // reduce buffer overruns as these are not gracefully handled at the moment.
+ m_audioPipe = gst_element_factory_make("queue", NULL);
+ g_object_set(G_OBJECT(m_audioPipe), "max-size-time", MAX_QUEUE_TIME, (const char*)NULL);
++ g_object_set(G_OBJECT(m_audioPipe), "max-size-time", 0, (const char*)NULL);
++ g_object_set(G_OBJECT(m_audioPipe), "max-size-buffers", 0, (const char*)NULL);
++ g_object_set(G_OBJECT(m_audioPipe), "max-size-bytes", 0, (const char*)NULL);
+ gst_bin_add(GST_BIN(m_audioGraph), m_audioPipe);
+ GstPad *audiopad = gst_element_get_pad (m_audioPipe, "sink");
+ gst_element_add_pad (m_audioGraph, gst_ghost_pad_new ("sink", audiopad));
+@@ -527,6 +530,7 @@ void MediaObject::createPipeline()
+
+ m_videoPipe = gst_element_factory_make("queue", NULL);
+ g_object_set(G_OBJECT(m_videoPipe), "max-size-time", MAX_QUEUE_TIME, (const char*)NULL);
++ g_object_set(G_OBJECT(m_videoPipe), "max-size-time", 33000, (const char*)NULL);
+ gst_bin_add(GST_BIN(m_videoGraph), m_videoPipe);
+ GstPad *videopad = gst_element_get_pad (m_videoPipe, "sink");
+ gst_element_add_pad (m_videoGraph, gst_ghost_pad_new ("sink", videopad));
+diff --git a/src/3rdparty/phonon/gstreamer/videowidget.cpp b/src/3rdparty/phonon/gstreamer/videowidget.cpp
+index a4c6f79..3682d3f 100644
+--- a/src/3rdparty/phonon/gstreamer/videowidget.cpp
++++ b/src/3rdparty/phonon/gstreamer/videowidget.cpp
+@@ -83,50 +83,16 @@ void VideoWidget::setupVideoBin()
+ Q_ASSERT(m_videoBin);
+ gst_object_ref (GST_OBJECT (m_videoBin)); //Take ownership
+ gst_object_sink (GST_OBJECT (m_videoBin));
+-
+- //The videoplug element is the final element before the pluggable videosink
+- m_videoplug = gst_element_factory_make ("identity", NULL);
+-
+- //Colorspace ensures that the output of the stream matches the input format accepted by our video sink
+- m_colorspace = gst_element_factory_make ("ffmpegcolorspace", NULL);
+-
+- //Video scale is used to prepare the correct aspect ratio and scale.
+- GstElement *videoScale = gst_element_factory_make ("videoscale", NULL);
+-
+- //We need a queue to support the tee from parent node
+- GstElement *queue = gst_element_factory_make ("queue", NULL);
+-
+- if (queue && m_videoBin && videoScale && m_colorspace && videoSink && m_videoplug) {
+- //Ensure that the bare essentials are prepared
+- gst_bin_add_many (GST_BIN (m_videoBin), queue, m_colorspace, m_videoplug, videoScale, videoSink, (const char*)NULL);
+- bool success = false;
+- //Video balance controls color/sat/hue in the YUV colorspace
+- m_videoBalance = gst_element_factory_make ("videobalance", NULL);
+- if (m_videoBalance) {
+- // For video balance to work we have to first ensure that the video is in YUV colorspace,
+- // then hand it off to the videobalance filter before finally converting it back to RGB.
+- // Hence we nede a videoFilter to convert the colorspace before and after videobalance
+- GstElement *m_colorspace2 = gst_element_factory_make ("ffmpegcolorspace", NULL);
+- gst_bin_add_many(GST_BIN(m_videoBin), m_videoBalance, m_colorspace2, (const char*)NULL);
+- success = gst_element_link_many(queue, m_colorspace, m_videoBalance, m_colorspace2, videoScale, m_videoplug, videoSink, (const char*)NULL);
+- } else {
+- //If video balance is not available, just connect to sink directly
+- success = gst_element_link_many(queue, m_colorspace, videoScale, m_videoplug, videoSink, (const char*)NULL);
+- }
+-
+- if (success) {
+- GstPad *videopad = gst_element_get_pad (queue, "sink");
+- gst_element_add_pad (m_videoBin, gst_ghost_pad_new ("sink", videopad));
+- gst_object_unref (videopad);
+-#ifndef Q_WS_QPA
+- QWidget *parentWidget = qobject_cast<QWidget*>(parent());
+- if (parentWidget)
+- parentWidget->winId(); // Due to some existing issues with alien in 4.4,
+- // we must currently force the creation of a parent widget.
+-#endif
+- m_isValid = true; //initialization ok, accept input
+- }
+- }
++ gst_bin_add_many (GST_BIN (m_videoBin), videoSink, NULL);
++ GstPad *videopad = gst_element_get_pad (videoSink,"sink");
++ gst_element_add_pad (m_videoBin, gst_ghost_pad_new ("sink", videopad));
++ gst_object_unref (videopad);
++ QWidget *parentWidget = qobject_cast<QWidget*>(parent());
++
++ if (parentWidget)
++ parentWidget->winId(); // Due to some existing issues with alien in 4.4,
++ // we must currently force the creation of a parent widget.
++ m_isValid = true; //initialization ok, accept input
+ }
+
+ void VideoWidget::paintEvent(QPaintEvent *event)
+@@ -135,6 +101,12 @@ void VideoWidget::paintEvent(QPaintEvent *event)
+ m_renderer->handlePaint(event);
+ }
+
++void VideoWidget::moveEvent(QMoveEvent * event )
++{
++ Q_ASSERT(m_renderer);
++ m_renderer->handleMove(event);
++}
++
+ void VideoWidget::setVisible(bool val) {
+ Q_ASSERT(m_renderer);
+
+diff --git a/src/3rdparty/phonon/gstreamer/videowidget.h b/src/3rdparty/phonon/gstreamer/videowidget.h
+index 8603f6a..38c7b17 100644
+--- a/src/3rdparty/phonon/gstreamer/videowidget.h
++++ b/src/3rdparty/phonon/gstreamer/videowidget.h
+@@ -65,6 +65,7 @@ public:
+ qreal saturation() const;
+ void setSaturation(qreal);
+ void setMovieSize(const QSize &size);
++ void moveEvent(QMoveEvent * event );
+ QSize sizeHint() const;
+ QRect scaleToAspect(QRect srcRect, int w, int h) const;
+ QRect calculateDrawFrameRect() const;
+diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
+index 423af9d..aa4925a 100644
+--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
++++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
+@@ -15,7 +15,9 @@
+ along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include <QMouseEvent>
+ #include <QtGui/QPainter>
++#include <QPaintEvent>
+ #include <gst/gst.h>
+ #include "common.h"
+ #include "message.h"
+@@ -24,6 +26,18 @@
+ #include "widgetrenderer.h"
+ #include "qrgb.h"
+
++#include <stdio.h>
++#include <stdlib.h>
++#include <errno.h>
++#include <stdint.h>
++#include <fcntl.h>
++#include <sys/ioctl.h>
++#include <unistd.h>
++#include <linux/mxcfb.h>
++
++#define MXCFB_GBL_ALPHA 255
++#define MXCFB_CLR_KEY 0x00000000 // ARGB8888
++
+ // support old OpenGL installations (1.2)
+ // assume that if TEXTURE0 isn't defined, none are
+ #ifndef GL_TEXTURE0
+@@ -35,26 +49,6 @@
+ #ifndef QT_NO_PHONON_VIDEO
+ QT_BEGIN_NAMESPACE
+
+-static void frameRendered()
+-{
+- static QString displayFps = qgetenv("PHONON_GST_FPS");
+- if (displayFps.isEmpty())
+- return;
+-
+- static int frames = 0;
+- static QTime lastTime = QTime::currentTime();
+- QTime time = QTime::currentTime();
+-
+- int delta = lastTime.msecsTo(time);
+- if (delta > 2000) {
+- printf("FPS: %f\n", 1000.0 * frames / qreal(delta));
+- lastTime = time;
+- frames = 0;
+- }
+-
+- ++frames;
+-}
+-
+ namespace Phonon
+ {
+ namespace Gstreamer
+@@ -62,17 +56,11 @@ namespace Gstreamer
+
+ WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
+ : AbstractRenderer(videoWidget)
+- , m_width(0)
+- , m_height(0)
+ {
+- videoWidget->backend()->logMessage("Creating QWidget renderer");
+- if ((m_videoSink = GST_ELEMENT(g_object_new(get_type_RGB(), NULL)))) {
+- gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
++ if ((m_videoSink = gst_element_factory_make("mfw_v4lsink", NULL)) && m_videoSink != NULL) {
++
++ gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
+ gst_object_sink (GST_OBJECT (m_videoSink));
+-
+- QWidgetVideoSinkBase* sink = reinterpret_cast<QWidgetVideoSinkBase*>(m_videoSink);
+- // Let the videosink know which widget to direct frame updates to
+- sink->renderWidget = videoWidget;
+ }
+
+ // Clear the background with black by default
+@@ -84,67 +72,124 @@ WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
+ m_videoWidget->setAttribute(Qt::WA_PaintOnScreen, false);
+ }
+
+-void WidgetRenderer::setNextFrame(const QByteArray &array, int w, int h)
++WidgetRenderer::~WidgetRenderer()
+ {
+- if (m_videoWidget->root()->state() == Phonon::LoadingState)
+- return;
+-
+- m_frame = QImage();
+- {
+- m_frame = QImage((uchar *)array.constData(), w, h, QImage::Format_RGB32);
+- }
++ if (m_videoSink) {
++ gst_object_unref (GST_OBJECT (m_videoSink));
++ m_videoSink = 0;
++ }
++}
+
+- m_array = array;
+- m_width = w;
+- m_height = h;
++void WidgetRenderer::setVideoSize(void)
++{
+
+- m_videoWidget->update();
++ int adj_x;
++ int adj_y;
++
++ QSize wSize = m_videoWidget->size();
++ m_drawFrameRect = m_videoWidget->calculateDrawFrameRect();
++ framePos = m_videoWidget->mapToGlobal(QPoint(0,0));
++
++ //Center the video in the widget
++
++ adj_x = (wSize.width()/2) - (m_drawFrameRect.width()/2);
++ adj_y = (wSize.height()/2) - (m_drawFrameRect.height()/2);
++ g_object_set(G_OBJECT(m_videoSink), "axis-left",adj_x + framePos.x(),(const char*)NULL);
++ g_object_set(G_OBJECT(m_videoSink), "axis-top", adj_y + framePos.y(), (const char*)NULL);
++ g_object_set(G_OBJECT(m_videoSink), "disp-width", m_drawFrameRect.width(), (const char*)NULL);
++ g_object_set(G_OBJECT(m_videoSink), "disp-height", m_drawFrameRect.height(), (const char*)NULL);
++ g_object_set(G_OBJECT(m_videoSink), "setpara", 1, (const char*)NULL);
+ }
+
+ void WidgetRenderer::handleMediaNodeEvent(const MediaNodeEvent *event)
+ {
+ switch (event->type()) {
+- case MediaNodeEvent::SourceChanged:
+- {
+- clearFrame();
+- break;
+- }
+ default:
+ break;
+ }
+ }
+
+-void WidgetRenderer::clearFrame()
++void WidgetRenderer::handlePaint(QPaintEvent *event)
+ {
+- m_frame = QImage();
+- m_array = QByteArray();
+- m_videoWidget->update();
++ Q_UNUSED(event);
++ QPainter painter(m_videoWidget);
++ painter.fillRect(m_videoWidget->rect(), m_videoWidget->palette().background());
+ }
+
+-const QImage &WidgetRenderer::currentFrame() const
++int WidgetRenderer::setOverlay(void)
+ {
+- return m_frame;
++ struct mxcfb_color_key color_key;
++ struct mxcfb_gbl_alpha alpha;
++ int fd_fb;
++
++ if ((fd_fb = open("/dev/fb0", O_RDWR, 0)) < 0)
++ {
++ printf("Unable to open %s\n", "/dev/fb0");
++ return -1;
++
++ }
++
++ alpha.alpha = MXCFB_GBL_ALPHA;
++ alpha.enable = 1;
++
++ if (ioctl(fd_fb, MXCFB_SET_GBL_ALPHA, &alpha) < 0) {
++ printf("Error in applying Alpha\n");
++ }
++
++ color_key.color_key = MXCFB_CLR_KEY & 0x00FFFFFF;
++ color_key.enable = 1;
++ if ( ioctl(fd_fb, MXCFB_SET_CLR_KEY, &color_key) < 0) {
++
++ printf("Error in applying Color Key\n");
++ return -1;
++ }
++
++ close (fd_fb);
++
++ return 0;
+ }
+
+-void WidgetRenderer::handlePaint(QPaintEvent *event)
++void WidgetRenderer::handleMove( QMoveEvent * event)
+ {
+- Q_UNUSED(event);
+- QPainter painter(m_videoWidget);
+- m_drawFrameRect = m_videoWidget->calculateDrawFrameRect();
+- painter.drawImage(drawFrameRect(), currentFrame());
+- frameRendered();
++ Q_UNUSED(event);
++
++ if (framePos != m_videoWidget->mapToGlobal(QPoint(0,0)))
++ setVideoSize();
+ }
+
+ bool WidgetRenderer::eventFilter(QEvent * event)
+ {
+- if (event->type() == QEvent::User) {
+- NewFrameEvent *frameEvent= static_cast <NewFrameEvent *>(event);
+- setNextFrame(frameEvent->frame, frameEvent->width, frameEvent->height);
+- return true;
++ if (event->type() == QEvent::Show) {
++
++ setOverlay();
++ return true;
++
++ } else if (event->type() == QEvent::Resize) {
++
++ setVideoSize();
++ return true;
+ }
++ if (framePos != m_videoWidget->mapToGlobal(QPoint(0,0)))
++ setVideoSize();
+ return false;
+ }
+
++void WidgetRenderer::aspectRatioChanged(Phonon::VideoWidget::AspectRatio)
++{
++ setVideoSize();
++}
++
++void WidgetRenderer::scaleModeChanged(Phonon::VideoWidget::ScaleMode)
++{
++ setVideoSize();
++}
++
++void WidgetRenderer::movieSizeChanged(const QSize &movieSize)
++{
++ Q_UNUSED(movieSize);
++ setVideoSize();
++}
++
+ }
+ } //namespace Phonon::Gstreamer
+
+diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.h b/src/3rdparty/phonon/gstreamer/widgetrenderer.h
+index 03ee9c0..6de1a03 100644
+--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.h
++++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.h
+@@ -40,20 +40,21 @@ class WidgetRenderer : public AbstractRenderer
+ {
+ public:
+ WidgetRenderer(VideoWidget *videoWidget);
++ ~WidgetRenderer(void);
+ bool eventFilter(QEvent * event);
+ void handlePaint(QPaintEvent *paintEvent);
+ void handleMediaNodeEvent(const MediaNodeEvent *event);
+- const QImage& currentFrame() const;
+ QRect drawFrameRect() const { return m_drawFrameRect; }
+- void setNextFrame(const QByteArray &array, int width, int height);
+- bool frameIsSet() { return !m_array.isNull(); }
+- void clearFrame();
++ void aspectRatioChanged(Phonon::VideoWidget::AspectRatio aspectRatio);
++ void scaleModeChanged(Phonon::VideoWidget::ScaleMode scaleMode);
++ void movieSizeChanged(const QSize &movieSize);
++ void setVideoSize(void);
++ int setOverlay(void);
++ void handleMove(QMoveEvent* event);
+ private:
+- mutable QImage m_frame;
+- QByteArray m_array;
+- int m_width;
+- int m_height;
++ void paintEvent ( QPaintEvent * event );
+ QRect m_drawFrameRect;
++ QPoint framePos;
+ };
+
+ }
+diff --git a/src/3rdparty/phonon/gstreamer/x11renderer.cpp b/src/3rdparty/phonon/gstreamer/x11renderer.cpp
+index 968f3a8..c4662e7 100644
+--- a/src/3rdparty/phonon/gstreamer/x11renderer.cpp
++++ b/src/3rdparty/phonon/gstreamer/x11renderer.cpp
+@@ -31,6 +31,8 @@
+ #include "mediaobject.h"
+ #include "message.h"
+
++#define FSL_GSTREAMER 1
++
+ QT_BEGIN_NAMESPACE
+
+ namespace Phonon
+@@ -78,31 +80,16 @@ X11Renderer::~X11Renderer()
+ {
+ m_renderWidget->setAttribute(Qt::WA_PaintOnScreen, false);
+ m_renderWidget->setAttribute(Qt::WA_NoSystemBackground, false);
++ if (m_videoSink) {
++ gst_object_unref (GST_OBJECT (m_videoSink));
++ }
+ delete m_renderWidget;
+ }
+
+ GstElement* X11Renderer::createVideoSink()
+ {
+- GstElement *videoSink = gst_element_factory_make ("xvimagesink", NULL);
+- if (videoSink) {
+- // Check if the xv sink is usable
+- if (gst_element_set_state(videoSink, GST_STATE_READY) != GST_STATE_CHANGE_SUCCESS) {
+- gst_object_unref(GST_OBJECT(videoSink));
+- videoSink = 0;
+- } else {
+- // Note that this should not really be necessary as these are
+- // default values, though under certain conditions values are retained
+- // even between application instances. (reproducible on 0.10.16/Gutsy)
+- g_object_set(G_OBJECT(videoSink), "brightness", 0, (const char*)NULL);
+- g_object_set(G_OBJECT(videoSink), "contrast", 0, (const char*)NULL);
+- g_object_set(G_OBJECT(videoSink), "hue", 0, (const char*)NULL);
+- g_object_set(G_OBJECT(videoSink), "saturation", 0, (const char*)NULL);
+- }
+- }
+-
+- if (!videoSink)
+- videoSink = gst_element_factory_make ("ximagesink", NULL);
+
++ GstElement *videoSink = gst_element_factory_make ("mfw_v4lsink", NULL);
+ gst_object_ref (GST_OBJECT (videoSink)); //Take ownership
+ gst_object_sink (GST_OBJECT (videoSink));
+
+--
+1.7.1
+
diff --git a/meta-fsl-arm/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch b/meta-fsl-arm/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
new file mode 100644
index 00000000..0226db59
--- /dev/null
+++ b/meta-fsl-arm/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
@@ -0,0 +1,46 @@
+From 023befba9aad60ef58177fd987a6aa40c357b2b2 Mon Sep 17 00:00:00 2001
+From: Eric Nelson <eric.nelson@boundarydevices.com>
+Date: Fri, 16 Aug 2013 11:42:23 -0700
+Subject: [PATCH] i.MX video renderer: Allow v4l device from environment
+
+The i.MX6 supports multiple IPUs and multiple V4L2 output
+devices for each.
+
+Devices are numbered starting with /dev/video16 and defined
+for each configured display. In general, /dev/video16 will
+correspond to the RGB (background) layer for /dev/fb0.
+If a display is the first on an IPU, an additional V4L2
+output will be defined that corresponds to the normally
+YUV overlay (foreground) layer.
+
+This patch allows association of the proper device for
+a particular session for use in multi-headed applications.
+The default is /dev/video17:
+ export v4lsinkdev=/dev/video17
+
+Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
+---
+ src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
+index aa4925a..a502ccd 100644
+--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
++++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
+@@ -58,9 +58,12 @@ WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
+ : AbstractRenderer(videoWidget)
+ {
+ if ((m_videoSink = gst_element_factory_make("mfw_v4lsink", NULL)) && m_videoSink != NULL) {
+-
++ char *videodev;
+ gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
+ gst_object_sink (GST_OBJECT (m_videoSink));
++ videodev=getenv("v4lsinkdev");
++ if (videodev)
++ g_object_set (G_OBJECT (m_videoSink), "device", videodev, NULL);
+ }
+
+ // Clear the background with black by default
+--
+1.8.1.2
+
diff --git a/meta-fsl-arm/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch b/meta-fsl-arm/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch
new file mode 100644
index 00000000..9aa158d7
--- /dev/null
+++ b/meta-fsl-arm/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch
@@ -0,0 +1,35 @@
+From: Javier Viguera <javier.viguera@digi.com>
+Date: Mon, 3 Mar 2014 17:10:41 +0100
+Subject: [PATCH] i.MX6: force egl visual ID 33
+
+Workaround mismatch between EGL binary libraries and QT for FSL MX6
+based platforms.
+
+Error:
+Warning: EGL suggested using X Visual ID 33 (ARGB0888) for EGL config 28 (ARGB0444), but this is incompatable
+Unable to find an X11 visual which matches EGL config 28
+
+Patch adapted from:
+
+http://wiki.wandboard.org/index.php/Integrate_Qt5_into_yocto_sato_image_on_Wandboard
+
+Upstream-Status: Inappropriate [workaround]
+
+Signed-off-by: Javier Viguera <javier.viguera@digi.com>
+---
+ src/gui/egl/qegl_x11.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gui/egl/qegl_x11.cpp b/src/gui/egl/qegl_x11.cpp
+index 196d0f77bf2d..8acf5a6c99d4 100644
+--- a/src/gui/egl/qegl_x11.cpp
++++ b/src/gui/egl/qegl_x11.cpp
+@@ -319,7 +319,7 @@ VisualID QEgl::getCompatibleVisualId(EGLConfig config)
+ }
+
+ qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
+- return (VisualID)0;
++ return (VisualID)33;
+ }
+
+ void qt_set_winid_on_widget(QWidget* w, Qt::HANDLE id)
diff --git a/meta-fsl-arm/recipes-qt/qt4/qt4/mx6/g++.conf b/meta-fsl-arm/recipes-qt/qt4/qt4/mx6/g++.conf
new file mode 100644
index 00000000..915ecba0
--- /dev/null
+++ b/meta-fsl-arm/recipes-qt/qt4/qt4/mx6/g++.conf
@@ -0,0 +1,40 @@
+#
+# qmake configuration for common gcc
+#
+
+QMAKE_COMPILER = gcc
+
+QMAKE_CC = $(OE_QMAKE_CC)
+QMAKE_CFLAGS += $(OE_QMAKE_CFLAGS) -DLINUX=1 -DEGL_API_FB=1
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+
+QMAKE_CXX = $(OE_QMAKE_CXX)
+QMAKE_CXXFLAGS += $(OE_QMAKE_CXXFLAGS) -DLINUX=1 -DEGL_API_FB=1
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
+QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = $(OE_QMAKE_LINK)
+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
+QMAKE_LINK_C = $(OE_QMAKE_LINK)
+QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK)
+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
+QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
+QMAKE_LFLAGS_RPATH = -Wl,-rpath-link,
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+
+# do not depend on gdb
+CONFIG -= gdb_dwarf_index
+
+# some linking helper...
+CONFIG += rpath_libdirs
+
+# for the SDK
+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
diff --git a/meta-fsl-arm/recipes-qt/qt4/qt4/mx6/linux.conf b/meta-fsl-arm/recipes-qt/qt4/qt4/mx6/linux.conf
new file mode 100644
index 00000000..c644d8ba
--- /dev/null
+++ b/meta-fsl-arm/recipes-qt/qt4/qt4/mx6/linux.conf
@@ -0,0 +1,66 @@
+#
+# qmake configuration for common linux
+#
+
+QMAKE_CFLAGS_THREAD += -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
+QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_EGL =
+QMAKE_LIBDIR_EGL =
+QMAKE_INCDIR_OPENVG =
+QMAKE_LIBDIR_OPENVG =
+
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD = -ldl
+QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
+QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_EGL = -lEGL -lGAL -DLINUX=1 -DEGL_API_FB=1
+QMAKE_LIBS_OPENGL = -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
+QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 -lGAL -lEGL -DLINUX=1 -DEGL_API_FB=1
+QMAKE_LIBS_OPENVG = -lOpenVG -lGAL -lEGL -DLINUX=1 -DEGL_API_FB=1
+QMAKE_LIBS_THREAD = -lpthread
+
+QMAKE_MOC = $(OE_QMAKE_MOC)
+QMAKE_UIC = $(OE_QMAKE_UIC)
+QMAKE_UIC3 = $(OE_QMAKE_UIC3)
+QMAKE_RCC = $(OE_QMAKE_RCC)
+QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
+QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
+
+QMAKE_AR = $(OE_QMAKE_AR) cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_STRIP = $(OE_QMAKE_STRIP)
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_INSTALL_FILE = install -m 644 -p
+QMAKE_INSTALL_PROGRAM = install -m 755 -p
+
+include(unix.conf)
diff --git a/meta-fsl-arm/scripts/get-maintainer b/meta-fsl-arm/scripts/get-maintainer
new file mode 100755
index 00000000..071cdf60
--- /dev/null
+++ b/meta-fsl-arm/scripts/get-maintainer
@@ -0,0 +1,107 @@
+#!/bin/sh
+# -*- mode: shell-script; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+#
+# Copyright (C) 2014 O.S. Systems Software LTDA.
+# Authored-by: Otavio Salvador <otavio@ossystems.com.br>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+usage() {
+ cat<<EOF
+Usage:
+
+ $0 [ --machine=<machine> ] <path> ...
+
+ <path>
+ Directory(ies) where to look for machine definition files.
+
+ Options:
+
+ --machine=<machine>
+ Optional param to restrict the printing for a specific machine name.
+
+ --dump
+ Generate output in a format which is easier to parse. Columns
+ are separated by TAB. Empty cells for the "Maintainer" column
+ represent "no maintainer".
+
+EOF
+}
+
+path=
+specific_machine=
+dump_mode=
+
+for opt in ${*}; do
+ if [ "`echo $opt | cut -b-10`" = "--machine=" ]; then
+ specific_machine="`echo $opt | cut -b11-`"
+ elif [ "$opt" = "--dump" ]; then
+ dump_mode=1
+ else
+ path="$path $opt"
+ fi
+done
+
+if [ -z "$path" ]; then
+ usage
+ exit 1
+fi
+
+maintained=`mktemp`
+orphan=`mktemp`
+
+machines=`find $path -wholename '*/conf/machine/*.conf'`
+for m in $machines; do
+ machine=`basename $m | sed 's,\.conf$,,g'`
+ if [ -n "$specific_machine" ] && [ "$machine" != "$specific_machine" ]; then
+ continue
+ fi
+
+ name=`sed -n 's,#@NAME:\s*\(.*\)\s*,\1,p' $m`
+ maint=`sed -n 's,#@MAINTAINER:\s*\(.*\)\s*,\1,p' $m`
+
+ if [ -n "$dump_mode" ]; then
+ if [ -n "$maint" ]; then
+ printf "${machine}\t${name}\t${maint}\n" >> $maintained
+ else
+ printf "${machine}\t${name}\n" >> $orphan
+ fi
+ else
+ if [ -n "$maint" ]; then
+ printf "%-25s %-50s %-50s\n" "$machine" "$name" "$maint" >> $maintained
+ else
+ printf "%-25s %-50s %-50s\n" "$machine" "$name" "Orphan" >> $orphan
+ fi
+ fi
+done
+
+display() {
+ sort -u -k 2 $maintained | grep -v $^
+ sort -u -k 2 $orphan | grep -v $^
+}
+
+if [ -n "$dump_mode" ]; then
+ display
+else
+ cat <<EOF
+========================= ================================================== ==================================================
+ Machine Name Maintainer
+========================= ================================================== ==================================================
+EOF
+ display
+ cat <<EOF
+========================= ================================================== ==================================================
+EOF
+fi
+rm $maintained $orphan
diff --git a/meta-fsl-arm/scripts/lib/image/canned-wks/imx-barebox.wks b/meta-fsl-arm/scripts/lib/image/canned-wks/imx-barebox.wks
new file mode 100644
index 00000000..77b55548
--- /dev/null
+++ b/meta-fsl-arm/scripts/lib/image/canned-wks/imx-barebox.wks
@@ -0,0 +1,18 @@
+# short-description: Create SD card image with a boot partition
+# long-description:
+# Create an image that can be written onto a SD card using dd for use
+# with i.MX SoC family
+# It uses barebox
+#
+# The disk layout used is:
+# - --------- ------------ --------- --------------
+# | | barebox | bareboxenv | /boot | rootfs |
+# - --------- ------------ --------- --------------
+# ^ ^ ^ ^ ^ ^
+# | | | | | |
+# 0 512B 512kiB 4MiB 4MiB + 8MiB 4MiB + 8Mib + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
+#
+part barebox --source rawcopy --sourceparams="file=barebox.bin,skip=512" --ondisk mmcblk --no-table
+part bareboxenv --source rawcopy --sourceparams="file=bareboxenv.bin" --ondisk mmcblk --no-table --align 512
+part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 8M --extra-space 0
+part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096
diff --git a/meta-fsl-arm/scripts/lib/image/canned-wks/imx-uboot-spl.wks b/meta-fsl-arm/scripts/lib/image/canned-wks/imx-uboot-spl.wks
new file mode 100644
index 00000000..e2bdc145
--- /dev/null
+++ b/meta-fsl-arm/scripts/lib/image/canned-wks/imx-uboot-spl.wks
@@ -0,0 +1,18 @@
+# short-description: Create SD card image with a boot partition
+# long-description:
+# Create an image that can be written onto a SD card using dd for use
+# with i.MX SoC family.
+# It uses SPL and u-boot
+#
+# The disk layout used is:
+# - ----- --------- --------- --------------
+# | | SPL | u-boot | /boot | rootfs |
+# - ----- --------- --------- --------------
+# ^ ^ ^ ^ ^ ^
+# | | | | | |
+# 0 1kiB 69kiB 4MiB 4MiB + 8MiB 4MiB + 8Mib + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
+#
+part SPL --source rawcopy --sourceparams="file=SPL" --ondisk mmcblk --no-table --align 1
+part u-boot --source rawcopy --sourceparams="file=u-boot.imx" --ondisk mmcblk --no-table --align 69
+part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 8M --extra-space 0
+part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096
diff --git a/meta-fsl-arm/scripts/lib/image/canned-wks/imx-uboot.wks b/meta-fsl-arm/scripts/lib/image/canned-wks/imx-uboot.wks
new file mode 100644
index 00000000..08652103
--- /dev/null
+++ b/meta-fsl-arm/scripts/lib/image/canned-wks/imx-uboot.wks
@@ -0,0 +1,17 @@
+# short-description: Create SD card image with a boot partition
+# long-description:
+# Create an image that can be written onto a SD card using dd for use
+# with i.MX SoC family
+# It uses u-boot
+#
+# The disk layout used is:
+# - --------- --------- --------------
+# | | u-boot | /boot | rootfs |
+# - --------- --------- --------------
+# ^ ^ ^ ^ ^
+# | | | | |
+# 0 1kiB 4MiB 4MiB + 8MiB 4MiB + 8Mib + rootfs + IMAGE_EXTRA_SPACE (default 10MiB)
+#
+part u-boot --source rawcopy --sourceparams="file=u-boot.imx" --ondisk mmcblk --no-table --align 1
+part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 8M --extra-space 0
+part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096