From f98b448ee835646be48f530b3e6fe13b32b093f5 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Fri, 10 Oct 2014 03:19:58 +0200 Subject: initial commit for Enea Linux 4.0-140929 Migrated from the internal git server on the daisy-enea-point-release branch Signed-off-by: Tudor Florea --- .gitignore | 1 + EULA | 523 ++++ README | 51 + classes/fsl-dynamic-packagearch.bbclass | 47 + classes/fsl-eula-unpack.bbclass | 63 + classes/image_types_fsl.bbclass | 312 +++ classes/mfgtool-initramfs-image.bbclass | 40 + conf/layer.conf | 23 + conf/machine/imx23evk.conf | 20 + conf/machine/imx28evk.conf | 54 + conf/machine/imx31pdk.conf | 23 + conf/machine/imx35pdk.conf | 24 + conf/machine/imx51evk.conf | 14 + conf/machine/imx53ard.conf | 18 + conf/machine/imx53qsb.conf | 18 + conf/machine/imx6dlsabreauto.conf | 22 + conf/machine/imx6dlsabresd.conf | 15 + conf/machine/imx6qsabreauto.conf | 20 + conf/machine/imx6qsabresd.conf | 16 + conf/machine/imx6slevk.conf | 23 + conf/machine/imx6solosabreauto.conf | 20 + conf/machine/imx6solosabresd.conf | 18 + conf/machine/include/fsl-default-providers.inc | 6 + conf/machine/include/fsl-default-settings.inc | 3 + conf/machine/include/fsl-default-versions.inc | 1 + conf/machine/include/imx-base.inc | 108 + conf/machine/include/imx6sabreauto-common.inc | 10 + conf/machine/include/imx6sabresd-common.inc | 10 + conf/machine/include/mxs-base.inc | 43 + conf/machine/twr-vf65gs10.conf | 21 + ...essor-definitions-for-Vivante-GLES-header.patch | 55 + efl-layer/recipes-efl/efl/efl_1.9.3.bbappend | 3 + .../qt5/qtbase/Force_egl_visual_ID_33.patch | 23 + qt5-layer/recipes-qt/qt5/qtbase_%.bbappend | 62 + .../qt5/qtmultimedia/add-imx6-support.patch | 844 +++++++ qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend | 5 + ...h-the-uniform-precision-qualifiers-in-ver.patch | 42 + qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend | 4 + recipes-bsp/alsa-state/alsa-state.bbappend | 7 + recipes-bsp/alsa-state/alsa-state/mx5/asound.conf | 275 +++ recipes-bsp/alsa-state/alsa-state/mx5/asound.state | 139 ++ recipes-bsp/alsa-state/alsa-state/mx6/asound.conf | 257 ++ recipes-bsp/alsa-state/alsa-state/mx6/asound.state | 1374 +++++++++++ recipes-bsp/alsa-state/alsa-state/mxs/asound.conf | 299 +++ recipes-bsp/alsa-state/alsa-state/mxs/asound.state | 191 ++ recipes-bsp/barebox/barebox.inc | 63 + recipes-bsp/barebox/barebox_2013.08.0.bb | 9 + recipes-bsp/elftosb/elftosb_10.12.01.bb | 22 + recipes-bsp/elftosb/files/cross-build.patch | 50 + .../files/don-t-use-full-path-for-headers.patch | 42 + recipes-bsp/firmware-imx/firmware-imx.inc | 47 + .../firmware-imx/firmware-imx_3.0.35-4.0.0.bb | 8 + .../firmware-imx/firmware-imx_3.10.17-1.0.0.bb | 10 + .../formfactor/formfactor/imx51evk/machconfig | 11 + .../formfactor/formfactor/imx53ard/machconfig | 13 + .../formfactor/formfactor/imx53qsb/machconfig | 11 + recipes-bsp/formfactor/formfactor_%.bbappend | 2 + .../add-command-script-for-barebox.patch | 46 + .../imx-bootlets/linux-fix-paths.patch | 28 + .../imx-bootlets/linux_prep-fix-cmdlines.patch | 30 + recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb | 79 + recipes-bsp/imx-kobs/imx-kobs_3.10.17-1.0.0.bb | 13 + recipes-bsp/imx-lib/imx-lib.inc | 28 + recipes-bsp/imx-lib/imx-lib_11.09.02.bb | 8 + recipes-bsp/imx-lib/imx-lib_3.10.17-1.0.0.bb | 10 + .../imx-test/imx-test-hdcp_3.10.17-1.0.0.bb | 23 + recipes-bsp/imx-test/imx-test.inc | 58 + recipes-bsp/imx-test/imx-test/clocks.sh | 29 + .../imx-test/imx-test/revert_epdc_hdr_change.patch | 30 + recipes-bsp/imx-test/imx-test_00.00.00.bb | 9 + recipes-bsp/imx-test/imx-test_3.10.17-1.0.0.bb | 13 + recipes-bsp/imx-uuc/imx-uuc_0.5.bb | 16 + recipes-bsp/imx-vpu/imx-vpu.inc | 22 + ...etVirtMem-returns-1-MAP_FAILED-on-failure.patch | 83 + recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb | 7 + recipes-bsp/imx-vpu/imx-vpu_3.10.17-1.0.0.bb | 12 + recipes-bsp/libmcc/libmcc_1.04.bb | 21 + recipes-bsp/mqxboot/mqxboot_1.0.bb | 21 + recipes-bsp/mxsldr/mxsldr_git.bb | 18 + recipes-bsp/u-boot/u-boot-fslc-mxsboot_2014.01.bb | 28 + recipes-bsp/u-boot/u-boot-fslc.inc | 29 + recipes-bsp/u-boot/u-boot-fslc_2014.01.bb | 7 + recipes-bsp/u-boot/u-boot-imx-mfgtool_2013.04.bb | 4 + .../u-boot/u-boot-imx/mx53_loco_bootenv.patch | 51 + ...sd-Change-default-environment-to-work-wit.patch | 67 + ...uto-Fix-the-patch-for-the-default-environ.patch | 66 + ...d-Change-default-environment-to-work-with.patch | 66 + ...ix-the-patch-for-the-default-environment-.patch | 67 + recipes-bsp/u-boot/u-boot-imx_2009.08.bb | 65 + recipes-bsp/u-boot/u-boot-imx_2013.04.bb | 18 + recipes-bsp/u-boot/u-boot-mfgtool.inc | 21 + .../nativesdk-packagegroup-sdk-host.bbappend | 4 + recipes-core/udev/udev-extraconf/10-imx.rules | 24 + recipes-core/udev/udev-extraconf_%.bbappend | 17 + recipes-fsl/images/fsl-image-mfgtool-initramfs.bb | 8 + .../packagegroups/packagegroup-fsl-mfgtool.bb | 47 + .../amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb | 13 + recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc | 90 + .../amd-gpu-x11-bin-mx51_11.09.01.bb | 18 + recipes-graphics/amd-gpu-x11-bin/files/egl.pc | 11 + .../files/fix-linux-build-check.patch | 54 + recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc | 11 + .../amd-gpu-x11-bin/libz160_11.09.01.bb | 33 + recipes-graphics/cairo/cairo_%.bbappend | 11 + recipes-graphics/clutter/clutter-1.0_%.bbappend | 9 + recipes-graphics/cogl/cogl-1.0_%.bbappend | 10 + .../directfb/directfb-examples_1.6.0.bb | 20 + recipes-graphics/directfb/directfb.inc | 73 + .../directfb/directfb/configurefix.patch | 60 + .../directfb/fix-compilation-with-zlib.patch | 29 + .../directfb/directfb/fixsepbuild.patch | 19 + recipes-graphics/directfb/directfb/fusion.patch | 36 + .../rename-no-instrument-function-macro.patch | 345 +++ recipes-graphics/directfb/directfb_1.6.3.bb | 26 + .../drm/libdrm/mx6/drm-update-arm.patch | 35 + recipes-graphics/drm/libdrm_%.bbappend | 5 + recipes-graphics/eglinfo/eglinfo-fb_%.bbappend | 3 + recipes-graphics/eglinfo/eglinfo-x11_%.bbappend | 3 + .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc | 259 ++ .../0001-change-header-path-to-HAL.patch | 30 + .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc | 10 + .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc | 12 + .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc | 12 + .../fix-conflicting-TLS-definition.patch | 31 + .../gc_hal_eglplatform-remove-xlib-undefs.patch | 34 + .../gpu-viv-bin-mx6q/gc_wayland_protocol.pc | 10 + .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc | 12 + .../gpu-viv-bin-mx6q/glesv1_cm_x11.pc | 12 + .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc | 12 + .../gpu-viv-bin-mx6q/glesv2_x11.pc | 12 + .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc | 12 + .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc | 12 + .../gpu-viv-bin-mx6q/wayland-egl.pc | 10 + .../gpu-viv-bin-mx6q/wayland-viv.pc | 10 + .../gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb | 9 + .../gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb | 9 + recipes-graphics/gpu-viv-g2d/gpu-viv-g2d.inc | 45 + .../gpu-viv-g2d/gpu-viv-g2d_3.10.17-1.0.0.bb | 6 + ...glWindowPos2iARB-calls-with-glWindowPos2i.patch | 355 +++ recipes-graphics/mesa/mesa-demos_%.bbappend | 4 + recipes-graphics/mesa/mesa_%.bbappend | 10 + .../packagegroup-core-directfb.bbappend | 3 + recipes-graphics/piglit/piglit_git.bbappend | 5 + .../0001-Add-support-for-Vivante-FBDEV-EGL.patch | 69 + ...-weston-Add-Vivante-2D-compositor-support.patch | 1513 ++++++++++++ recipes-graphics/wayland/weston_%.bbappend | 21 + .../pointercal-xinput/imx28evk/pointercal.xinput | 2 + .../pointercal-xinput/mx6/pointercal.xinput | 2 + .../xinput-calibrator/pointercal-xinput_%.bbappend | 2 + .../xf86-video-imxfb-vivante_3.10.17-1.0.0.bb | 62 + .../Fix-error-unknown-type-name-uint.patch | 33 + ...video-API-forward-and-backward-compatible.patch | 787 ++++++ .../ext-Update-to-newer-swap-macros.patch | 65 + .../xf86-video-imxfb-fix-m4-hardcodded-paths.patch | 53 + .../xf86-video-imxfb/xserver-1.14-compat.patch | 34 + .../xorg-driver/xf86-video-imxfb_11.09.01.bb | 39 + .../xorg-xserver/xserver-xf86-config/mx5/xorg.conf | 16 + .../xorg-xserver/xserver-xf86-config/mx6/xorg.conf | 14 + .../xorg-xserver/xserver-xf86-config/mxs/xorg.conf | 12 + .../xorg-xserver/xserver-xf86-config_%.bbappend | 2 + .../xorg-xserver/xserver-xorg/aarch64.patch | 35 + .../xorg-xserver/xserver-xorg/crosscompile.patch | 22 + .../fix_open_max_preprocessor_error.patch | 15 + .../xorg-xserver/xserver-xorg/macro_tweak.patch | 25 + .../xserver-xorg/mips64-compiler.patch | 29 + .../xorg-xserver/xserver-xorg_1.14.4.bb | 35 + .../kernel-module-mcc/kernel-module-mcc_1.04.bb | 15 + recipes-kernel/linux/linux-fslc.inc | 18 + recipes-kernel/linux/linux-fslc/defconfig | 295 +++ recipes-kernel/linux/linux-fslc/mxs/defconfig | 186 ++ recipes-kernel/linux/linux-fslc_3.14.bb | 17 + .../linux/linux-imx-2.6.35.3/imx23evk/defconfig | 2053 ++++++++++++++++ .../linux/linux-imx-2.6.35.3/imx28evk/defconfig | 2181 +++++++++++++++++ .../linux/linux-imx-2.6.35.3/mx5/defconfig | 2586 ++++++++++++++++++++ .../mxs-duart-use-ttyAMA-for-device-name.patch | 42 + .../perf-avoid-use-sysroot-headers.patch | 33 + .../linux/linux-imx-3.10.17/mx6/defconfig | 358 +++ .../linux/linux-imx-mfgtool-3.10.17/mx6/defconfig | 341 +++ recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb | 7 + .../linux-imx-rt-3.10.17/0001-fix-build.patch | 139 ++ .../0002-fix-build-with-rt-enabled.patch | 111 + .../0003-no-split-ptlocks.patch | 84 + .../linux/linux-imx-rt-3.10.17/mx6/defconfig | 358 +++ recipes-kernel/linux/linux-imx-rt_3.10.17.bb | 26 + recipes-kernel/linux/linux-imx.inc | 47 + .../linux/linux-imx/NFS-Fix-nfsroot-support.patch | 31 + ...nfs-root-mount-to-use-alternate-rpc-ports.patch | 241 ++ recipes-kernel/linux/linux-imx_2.6.35.3.bb | 26 + recipes-kernel/linux/linux-imx_3.10.17.bb | 17 + recipes-kernel/linux/linux-mfgtool.inc | 80 + ...ix-mac-address-read-to-match-fuse-layout-.patch | 37 + ...e-console-device-name-to-match-mainline-u.patch | 35 + .../linux/linux-timesys-3.0.15/defconfig | 144 ++ recipes-kernel/linux/linux-timesys_3.0.15.bb | 20 + recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb | 27 + recipes-multimedia/gstreamer/gst-fsl-plugin.inc | 66 + .../build-Fix-out-of-tree-build.patch | 617 +++++ .../gstreamer/gst-fsl-plugin_3.0.11.bb | 11 + .../gstplaybin2-rawvideo-support.patch | 28 + .../gstreamer/gst-plugins-base_%.bbappend | 11 + .../gst-plugins-gl/IMX_MMCODEC_3.0.35_4.0.0.patch | 2438 ++++++++++++++++++ .../gstreamer/gst-plugins-gl_%.bbappend | 11 + .../gstreamer/gstreamer1.0-plugins-bad_%.bbappend | 7 + .../gstreamer/gstreamer1.0-plugins-imx_0.9.6.bb | 33 + recipes-multimedia/libfslcodec/libfslcodec.inc | 84 + .../libfslcodec/libfslcodec_3.0.11.bb | 9 + recipes-multimedia/libfslparser/libfslparser.inc | 30 + .../libfslparser/libfslparser_3.0.11.bb | 9 + ...-fix-tests-of-return-value-from-IOGetVirt.patch | 41 + .../libfslvpuwrap/libfslvpuwrap_1.0.46.bb | 23 + recipes-qt/qt4/qt4-embedded_%.bbappend | 12 + recipes-qt/qt4/qt4-phonon-patches.inc | 8 + recipes-qt/qt4/qt4-x11-free_%.bbappend | 15 + ...001-Add-support-for-i.MX-codecs-to-phonon.patch | 468 ++++ ...renderer-Allow-v4l-device-from-environmen.patch | 46 + .../qt4/0003-i.MX6-force-egl-visual-ID-33.patch | 35 + recipes-qt/qt4/qt4/mx6/g++.conf | 56 + recipes-qt/qt4/qt4/mx6/linux.conf | 66 + scripts/get-maintainer | 107 + 219 files changed, 25151 insertions(+) create mode 100644 .gitignore create mode 100644 EULA create mode 100644 README create mode 100644 classes/fsl-dynamic-packagearch.bbclass create mode 100644 classes/fsl-eula-unpack.bbclass create mode 100644 classes/image_types_fsl.bbclass create mode 100644 classes/mfgtool-initramfs-image.bbclass create mode 100644 conf/layer.conf create mode 100644 conf/machine/imx23evk.conf create mode 100644 conf/machine/imx28evk.conf create mode 100644 conf/machine/imx31pdk.conf create mode 100644 conf/machine/imx35pdk.conf create mode 100644 conf/machine/imx51evk.conf create mode 100644 conf/machine/imx53ard.conf create mode 100644 conf/machine/imx53qsb.conf create mode 100644 conf/machine/imx6dlsabreauto.conf create mode 100644 conf/machine/imx6dlsabresd.conf create mode 100644 conf/machine/imx6qsabreauto.conf create mode 100644 conf/machine/imx6qsabresd.conf create mode 100644 conf/machine/imx6slevk.conf create mode 100644 conf/machine/imx6solosabreauto.conf create mode 100644 conf/machine/imx6solosabresd.conf create mode 100644 conf/machine/include/fsl-default-providers.inc create mode 100644 conf/machine/include/fsl-default-settings.inc create mode 100644 conf/machine/include/fsl-default-versions.inc create mode 100644 conf/machine/include/imx-base.inc create mode 100644 conf/machine/include/imx6sabreauto-common.inc create mode 100644 conf/machine/include/imx6sabresd-common.inc create mode 100644 conf/machine/include/mxs-base.inc create mode 100644 conf/machine/twr-vf65gs10.conf create mode 100644 efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch create mode 100644 efl-layer/recipes-efl/efl/efl_1.9.3.bbappend create mode 100644 qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch create mode 100644 qt5-layer/recipes-qt/qt5/qtbase_%.bbappend create mode 100644 qt5-layer/recipes-qt/qt5/qtmultimedia/add-imx6-support.patch create mode 100644 qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend create mode 100644 qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch create mode 100644 qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend create mode 100644 recipes-bsp/alsa-state/alsa-state.bbappend create mode 100755 recipes-bsp/alsa-state/alsa-state/mx5/asound.conf create mode 100644 recipes-bsp/alsa-state/alsa-state/mx5/asound.state create mode 100644 recipes-bsp/alsa-state/alsa-state/mx6/asound.conf create mode 100644 recipes-bsp/alsa-state/alsa-state/mx6/asound.state create mode 100644 recipes-bsp/alsa-state/alsa-state/mxs/asound.conf create mode 100644 recipes-bsp/alsa-state/alsa-state/mxs/asound.state create mode 100644 recipes-bsp/barebox/barebox.inc create mode 100644 recipes-bsp/barebox/barebox_2013.08.0.bb create mode 100644 recipes-bsp/elftosb/elftosb_10.12.01.bb create mode 100644 recipes-bsp/elftosb/files/cross-build.patch create mode 100644 recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch create mode 100644 recipes-bsp/firmware-imx/firmware-imx.inc create mode 100644 recipes-bsp/firmware-imx/firmware-imx_3.0.35-4.0.0.bb create mode 100644 recipes-bsp/firmware-imx/firmware-imx_3.10.17-1.0.0.bb create mode 100644 recipes-bsp/formfactor/formfactor/imx51evk/machconfig create mode 100644 recipes-bsp/formfactor/formfactor/imx53ard/machconfig create mode 100644 recipes-bsp/formfactor/formfactor/imx53qsb/machconfig create mode 100644 recipes-bsp/formfactor/formfactor_%.bbappend create mode 100644 recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch create mode 100644 recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch create mode 100644 recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch create mode 100644 recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb create mode 100644 recipes-bsp/imx-kobs/imx-kobs_3.10.17-1.0.0.bb create mode 100644 recipes-bsp/imx-lib/imx-lib.inc create mode 100644 recipes-bsp/imx-lib/imx-lib_11.09.02.bb create mode 100644 recipes-bsp/imx-lib/imx-lib_3.10.17-1.0.0.bb create mode 100644 recipes-bsp/imx-test/imx-test-hdcp_3.10.17-1.0.0.bb create mode 100644 recipes-bsp/imx-test/imx-test.inc create mode 100755 recipes-bsp/imx-test/imx-test/clocks.sh create mode 100644 recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch create mode 100644 recipes-bsp/imx-test/imx-test_00.00.00.bb create mode 100644 recipes-bsp/imx-test/imx-test_3.10.17-1.0.0.bb create mode 100644 recipes-bsp/imx-uuc/imx-uuc_0.5.bb create mode 100644 recipes-bsp/imx-vpu/imx-vpu.inc create mode 100644 recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch create mode 100644 recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb create mode 100644 recipes-bsp/imx-vpu/imx-vpu_3.10.17-1.0.0.bb create mode 100644 recipes-bsp/libmcc/libmcc_1.04.bb create mode 100644 recipes-bsp/mqxboot/mqxboot_1.0.bb create mode 100644 recipes-bsp/mxsldr/mxsldr_git.bb create mode 100644 recipes-bsp/u-boot/u-boot-fslc-mxsboot_2014.01.bb create mode 100644 recipes-bsp/u-boot/u-boot-fslc.inc create mode 100644 recipes-bsp/u-boot/u-boot-fslc_2014.01.bb create mode 100644 recipes-bsp/u-boot/u-boot-imx-mfgtool_2013.04.bb create mode 100644 recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch create mode 100644 recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch create mode 100644 recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch create mode 100644 recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch create mode 100644 recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch create mode 100644 recipes-bsp/u-boot/u-boot-imx_2009.08.bb create mode 100644 recipes-bsp/u-boot/u-boot-imx_2013.04.bb create mode 100644 recipes-bsp/u-boot/u-boot-mfgtool.inc create mode 100644 recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend create mode 100644 recipes-core/udev/udev-extraconf/10-imx.rules create mode 100644 recipes-core/udev/udev-extraconf_%.bbappend create mode 100644 recipes-fsl/images/fsl-image-mfgtool-initramfs.bb create mode 100644 recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb create mode 100644 recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb create mode 100644 recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc create mode 100644 recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb create mode 100644 recipes-graphics/amd-gpu-x11-bin/files/egl.pc create mode 100644 recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch create mode 100644 recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc create mode 100644 recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb create mode 100644 recipes-graphics/cairo/cairo_%.bbappend create mode 100644 recipes-graphics/clutter/clutter-1.0_%.bbappend create mode 100644 recipes-graphics/cogl/cogl-1.0_%.bbappend create mode 100644 recipes-graphics/directfb/directfb-examples_1.6.0.bb create mode 100644 recipes-graphics/directfb/directfb.inc create mode 100644 recipes-graphics/directfb/directfb/configurefix.patch create mode 100644 recipes-graphics/directfb/directfb/fix-compilation-with-zlib.patch create mode 100644 recipes-graphics/directfb/directfb/fixsepbuild.patch create mode 100644 recipes-graphics/directfb/directfb/fusion.patch create mode 100644 recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch create mode 100644 recipes-graphics/directfb/directfb_1.6.3.bb create mode 100644 recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch create mode 100644 recipes-graphics/drm/libdrm_%.bbappend create mode 100644 recipes-graphics/eglinfo/eglinfo-fb_%.bbappend create mode 100644 recipes-graphics/eglinfo/eglinfo-x11_%.bbappend create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb create mode 100644 recipes-graphics/gpu-viv-g2d/gpu-viv-g2d.inc create mode 100644 recipes-graphics/gpu-viv-g2d/gpu-viv-g2d_3.10.17-1.0.0.bb create mode 100644 recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch create mode 100644 recipes-graphics/mesa/mesa-demos_%.bbappend create mode 100644 recipes-graphics/mesa/mesa_%.bbappend create mode 100644 recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend create mode 100644 recipes-graphics/piglit/piglit_git.bbappend create mode 100644 recipes-graphics/wayland/weston/0001-Add-support-for-Vivante-FBDEV-EGL.patch create mode 100644 recipes-graphics/wayland/weston/0002-weston-Add-Vivante-2D-compositor-support.patch create mode 100644 recipes-graphics/wayland/weston_%.bbappend create mode 100644 recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput create mode 100644 recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput create mode 100644 recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend create mode 100644 recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.0.bb create mode 100644 recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch create mode 100644 recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch create mode 100644 recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch create mode 100644 recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch create mode 100644 recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch create mode 100644 recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb create mode 100644 recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf create mode 100644 recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf create mode 100644 recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf create mode 100644 recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch create mode 100644 recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb create mode 100644 recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.04.bb create mode 100644 recipes-kernel/linux/linux-fslc.inc create mode 100644 recipes-kernel/linux/linux-fslc/defconfig create mode 100644 recipes-kernel/linux/linux-fslc/mxs/defconfig create mode 100644 recipes-kernel/linux/linux-fslc_3.14.bb create mode 100644 recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig create mode 100644 recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig create mode 100644 recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig create mode 100644 recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch create mode 100644 recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch create mode 100644 recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig create mode 100644 recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig create mode 100644 recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb create mode 100644 recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch create mode 100644 recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch create mode 100644 recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch create mode 100644 recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig create mode 100644 recipes-kernel/linux/linux-imx-rt_3.10.17.bb create mode 100644 recipes-kernel/linux/linux-imx.inc create mode 100644 recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch create mode 100644 recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch create mode 100644 recipes-kernel/linux/linux-imx_2.6.35.3.bb create mode 100644 recipes-kernel/linux/linux-imx_3.10.17.bb create mode 100644 recipes-kernel/linux/linux-mfgtool.inc create mode 100644 recipes-kernel/linux/linux-timesys-3.0.15/0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch create mode 100644 recipes-kernel/linux/linux-timesys-3.0.15/0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch create mode 100644 recipes-kernel/linux/linux-timesys-3.0.15/defconfig create mode 100644 recipes-kernel/linux/linux-timesys_3.0.15.bb create mode 100644 recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb create mode 100644 recipes-multimedia/gstreamer/gst-fsl-plugin.inc create mode 100644 recipes-multimedia/gstreamer/gst-fsl-plugin/build-Fix-out-of-tree-build.patch create mode 100644 recipes-multimedia/gstreamer/gst-fsl-plugin_3.0.11.bb create mode 100644 recipes-multimedia/gstreamer/gst-plugins-base/gstplaybin2-rawvideo-support.patch create mode 100644 recipes-multimedia/gstreamer/gst-plugins-base_%.bbappend create mode 100644 recipes-multimedia/gstreamer/gst-plugins-gl/IMX_MMCODEC_3.0.35_4.0.0.patch create mode 100644 recipes-multimedia/gstreamer/gst-plugins-gl_%.bbappend create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.9.6.bb create mode 100644 recipes-multimedia/libfslcodec/libfslcodec.inc create mode 100644 recipes-multimedia/libfslcodec/libfslcodec_3.0.11.bb create mode 100644 recipes-multimedia/libfslparser/libfslparser.inc create mode 100644 recipes-multimedia/libfslparser/libfslparser_3.0.11.bb create mode 100644 recipes-multimedia/libfslvpuwrap/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch create mode 100644 recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.46.bb create mode 100644 recipes-qt/qt4/qt4-embedded_%.bbappend create mode 100644 recipes-qt/qt4/qt4-phonon-patches.inc create mode 100644 recipes-qt/qt4/qt4-x11-free_%.bbappend create mode 100644 recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch create mode 100644 recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch create mode 100644 recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch create mode 100644 recipes-qt/qt4/qt4/mx6/g++.conf create mode 100644 recipes-qt/qt4/qt4/mx6/linux.conf create mode 100755 scripts/get-maintainer diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/EULA b/EULA new file mode 100644 index 0000000..96b33aa --- /dev/null +++ b/EULA @@ -0,0 +1,523 @@ +LA_OPT27 v4 June 2013 + +FREESCALE SEMICONDUCTOR SOFTWARE LICENSE AGREEMENT + +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 this Agreement. You may then +download the file. + + +This is a legal agreement between you, as an authorized representative +of your employer (together "you"), and Freescale Semiconductor, Inc. +("Freescale") and its Affiliates. It concerns your rights to use this +software and any accompanying written documentation (the "Licensed +Software"). 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 the Licensed Software. If at any point +you no longer agree to all the terms of this Agreement, stop using +the Licensed Software immediately 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 that have not been destroyed, will continue to be governed by +this Agreement. Your prior use of the Licensed Software will also +continue to be governed by this Agreement. + +Section 1. Definitions + +1.1 "Affiliate" means, any corporation, or entity directly or +indirectly controlled by, controlling, or under common control with +Freescale. + +1.2 "Authorized Employees" means your employees or contractors +working at your premises on your behalf under a work for hire agreement. + +1.3 "Authorized System" means the hardware system(s) or software +program(s) marketed by you which contains an i.MX processor and for +which the Licensed Software will be adapted by Licensee pursuant to +this Agreement and with which the Licensed Software will be integrated. + +1.4 "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 such 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.5 "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.6 "Licensed Software" means the software and the associated +documentation. + +1.7 "Agreement" means this document and the following Appendices +which are attached hereto and included herein by reference : + +- Appendix A : Other License Grants and Rights + + +Section 2. Licenses +2.1 Separate license grants and rights to Third Party Software, +if different from those granted in this Section 2, are as identified +on Appendix A. + +2.2 For Freescale Licensed Software, Freescale grants you a +world-wide, personal, non-transferable, non-exclusive, license, under +Freescale's Intellectual Property Rights: + +(a) to use, only as part of, or integrated within, Authorized +Systems and not on a stand alone basis, the Licensed Software; + +(b) to reproduce, only as part of, or integrated within, +Authorized Systems and not on a stand alone basis, the Licensed Software; + +(c) 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 stand alone 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. + +(d) to copy, use and distribute as needed, solely in connection +with an Authorized System, the proprietary information for the purpose +of developing, maintaining and supporting Authorized Systems with which +the Licensed Software is integrated. + +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, license, under Freescale's +Intellectual Property Rights: + +(a) to prepare derivative works, only as part of, or integrated +within, Authorized Systems and not on a stand alone basis, of the +Licensed Software; + +(b) to use, demonstrate, copy, distribute, market and sell +derivative works of the Licensed Software in object code (machine +readable) only as part of, or integrated within, Authorized Systems +and not on a stand alone 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. + +2.5 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. + +2.6 You are solely responsible for obtaining any necessary third +party approvals and any licenses for any necessary Essential Patents +for their use in connection with technology that you incorporate into +the your Authorized System (whether as part of the Licensed Software +or not). + +2.7 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. + +2.8 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. + +2.9 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. + +2.10 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). + +2.11 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). + +2.12 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 and/or distribution of software subject to the Excluded +License, that such software or other software combined and/or distributed +with such software be (A) disclosed or distributed in source code form; +(B) licensed for the purpose of making derivative works; or +(C) redistributable at no charge. + + +Section 3. Intellectual Property Rights + +3.1 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. + +3.2 Your modifications to the Licensed Software, and all intellectual +property rights associated with, and title thereto, will be the property +of Freescale. 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 +he Licensed Software, including, without limitation, any and all rights +of identification of authorship and any 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 +licensor's. + + +Section 4. Patent Covenant not to Sue + +4.1 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 thereof. + + +Section 5. Term and Termination + +5.1 This Agreement will remain in effect unless terminated as +provided herein. + +5.2 You may terminate this Agreement immediately upon written +notice to Freescale at the address provided below. + +5.3 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. + +5.4 Notwithstanding the foregoing, Freescale may terminate this +Agreement immediately upon written notice if you: + +(a) breach any of your confidentiality obligations or the +license restrictions under this Agreement; + +(b) become bankrupt or insolvent, or file a petition therefore; + +(c) make an assignment for the benefit of its creditors; + +(d) enter proceedings for winding up or dissolution; + +(e) are dissolved; or + +(f) are nationalized or is subject to the expropriation of all +or substantially all of its business or assets. + +5.5 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 (c), 2.2 (d) and 2.3 (b) which have been granted +prior to such termination will survive. + +5.6 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 any and 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. + +5.7 Notwithstanding the termination of this Agreement for any reason, +the terms of Sections 1, 2.5 - 2.12, 3, 4, 5.6, 5.7, 7 and 8 will survive. + + +Section 6. Warranty + +6.1 Freescale warrants that for the 30 day period following your +download of the Licensed Software that the Licensed Software as delivered +is free of material defects in materials and workmanship. + +6.2 If Licensed Software is not as warranted, Freescale will, at its +sole option, and as your exclusive remedy, either refund the fees associated +with such Licensed Software, repair, or replace with the same or equivalent +products that meet this warranty. This warranty does not apply to Licensed +Software that has been subjected to improper testing, assembly, mishandling, + modification, or misuse, whether by you or by others. This warranty will +not be expanded, and no obligation or liability will arise, due to technical +advice or assistance, qualification or testing data, computerized data, +facilities or service Freescale may provide in connection with the Licensed +Software. + +6.3 Freescale does not warrant that the functions contained in the +Licensed Software will meet your requirements or that the operation of the +Licensed Software will be uninterrupted or error free. + +6.4 The warranty recited in this Section 6 extends only to you. + +6.5 THIS WARRANTY RECITED IN THIS SECTION 6 IS IN LIEU OF ALL OTHER +WARRANTIES, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY +QUALITY OR FITNESS, AND THE WARRANTY AGAINST INFRINGEMENT SPECIFIED IN THE +UNIFORM COMMERCIAL CODE. ALL OTHER WARRANTIES ARE EXPRESSLY DISCLAIMED TO +THE FULL EXTENT SUCH MAY BE DISCLAIMED BY LAW. + + +Section 7. Indemnification + +7.1 You will defend, indemnify and hold harmless Freescale from any +and all damages claims, liabilities, and costs (including reasonable +attorney's fees) related to your (including contractor's and licensee's) +use of the Licensed Software and/or (2) your (including contractor's and +licensee's) violation of the terms and conditions of this Agreement. You +are excused from this obligation to the extent any such claim arises solely +from the Licensed Software as provided by Freescale. + + +Section 8. General Provisions + +8.1 Amendments and Waivers. No amendment of any provision of +this Agreement will be valid unless stated in writing and signed by +authorized representatives of each of the parties. No waiver by any party +of any default, misrepresentation or covenant herein, whether intentional +or not, will be deemed to extend any prior or subsequent default, +misrepresentation, or covenant hereunder or affect in any way any rights +arising by virtue of any prior or subsequent occurrence. + +8.2 Choice of Law. This Agreement will be governed by, +construed, and enforced in accordance with the laws of the State of Texas. + +8.3 Confidential Information. You will 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 others than employees or contractors who have a +need to know of the Licensed Software and who have executed written +agreements obligating them to protect such Licensed Software. 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, that you only disclose information +required, and that the you allow Freescale the opportunity to object to such +court or other legal body requiring such disclosure. + +8.4 Counterparts. This Agreement may be executed in one or more +original counterparts, all of which together will constitute one agreement, +and facsimile signatures will have the same effect as original signatures. + +8.5 Entire Agreement. This Agreement, including its attachments, +constitutes the entire agreement between the parties regarding the subject +matter hereof, and supersedes all prior communications, negotiations, +understandings, agreements or representations, either written or oral, +by or among the parties regarding such subject matter. + +8.6 Limitation of Liability. EXCLUDING LIABILITY FOR A +BREACH OF SECTION 8.3 (CONFIDENTIALITY), BREACHES OF THE LICENSE GRANTS +IN SECTION 2, OR CLAIMS UNDER SECTION 7, 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 +ANY AND 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. + +8.7 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 Drive, West + Austin, Texas 78735 + ATTN: General Manager, Multimedia Applications Division + + With a copy to: + Freescale Semiconductor, Inc. + 6501 William Cannon West OE62 + Austin, Texas 78735 + ATTN: Law Director, Multimedia Applications Division + + You: The address provided at registration will be used. + + +Either party may change its notice information upon notice to the other party. + +8.8 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. + +8.9 Severability. If any provision of this Agreement is held for +any reason to be invalid or unenforceable 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 a +party 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 +parties' intention underlying the invalid or unenforceable provision. + +8.10 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. + +8.11 Unauthorized Use. The Licensed Software is not intended or +authorized for use in anti-personnel landmines, and you agree that it +will not be used for this purpose. Upon request from Freescale, you will +furnish a written certification that you do not use or permit the use of +the Licensed Software in anti-personnel landmines. The Licensed Software +is not intended or authorized for use in products surgically implanted +into the body, for life support or for other products in which a product +failure could cause personal injury or death. If you permit the uses of +Licensed Software for these unintended or unauthorized uses, you will +fully indemnify, defend, and hold harmless Freescale, its Affiliates, +subsidiaries, officers and directors, employees, and distributors from +all liability related to such use, including attorneys' fees and costs. + +8.12 Export. If, at the time or times of Freescale's +performance hereunder, an export license is required for Freescale to +lawfully export Licensed Software, then the issuance of the appropriate +licenses to Freescale or its subcontractor shall constitute a condition +precedent to Freescale's obligations hereunder. You understand and agree +that you will not by any means or method, export, re-export, resell, ship +or divert or cause to be exported, re-exported, resold, shipped, or +diverted, directly or indirectly, the Licensed Software, or any Freescale +product or technology except as permitted by and in accordance with +the laws and regulations of the United States and, if different than +the United States, the country from which the export or re-export originates. + +8.13 International Sale of Goods. The United Nations Convention +on Contracts for the International Sale of Goods will not apply to this +document. + +8.14 Audit. You will maintain accurate and up-to-date records +pertaining to this Agreement and will grant Freescale or its authorized +agent access to and copies of such records and information as requested +by Freescale that pertain to your obligations under this Agreement. +Such access will be granted upon reasonable advance written notice, +and be conducted during normal business hours with minimal impact to +your business operations, and subject to confidentiality restrictions. +You will maintain such records for a period of at least three (3) years +from the date of termination of this Agreement. You must make prompt +adjustment to compensate for any errors and/or omissions disclosed by +such examination or audit. + + +APPENDIX A +Other License Grants and Rights: + +The Licensed Software may include some or all of the following software +which is not Freescale proprietary software and the rights granted herein +are limited to those rights provided below: + +Open Source Software. +Open source software is not licensed under the terms of this Agreement, +but is instead licensed under the terms of 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 such applicable license, or you should not use the open source +software. + +Vivante + +If the Licensed Software includes proprietary software developed by +Vivante, your distribution rights are restricted to providing the +Licensed Software in object code (machine readable), and only as part of, +or embedded within, Authorized Systems that include a Vivante Graphics +Processing Unit. + +Atheros + +If the Licensed Software includes proprietary software developed by Atheros, +you must separately obtain rights beyond evaluation and demonstration in +connection with the Atheros software. + +Coding Technologies, acquired by Dolby Laboratories ("CTS") + +If the Licensed Software includes software developed by CTS, you must +separately obtain rights beyond evaluation and demonstration in +connection with the CTS software from Dolby Laboratories. + +Microsoft +If the Licensed Software includes software owned by the Microsoft +Corporation ("Microsoft"), it is subject to the terms of your license +with Microsoft (the "Microsoft Underlying Software") and as such, +Freescale grants no license to you, beyond evaluation and demonstration +in connection with Freescale processors, in the Microsoft Underlying +Software. You must separately obtain rights beyond evaluation and +demonstration in connection with the Microsoft Underlying Software +from Microsoft. + +Microsoft does not provide support services for the +components provide 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 FFILIATES +DISCLAIM ANY WARRANTIES FOR THE MICROSOFT UNDERLYING 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 SOFTWARE. + +SanDisk Corporation Software + + 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 Software on +products compatible with a SanDisk Secure Digital Card. You may not +use the SanDisk Corporation Software on any memory device product. +SanDisk retains all rights to any modifications or derivative works +to the SanDisk Corporation Software that you may create. + +Global Locate + +If the Licensed Software includes software and hardware developed by +Global Locate, Inc. ("Global Locate"), and acquired by Broadcom +Corporation, you must separately obtain rights beyond evaluation +and demonstration for the Global Locate software from Broadcom Corporation. + +CSR + +If the Licensed Software includes software and hardware developed +by Cambridge Silicon Radio, Inc. ("CSR"), you must separately obtain +rights beyond evaluation and demonstration for the CSR software from CSR. diff --git a/README b/README new file mode 100644 index 0000000..154f0f0 --- /dev/null +++ b/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 diff --git a/classes/fsl-dynamic-packagearch.bbclass b/classes/fsl-dynamic-packagearch.bbclass new file mode 100644 index 0000000..40eae6c --- /dev/null +++ b/classes/fsl-dynamic-packagearch.bbclass @@ -0,0 +1,47 @@ +# 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_soc = "${TUNE_PKGARCH}-soc" +# +# and the need filters, as: +# +# MACHINE_ARCH_FILTER = "virtual/kernel" +# MACHINE_SOCARCH_FILTER_soc = "virtual/libgles1 ... virtual/libgl" +# +# Copyright 2013 (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: + bb.parse.SkipPackage("You must set MACHINE_SOCARCH 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) +} diff --git a/classes/fsl-eula-unpack.bbclass b/classes/fsl-eula-unpack.bbclass new file mode 100644 index 0000000..0da17c3 --- /dev/null +++ b/classes/fsl-eula-unpack.bbclass @@ -0,0 +1,63 @@ +# 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" + +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) + + try: + bb.build.exec_func('base_do_unpack', d) + except: + raise + + bb.build.exec_func('fsl_bin_do_unpack', d) +} + +do_unpack[vardepsexclude] += "FSL_EULA_FILE" diff --git a/classes/image_types_fsl.bbclass b/classes/image_types_fsl.bbclass new file mode 100644 index 0000000..dfa55e4 --- /dev/null +++ b/classes/image_types_fsl.bbclass @@ -0,0 +1,312 @@ +inherit image_types + +IMAGE_BOOTLOADER ?= "u-boot" + +# Handle u-boot suffixes +UBOOT_SUFFIX ?= "bin" +UBOOT_PADDING ?= "0" +UBOOT_SUFFIX_SDCARD ?= "${UBOOT_SUFFIX}" + +# +# Handles i.MX mxs bootstream generation +# + +# 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" + +# 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_vf60 = "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=42 bs=1K + else + dd if=${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX_SDCARD} of=${SDCARD} conv=notrunc seek=2 skip=${UBOOT_PADDING} 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 "Unkown 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 }') + 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 seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync + dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc seek=1 bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync +} + +# +# 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 bytes from boot partition + dd if=/dev/zero of=${SDCARD} conv=notrunc seek=2048 count=4 + + # Write the bootstream in (2048 + 4) bytes + dd if=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.linux.sb of=${SDCARD} conv=notrunc seek=1 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 skip=${UBOOT_PADDING} 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 }') + + 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 "Unkown 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 seek=1 bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync +} + +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/classes/mfgtool-initramfs-image.bbclass b/classes/mfgtool-initramfs-image.bbclass new file mode 100644 index 0000000..a9a2adf --- /dev/null +++ b/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/conf/layer.conf b/conf/layer.conf new file mode 100644 index 0000000..e260e62 --- /dev/null +++ b/conf/layer.conf @@ -0,0 +1,23 @@ +# 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())}" diff --git a/conf/machine/imx23evk.conf b/conf/machine/imx23evk.conf new file mode 100644 index 0000000..681783a --- /dev/null +++ b/conf/machine/imx23evk.conf @@ -0,0 +1,20 @@ +#@TYPE: Machine +#@NAME: Freescale i.MX23 Evaluation Kit +#@SOC: i.MX23 +#@DESCRIPTION: Machine configuration for Freescale i.MX23 Evaluation Kit +#@MAINTAINER: Otavio Salvador + +include conf/machine/include/mxs-base.inc + +SOC_FAMILY = "mxs:mx23" + +IMXBOOTLETS_MACHINE = "stmp378x_dev" +UBOOT_MACHINE = "mx23evk_config" + +KERNEL_IMAGETYPE = "uImage" +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 alsa touchscreen" diff --git a/conf/machine/imx28evk.conf b/conf/machine/imx28evk.conf new file mode 100644 index 0000000..d4f1ad6 --- /dev/null +++ b/conf/machine/imx28evk.conf @@ -0,0 +1,54 @@ +#@TYPE: Machine +#@NAME: Freescale i.MX28 Evaluation Kit +#@SOC: i.MX28 +#@DESCRIPTION: Machine configuration for Freescale i.MX28 Evaluation Kit +#@MAINTAINER: Otavio Salvador + +include conf/machine/include/mxs-base.inc + +SOC_FAMILY = "mxs:mx28" + +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_IMAGETYPE = "uImage" +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" + +## 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 LEBs" in the ubiattach output, where 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/conf/machine/imx31pdk.conf b/conf/machine/imx31pdk.conf new file mode 100644 index 0000000..50da78e --- /dev/null +++ b/conf/machine/imx31pdk.conf @@ -0,0 +1,23 @@ +#@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" + +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/conf/machine/imx35pdk.conf b/conf/machine/imx35pdk.conf new file mode 100644 index 0000000..b49e9f2 --- /dev/null +++ b/conf/machine/imx35pdk.conf @@ -0,0 +1,24 @@ +#@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" + +GUI_MACHINE_CLASS = "bigscreen" + +ROOT_FLASH_SIZE = "256" + +JFFS2_ERASEBLOCK = "0x20000" + +IMAGE_FSTYPES += "jffs2 tar.bz2" + +MACHINE_FEATURES += "ext2 ext3 screen" diff --git a/conf/machine/imx51evk.conf b/conf/machine/imx51evk.conf new file mode 100644 index 0000000..d9aea7c --- /dev/null +++ b/conf/machine/imx51evk.conf @@ -0,0 +1,14 @@ +#@TYPE: Machine +#@NAME: Freescale i.MX51 Evaluation Kit +#@SOC: i.MX51 +#@DESCRIPTION: Machine configuration for Freescale i.MX51 Evaluation Kit +#@MAINTAINER: Daiane Angolini + +include conf/machine/include/imx-base.inc +include conf/machine/include/tune-cortexa8.inc + +SOC_FAMILY = "mx5:mx51" + +KERNEL_DEVICETREE = "imx51-babbage.dtb" + +UBOOT_MACHINE = "mx51evk_config" diff --git a/conf/machine/imx53ard.conf b/conf/machine/imx53ard.conf new file mode 100644 index 0000000..2da165a --- /dev/null +++ b/conf/machine/imx53ard.conf @@ -0,0 +1,18 @@ +#@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 + +include conf/machine/include/imx-base.inc +include conf/machine/include/tune-cortexa8.inc + +SOC_FAMILY = "mx5:mx53" + +KERNEL_DEVICETREE = "imx53-ard.dtb" + +UBOOT_MACHINE = "mx53ard_config" + +MACHINE_FIRMWARE += "linux-firmware-ar3k \ + linux-firmware-ath6k" +MACHINE_FEATURES += "wifi bluetooth" diff --git a/conf/machine/imx53qsb.conf b/conf/machine/imx53qsb.conf new file mode 100644 index 0000000..e3ddd5f --- /dev/null +++ b/conf/machine/imx53qsb.conf @@ -0,0 +1,18 @@ +#@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 + +include conf/machine/include/imx-base.inc +include conf/machine/include/tune-cortexa8.inc + +SOC_FAMILY = "mx5:mx53" + +KERNEL_DEVICETREE = "imx53-qsb.dtb" + +UBOOT_MACHINE = "mx53loco_config" + +MACHINE_FIRMWARE = "linux-firmware-ar3k \ + linux-firmware-ath6k" +MACHINE_FEATURES += " wifi bluetooth" diff --git a/conf/machine/imx6dlsabreauto.conf b/conf/machine/imx6dlsabreauto.conf new file mode 100644 index 0000000..29d79d5 --- /dev/null +++ b/conf/machine/imx6dlsabreauto.conf @@ -0,0 +1,22 @@ +#@TYPE: Machine +#@NAME: Freescale i.MX6DL SABRE Automotive +#@SOC: i.MX6DL +#@DESCRIPTION: Machine configuration for Freescale i.MX6DL SABRE Automotive +#@MAINTAINER: Daiane Angolini + +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 " + +PREFERRED_PROVIDER_u-boot = "u-boot-imx" +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx" + +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/conf/machine/imx6dlsabresd.conf b/conf/machine/imx6dlsabresd.conf new file mode 100644 index 0000000..1e934e1 --- /dev/null +++ b/conf/machine/imx6dlsabresd.conf @@ -0,0 +1,15 @@ +#@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 + +require conf/machine/include/imx6sabresd-common.inc + +SOC_FAMILY = "mx6:mx6dl" + +KERNEL_DEVICETREE = "imx6dl-sabresd.dtb imx6dl-sabresd-ldo.dtb imx6dl-sabresd-hdcp.dtb" + +UBOOT_CONFIG ??= "sd" +UBOOT_CONFIG[sd] = "mx6dlsabresd_config,sdcard" +UBOOT_CONFIG[mfgtool] = "mx6dlsabresd_config" diff --git a/conf/machine/imx6qsabreauto.conf b/conf/machine/imx6qsabreauto.conf new file mode 100644 index 0000000..b8fdce4 --- /dev/null +++ b/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 + +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/conf/machine/imx6qsabresd.conf b/conf/machine/imx6qsabresd.conf new file mode 100644 index 0000000..4b493b9 --- /dev/null +++ b/conf/machine/imx6qsabresd.conf @@ -0,0 +1,16 @@ +#@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 + +require conf/machine/include/imx6sabresd-common.inc + +SOC_FAMILY = "mx6:mx6q" + +KERNEL_DEVICETREE = "imx6q-sabresd.dtb imx6q-sabresd-ldo.dtb imx6q-sabresd-hdcp.dtb" + +UBOOT_CONFIG ??= "sd" +UBOOT_CONFIG[sd] = "mx6qsabresd_config,sdcard" +UBOOT_CONFIG[sata] = "mx6qsabresd_sata_config" +UBOOT_CONFIG[mfgtool] = "mx6qsabresd_config" diff --git a/conf/machine/imx6slevk.conf b/conf/machine/imx6slevk.conf new file mode 100644 index 0000000..cffbd0b --- /dev/null +++ b/conf/machine/imx6slevk.conf @@ -0,0 +1,23 @@ +#@TYPE: Machine +#@NAME: Freescale i.MX6SL Evaluation Kit +#@SOC: i.MX6SL +#@DESCRIPTION: Machine configuration for Freescale i.MX6SL Evaluation Kit +#@MAINTAINER: Otavio Salvador + +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" + +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/conf/machine/imx6solosabreauto.conf b/conf/machine/imx6solosabreauto.conf new file mode 100644 index 0000000..255c189 --- /dev/null +++ b/conf/machine/imx6solosabreauto.conf @@ -0,0 +1,20 @@ +#@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" + +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/conf/machine/imx6solosabresd.conf b/conf/machine/imx6solosabresd.conf new file mode 100644 index 0000000..f670ed3 --- /dev/null +++ b/conf/machine/imx6solosabresd.conf @@ -0,0 +1,18 @@ +#@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 + +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" + +UBOOT_CONFIG ??= "sd" +UBOOT_CONFIG[sd] = "mx6solosabresd_config,sdcard" +UBOOT_CONFIG[mfgtool] = "mx6solosabresd_config" diff --git a/conf/machine/include/fsl-default-providers.inc b/conf/machine/include/fsl-default-providers.inc new file mode 100644 index 0000000..c738d49 --- /dev/null +++ b/conf/machine/include/fsl-default-providers.inc @@ -0,0 +1,6 @@ +# Freescale BSP default providers + +PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" +PREFERRED_PROVIDER_virtual/kernel ??= "linux-imx" +PREFERRED_PROVIDER_u-boot ??= "u-boot-fslc" +PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-fslc" diff --git a/conf/machine/include/fsl-default-settings.inc b/conf/machine/include/fsl-default-settings.inc new file mode 100644 index 0000000..b36e75a --- /dev/null +++ b/conf/machine/include/fsl-default-settings.inc @@ -0,0 +1,3 @@ +# Freescale BSP default settings + +IMAGE_CLASSES += "image_types_fsl" diff --git a/conf/machine/include/fsl-default-versions.inc b/conf/machine/include/fsl-default-versions.inc new file mode 100644 index 0000000..d2a4e93 --- /dev/null +++ b/conf/machine/include/fsl-default-versions.inc @@ -0,0 +1 @@ +# Freescale BSP default versions diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc new file mode 100644 index 0000000..9ac5e8a --- /dev/null +++ b/conf/machine/include/imx-base.inc @@ -0,0 +1,108 @@ +# 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/fsl-default-providers.inc + +include conf/machine/include/soc-family.inc + +# Disable perf features as 2.6.35.3 fail to build otherwise +PERF_FEATURES_ENABLE = "" + +# Set specific make target and binary suffix +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_vf60 = "0x80008000" + +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}" + +# FIXME: Use older versions until Vivante GPU is made compatible +PREFERRED_VERSION_xserver-xorg_mx6 = "2:1.14.4" +PREFERRED_VERSION_directfb_mx6 = "1.6.3" +PREFERRED_VERSION_directfb-examples_mx6 = "1.6.0" + +# Ship kernel modules +MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" + +# Float-Point setting +DEFAULTTUNE_mx6 ?= "cortexa9hf-neon" + +# Sub-architecture support +MACHINE_SOCARCH ?= "" +MACHINE_SOCARCH_mx3 = "${TUNE_PKGARCH}-mx3" +MACHINE_SOCARCH_mx5 = "${TUNE_PKGARCH}-mx5" +MACHINE_SOCARCH_mx6 = "${TUNE_PKGARCH}-mx6" +MACHINE_SOCARCH_vf60 = "${TUNE_PKGARCH}-vf60" +PACKAGE_EXTRA_ARCHS_append = " ${MACHINE_SOCARCH}" + +MACHINE_ARCH_FILTER = "virtual/kernel" +MACHINE_SOCARCH_FILTER = "libfslcodec libfslvpuwrap libfslparser gst-fsl-plugins" +MACHINE_SOCARCH_FILTER_append_mx5 = " virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl" +MACHINE_SOCARCH_FILTER_append_mx6 = " virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl" + +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 = " fsl-alsa-plugins" + +# Extra udev rules +MACHINE_EXTRA_RRECOMMENDS += "udev-extraconf" + +# GStreamer 0.10 plugins +MACHINE_GSTREAMER_PLUGIN ?= "gst-fsl-plugin" +MACHINE_GSTREAMER_PLUGIN_mx3 ?= "" +MACHINE_GSTREAMER_PLUGIN_vf60 ?= "" + +# GStreamer 1.0 plugins +MACHINE_GSTREAMER_1_0_PLUGIN ?= "" +MACHINE_GSTREAMER_1_0_PLUGIN_mx6 ?= "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" + +# mx6 GPU libraries +PREFERRED_PROVIDER_virtual/egl_mx6 ?= "gpu-viv-bin-mx6q" +PREFERRED_PROVIDER_virtual/libgl_mx6 ?= "gpu-viv-bin-mx6q" +PREFERRED_PROVIDER_virtual/libgles1_mx6 ?= "gpu-viv-bin-mx6q" +PREFERRED_PROVIDER_virtual/libgles2_mx6 ?= "gpu-viv-bin-mx6q" + +PREFERRED_PROVIDER_virtual/kernel_mx3 ?= "linux-fslc" + +SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3" +IMAGE_FSTYPES ?= "tar.bz2 ext3 sdcard" + +SERIAL_CONSOLE = "115200 ttymxc0" + +KERNEL_IMAGETYPE = "uImage" + +MACHINE_FEATURES = "apm usbgadget usbhost vfat alsa touchscreen" diff --git a/conf/machine/include/imx6sabreauto-common.inc b/conf/machine/include/imx6sabreauto-common.inc new file mode 100644 index 0000000..b4f37b3 --- /dev/null +++ b/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/conf/machine/include/imx6sabresd-common.inc b/conf/machine/include/imx6sabresd-common.inc new file mode 100644 index 0000000..40e3cde --- /dev/null +++ b/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/conf/machine/include/mxs-base.inc b/conf/machine/include/mxs-base.inc new file mode 100644 index 0000000..a0fc0d7 --- /dev/null +++ b/conf/machine/include/mxs-base.inc @@ -0,0 +1,43 @@ +# 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/fsl-default-providers.inc + +include conf/machine/include/soc-family.inc +include conf/machine/include/tune-arm926ejs.inc + +SOC_FAMILY = "mxs" + +PREFERRED_PROVIDER_virtual/kernel_mx23 ?= "linux-fslc" + +UBOOT_ENTRYPOINT = "0x40008000" +UBOOT_MAKE_TARGET = "u-boot.sb" +UBOOT_SUFFIX = "sb" + +# Disable perf features as 2.6.35.3 fail to build otherwise +PERF_FEATURES_ENABLE_mx28 = "" + +XSERVER = "xserver-xorg \ + xf86-input-evdev \ + xf86-video-fbdev" + +# Gstreamer plugin +MACHINE_GSTREAMER_PLUGIN ?= "" +MACHINE_GSTREAMER_PLUGIN_mx28 ?= "gst-fsl-plugin" + +# Sub-architecture support +MACHINE_SOCARCH ?= "" +MACHINE_SOCARCH_mx23 = "${TUNE_PKGARCH}-mx23" +MACHINE_SOCARCH_mx28 = "${TUNE_PKGARCH}-mx28" +PACKAGE_EXTRA_ARCHS_append = " ${MACHINE_SOCARCH}" + +MACHINE_ARCH_FILTER = "virtual/kernel" +MACHINE_SOCARCH_FILTER = "libfslcodec libfslvpuwrap libfslparser gst-fsl-plugins" + +INHERIT += "fsl-dynamic-packagearch" + +# Ship kernel modules +MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" + +SERIAL_CONSOLE = "115200 ttyAMA0" diff --git a/conf/machine/twr-vf65gs10.conf b/conf/machine/twr-vf65gs10.conf new file mode 100644 index 0000000..1f19dcb --- /dev/null +++ b/conf/machine/twr-vf65gs10.conf @@ -0,0 +1,21 @@ +#@TYPE: Machine +#@NAME: Freescale Vybrid TWR-VF65GS10 +#@SOC: vf60 +#@DESCRIPTION: Machine configuration for Freescale Vybrid TWR-VF65GS10 +#@MAINTAINER: Anthony Felice + +include conf/machine/include/imx-base.inc +include conf/machine/include/tune-cortexa5.inc + +SOC_FAMILY = "vf60" + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-timesys" + +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/efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch b/efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch new file mode 100644 index 0000000..53f0a52 --- /dev/null +++ b/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 +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 +--- + 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/efl-layer/recipes-efl/efl/efl_1.9.3.bbappend b/efl-layer/recipes-efl/efl/efl_1.9.3.bbappend new file mode 100644 index 0000000..10c99d8 --- /dev/null +++ b/efl-layer/recipes-efl/efl/efl_1.9.3.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch" diff --git a/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch b/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch new file mode 100644 index 0000000..b0be292 --- /dev/null +++ b/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 + +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/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend new file mode 100644 index 0000000..20fc15f --- /dev/null +++ b/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend @@ -0,0 +1,62 @@ +# 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)}" + +PACKAGECONFIG_GL_mx5 = "gles2" +PACKAGECONFIG_append_mx5 = " tslib icu examples" + +PACKAGECONFIG_GL_mx6 = "gles2" +PACKAGECONFIG_append_mx6 = " tslib icu examples" +QT_CONFIG_FLAGS_append_mx6 = "${@base_contains('DISTRO_FEATURES', 'x11', ' -no-eglfs', ' -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 <> ${S}/mkspecs/linux-oe-g++/qmake.conf <> ${S}/mkspecs/linux-oe-g++/qmake.conf <> ${S}/mkspecs/linux-oe-g++/qmake.conf < + +diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro +index d947f3b..c107599 100644 +--- a/src/plugins/plugins.pro ++++ b/src/plugins/plugins.pro +@@ -6,7 +6,7 @@ + + TEMPLATE = subdirs + +-SUBDIRS += m3u ++SUBDIRS += m3u videonode + + android { + SUBDIRS += android opensles +diff --git a/src/plugins/videonode/imx6/imx6.json b/src/plugins/videonode/imx6/imx6.json +new file mode 100644 +index 0000000..08bb12c +--- /dev/null ++++ b/src/plugins/videonode/imx6/imx6.json +@@ -0,0 +1,3 @@ ++{ ++ "Keys": ["sgvideonodes"] ++} +diff --git a/src/plugins/videonode/imx6/imx6.pro b/src/plugins/videonode/imx6/imx6.pro +new file mode 100644 +index 0000000..a2e6798 +--- /dev/null ++++ b/src/plugins/videonode/imx6/imx6.pro +@@ -0,0 +1,21 @@ ++TARGET = imx6vivantevideonode ++QT += multimedia-private qtmultimediaquicktools-private ++ ++PLUGIN_TYPE=video/videonode ++PLUGIN_CLASS_NAME = QSGVivanteVideoNodeFactory ++load(qt_plugin) ++ ++HEADERS += \ ++ qsgvivantevideonode.h \ ++ qsgvivantevideomaterialshader.h \ ++ qsgvivantevideomaterial.h \ ++ qsgvivantevideonodefactory.h ++ ++SOURCES += \ ++ qsgvivantevideonode.cpp \ ++ qsgvivantevideomaterialshader.cpp \ ++ qsgvivantevideomaterial.cpp \ ++ qsgvivantevideonodefactory.cpp ++ ++OTHER_FILES += \ ++ imx6.json +diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp +new file mode 100644 +index 0000000..0ed4e1a +--- /dev/null ++++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp +@@ -0,0 +1,196 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2014 Pelagicore AG ++** Contact: http://www.qt-project.org/legal ++** ++** This file is part of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and Digia. For licensing terms and ++** conditions see http://qt.digia.com/licensing. For further information ++** use the contact form at http://qt.digia.com/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 2.1 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 2.1 requirements ++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ++** ++** In addition, as a special exception, Digia gives you certain additional ++** rights. These rights are described in the Digia Qt LGPL Exception ++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3.0 as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU General Public License version 3.0 requirements will be ++** met: http://www.gnu.org/copyleft/gpl.html. ++** ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#include ++#include ++ ++#include "qsgvivantevideomaterial.h" ++#include "qsgvivantevideomaterialshader.h" ++#include "qsgvivantevideonode.h" ++ ++#include ++#include ++ ++#include ++ ++ ++//#define QT_VIVANTE_VIDEO_DEBUG ++ ++QSGVivanteVideoMaterial::QSGVivanteVideoMaterial() : ++ mOpacity(1.0), ++ mCurrentTexture(0) ++{ ++#ifdef QT_VIVANTE_VIDEO_DEBUG ++ qDebug() << Q_FUNC_INFO; ++#endif ++ ++ setFlag(Blending, false); ++} ++ ++QSGVivanteVideoMaterial::~QSGVivanteVideoMaterial() ++{ ++ for (GLuint id : mBitsToTextureMap.values()) { ++#ifdef QT_VIVANTE_VIDEO_DEBUG ++ qDebug() << "delete texture: " << id; ++#endif ++ glDeleteTextures(1, &id); ++ } ++} ++ ++QSGMaterialType *QSGVivanteVideoMaterial::type() const { ++ static QSGMaterialType theType; ++ return &theType; ++} ++ ++QSGMaterialShader *QSGVivanteVideoMaterial::createShader() const { ++ return new QSGVivanteVideoMaterialShader; ++} ++ ++int QSGVivanteVideoMaterial::compare(const QSGMaterial *other) const { ++ if (this->type() == other->type()) { ++ const QSGVivanteVideoMaterial *m = static_cast(other); ++ if (this->mBitsToTextureMap == m->mBitsToTextureMap) ++ return 0; ++ else ++ return 1; ++ } ++ return 1; ++} ++ ++void QSGVivanteVideoMaterial::updateBlending() { ++ setFlag(Blending, qFuzzyCompare(mOpacity, qreal(1.0)) ? false : true); ++} ++ ++void QSGVivanteVideoMaterial::setCurrentFrame(const QVideoFrame &frame) { ++ QMutexLocker lock(&mFrameMutex); ++ mNextFrame = frame; ++ ++#ifdef QT_VIVANTE_VIDEO_DEBUG ++ qDebug() << Q_FUNC_INFO << " new frame: " << frame; ++#endif ++} ++ ++void QSGVivanteVideoMaterial::bind() ++{ ++ QOpenGLContext *glcontext = QOpenGLContext::currentContext(); ++ if (glcontext == 0) { ++ qWarning() << Q_FUNC_INFO << "no QOpenGLContext::currentContext() => return"; ++ return; ++ } ++ ++ QMutexLocker lock(&mFrameMutex); ++ if (mNextFrame.isValid()) { ++ mCurrentFrame.unmap(); ++ ++ mCurrentFrame = mNextFrame; ++ mCurrentTexture = vivanteMapping(mNextFrame); ++ } ++ else ++ glBindTexture(GL_TEXTURE_2D, mCurrentTexture); ++} ++ ++GLuint QSGVivanteVideoMaterial::vivanteMapping(QVideoFrame vF) ++{ ++ QOpenGLContext *glcontext = QOpenGLContext::currentContext(); ++ if (glcontext == 0) { ++ qWarning() << Q_FUNC_INFO << "no QOpenGLContext::currentContext() => return 0"; ++ return 0; ++ } ++ ++ static PFNGLTEXDIRECTVIVMAPPROC glTexDirectVIVMap_LOCAL = 0; ++ static PFNGLTEXDIRECTINVALIDATEVIVPROC glTexDirectInvalidateVIV_LOCAL = 0; ++ ++ if (glTexDirectVIVMap_LOCAL == 0 || glTexDirectInvalidateVIV_LOCAL == 0) { ++ glTexDirectVIVMap_LOCAL = reinterpret_cast(glcontext->getProcAddress("glTexDirectVIVMap")); ++ glTexDirectInvalidateVIV_LOCAL = reinterpret_cast(glcontext->getProcAddress("glTexDirectInvalidateVIV")); ++ } ++ if (glTexDirectVIVMap_LOCAL == 0 || glTexDirectInvalidateVIV_LOCAL == 0) { ++ qWarning() << Q_FUNC_INFO << "couldn't find \"glTexDirectVIVMap\" and/or \"glTexDirectInvalidateVIV\" => do nothing and return"; ++ return 0; ++ } ++ ++ ++ if (vF.map(QAbstractVideoBuffer::ReadOnly)) { ++ ++ if (!mBitsToTextureMap.contains(vF.bits())) { ++ GLuint tmpTexId; ++ glGenTextures(1, &tmpTexId); ++ mBitsToTextureMap.insert(vF.bits(), tmpTexId); ++ ++ const uchar *constBits = vF.bits(); ++ void *bits = (void*)constBits; ++ ++#ifdef QT_VIVANTE_VIDEO_DEBUG ++ qDebug() << Q_FUNC_INFO << "new texture, texId: " << tmpTexId << "; constBits: " << constBits; ++#endif ++ ++ GLuint physical = ~0U; ++ ++ glBindTexture(GL_TEXTURE_2D, tmpTexId); ++ glTexDirectVIVMap_LOCAL(GL_TEXTURE_2D, ++ vF.width(), vF.height(), ++ QSGVivanteVideoNode::getVideoFormat2GLFormatMap().value(vF.pixelFormat()), ++ &bits, &physical); ++ ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); ++ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); ++ glTexDirectInvalidateVIV_LOCAL(GL_TEXTURE_2D); ++ ++ return tmpTexId; ++ } ++ else { ++ glBindTexture(GL_TEXTURE_2D, mBitsToTextureMap.value(vF.bits())); ++ glTexDirectInvalidateVIV_LOCAL(GL_TEXTURE_2D); ++ return mBitsToTextureMap.value(vF.bits()); ++ } ++ } ++ else { ++#ifdef QT_VIVANTE_VIDEO_DEBUG ++ qWarning() << " couldn't map the QVideoFrame vF: " << vF; ++#endif ++ return 0; ++ } ++ ++ Q_ASSERT(false); // should never reach this line!; ++ return 0; ++} +diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.h b/src/plugins/videonode/imx6/qsgvivantevideomaterial.h +new file mode 100644 +index 0000000..9d792b7 +--- /dev/null ++++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.h +@@ -0,0 +1,80 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2014 Pelagicore AG ++** Contact: http://www.qt-project.org/legal ++** ++** This file is part of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and Digia. For licensing terms and ++** conditions see http://qt.digia.com/licensing. For further information ++** use the contact form at http://qt.digia.com/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 2.1 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 2.1 requirements ++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ++** ++** In addition, as a special exception, Digia gives you certain additional ++** rights. These rights are described in the Digia Qt LGPL Exception ++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3.0 as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU General Public License version 3.0 requirements will be ++** met: http://www.gnu.org/copyleft/gpl.html. ++** ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#ifndef QSGVIDEOMATERIAL_VIVMAP_H ++#define QSGVIDEOMATERIAL_VIVMAP_H ++ ++#include ++#include ++ ++#include ++#include ++#include ++ ++ ++class QSGVivanteVideoMaterial : public QSGMaterial ++{ ++public: ++ QSGVivanteVideoMaterial(); ++ ~QSGVivanteVideoMaterial(); ++ ++ virtual QSGMaterialType *type() const; ++ virtual QSGMaterialShader *createShader() const; ++ virtual int compare(const QSGMaterial *other) const; ++ void updateBlending(); ++ void setCurrentFrame(const QVideoFrame &frame); ++ ++ void bind(); ++ GLuint vivanteMapping(QVideoFrame texIdVideoFramePair); ++ ++ void setOpacity(float o) { mOpacity = o; } ++ ++private: ++ qreal mOpacity; ++ ++ QMap mBitsToTextureMap; ++ QVideoFrame mCurrentFrame, mNextFrame; ++ GLuint mCurrentTexture; ++ ++ QMutex mFrameMutex; ++}; ++ ++#endif // QSGVIDEOMATERIAL_VIVMAP_H +diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.cpp +new file mode 100644 +index 0000000..7b5e5e5 +--- /dev/null ++++ b/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.cpp +@@ -0,0 +1,104 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2014 Pelagicore AG ++** Contact: http://www.qt-project.org/legal ++** ++** This file is part of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and Digia. For licensing terms and ++** conditions see http://qt.digia.com/licensing. For further information ++** use the contact form at http://qt.digia.com/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 2.1 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 2.1 requirements ++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ++** ++** In addition, as a special exception, Digia gives you certain additional ++** rights. These rights are described in the Digia Qt LGPL Exception ++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3.0 as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU General Public License version 3.0 requirements will be ++** met: http://www.gnu.org/copyleft/gpl.html. ++** ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#include "qsgvivantevideomaterialshader.h" ++#include "qsgvivantevideonode.h" ++#include "qsgvivantevideomaterial.h" ++ ++void QSGVivanteVideoMaterialShader::updateState(const RenderState &state, ++ QSGMaterial *newMaterial, ++ QSGMaterial *oldMaterial) ++{ ++ Q_UNUSED(oldMaterial); ++ ++ QSGVivanteVideoMaterial *mat = static_cast(newMaterial); ++ program()->setUniformValue(mIdTexture, 0); ++ mat->bind(); ++ if (state.isOpacityDirty()) { ++ mat->setOpacity(state.opacity()); ++ program()->setUniformValue(mIdOpacity, state.opacity()); ++ } ++ if (state.isMatrixDirty()) ++ program()->setUniformValue(mIdMatrix, state.combinedMatrix()); ++} ++ ++const char * const *QSGVivanteVideoMaterialShader::attributeNames() const { ++ static const char *names[] = { ++ "qt_VertexPosition", ++ "qt_VertexTexCoord", ++ 0 ++ }; ++ return names; ++} ++ ++const char *QSGVivanteVideoMaterialShader::vertexShader() const { ++ static const char *shader = ++ "uniform highp mat4 qt_Matrix; \n" ++ "attribute highp vec4 qt_VertexPosition; \n" ++ "attribute highp vec2 qt_VertexTexCoord; \n" ++ "varying highp vec2 qt_TexCoord; \n" ++ "void main() { \n" ++ " qt_TexCoord = qt_VertexTexCoord; \n" ++ " gl_Position = qt_Matrix * qt_VertexPosition; \n" ++ "}"; ++ return shader; ++} ++ ++const char *QSGVivanteVideoMaterialShader::fragmentShader() const { ++ static const char *shader = ++ "uniform sampler2D texture;" ++ "uniform lowp float opacity;" ++ "" ++ "varying highp vec2 qt_TexCoord;" ++ "" ++ "void main()" ++ "{" ++ " gl_FragColor = texture2D( texture, qt_TexCoord ) * opacity;\n" ++ "}"; ++ return shader; ++} ++ ++ ++void QSGVivanteVideoMaterialShader::initialize() { ++ mIdMatrix = program()->uniformLocation("qt_Matrix"); ++ mIdTexture = program()->uniformLocation("texture"); ++ mIdOpacity = program()->uniformLocation("opacity"); ++} +diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.h b/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.h +new file mode 100644 +index 0000000..570be25 +--- /dev/null ++++ b/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.h +@@ -0,0 +1,64 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2014 Pelagicore AG ++** Contact: http://www.qt-project.org/legal ++** ++** This file is part of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and Digia. For licensing terms and ++** conditions see http://qt.digia.com/licensing. For further information ++** use the contact form at http://qt.digia.com/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 2.1 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 2.1 requirements ++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ++** ++** In addition, as a special exception, Digia gives you certain additional ++** rights. These rights are described in the Digia Qt LGPL Exception ++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3.0 as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU General Public License version 3.0 requirements will be ++** met: http://www.gnu.org/copyleft/gpl.html. ++** ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#ifndef QSGVIDEOMATERIALSHADER_VIVANTE_H ++#define QSGVIDEOMATERIALSHADER_VIVANTE_H ++ ++#include ++ ++class QSGVivanteVideoMaterialShader : public QSGMaterialShader ++{ ++public: ++ void updateState(const RenderState &state, QSGMaterial *newMaterial, QSGMaterial *oldMaterial); ++ virtual char const *const *attributeNames() const; ++ ++protected: ++ virtual const char *vertexShader() const; ++ virtual const char *fragmentShader() const; ++ virtual void initialize(); ++ ++private: ++ int mIdMatrix; ++ int mIdTexture; ++ int mIdOpacity; ++}; ++ ++#endif // QSGVIDEOMATERIALSHADER_VIVANTE_H +diff --git a/src/plugins/videonode/imx6/qsgvivantevideonode.cpp b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp +new file mode 100644 +index 0000000..d5f1e61 +--- /dev/null ++++ b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp +@@ -0,0 +1,90 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2014 Pelagicore AG ++** Contact: http://www.qt-project.org/legal ++** ++** This file is part of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and Digia. For licensing terms and ++** conditions see http://qt.digia.com/licensing. For further information ++** use the contact form at http://qt.digia.com/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 2.1 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 2.1 requirements ++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ++** ++** In addition, as a special exception, Digia gives you certain additional ++** rights. These rights are described in the Digia Qt LGPL Exception ++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3.0 as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU General Public License version 3.0 requirements will be ++** met: http://www.gnu.org/copyleft/gpl.html. ++** ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#include ++#include ++ ++#include "qsgvivantevideonode.h" ++#include "qsgvivantevideomaterialshader.h" ++#include "qsgvivantevideomaterial.h" ++ ++QMap QSGVivanteVideoNode::static_VideoFormat2GLFormatMap = QMap(); ++ ++QSGVivanteVideoNode::QSGVivanteVideoNode(const QVideoSurfaceFormat &format) : ++ mFormat(format) ++{ ++ setFlag(QSGNode::OwnsMaterial, true); ++ mMaterial = new QSGVivanteVideoMaterial(); ++ setMaterial(mMaterial); ++} ++ ++QSGVivanteVideoNode::~QSGVivanteVideoNode() ++{ ++} ++ ++void QSGVivanteVideoNode::setCurrentFrame(const QVideoFrame &frame) ++{ ++ mMaterial->setCurrentFrame(frame); ++ markDirty(DirtyMaterial); ++} ++ ++const QMap& QSGVivanteVideoNode::getVideoFormat2GLFormatMap() ++{ ++ if (static_VideoFormat2GLFormatMap.isEmpty()) { ++ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_YV12, GL_VIV_YV12); ++ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_NV12, GL_VIV_NV12); ++ ++ ++ // The following formats should work but are untested! ++ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_NV21, GL_VIV_NV21); ++ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_UYVY, GL_VIV_UYVY); ++ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_YUYV, GL_VIV_YUY2); ++ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB32, GL_RGBA); ++ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB24, GL_RGB); ++ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB565, GL_RGB565); ++ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_BGRA32, GL_BGRA_EXT); ++ } ++ ++ return static_VideoFormat2GLFormatMap; ++} ++ ++ ++ +diff --git a/src/plugins/videonode/imx6/qsgvivantevideonode.h b/src/plugins/videonode/imx6/qsgvivantevideonode.h +new file mode 100644 +index 0000000..ae2120a +--- /dev/null ++++ b/src/plugins/videonode/imx6/qsgvivantevideonode.h +@@ -0,0 +1,67 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2014 Pelagicore AG ++** Contact: http://www.qt-project.org/legal ++** ++** This file is part of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and Digia. For licensing terms and ++** conditions see http://qt.digia.com/licensing. For further information ++** use the contact form at http://qt.digia.com/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 2.1 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 2.1 requirements ++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ++** ++** In addition, as a special exception, Digia gives you certain additional ++** rights. These rights are described in the Digia Qt LGPL Exception ++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3.0 as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU General Public License version 3.0 requirements will be ++** met: http://www.gnu.org/copyleft/gpl.html. ++** ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#ifndef QSGVIDEONODE_VIVANTE_H ++#define QSGVIDEONODE_VIVANTE_H ++ ++#include ++#include ++ ++class QSGVivanteVideoMaterial; ++class QSGVivanteVideoNode : public QSGVideoNode ++{ ++public: ++ QSGVivanteVideoNode(const QVideoSurfaceFormat &format); ++ ~QSGVivanteVideoNode(); ++ ++ virtual QVideoFrame::PixelFormat pixelFormat() const { return mFormat.pixelFormat(); } ++ void setCurrentFrame(const QVideoFrame &frame); ++ ++ static const QMap& getVideoFormat2GLFormatMap(); ++ ++private: ++ QVideoSurfaceFormat mFormat; ++ QSGVivanteVideoMaterial *mMaterial; ++ ++ static QMap static_VideoFormat2GLFormatMap; ++}; ++ ++#endif // QSGVIDEONODE_VIVANTE_H +diff --git a/src/plugins/videonode/imx6/qsgvivantevideonodefactory.cpp b/src/plugins/videonode/imx6/qsgvivantevideonodefactory.cpp +new file mode 100644 +index 0000000..e0711e1 +--- /dev/null ++++ b/src/plugins/videonode/imx6/qsgvivantevideonodefactory.cpp +@@ -0,0 +1,60 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2014 Pelagicore AG ++** Contact: http://www.qt-project.org/legal ++** ++** This file is part of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and Digia. For licensing terms and ++** conditions see http://qt.digia.com/licensing. For further information ++** use the contact form at http://qt.digia.com/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 2.1 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 2.1 requirements ++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ++** ++** In addition, as a special exception, Digia gives you certain additional ++** rights. These rights are described in the Digia Qt LGPL Exception ++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3.0 as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU General Public License version 3.0 requirements will be ++** met: http://www.gnu.org/copyleft/gpl.html. ++** ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#include "qsgvivantevideonodefactory.h" ++#include "qsgvivantevideonode.h" ++ ++QList QSGVivanteVideoNodeFactory::supportedPixelFormats( ++ QAbstractVideoBuffer::HandleType handleType) const ++{ ++ if (handleType == QAbstractVideoBuffer::NoHandle) ++ return QSGVivanteVideoNode::getVideoFormat2GLFormatMap().keys(); ++ else ++ return QList(); ++} ++ ++QSGVideoNode *QSGVivanteVideoNodeFactory::createNode(const QVideoSurfaceFormat &format) ++{ ++ if (supportedPixelFormats(format.handleType()).contains(format.pixelFormat())) { ++ return new QSGVivanteVideoNode(format); ++ } ++ return 0; ++} +diff --git a/src/plugins/videonode/imx6/qsgvivantevideonodefactory.h b/src/plugins/videonode/imx6/qsgvivantevideonodefactory.h +new file mode 100644 +index 0000000..6fda61b +--- /dev/null ++++ b/src/plugins/videonode/imx6/qsgvivantevideonodefactory.h +@@ -0,0 +1,58 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2014 Pelagicore AG ++** Contact: http://www.qt-project.org/legal ++** ++** This file is part of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:LGPL$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and Digia. For licensing terms and ++** conditions see http://qt.digia.com/licensing. For further information ++** use the contact form at http://qt.digia.com/contact-us. ++** ++** GNU Lesser General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU Lesser ++** General Public License version 2.1 as published by the Free Software ++** Foundation and appearing in the file LICENSE.LGPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU Lesser General Public License version 2.1 requirements ++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ++** ++** In addition, as a special exception, Digia gives you certain additional ++** rights. These rights are described in the Digia Qt LGPL Exception ++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3.0 as published by the Free Software ++** Foundation and appearing in the file LICENSE.GPL included in the ++** packaging of this file. Please review the following information to ++** ensure the GNU General Public License version 3.0 requirements will be ++** met: http://www.gnu.org/copyleft/gpl.html. ++** ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#ifndef QSGVIDEONODEFACTORY_VIVANTE_H ++#define QSGVIDEONODEFACTORY_VIVANTE_H ++ ++#include ++#include ++ ++class QSGVivanteVideoNodeFactory : public QObject, public QSGVideoNodeFactoryInterface ++{ ++public: ++ Q_OBJECT ++ Q_PLUGIN_METADATA(IID QSGVideoNodeFactoryInterface_iid FILE "imx6.json") ++ Q_INTERFACES(QSGVideoNodeFactoryInterface) ++ ++ QList supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType) const; ++ QSGVideoNode *createNode(const QVideoSurfaceFormat &format); ++}; ++#endif // QSGVIDEONODEFACTORY_VIVANTE_H +diff --git a/src/plugins/videonode/videonode.pro b/src/plugins/videonode/videonode.pro +new file mode 100644 +index 0000000..ecc1c0c +--- /dev/null ++++ b/src/plugins/videonode/videonode.pro +@@ -0,0 +1,3 @@ ++TEMPLATE = subdirs ++ ++SUBDIRS += imx6 +-- +2.0.0.rc2 + diff --git a/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend b/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend new file mode 100644 index 0000000..873862b --- /dev/null +++ b/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append_mx6 += " file://add-imx6-support.patch" + +PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}" diff --git a/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch b/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch new file mode 100644 index 0000000..80e55c7 --- /dev/null +++ b/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 +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 +--- + 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/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend b/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend new file mode 100644 index 0000000..5d961e6 --- /dev/null +++ b/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/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend new file mode 100644 index 0000000..6bc0246 --- /dev/null +++ b/recipes-bsp/alsa-state/alsa-state.bbappend @@ -0,0 +1,7 @@ +# Append path for freescale layer to include alsa-state asound.conf +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}" +PACKAGE_ARCH_mx5 = "${MACHINE_ARCH}" +PACKAGE_ARCH_mxs = "${MACHINE_ARCH}" + diff --git a/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf b/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf new file mode 100755 index 0000000..0cbe59b --- /dev/null +++ b/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf @@ -0,0 +1,275 @@ +defaults.pcm.rate_converter "linear" + +pcm.dmix_48000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 48000 +} +} + +pcm.dmix_44100{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 44100 +} +} + +pcm.dmix_32000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 32000 +} +} + +pcm.dmix_24000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 24000 +} +} + +pcm.dmix_22050{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 22050 +} +} + +pcm.dmix_16000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 16000 +} +} + +pcm.dmix_12000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 12000 +} +} + +pcm.dmix_11025{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 11025 +} +} + +pcm.dmix_8000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 8000 +} +} + +pcm.!dsnoop_48000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 48000 +} +} + +pcm.!dsnoop_44100{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 44100 +} +} + +pcm.!dsnoop_32000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 32000 +} +} + +pcm.!dsnoop_24000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 24000 +} +} + +pcm.!dsnoop_22050{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 22050 +} +} + +pcm.!dsnoop_16000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 16000 +} +} + +pcm.!dsnoop_12000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 12000 +} +} + +pcm.!dsnoop_11025{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 11025 +} +} + +pcm.!dsnoop_8000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 8000 +} +} + +pcm.asymed{ +type asym +playback.pcm "dmix_44100" +capture.pcm "dsnoop_44100" +} + +pcm.dsp0{ +type plug +slave.pcm "asymed" +} + +pcm.!default{ +type plug +route_policy "average" +slave.pcm "asymed" +} + +ctl.mixer0{ +type hw +card 0 +} diff --git a/recipes-bsp/alsa-state/alsa-state/mx5/asound.state b/recipes-bsp/alsa-state/alsa-state/mx5/asound.state new file mode 100644 index 0000000..7c13a88 --- /dev/null +++ b/recipes-bsp/alsa-state/alsa-state/mx5/asound.state @@ -0,0 +1,139 @@ +state.imx3stack { + control.1 { + iface MIXER + name 'MIC GAIN' + value '0dB' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 '0dB' + item.1 '20dB' + item.2 '30dB' + item.3 '40dB' + } + } + control.2 { + iface MIXER + name 'Capture Volume' + value.0 12 + value.1 12 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 15' + } + } + control.3 { + iface MIXER + name 'Capture Vol Reduction' + value 'No Change' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'No Change' + item.1 'Reduced by 6dB' + } + } + control.4 { + iface MIXER + name 'Playback Volume' + value.0 192 + value.1 192 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 192' + } + } + control.5 { + iface MIXER + name 'Headphone Volume' + value.0 127 + value.1 127 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 127' + } + } + control.6 { + iface MIXER + name 'DAC Mux' + value DAC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 DAC + item.1 LINE_IN + } + } + control.7 { + iface MIXER + name 'ADC Mux' + value LINE_IN + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 MIC_IN + item.1 LINE_IN + } + } + control.8 { + iface MIXER + name ASRC + value disable + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 disable + item.1 '32KHz' + item.2 '44.1KHz' + item.3 '48KHz' + item.4 '96KHz' + } + } + control.9 { + iface MIXER + name 'Jack Function' + value on + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 off + item.1 on + } + } + control.10 { + iface MIXER + name 'Speaker Function' + value on + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 off + item.1 on + } + } + control.11 { + iface MIXER + name 'Line In Function' + value off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 off + item.1 on + } + } +} diff --git a/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf b/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf new file mode 100644 index 0000000..3f4e048 --- /dev/null +++ b/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf @@ -0,0 +1,257 @@ +defaults.pcm.rate_converter "linear" + +pcm.dmix_48000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 320000 +format S16_LE +rate 48000 +} +} + +pcm.dmix_44100{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 44100 +} +} + +pcm.dmix_32000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 32000 +} +} + +pcm.dmix_24000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 24000 +} +} + +pcm.dmix_22050{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 22050 +} +} + +pcm.dmix_16000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 16000 +} +} + +pcm.dmix_12000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 240000 +format S16_LE +rate 12000 +} +} + +pcm.dmix_11025{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 240000 +format S16_LE +rate 11025 +} +} + +pcm.dmix_8000{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 8000 +} +} + +pcm.!dsnoop_48000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 320000 +format S16_LE +rate 48000 +} +} + +pcm.!dsnoop_44100{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 44100 +} +} + +pcm.!dsnoop_32000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 32000 +} +} + +pcm.!dsnoop_24000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 24000 +} +} + +pcm.!dsnoop_22050{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 22050 +} +} + +pcm.!dsnoop_16000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 16000 +} +} + +pcm.!dsnoop_12000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 240000 +format S16_LE +rate 12000 +} +} + +pcm.!dsnoop_11025{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 240000 +format S16_LE +rate 11025 +} +} + +pcm.!dsnoop_8000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 40000 +buffer_time 360000 +format S16_LE +rate 8000 +} +} + +pcm.asymed{ +type asym +playback.pcm "dmix_44100" +capture.pcm "dsnoop_44100" +} + +pcm.dsp0{ +type plug +slave.pcm "asymed" +} + +pcm.!default{ +type plug +route_policy "average" +slave.pcm "asymed" +} + +ctl.mixer0{ +type hw +card 0 +} diff --git a/recipes-bsp/alsa-state/alsa-state/mx6/asound.state b/recipes-bsp/alsa-state/alsa-state/mx6/asound.state new file mode 100644 index 0000000..552f763 --- /dev/null +++ b/recipes-bsp/alsa-state/alsa-state/mx6/asound.state @@ -0,0 +1,1374 @@ +state.wm8962audio { + control.1 { + iface MIXER + name 'Input Mixer Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.2 { + iface MIXER + name 'MIXINL IN2L Volume' + value 5 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 0 + } + } + control.3 { + iface MIXER + name 'MIXINL PGA Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin 0 + dbmax 3000 + dbvalue.0 0 + } + } + control.4 { + iface MIXER + name 'MIXINL IN3L Volume' + value 5 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 0 + } + } + control.5 { + iface MIXER + name 'MIXINR IN2R Volume' + value 5 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 0 + } + } + control.6 { + iface MIXER + name 'MIXINR PGA Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin 0 + dbmax 3000 + dbvalue.0 0 + } + } + control.7 { + iface MIXER + name 'MIXINR IN3R Volume' + value 7 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 600 + } + } + control.8 { + iface MIXER + name 'Digital Capture Volume' + value.0 108 + value.1 108 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 127' + dbmin -9999999 + dbmax 2325 + dbvalue.0 900 + dbvalue.1 900 + } + } + control.9 { + iface MIXER + name 'Capture Volume' + value.0 63 + value.1 63 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 63' + dbmin -2325 + dbmax 2400 + dbvalue.0 2400 + dbvalue.1 2400 + } + } + control.10 { + iface MIXER + name 'Capture Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.11 { + iface MIXER + name 'Capture ZC Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.12 { + iface MIXER + name 'Capture HPF Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.13 { + iface MIXER + name 'Capture HPF Mode' + value Hi-fi + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Hi-fi + item.1 Application + } + } + control.14 { + iface MIXER + name 'Capture HPF Cutoff' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.15 { + iface MIXER + name 'Capture LHPF Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.16 { + iface MIXER + name 'Capture LHPF Mode' + value LPF + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 LPF + item.1 HPF + } + } + control.17 { + iface MIXER + name 'Sidetone Volume' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 12' + dbmin -3600 + dbmax 0 + dbvalue.0 -3600 + dbvalue.1 -3600 + } + } + control.18 { + iface MIXER + name 'Digital Playback Volume' + value.0 96 + value.1 96 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 127' + dbmin -9999999 + dbmax 2325 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.19 { + iface MIXER + name 'DAC High Performance Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.20 { + iface MIXER + name 'DAC L/R Swap Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.21 { + iface MIXER + name 'ADC L/R Swap Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.22 { + iface MIXER + name 'ADC High Performance Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.23 { + iface MIXER + name 'Beep Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 15' + dbmin -9999999 + dbmax -600 + dbvalue.0 -9999999 + } + } + control.24 { + iface MIXER + name 'Headphone Volume' + value.0 93 + value.1 93 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 127' + dbmin -9999999 + dbmax 600 + dbvalue.0 -2800 + dbvalue.1 -2800 + } + } + control.25 { + iface MIXER + name 'Headphone Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.26 { + iface MIXER + name 'Headphone ZC Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.27 { + iface MIXER + name 'Headphone Aux Volume' + value.0 7 + value.1 7 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 7' + dbmin -700 + dbmax 0 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.28 { + iface MIXER + name 'Headphone Mixer Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.29 { + iface MIXER + name 'HPMIXL IN4L Volume' + value 7 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 600 + } + } + control.30 { + iface MIXER + name 'HPMIXL IN4R Volume' + value 7 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 600 + } + } + control.31 { + iface MIXER + name 'HPMIXL MIXINL Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 0 + } + } + control.32 { + iface MIXER + name 'HPMIXL MIXINR Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 0 + } + } + control.33 { + iface MIXER + name 'HPMIXR IN4L Volume' + value 7 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 600 + } + } + control.34 { + iface MIXER + name 'HPMIXR IN4R Volume' + value 7 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 600 + } + } + control.35 { + iface MIXER + name 'HPMIXR MIXINL Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 0 + } + } + control.36 { + iface MIXER + name 'HPMIXR MIXINR Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 0 + } + } + control.37 { + iface MIXER + name 'Speaker Boost Volume' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin 0 + dbmax 1200 + dbvalue.0 450 + } + } + control.38 { + iface MIXER + name 'EQ Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.39 { + iface MIXER + name 'EQ1 Volume' + value.0 12 + value.1 12 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -1200 + dbmax 1900 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.40 { + iface MIXER + name 'EQ2 Volume' + value.0 12 + value.1 12 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -1200 + dbmax 1900 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.41 { + iface MIXER + name 'EQ3 Volume' + value.0 12 + value.1 12 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -1200 + dbmax 1900 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.42 { + iface MIXER + name 'EQ4 Volume' + value.0 12 + value.1 12 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -1200 + dbmax 1900 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.43 { + iface MIXER + name 'EQ5 Volume' + value.0 12 + value.1 12 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + dbmin -1200 + dbmax 1900 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.44 { + iface MIXER + name '3D Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.45 { + iface MIXER + name '3D Coefficients' + value '0040000000000000' + comment { + access 'read write' + type BYTES + count 8 + } + } + control.46 { + iface MIXER + name 'DF1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.47 { + iface MIXER + name 'DF1 Coefficients' + value '0000000000000000000000000000' + comment { + access 'read write' + type BYTES + count 14 + } + } + control.48 { + iface MIXER + name 'DRC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.49 { + iface MIXER + name 'DRC Coefficients' + value '000c0925000000000000' + comment { + access 'read write' + type BYTES + count 10 + } + } + control.50 { + iface MIXER + name 'VSS Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.51 { + iface MIXER + name 'VSS Coefficients' + value '008c020000350700003a4100008b7d00003a4100008cfee800780000003fb260002d18180020000000f1834000fb830000eeaec000fbac4000f17f8000f43b4000f5fb0000ea10c000fcc58000e275c00004b48000d4f9800004914000d8a48000023dc000cf7a8000dc060000f2dac000baf340000a7940001c068000fd2d00001ce840000ddc4000fc9d000009558000fe7e80000eab4000f99880000987c000fd2c400009480000035f400000870000fae4c000000b400004e18000011f4000f8b00000fbcbc00004f3800007df4000ff070000efd70000fbaf4000108a80001107c000e0080000d276000020cf400030234000fd69c0002835000006330000d9f6c000f33340000f420000040c8000fb3f8000f757c0000354000000c6c0000312c000fd8580' + comment { + access 'read write' + type BYTES + count 296 + } + } + control.52 { + iface MIXER + name 'HPF1 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.53 { + iface MIXER + name 'HPF2 Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.54 { + iface MIXER + name 'HPF Coefficients' + value '0000' + comment { + access 'read write' + type BYTES + count 2 + } + } + control.55 { + iface MIXER + name 'HD Bass Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.56 { + iface MIXER + name 'HD Bass Coefficients' + value '0002bd12007c586c00538121003f8bd80032f52d0065ac8c006be08700721483007214830043352500066a4a0043607900080000000100000059999a' + comment { + access 'read write' + type BYTES + count 60 + } + } + control.57 { + iface MIXER + name 'Speaker Volume' + value.0 114 + value.1 114 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 127' + dbmin -9999999 + dbmax 600 + dbvalue.0 -700 + dbvalue.1 -700 + } + } + control.58 { + iface MIXER + name 'Speaker Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.59 { + iface MIXER + name 'Speaker ZC Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.60 { + iface MIXER + name 'Speaker Mixer Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.61 { + iface MIXER + name 'SPKOUTL Mixer IN4L Volume' + value 7 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 600 + } + } + control.62 { + iface MIXER + name 'SPKOUTL Mixer IN4R Volume' + value 7 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 600 + } + } + control.63 { + iface MIXER + name 'SPKOUTL Mixer MIXINL Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 0 + } + } + control.64 { + iface MIXER + name 'SPKOUTL Mixer MIXINR Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 0 + } + } + control.65 { + iface MIXER + name 'SPKOUTL Mixer DACL Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 -600 + } + } + control.66 { + iface MIXER + name 'SPKOUTL Mixer DACR Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 -600 + } + } + control.67 { + iface MIXER + name 'SPKOUTR Mixer IN4L Volume' + value 7 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 600 + } + } + control.68 { + iface MIXER + name 'SPKOUTR Mixer IN4R Volume' + value 7 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -1500 + dbmax 600 + dbvalue.0 600 + } + } + control.69 { + iface MIXER + name 'SPKOUTR Mixer MIXINL Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 0 + } + } + control.70 { + iface MIXER + name 'SPKOUTR Mixer MIXINR Volume' + value 1 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 0 + } + } + control.71 { + iface MIXER + name 'SPKOUTR Mixer DACL Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 -600 + } + } + control.72 { + iface MIXER + name 'SPKOUTR Mixer DACR Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 1' + dbmin -600 + dbmax 0 + dbvalue.0 -600 + } + } + control.73 { + iface MIXER + name 'SPKOUTR PGA' + value DAC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 DAC + item.1 Mixer + } + } + control.74 { + iface MIXER + name 'SPKOUTL PGA' + value DAC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 DAC + item.1 Mixer + } + } + control.75 { + iface MIXER + name 'SPKOUTR Mixer DACL Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.76 { + iface MIXER + name 'SPKOUTR Mixer DACR Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.77 { + iface MIXER + name 'SPKOUTR Mixer MIXINL Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.78 { + iface MIXER + name 'SPKOUTR Mixer MIXINR Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.79 { + iface MIXER + name 'SPKOUTR Mixer IN4L Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.80 { + iface MIXER + name 'SPKOUTR Mixer IN4R Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.81 { + iface MIXER + name 'SPKOUTL Mixer DACL Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.82 { + iface MIXER + name 'SPKOUTL Mixer DACR Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.83 { + iface MIXER + name 'SPKOUTL Mixer MIXINL Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.84 { + iface MIXER + name 'SPKOUTL Mixer MIXINR Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.85 { + iface MIXER + name 'SPKOUTL Mixer IN4L Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.86 { + iface MIXER + name 'SPKOUTL Mixer IN4R Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.87 { + iface MIXER + name 'HPOUTR PGA' + value DAC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 DAC + item.1 Mixer + } + } + control.88 { + iface MIXER + name 'HPOUTL PGA' + value DAC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 DAC + item.1 Mixer + } + } + control.89 { + iface MIXER + name 'HPMIXR DACL Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.90 { + iface MIXER + name 'HPMIXR DACR Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.91 { + iface MIXER + name 'HPMIXR MIXINL Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.92 { + iface MIXER + name 'HPMIXR MIXINR Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.93 { + iface MIXER + name 'HPMIXR IN4L Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.94 { + iface MIXER + name 'HPMIXR IN4R Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.95 { + iface MIXER + name 'HPMIXL DACL Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.96 { + iface MIXER + name 'HPMIXL DACR Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.97 { + iface MIXER + name 'HPMIXL MIXINL Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.98 { + iface MIXER + name 'HPMIXL MIXINR Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.99 { + iface MIXER + name 'HPMIXL IN4L Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.100 { + iface MIXER + name 'HPMIXL IN4R Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.101 { + iface MIXER + name STR + value None + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 None + item.1 Left + item.2 Right + } + } + control.102 { + iface MIXER + name STL + value None + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 None + item.1 Left + item.2 Right + } + } + control.103 { + iface MIXER + name 'MIXINR IN2R Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.104 { + iface MIXER + name 'MIXINR IN3R Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.105 { + iface MIXER + name 'MIXINR PGA Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.106 { + iface MIXER + name 'MIXINL IN2L Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.107 { + iface MIXER + name 'MIXINL IN3L Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.108 { + iface MIXER + name 'MIXINL PGA Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.109 { + iface MIXER + name 'INPGAR IN1R Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.110 { + iface MIXER + name 'INPGAR IN2R Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.111 { + iface MIXER + name 'INPGAR IN3R Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.112 { + iface MIXER + name 'INPGAR IN4R Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.113 { + iface MIXER + name 'INPGAL IN1L Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.114 { + iface MIXER + name 'INPGAL IN2L Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.115 { + iface MIXER + name 'INPGAL IN3L Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.116 { + iface MIXER + name 'INPGAL IN4L Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } +} diff --git a/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf b/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf new file mode 100644 index 0000000..39cb396 --- /dev/null +++ b/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf @@ -0,0 +1,299 @@ +defaults.pcm.rate_converter "linear" + +pcm.dmix_48000{ +type plug +slave.pcm{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 48000 +} +} +} + +pcm.dmix_44100{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 44100 +} +} + +pcm.dmix_32000{ +type plug +slave.pcm{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 32000 +} +} +} + +pcm.dmix_24000{ +type plug +slave.pcm{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 24000 +} +} +} + +pcm.dmix_22050{ +type plug +slave.pcm{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 22050 +} +} +} + +pcm.dmix_16000{ +type plug +slave.pcm{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 16000 +} +} +} + +pcm.dmix_12000{ +type plug +slave.pcm{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 12000 +} +} +} + +pcm.dmix_11025{ +type plug +slave.pcm{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 11025 +} +} +} + +pcm.dmix_8000{ +type plug +slave.pcm{ +type dmix +ipc_key 5678293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 8000 +} +} +} + +pcm.!dsnoop_48000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 48000 +} +} + +pcm.!dsnoop_44100{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 44100 +} +} + +pcm.!dsnoop_32000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 32000 +} +} + +pcm.!dsnoop_24000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 24000 +} +} + +pcm.!dsnoop_22050{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 22050 +} +} + +pcm.!dsnoop_16000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 16000 +} +} + +pcm.!dsnoop_12000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 12000 +} +} + +pcm.!dsnoop_11025{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 11025 +} +} + +pcm.!dsnoop_8000{ +type dsnoop +ipc_key 5778293 +ipc_key_add_uid yes +slave{ +pcm "hw:0,0" +period_time 0 +period_size 2048 +buffer_size 24576 +format S16_LE +rate 8000 +} +} + +pcm.asymed{ +type asym +playback.pcm "dmix_44100" +capture.pcm "dsnoop_44100" +} + +pcm.dsp0{ +type plug +slave.pcm "asymed" +} + +pcm.!default{ +type plug +route_policy "average" +slave.pcm "asymed" +} + +ctl.mixer0{ +type hw +card 0 +} diff --git a/recipes-bsp/alsa-state/alsa-state/mxs/asound.state b/recipes-bsp/alsa-state/alsa-state/mxs/asound.state new file mode 100644 index 0000000..d508cc3 --- /dev/null +++ b/recipes-bsp/alsa-state/alsa-state/mxs/asound.state @@ -0,0 +1,191 @@ +state.mxsevk { + control.1 { + iface MIXER + name 'MIC GAIN' + value '0dB' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 '0dB' + item.1 '20dB' + item.2 '30dB' + item.3 '40dB' + } + } + control.2 { + iface MIXER + name 'Capture Volume' + value.0 12 + value.1 12 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 15' + } + } + control.3 { + iface MIXER + name 'Capture Vol Reduction' + value 'No Change' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'No Change' + item.1 'Reduced by 6dB' + } + } + control.4 { + iface MIXER + name 'Playback Volume' + value.0 156 + value.1 156 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 192' + } + } + control.5 { + iface MIXER + name 'Headphone Volume' + value.0 127 + value.1 127 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 127' + } + } + control.6 { + iface MIXER + name 'DAC Mux' + value DAC + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 DAC + item.1 LINE_IN + } + } + control.7 { + iface MIXER + name 'ADC Mux' + value MIC_IN + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 MIC_IN + item.1 LINE_IN + } + } +} +state.mxsevk_1 { + control.1 { + iface MIXER + name PRO + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.2 { + iface MIXER + name AUDIO + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.3 { + iface MIXER + name COPY + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.4 { + iface MIXER + name PRE + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.5 { + iface MIXER + name CC + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 127' + } + } + control.6 { + iface MIXER + name L + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.7 { + iface MIXER + name V + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.8 { + iface MIXER + name 'USER DATA' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.9 { + iface MIXER + name 'AUTO MUTE' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.10 { + iface MIXER + name 'V CONFIG' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } +} diff --git a/recipes-bsp/barebox/barebox.inc b/recipes-bsp/barebox/barebox.inc new file mode 100644 index 0000000..0d5c127 --- /dev/null +++ b/recipes-bsp/barebox/barebox.inc @@ -0,0 +1,63 @@ +DESCRIPTION = "Barebox - a bootloader that inherits the best of U-Boot and the Linux kernel" +HOMEPAGE = "http://www.barebox.org/" +SECTION = "bootloader" +PROVIDES = "virtual/bootloader" +PRIORITY = "optional" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=057bf9e50e1ca857d0eb97bfe4ba8e5d" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit kernel-arch + +EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" + +BAREBOX_BINARY ?= "barebox.bin" +BAREBOX_IMAGE ?= "barebox-${MACHINE}-${PV}-${PR}.bin" +BAREBOXENV_BIN ?= "bareboxenv-${MACHINE}-${PV}-${PR}.bin" +BAREBOX_SYMLINK ?= "barebox-${MACHINE}.bin" +BAREBOXENV_SYMLINK ?= "bareboxenv-${MACHINE}.bin" + +INSANE_SKIP_${PN} = "True" + +do_pre_configure() { + cp ${WORKDIR}/defconfig ${S}/.config + oe_runmake oldconfig +} +addtask pre_configure before do_configure after do_patch + +do_compile () { + if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then + sed -i 's/$(CROSS_COMPILE)ld/$(CROSS_COMPILE)ld.bfd/g' Makefile + fi + unset LDFLAGS + unset CFLAGS + unset CPPFLAGS + oe_runmake all +} + +do_deploy () { + install -d ${DEPLOY_DIR_IMAGE} + install ${S}/${BAREBOX_BINARY} ${DEPLOY_DIR_IMAGE}/${BAREBOX_IMAGE} + + cd ${DEPLOY_DIR_IMAGE} + rm -f ${BAREBOX_SYMLINK} + ln -sf ${BAREBOX_IMAGE} ${BAREBOX_SYMLINK} + + install -d ${STAGING_BINDIR_NATIVE} + cd ${S} + install -m 755 scripts/mkimage ${STAGING_BINDIR_NATIVE}/ + install -m 755 scripts/bareboxenv ${STAGING_BINDIR_NATIVE}/ +} + +do_deploy[dirs] = "${S}" +addtask deploy before do_build after do_compile + +do_env_deploy() { + install ${S}/common/barebox_default_env ${DEPLOY_DIR_IMAGE}/${BAREBOXENV_BIN} + + cd ${DEPLOY_DIR_IMAGE} + rm -f ${BAREBOXENV_SYMLINK} + ln -sf ${BAREBOXENV_BIN} ${BAREBOXENV_SYMLINK} +} +addtask env_deploy before do_build after do_deploy diff --git a/recipes-bsp/barebox/barebox_2013.08.0.bb b/recipes-bsp/barebox/barebox_2013.08.0.bb new file mode 100644 index 0000000..e4e3717 --- /dev/null +++ b/recipes-bsp/barebox/barebox_2013.08.0.bb @@ -0,0 +1,9 @@ +require recipes-bsp/barebox/barebox.inc + +SRC_URI = "http://barebox.org/download/${PN}-${PV}.tar.bz2 \ + file://defconfig" + +SRC_URI[md5sum] = "a61b97a2fedebc808d4b182c2ca18a0c" +SRC_URI[sha256sum] = "d9e46dd3c68b04ab4cbc37135dc34907dbebef393da4b3e54abb203c295c1620" + +COMPATIBLE_MACHINE = "Invalid!" diff --git a/recipes-bsp/elftosb/elftosb_10.12.01.bb b/recipes-bsp/elftosb/elftosb_10.12.01.bb new file mode 100644 index 0000000..2cef1f6 --- /dev/null +++ b/recipes-bsp/elftosb/elftosb_10.12.01.bb @@ -0,0 +1,22 @@ +# Copyright (C) 2011, 2012 Freescale +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Helper utility for freescale imx platforms" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=172ede34353056ebec7a597d8459f029" +SECTION = "bootloader" +PR = "r4" +BBCLASSEXTEND = "native nativesdk" + +SRC_URI = "http://repository.timesys.com/buildsources/e/elftosb/elftosb-${PV}/elftosb-${PV}.tar.gz \ + file://cross-build.patch \ + file://don-t-use-full-path-for-headers.patch" +SRC_URI[md5sum] = "e8005d606c1e0bb3507c82f6eceb3056" +SRC_URI[sha256sum] = "77bb6981620f7575b87d136d94c7daa88dd09195959cc75fc18b138369ecd42b" + +do_install() { + install -d ${D}${bindir} + install ${S}/bld/linux/elftosb ${D}${bindir} + install ${S}/bld/linux/keygen ${D}${bindir} + install ${S}/bld/linux/sbtool ${D}${bindir} +} diff --git a/recipes-bsp/elftosb/files/cross-build.patch b/recipes-bsp/elftosb/files/cross-build.patch new file mode 100644 index 0000000..8cffa03 --- /dev/null +++ b/recipes-bsp/elftosb/files/cross-build.patch @@ -0,0 +1,50 @@ +--- a/makefile.rules.orig 2012-05-09 21:03:28.000000000 +0200 ++++ b/makefile.rules 2012-05-09 21:03:56.000000000 +0200 +@@ -9,6 +9,8 @@ + # SRC_DIR needs to be passed in. It is assumed that make is running in + # the build directory. + ++CC ?= gcc ++ + #******************************************************************************* + # Environment + +@@ -101,7 +103,7 @@ + keygen.o + + +-LIBS = -lstdc++ ++LIBS ?= -lstdc++ -lm + + + ifeq ("${UNAMES}", "Linux") +@@ -137,13 +139,13 @@ + ${EXEC_FILE_ELFTOSB2} ${EXEC_FILE_SBTOOL} ${EXEC_FILE_KEYGEN} + + elftosb: ${OBJ_FILES_ELFTOSB2} +- gcc ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2} ++ ${CC} ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2} + + sbtool: ${OBJ_FILES_SBTOOL} +- gcc ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL} ++ ${CC} ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL} + + keygen: ${OBJ_FILES_KEYGEN} +- gcc ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN} ++ ${CC} ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN} + + + #ifeq ("${UNAMES}", "Linux") +@@ -153,10 +155,10 @@ + .SUFFIXES : .c .cpp + + .c.o : +- gcc ${CFLAGS} -c $< ++ ${CC} ${CFLAGS} -c $< + + .cpp.o : +- gcc ${CFLAGS} -c $< ++ ${CC} ${CFLAGS} -c $< + + #endif + diff --git a/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch b/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch new file mode 100644 index 0000000..8996ffb --- /dev/null +++ b/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch @@ -0,0 +1,42 @@ +elftosb: don't use full path for headers + +This fixes the building on new host distributions where header might +move due multilib support and other possible changes in future. + +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador +--- + 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 + #include + //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 + //typedef unsigned long uint32_t; + //typedef unsigned short uint16_t; + //typedef unsigned char uint8_t; +-- +1.7.2.5 + diff --git a/recipes-bsp/firmware-imx/firmware-imx.inc b/recipes-bsp/firmware-imx/firmware-imx.inc new file mode 100644 index 0000000..0f49937 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx.inc @@ -0,0 +1,47 @@ +SUMMARY = "Freescale IMX firmware" +DESCRIPTION = "Freescale IMX firmware such as for the VPU" +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://licenses/vpu/EULA;md5=6469a8514eed615d6bf8c09f41846d8f" + +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 '{}' ';' + rm ${D}/lib/firmware/LICENCE.atheros_firmware \ + ${D}/lib/firmware/README + + # FIXME: Remove firmware packaged in linux-firmware + rm -r ${D}/lib/firmware/ath6k ${D}/lib/firmware/ar3k +} + +python populate_packages_prepend() { + vpudir = bb.data.expand('/lib/firmware/vpu', d) + do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin', + output_pattern='firmware-imx-vpu-%s', + description='Freescale IMX Firmware %s', + extra_depends='', + prepend=True) + + sdmadir = bb.data.expand('/lib/firmware/sdma', d) + do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin', + output_pattern='firmware-imx-sdma-%s', + description='Freescale IMX Firmware %s', + extra_depends='', + prepend=True) +} + +ALLOW_EMPTY_${PN} = "1" + +PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" diff --git a/recipes-bsp/firmware-imx/firmware-imx_3.0.35-4.0.0.bb b/recipes-bsp/firmware-imx/firmware-imx_3.0.35-4.0.0.bb new file mode 100644 index 0000000..d82aac8 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx_3.0.35-4.0.0.bb @@ -0,0 +1,8 @@ +require firmware-imx.inc + +PR = "r5.0" + +SRC_URI[md5sum] = "f23ce8437e141c1d20e3bf175eb3af7f" +SRC_URI[sha256sum] = "5aaf5e91dbec8072fec613218c0fc939d9a59e74df53054f49ab31f1f0dd25d9" + +COMPATIBLE_MACHINE = "(mx5|mx6)" diff --git a/recipes-bsp/firmware-imx/firmware-imx_3.10.17-1.0.0.bb b/recipes-bsp/firmware-imx/firmware-imx_3.10.17-1.0.0.bb new file mode 100644 index 0000000..0e95d02 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx_3.10.17-1.0.0.bb @@ -0,0 +1,10 @@ +# Copyright (C) 2012-2014 Freescale Semiconductor + +require recipes-bsp/firmware-imx/firmware-imx.inc + +PE="1" + +SRC_URI[md5sum] = "29a54f6e5bf889a00cd8ca85080af223" +SRC_URI[sha256sum] = "768d857dfc1bec344fbd95665e450030d5a0d541a695027f6d7815e0309bea37" + +COMPATIBLE_MACHINE = "(mx6)" diff --git a/recipes-bsp/formfactor/formfactor/imx51evk/machconfig b/recipes-bsp/formfactor/formfactor/imx51evk/machconfig new file mode 100644 index 0000000..3dbcc11 --- /dev/null +++ b/recipes-bsp/formfactor/formfactor/imx51evk/machconfig @@ -0,0 +1,11 @@ +# Display options +HAVE_TOUCHSCREEN=0 +HAVE_KEYBOARD=1 + +#DISPLAY_CAN_ROTATE=0 +#DISPLAY_ORIENTATION=0 +#DISPLAY_WIDTH_PIXELS=1024 +#DISPLAY_HEIGHT_PIXELS=720 +#DISPLAY_BPP=16 +#DISPLAY_DPI=150 +#DISPLAY_SUBPIXEL_ORDER=vrgb diff --git a/recipes-bsp/formfactor/formfactor/imx53ard/machconfig b/recipes-bsp/formfactor/formfactor/imx53ard/machconfig new file mode 100644 index 0000000..7f884fe --- /dev/null +++ b/recipes-bsp/formfactor/formfactor/imx53ard/machconfig @@ -0,0 +1,13 @@ +# Display options +HAVE_TOUCHSCREEN=1 +HAVE_KEYBOARD=0 + +TSLIB_TSDEVICE="/dev/input/touchscreen0" + +#DISPLAY_CAN_ROTATE=0 +#DISPLAY_ORIENTATION=0 +#DISPLAY_WIDTH_PIXELS=1024 +#DISPLAY_HEIGHT_PIXELS=720 +#DISPLAY_BPP=16 +#DISPLAY_DPI=150 +#DISPLAY_SUBPIXEL_ORDER=vrgb diff --git a/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig b/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig new file mode 100644 index 0000000..3dbcc11 --- /dev/null +++ b/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig @@ -0,0 +1,11 @@ +# Display options +HAVE_TOUCHSCREEN=0 +HAVE_KEYBOARD=1 + +#DISPLAY_CAN_ROTATE=0 +#DISPLAY_ORIENTATION=0 +#DISPLAY_WIDTH_PIXELS=1024 +#DISPLAY_HEIGHT_PIXELS=720 +#DISPLAY_BPP=16 +#DISPLAY_DPI=150 +#DISPLAY_SUBPIXEL_ORDER=vrgb diff --git a/recipes-bsp/formfactor/formfactor_%.bbappend b/recipes-bsp/formfactor/formfactor_%.bbappend new file mode 100644 index 0000000..8c77b8d --- /dev/null +++ b/recipes-bsp/formfactor/formfactor_%.bbappend @@ -0,0 +1,2 @@ +# Append path for freescale to include costom matchconfig +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch b/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch new file mode 100644 index 0000000..1deca1c --- /dev/null +++ b/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch @@ -0,0 +1,46 @@ +imx-bootlets: Add command script for barebox + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Alexandre Belloni + +diff --git a/barebox_ivt.bd b/barebox_ivt.bd +new file mode 100644 +index 0000000..79cbccf +--- /dev/null ++++ b/barebox_ivt.bd +@@ -0,0 +1,34 @@ ++// STMP378x ROM command script to load and run barebox ++ ++sources { ++ power_prep="imx-bootlets-power_prep-@MACHINE@"; ++ sdram_prep="imx-bootlets-boot_prep-@MACHINE@"; ++ barebox="barebox-@MACHINE@.bin"; ++} ++ ++section (0) { ++ ++ //---------------------------------------------------------- ++ // Power Supply initialization ++ //---------------------------------------------------------- ++ ++ load power_prep; ++ load ivt (entry = power_prep:_start) > 0x8000; ++ hab call 0x8000; ++ ++ //---------------------------------------------------------- ++ // SDRAM initialization ++ //---------------------------------------------------------- ++ ++ load sdram_prep; ++ load ivt (entry = sdram_prep:_start) > 0x8000; ++ hab call 0x8000; ++ //---------------------------------------------------------- ++ // Load and call barebox - ELF ARM image ++ //---------------------------------------------------------- ++ ++ load barebox; ++ load ivt (entry = barebox:start) > 0x8000; ++ hab call 0x8000; ++ ++} diff --git a/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch b/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch new file mode 100644 index 0000000..d54add1 --- /dev/null +++ b/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch @@ -0,0 +1,28 @@ +imx-bootlets: Fix paths for used during boot stream generation + +This will be run during image generation thus this won't use a +complete path to allow for relocation. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Otavio Salvador + +diff --git a/linux.bd b/linux.bd +index 516f4f2..366ac22 100644 +--- a/linux.bd ++++ b/linux.bd +@@ -4,10 +4,10 @@ + flags = 0x01; + } + sources { +- power_prep="./power_prep/power_prep"; +- sdram_prep="./boot_prep/boot_prep"; +- linux_prep="./linux_prep/output-target/linux_prep"; +- zImage = "./zImage"; ++ power_prep="imx-bootlets-power_prep-@MACHINE@"; ++ sdram_prep="imx-bootlets-boot_prep-@MACHINE@"; ++ linux_prep="imx-bootlets-linux_prep-@MACHINE@"; ++ zImage="zImage-@MACHINE@.bin@DTB@"; + } + + section (0) { diff --git a/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch b/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch new file mode 100644 index 0000000..4fb4c51 --- /dev/null +++ b/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch @@ -0,0 +1,30 @@ +imx-bootlets: Fix cmdlines for Linux boot + +This adapt the cmdlines for the partitioning layout used on the +generated SD cards. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Otavio Salvador + +diff --git a/linux_prep/cmdlines/iMX28_EVK.txt b/linux_prep/cmdlines/iMX28_EVK.txt +index 6bc36b9..6cf89a0 100644 +--- a/linux_prep/cmdlines/iMX28_EVK.txt ++++ b/linux_prep/cmdlines/iMX28_EVK.txt +@@ -1 +1 @@ +-console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait ++console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait +diff --git a/linux_prep/cmdlines/stmp378x_dev.txt b/linux_prep/cmdlines/stmp378x_dev.txt +index 9a717eb..fdb7390 100644 +--- a/linux_prep/cmdlines/stmp378x_dev.txt ++++ b/linux_prep/cmdlines/stmp378x_dev.txt +@@ -1,6 +1,3 @@ +-console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait lcd_panel=lms430 no_console_suspend +-console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait lcd_panel=lms350 +-console=ttyAM0,115200 ssp1=spi1 ubi.mtd=2 root=ubi0:rootfs0 rootfstype=ubifs lcd_panel=lms430 +- +- +- ++console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait ssp1=mmc lcd_panel=lms430 no_console_suspend ++console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait ssp1=mmc lcd_panel=lms350 ++console=ttyAMA0,115200 ssp1=spi1 ubi.mtd=2 root=ubi0:rootfs0 rootfstype=ubifs lcd_panel=lms430 diff --git a/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb b/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb new file mode 100644 index 0000000..367e83b --- /dev/null +++ b/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb @@ -0,0 +1,79 @@ +DESCRIPTION = "i.MXS boot streams" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" + +PR = "r5" + +SRC_URI = "http://download.ossystems.com.br/bsp/freescale/source/imx-bootlets-src-${PV}.tar.gz \ + file://linux-fix-paths.patch \ + file://linux_prep-fix-cmdlines.patch \ + file://add-command-script-for-barebox.patch" + +SRC_URI[md5sum] = "cf0ab3822dca694b930a051501c1d0e4" +SRC_URI[sha256sum] = "63f6068ae36884adef4259bbb1fe2591755718f22c46d0a59d854883dfab1ffc" + +S = "${WORKDIR}/imx-bootlets-src-${PV}" + +inherit deploy + +# Disable parallel building or it may fail to build. +PARALLEL_MAKE = "" + +EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" + +# Ensure machine defines the IMXBOOTLETS_MACHINE +python () { + if not d.getVar("IMXBOOTLETS_MACHINE", True): + PN = d.getVar("PN", True) + FILE = os.path.basename(d.getVar("FILE", True)) + bb.debug(1, "To build %s, see %s for instructions on \ + setting up your machine config" % (PN, FILE)) + raise bb.parse.SkipPackage("because IMXBOOTLETS_MACHINE is not set") +} + +do_configure () { + # Use machine specific binaries + sed 's,@MACHINE@,${MACHINE},g;s,@DTB@,-dtb,g' < linux.bd > linux.bd-dtb + sed -i 's,@MACHINE@,${MACHINE},g;s,@DTB@,,g' linux.bd + sed -i 's,@MACHINE@,${MACHINE},g' barebox_ivt.bd +} + +do_compile () { + oe_runmake BOARD=${IMXBOOTLETS_MACHINE} linux_prep \ + boot_prep \ + power_prep \ + 'CC=${TARGET_PREFIX}gcc --sysroot="${STAGING_DIR_TARGET}"' \ + 'LD=${TARGET_PREFIX}ld --sysroot="${STAGING_DIR_TARGET}"' +} + +do_install () { + install -d ${D}/boot/ + install -m 644 boot_prep/boot_prep power_prep/power_prep \ + linux_prep/output-target/linux_prep \ + linux.bd linux.bd-dtb \ + barebox_ivt.bd \ + ${D}/boot +} + +FILES_${PN} = "/boot" + +do_deploy () { + install -d ${DEPLOYDIR} + + for f in boot_prep/boot_prep \ + power_prep/power_prep \ + linux_prep/output-target/linux_prep \ + barebox_ivt.bd \ + linux.bd linux.bd-dtb; do + full_name="imx-bootlets-`basename $f`-${MACHINE}-${PV}-${PR}" + symlink_name="imx-bootlets-`basename $f`-${MACHINE}" + + install -m 644 ${S}/$f ${DEPLOYDIR}/$full_name + (cd ${DEPLOYDIR} ; rm -f $symlink_name ; ln -sf $full_name $symlink_name) + done +} + +addtask deploy before do_build after do_compile + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(mxs)" diff --git a/recipes-bsp/imx-kobs/imx-kobs_3.10.17-1.0.0.bb b/recipes-bsp/imx-kobs/imx-kobs_3.10.17-1.0.0.bb new file mode 100644 index 0000000..68a30ac --- /dev/null +++ b/recipes-bsp/imx-kobs/imx-kobs_3.10.17-1.0.0.bb @@ -0,0 +1,13 @@ +# Copyright (C) 2013, 2014 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] = "df477a6ce9abfa3077fa1a7bb97942e1" +SRC_URI[sha256sum] = "9458bac13a8e58e3d13cb2861d2b3d2cffd990e675c919c65548b71b6dda2776" + +inherit autotools pkgconfig diff --git a/recipes-bsp/imx-lib/imx-lib.inc b/recipes-bsp/imx-lib/imx-lib.inc new file mode 100644 index 0000000..243eb88 --- /dev/null +++ b/recipes-bsp/imx-lib/imx-lib.inc @@ -0,0 +1,28 @@ +# 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" + +PARALLEL_MAKE="-j 1" +EXTRA_OEMAKE = "" + +SRC_URI = "${FSL_MIRROR}/imx-lib-${PV}.tar.gz" + +do_compile () { + INCLUDE_DIR="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include \ + -I${STAGING_KERNEL_DIR}/drivers/mxc/security/rng/include \ + -I${STAGING_KERNEL_DIR}/drivers/mxc/security/sahara2/include" + + oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all +} + +do_install () { + oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install +} diff --git a/recipes-bsp/imx-lib/imx-lib_11.09.02.bb b/recipes-bsp/imx-lib/imx-lib_11.09.02.bb new file mode 100644 index 0000000..07c6e35 --- /dev/null +++ b/recipes-bsp/imx-lib/imx-lib_11.09.02.bb @@ -0,0 +1,8 @@ +# Copyright (C) 2013 Freescale Semiconductor +require imx-lib.inc + +SRC_URI = "${FSL_MIRROR}/imx-lib-${PV}.tar.gz" +SRC_URI[md5sum] = "a4e7447e35cfac0b966a51f001390d6e" +SRC_URI[sha256sum] = "3ed082005789db0c9c41e14073417319f4e23f5646a7d21f34840470f4328bd5" + +COMPATIBLE_MACHINE = "(mx5)" diff --git a/recipes-bsp/imx-lib/imx-lib_3.10.17-1.0.0.bb b/recipes-bsp/imx-lib/imx-lib_3.10.17-1.0.0.bb new file mode 100644 index 0000000..93f5482 --- /dev/null +++ b/recipes-bsp/imx-lib/imx-lib_3.10.17-1.0.0.bb @@ -0,0 +1,10 @@ +# Copyright (C) 2013, 2014 Freescale Semiconductor + +include imx-lib.inc + +PE = "1" + +SRC_URI[md5sum] = "8e3346d5f33b5aa5f915a0dd8aa99cc9" +SRC_URI[sha256sum] = "f42605971977e5fe1ed9e7ce17ea3f97586a23fbc60fa0f679940d379c72303e" + +COMPATIBLE_MACHINE = "(mx6)" diff --git a/recipes-bsp/imx-test/imx-test-hdcp_3.10.17-1.0.0.bb b/recipes-bsp/imx-test/imx-test-hdcp_3.10.17-1.0.0.bb new file mode 100644 index 0000000..b326b08 --- /dev/null +++ b/recipes-bsp/imx-test/imx-test-hdcp_3.10.17-1.0.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Test programs for IMX BSP" +DESCRIPTION = "Linux HDCP test application for imx6 platform" +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://EULA.txt;md5=93b784b1c11b3fffb1638498a8dde3f6" + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" + +SRC_URI[md5sum] = "7289f732beac67c50a1857d86e43c6eb" +SRC_URI[sha256sum] = "a64075953103da6a06714bdacb3bfa43845c2bd304d1cd00b5443d3edf02d904" + +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +inherit fsl-eula-unpack + +do_install() { + install -d ${D}/unit_tests + install -m 755 ${S}/*.out ${D}/unit_tests/ +} + +FILES_${PN} += "/unit_tests" + +COMPATIBLE_MACHINE = "(mx6)" diff --git a/recipes-bsp/imx-test/imx-test.inc b/recipes-bsp/imx-test/imx-test.inc new file mode 100644 index 0000000..94dbdc3 --- /dev/null +++ b/recipes-bsp/imx-test/imx-test.inc @@ -0,0 +1,58 @@ +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_mxs = "virtual/kernel" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" + +PE = "1" + +PLATFORM_mx6 = "IMX6Q" +PLATFORM_mx6sl = "IMX6S" +PLATFORM_mx53 = "IMX53" +PLATFORM_mx51 = "IMX51" + +SRC_URI = "${FSL_MIRROR}/imx-test-${PV}.tar.gz" + +inherit module-base + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +INCLUDE_DIR="-I${STAGING_INCDIR} \ + -I${S}/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" + +# 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_compile() { + LDFLAGS="" make PLATFORM=${PLATFORM} LINUXPATH=${STAGING_KERNEL_DIR} \ + KBUILD_OUTPUT=${STAGING_KERNEL_DIR} CROSS_COMPILE=${TARGET_PREFIX} V=1 \ + INC="${INCLUDE_DIR}" +} + +do_install() { + install -d ${D}/unit_tests + install -m 755 test-utils.sh ${D}/unit_tests/test-utils.sh + install -m 755 ${S}/platform/${PLATFORM}/* ${D}/unit_tests/ + if [ -e ${WORKDIR}/clocks.sh ]; then + install -m 755 ${WORKDIR}/clocks.sh ${D}/unit_tests/clocks.sh + fi +} + +FILES_${PN} += "/unit_tests" +RDEPENDS_${PN} = "bash" + +FILES_${PN}-dbg += "/unit_tests/.debug" diff --git a/recipes-bsp/imx-test/imx-test/clocks.sh b/recipes-bsp/imx-test/imx-test/clocks.sh new file mode 100755 index 0000000..2121bef --- /dev/null +++ b/recipes-bsp/imx-test/imx-test/clocks.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# This script is taken directly from the section 5.10 of the Freescale Application Note +# AN4509 and it simple prints the CPU clocks in a nice format + +saved_path=$PWD +if ! mount|grep -sq '/sys/kernel/debug'; then + mount -t debugfs none /sys/kernel/debug +fi + +printf "%-24s %-20s %3s %9s\n" "clock" "parent" "use" "flags" "rate" + +for foo in $(find /sys/kernel/debug/clock -type d); do + if [ "$foo" = '/sys/kernel/debug/clock' ]; then + continue + fi + cd $foo + ec="$(cat usecount)" + rate="$(cat rate)" + flag="$(cat flags)" + clk="$(basename $foo)" + cd .. + parent="$(basename $PWD)" + if [ "$parent" = 'clock' ]; then + parent=" ---" + fi + printf "%-24s %-24s %2d %2d %10d\n" "$clk" "$parent" "$ec" "$flag" "$rate" + cd $saved_path +done diff --git a/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch b/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch new file mode 100644 index 0000000..4fb0564 --- /dev/null +++ b/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch @@ -0,0 +1,30 @@ +From e559eb0a9573b9011c03efaf42364dce67af893a Mon Sep 17 00:00:00 2001 +From: Lauren Post +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 +Signed-off-by: Frank Li +--- + 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 + #include +-#include ++#include + + /* major number of device */ + static int gMajor; +-- +1.7.9.5 + diff --git a/recipes-bsp/imx-test/imx-test_00.00.00.bb b/recipes-bsp/imx-test/imx-test_00.00.00.bb new file mode 100644 index 0000000..1f6a275 --- /dev/null +++ b/recipes-bsp/imx-test/imx-test_00.00.00.bb @@ -0,0 +1,9 @@ +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" + +inherit allarch + +ALLOW_EMPTY_${PN} = "1" diff --git a/recipes-bsp/imx-test/imx-test_3.10.17-1.0.0.bb b/recipes-bsp/imx-test/imx-test_3.10.17-1.0.0.bb new file mode 100644 index 0000000..77b51c7 --- /dev/null +++ b/recipes-bsp/imx-test/imx-test_3.10.17-1.0.0.bb @@ -0,0 +1,13 @@ +# Copyright (C) 2013, 2014 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] = "3e066a84878b93ee52e54a040a7b2b61" +SRC_URI[sha256sum] = "21bedcbd707e392d8558ec5a73095ca15b4c95ab66deabb06876aaf3f8dac2c4" + +COMPATIBLE_MACHINE = "(mxs|mx5|mx6)" diff --git a/recipes-bsp/imx-uuc/imx-uuc_0.5.bb b/recipes-bsp/imx-uuc/imx-uuc_0.5.bb new file mode 100644 index 0000000..b172b32 --- /dev/null +++ b/recipes-bsp/imx-uuc/imx-uuc_0.5.bb @@ -0,0 +1,16 @@ +# Copyright (C) 2014 Freescale Semiconductor +# Copyright (C) 2014 O.S. Systems Software LTDA. + +SUMMARY = "Universal Adapter source" +SECTION = "base" +DEPENDS = "virtual/kernel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.tar.gz" +SRC_URI[md5sum] = "4a82f106f85199c91a058ee54c127477" +SRC_URI[sha256sum] = "ec5894ab7967797c8500b4988d0aba6c6f78ef22b4a190f9db12be33df08faaf" + +inherit autotools-brokensep + +FILES_${PN} += "/linuxrc" diff --git a/recipes-bsp/imx-vpu/imx-vpu.inc b/recipes-bsp/imx-vpu/imx-vpu.inc new file mode 100644 index 0000000..fd59770 --- /dev/null +++ b/recipes-bsp/imx-vpu/imx-vpu.inc @@ -0,0 +1,22 @@ +# Copyright (C) 2013 Freescale Semiconductor +DESCRIPTION = "Freescale VPU library" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://vpu/EULA.txt;md5=b063366b066c9f10037c59756a9ced54" +DEPENDS = "virtual/kernel" +inherit fsl-eula-unpack + +PLATFORM_mx5 = "IMX51" +PLATFORM_mx6 = "IMX6Q" + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" + +do_compile () { + INCLUDE_DIR="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include" + + oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all +} + +do_install () { + oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install +} + diff --git a/recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch b/recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch new file mode 100644 index 0000000..348a536 --- /dev/null +++ b/recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch @@ -0,0 +1,83 @@ +From 3f3e374391ddc5e605f604e5bcdf95e29b1bcc39 Mon Sep 17 00:00:00 2001 +From: Eric Nelson +Date: Fri, 20 Jun 2014 19:42:38 -0700 +Subject: [PATCH] IOGetVirtMem returns -1 (MAP_FAILED) on failure + +Upstream-Status: Pending + +Signed-off-by: Eric Nelson +--- + vpu/vpu_io.c | 2 +- + vpu/vpu_io.h | 2 ++ + vpu/vpu_lib.c | 8 ++++---- + 3 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/vpu/vpu_io.c b/vpu/vpu_io.c +index 8cbb571..14759da 100644 +--- a/vpu/vpu_io.c ++++ b/vpu/vpu_io.c +@@ -265,7 +265,7 @@ int IOSystemInit(void *callback) + goto err; + } + +- if (IOGetVirtMem(&bit_work_addr) <= 0) ++ if (IOGetVirtMem(&bit_work_addr) == -1) + goto err; + #endif + UnlockVpu(vpu_semap); +diff --git a/vpu/vpu_io.h b/vpu/vpu_io.h +index 392e04a..1e6340d 100644 +--- a/vpu/vpu_io.h ++++ b/vpu/vpu_io.h +@@ -64,6 +64,8 @@ int IOSystemInit(void *callback); + int IOSystemShutdown(void); + int IOGetPhyMem(vpu_mem_desc * buff); + int IOFreePhyMem(vpu_mem_desc * buff); ++ ++/* returns -1 ((int)MAP_FAILED) on failure */ + int IOGetVirtMem(vpu_mem_desc * buff); + int IOFreeVirtMem(vpu_mem_desc * buff); + int IOGetVShareMem(int size); +diff --git a/vpu/vpu_lib.c b/vpu/vpu_lib.c +index 1fb731b..7a7f42d 100644 +--- a/vpu/vpu_lib.c ++++ b/vpu/vpu_lib.c +@@ -1764,7 +1764,7 @@ RetCode vpu_EncStartOneFrame(EncHandle handle, EncParam * param) + err_msg("Unable to obtain physical mem\n"); + return RETCODE_FAILURE; + } +- if (IOGetVirtMem(&pEncInfo->picParaBaseMem) <= 0) { ++ if (IOGetVirtMem(&pEncInfo->picParaBaseMem) == -1) { + IOFreePhyMem(&pEncInfo->picParaBaseMem); + pEncInfo->picParaBaseMem.phy_addr = 0; + err_msg("Unable to obtain virtual mem\n"); +@@ -2982,7 +2982,7 @@ RetCode vpu_DecGetInitialInfo(DecHandle handle, DecInitialInfo * info) + UnlockVpu(vpu_semap); + return RETCODE_FAILURE; + } +- if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) { ++ if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) { + IOFreePhyMem(&pDecInfo->userDataBufMem); + pDecInfo->userDataBufMem.phy_addr = 0; + err_msg("Unable to obtain virtual mem\n"); +@@ -4017,7 +4017,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param) + UnlockVpu(vpu_semap); + return RETCODE_FAILURE; + } +- if (IOGetVirtMem(&pDecInfo->picParaBaseMem) <= 0) { ++ if (IOGetVirtMem(&pDecInfo->picParaBaseMem) == -1) { + IOFreePhyMem(&pDecInfo->picParaBaseMem); + pDecInfo->picParaBaseMem.phy_addr = 0; + err_msg("Unable to obtain virtual mem\n"); +@@ -4057,7 +4057,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param) + UnlockVpu(vpu_semap); + return RETCODE_FAILURE; + } +- if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) { ++ if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) { + IOFreePhyMem(&pDecInfo->userDataBufMem); + pDecInfo->userDataBufMem.phy_addr = 0; + err_msg("Unable to obtain virtual mem\n"); +-- +1.9.1 + diff --git a/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb b/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb new file mode 100644 index 0000000..c40c703 --- /dev/null +++ b/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb @@ -0,0 +1,7 @@ +# Copyright (C) 2013 Freescale Semiconductor +require imx-vpu.inc + +SRC_URI[md5sum] = "1988a08687a09ef8590e66ff17ac6ed3" +SRC_URI[sha256sum] = "783f136aa9b9257d4bffbdaf05bdcb85d177c544c3f8a4674421ba7b065ed5c0" + +COMPATIBLE_MACHINE = "(mx5)" diff --git a/recipes-bsp/imx-vpu/imx-vpu_3.10.17-1.0.0.bb b/recipes-bsp/imx-vpu/imx-vpu_3.10.17-1.0.0.bb new file mode 100644 index 0000000..7ed9590 --- /dev/null +++ b/recipes-bsp/imx-vpu/imx-vpu_3.10.17-1.0.0.bb @@ -0,0 +1,12 @@ +# Copyright (C) 2013, 2014 Freescale Semiconductor + +require imx-vpu.inc + +PE = "1" + +SRC_URI[md5sum] = "71ea1b803864101ebf88a1bab45514d2" +SRC_URI[sha256sum] = "cd8a7bd50ff3274db76a331cc6622d3ba4bb7c790ce778f303e49187df2dfd72" + +SRC_URI_append = " file://0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch" + +COMPATIBLE_MACHINE = "(mx6)" diff --git a/recipes-bsp/libmcc/libmcc_1.04.bb b/recipes-bsp/libmcc/libmcc_1.04.bb new file mode 100644 index 0000000..35efd45 --- /dev/null +++ b/recipes-bsp/libmcc/libmcc_1.04.bb @@ -0,0 +1,21 @@ +# Copyright (C) 2013 Timesys Corporation +SUMMARY = "Multicore communication Library" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c49712341497d0b5f2e40c30dff2af9d" + +DEPENDS = "kernel-module-mcc" + +inherit autotools + +SRC_URI = "http://repository.timesys.com/buildsources/l/libmcc/libmcc-${PV}/libmcc-${PV}.tar.bz2" + +SRC_URI[md5sum] = "e93ce76b4419f0902a848e1769bf22ea" +SRC_URI[sha256sum] = "3de76c5b1a096021afebfc79ca4e85d05646beb3101edcecf73b82886e7a00c0" + +S = "${WORKDIR}/libmcc-${PV}" + +CFLAGS += "-I${STAGING_KERNEL_DIR}/include" + +RDEPENDS_${PN} = "kernel-module-mcc" + +COMPATIBLE_MACHINE = "(vf60)" diff --git a/recipes-bsp/mqxboot/mqxboot_1.0.bb b/recipes-bsp/mqxboot/mqxboot_1.0.bb new file mode 100644 index 0000000..1293928 --- /dev/null +++ b/recipes-bsp/mqxboot/mqxboot_1.0.bb @@ -0,0 +1,21 @@ +# 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 = "kernel-module-mcc" + +inherit autotools + +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} = "kernel-module-mcc" + +COMPATIBLE_MACHINE = "(vf60)" diff --git a/recipes-bsp/mxsldr/mxsldr_git.bb b/recipes-bsp/mxsldr/mxsldr_git.bb new file mode 100644 index 0000000..497f6a1 --- /dev/null +++ b/recipes-bsp/mxsldr/mxsldr_git.bb @@ -0,0 +1,18 @@ +# Copyright (C) 2012 O.S. Systems Software LTDA. +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Freescale i.MX233/i.MX28 USB loader" +DEPENDS = "libusb" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRCREV = "c40d80472525e1d57dae5317c028b745968c0399" +SRC_URI = "git://git.denx.de/mxsldr.git" + +PV = "0.0.0+git${SRCPV}" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep + +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2014.01.bb b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2014.01.bb new file mode 100644 index 0000000..298f1c0 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2014.01.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "U-boot bootloader mxsboot tool" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://Licenses/README;md5=025bf9f768cbcb1a165dbe1a110babfb" +SECTION = "bootloader" +DEPENDS = "openssl" +PROVIDES = "u-boot-mxsboot" + +PV = "v2014.01" + +SRCREV = "f5d80303de12e6fefc022426a73136a288f70294" +SRCBRANCH = "patches-2014.01" +SRC_URI = "git://github.com/Freescale/u-boot-imx.git;branch=${SRCBRANCH}" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = 'HOSTCC="${CC} ${CPPFLAGS}" HOSTLDFLAGS="-L${libdir} -L${base_libdir}" HOSTSTRIP=true CONFIG_MX28=y' + +do_compile () { + oe_runmake tools +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 tools/mxsboot ${D}${bindir}/uboot-mxsboot + ln -sf uboot-mxsboot ${D}${bindir}/mxsboot +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-bsp/u-boot/u-boot-fslc.inc b/recipes-bsp/u-boot/u-boot-fslc.inc new file mode 100644 index 0000000..4ed19d6 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-fslc.inc @@ -0,0 +1,29 @@ +# 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 + +DESCRIPTION = "U-boot bootloader for Freescale ARM platforms" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://Licenses/README;md5=025bf9f768cbcb1a165dbe1a110babfb" +COMPATIBLE_MACHINE = "(mxs|mx3|mx5|mx6|vf60)" + +DEPENDS_mxs += "elftosb-native openssl-native" + +PROVIDES += "u-boot" + +SRCBRANCH ??= "master" + +SRC_URI = "git://github.com/Freescale/u-boot-imx.git;branch=${SRCBRANCH}" + +S = "${WORKDIR}/git" + +# FIXME: Allow linking of 'tools' binaries with native libraries +# used for generating the boot logo and other tools used +# during the build process. +EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \ + HOSTLDFLAGS="${BUILD_LDFLAGS}" \ + HOSTSTRIP=true' + +PACKAGE_ARCH = "${MACHINE_ARCH}" + diff --git a/recipes-bsp/u-boot/u-boot-fslc_2014.01.bb b/recipes-bsp/u-boot/u-boot-fslc_2014.01.bb new file mode 100644 index 0000000..f6d4657 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-fslc_2014.01.bb @@ -0,0 +1,7 @@ +include u-boot-fslc.inc + +PV = "v2014.01" + +SRCBRANCH = "patches-2014.01" + +SRCREV = "f5d80303de12e6fefc022426a73136a288f70294" diff --git a/recipes-bsp/u-boot/u-boot-imx-mfgtool_2013.04.bb b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2013.04.bb new file mode 100644 index 0000000..f66114c --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2013.04.bb @@ -0,0 +1,4 @@ +# Copyright (C) 2014 O.S. Systems Software LTDA. + +require u-boot-imx_${PV}.bb +require u-boot-mfgtool.inc diff --git a/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch b/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch new file mode 100644 index 0000000..4b0ac9b --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch @@ -0,0 +1,51 @@ +diff --git a/include/configs/mx53_loco.h b/include/configs/mx53_loco.h +index 0f57f78..e8a6414 100644 +--- a/include/configs/mx53_loco.h ++++ b/include/configs/mx53_loco.h +@@ -114,22 +114,30 @@ + #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000) + + #define CONFIG_EXTRA_ENV_SETTINGS \ +- "netdev=eth0\0" \ +- "ethprime=FEC0\0" \ +- "uboot=u-boot.bin\0" \ +- "kernel=uImage\0" \ +- "nfsroot=/opt/eldk/arm\0" \ +- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\ +- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\ +- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\ +- "bootcmd_net=run bootargs_base bootargs_nfs; " \ +- "tftpboot ${loadaddr} ${kernel}; bootm\0" \ +- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \ +- "root=/dev/mmcblk0p1 rootwait rw\0" \ +- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \ +- "mmc dev 0; " \ +- "mmc read ${loadaddr} 0x800 0x1800; bootm\0" \ +- "bootcmd=run bootcmd_mmc\0" \ ++ "script=boot.scr\0" \ ++ "uimage=uImage\0" \ ++ "mmcdev=0\0" \ ++ "mmcpart=1\0" \ ++ "mmcroot=/dev/mmcblk0p2 rw\0" \ ++ "mmcrootfstype=ext3 rootwait\0" \ ++ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype}\0" \ ++ "loadbootscript=" \ ++ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ ++ "bootscript=echo Running bootscript from mmc ...; " \ ++ "source\0" \ ++ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \ ++ "mmcboot=echo Booting from mmc ...; " \ ++ "run mmcargs; " \ ++ "bootm\0" \ ++ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \ ++ "root=/dev/nfs " \ ++ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ ++ "netboot=echo Booting from net ...; " \ ++ "run netargs; " \ ++ "dhcp ${uimage}; bootm\0" \ ++ "bootcmd=run loaduimage; run mmcboot;\0" \ + \ + + diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch b/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch new file mode 100644 index 0000000..da4a771 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch @@ -0,0 +1,67 @@ +From 7ae3e4c665bd27111ee8ae2b801251b1d32f44cc Mon Sep 17 00:00:00 2001 +From: Daiane Angolini +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 +--- + include/configs/mx6dl_sabresd.h | 41 ++++++++++++++++++++++---------------- + 1 files changed, 24 insertions(+), 17 deletions(-) + +diff --git a/include/configs/mx6dl_sabresd.h b/include/configs/mx6dl_sabresd.h +index a496453..6499d25 100644 +--- a/include/configs/mx6dl_sabresd.h ++++ b/include/configs/mx6dl_sabresd.h +@@ -121,23 +121,30 @@ + #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000) + + #define CONFIG_EXTRA_ENV_SETTINGS \ +- "netdev=eth0\0" \ +- "ethprime=FEC0\0" \ +- "uboot=u-boot.bin\0" \ +- "kernel=uImage\0" \ +- "nfsroot=/opt/eldk/arm\0" \ +- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\ +- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\ +- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\ +- "bootcmd_net=run bootargs_base bootargs_nfs; " \ +- "tftpboot ${loadaddr} ${kernel}; bootm\0" \ +- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \ +- "root=/dev/mmcblk0p1 rootwait\0" \ +- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \ +- "mmc dev 3; " \ +- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \ +- "bootcmd=run bootcmd_net\0" \ +- ++ "script=boot.scr\0" \ ++ "uimage=uImage\0" \ ++ "mmcdev=2\0" \ ++ "mmcpart=1\0" \ ++ "mmcroot=/dev/mmcblk1p2 rw\0" \ ++ "mmcrootfstype=ext3 rootwait\0" \ ++ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype}\0" \ ++ "loadbootscript=" \ ++ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ ++ "bootscript=echo Running bootscript from mmc ...; " \ ++ "source\0" \ ++ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \ ++ "mmcboot=echo Booting from mmc ...; " \ ++ "run mmcargs; " \ ++ "bootm\0" \ ++ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \ ++ "root=/dev/nfs " \ ++ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ ++ "netboot=echo Booting from net ...; " \ ++ "run netargs; " \ ++ "dhcp ${uimage}; bootm\0" \ ++ "bootcmd=run loaduimage; run mmcboot;\0" \ + + #define CONFIG_ARP_TIMEOUT 200UL + +-- +1.7.5.4 + diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch new file mode 100644 index 0000000..80ef444 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch @@ -0,0 +1,66 @@ +From a81c7686f8c0c4fc6e88228f215092c00d4714c1 Mon Sep 17 00:00:00 2001 +From: Daiane Angolini +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 +--- + include/configs/mx6q_sabreauto.h | 41 ++++++++++++++++++++++--------------- + 1 files changed, 24 insertions(+), 17 deletions(-) + +diff --git a/include/configs/mx6q_sabreauto.h b/include/configs/mx6q_sabreauto.h +index 5f8f02c..5910eca 100644 +--- a/include/configs/mx6q_sabreauto.h ++++ b/include/configs/mx6q_sabreauto.h +@@ -121,23 +121,30 @@ + #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000) + + #define CONFIG_EXTRA_ENV_SETTINGS \ +- "netdev=eth0\0" \ +- "ethprime=FEC0\0" \ +- "uboot=u-boot.bin\0" \ +- "kernel=uImage\0" \ +- "nfsroot=/opt/eldk/arm\0" \ +- "bootargs_base=setenv bootargs console=ttymxc3,115200\0"\ +- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\ +- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\ +- "bootcmd_net=run bootargs_base bootargs_nfs; " \ +- "tftpboot ${loadaddr} ${kernel}; bootm\0" \ +- "bootargs_mmc=setenv bootargs ${bootargs} " \ +- "root=/dev/mmcblk0p1 rootwait\0" \ +- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \ +- "mmc dev 2; " \ +- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \ +- "bootcmd=run bootcmd_mmc\0" \ +- ++ "script=boot.scr\0" \ ++ "uimage=uImage\0" \ ++ "mmcdev=2\0" \ ++ "mmcpart=1\0" \ ++ "mmcroot=/dev/mmcblk0p2 rw\0" \ ++ "mmcrootfstype=ext3 rootwait\0" \ ++ "mmcargs=setenv bootargs console=ttymxc3,${baudrate} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype}\0" \ ++ "loadbootscript=" \ ++ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ ++ "bootscript=echo Running bootscript from mmc ...; " \ ++ "source\0" \ ++ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \ ++ "mmcboot=echo Booting from mmc ...; " \ ++ "run mmcargs; " \ ++ "bootm\0" \ ++ "netargs=setenv bootargs console=ttymxc3,${baudrate} " \ ++ "root=/dev/nfs " \ ++ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ ++ "netboot=echo Booting from net ...; " \ ++ "run netargs; " \ ++ "dhcp ${uimage}; bootm\0" \ ++ "bootcmd=run loaduimage; run mmcboot;\0" \ + + #define CONFIG_ARP_TIMEOUT 200UL + +-- +1.7.5.4 + diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch new file mode 100644 index 0000000..bf85800 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch @@ -0,0 +1,66 @@ +From 970f04b228a60c805cce41ef8403ba2c8cb56d97 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador +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 +--- + include/configs/mx6q_sabresd.h | 40 ++++++++++++++++++++++++---------------- + 1 file changed, 24 insertions(+), 16 deletions(-) + +diff --git a/include/configs/mx6q_sabresd.h b/include/configs/mx6q_sabresd.h +index 6f07961..db31a34 100644 +--- a/include/configs/mx6q_sabresd.h ++++ b/include/configs/mx6q_sabresd.h +@@ -116,22 +116,30 @@ + #define CONFIG_RD_LOADADDR (0x1300000) + + #define CONFIG_EXTRA_ENV_SETTINGS \ +- "netdev=eth0\0" \ +- "ethprime=FEC0\0" \ +- "uboot=u-boot.bin\0" \ +- "kernel=uImage\0" \ +- "nfsroot=/opt/eldk/arm\0" \ +- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\ +- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\ +- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\ +- "bootcmd_net=run bootargs_base bootargs_nfs; " \ +- "tftpboot ${loadaddr} ${kernel}; bootm\0" \ +- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \ +- "root=/dev/mmcblk0p1 rootwait\0" \ +- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \ +- "mmc dev 3; " \ +- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \ +- "bootcmd=run bootcmd_net\0" \ ++ "script=boot.scr\0" \ ++ "uimage=uImage\0" \ ++ "mmcdev=2\0" \ ++ "mmcpart=1\0" \ ++ "mmcroot=/dev/mmcblk0p2 rw\0" \ ++ "mmcrootfstype=ext3 rootwait\0" \ ++ "mmcargs=setenv bootargs console=ttymxc3,${baudrate} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype}\0" \ ++ "loadbootscript=" \ ++ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ ++ "bootscript=echo Running bootscript from mmc ...; " \ ++ "source\0" \ ++ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \ ++ "mmcboot=echo Booting from mmc ...; " \ ++ "run mmcargs; " \ ++ "bootm\0" \ ++ "netargs=setenv bootargs console=ttymxc3,${baudrate} " \ ++ "root=/dev/nfs " \ ++ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ ++ "netboot=echo Booting from net ...; " \ ++ "run netargs; " \ ++ "dhcp ${uimage}; bootm\0" \ ++ "bootcmd=run loaduimage; run mmcboot;\0" \ + + + #define CONFIG_ARP_TIMEOUT 200UL +-- +1.8.1 + diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch b/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch new file mode 100644 index 0000000..5d3f868 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch @@ -0,0 +1,67 @@ +From bf99fdddbca321f7e74ed82febbe4b5539e3ac66 Mon Sep 17 00:00:00 2001 +From: Daiane Angolini +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 +--- + include/configs/mx6sl_evk.h | 40 ++++++++++++++++++++++++---------------- + 1 file changed, 24 insertions(+), 16 deletions(-) + +diff --git a/include/configs/mx6sl_evk.h b/include/configs/mx6sl_evk.h +index 4c327bc..dfb6374 100644 +--- a/include/configs/mx6sl_evk.h ++++ b/include/configs/mx6sl_evk.h +@@ -122,22 +122,30 @@ + #define CONFIG_RD_LOADADDR 0x81000000 + + #define CONFIG_EXTRA_ENV_SETTINGS \ +- "netdev=eth0\0" \ +- "ethprime=FEC0\0" \ +- "uboot=u-boot.bin\0" \ +- "kernel=uImage\0" \ +- "nfsroot=/opt/eldk/arm\0" \ +- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\ +- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\ +- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\ +- "bootcmd_net=run bootargs_base bootargs_nfs; " \ +- "tftpboot ${loadaddr} ${kernel}; bootm\0" \ +- "bootargs_mmc=setenv bootargs ${bootargs} " \ +- "root=/dev/mmcblk0p1 rootwait\0" \ +- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \ +- "mmc dev 1; " \ +- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \ +- "bootcmd=run bootcmd_mmc\0" \ ++ "script=boot.scr\0" \ ++ "uimage=uImage\0" \ ++ "mmcdev=1\0" \ ++ "mmcpart=1\0" \ ++ "mmcroot=/dev/mmcblk0p2 rw\0" \ ++ "mmcrootfstype=ext3 rootwait\0" \ ++ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype}\0" \ ++ "loadbootscript=" \ ++ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ ++ "bootscript=echo Running bootscript from mmc ...; " \ ++ "source\0" \ ++ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \ ++ "mmcboot=echo Booting from mmc ...; " \ ++ "run mmcargs; " \ ++ "bootm\0" \ ++ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \ ++ "root=/dev/nfs " \ ++ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ ++ "netboot=echo Booting from net ...; " \ ++ "run netargs; " \ ++ "dhcp ${uimage}; bootm\0" \ ++ "bootcmd=run loaduimage; run mmcboot;\0" \ + + + #define CONFIG_ARP_TIMEOUT 200UL +-- +1.7.10.4 + diff --git a/recipes-bsp/u-boot/u-boot-imx_2009.08.bb b/recipes-bsp/u-boot/u-boot-imx_2009.08.bb new file mode 100644 index 0000000..393e7f3 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-imx_2009.08.bb @@ -0,0 +1,65 @@ +# Copyright (C) 2011-2014 Freescale Semiconductor +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "bootloader for imx platforms" +require recipes-bsp/u-boot/u-boot.inc + +PROVIDES += "u-boot" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=4c6cde5df68eff615d36789dc18edd3b" + +DEPENDS_mxs += "elftosb-native" + +PR = "r18" + +SRCBRANCH_mxs = "imx_v2009.08_10.12.01" +SRCREV_mxs = "e4437f1c192a1a68028e6fcff3f50ff50352041d" + +SRCBRANCH_mx5 = "imx_v2009.08_11.09.01" +SRCREV_mx5 = "897922d01c812be802e4a928b937535ea1b8e076" +SRC_URI_append_imx5 = " \ + file://mx53_loco_bootenv.patch \ +" + +SRCBRANCH_mx6 = "imx_v2009.08_3.0.35_4.0.0" +SRCREV_mx6 = "5899674bf39544bec47e209649a723cf7348d3ba" +SRC_URI_append_mx6 = " \ + file://mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch \ + file://mx6q_sabresd-Change-default-environment-to-work-with.patch \ + file://mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch \ + file://mx6dl_sabresd-Change-default-environment-to-work-wit.patch \ +" + +SRC_URI = "git://git.freescale.com/imx/uboot-imx.git;branch=${SRCBRANCH}" + +UBOOT_MACHINE_imx53qsb = "mx53_loco_config" +UBOOT_MACHINE_imx53ard = "mx53_ard_ddr3_config" +UBOOT_MACHINE_imx51evk = "mx51_bbg_config" +UBOOT_MACHINE_imx6qsabrelite = "mx6q_sabrelite_config" +UBOOT_MACHINE_imx6qsabreauto = "mx6q_sabreauto_config" +UBOOT_MACHINE_imx6qsabresd = "mx6q_sabresd_config" +UBOOT_MACHINE_imx6dlsabresd = "mx6dl_sabresd_config" +UBOOT_MACHINE_imx6slevk = "mx6sl_evk_config" +UBOOT_MACHINE_imx28evk = "mx28_evk_config" + +UBOOT_MAKE_TARGET = "u-boot.bin" + +# Please, add the following variables to conf/local.conf +# in order to use this u-boot version +# UBOOT_SUFFIX = "bin" +# UBOOT_PADDING = "2" +# PREFERRED_PROVIDER_u-boot = "u-boot-imx" + +S = "${WORKDIR}/git" +EXTRA_OEMAKE += 'HOSTSTRIP=true' + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +do_compile_prepend() { + 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' config.mk + fi +} + +COMPATIBLE_MACHINE = "(imx28evk|mx5|mx6)" diff --git a/recipes-bsp/u-boot/u-boot-imx_2013.04.bb b/recipes-bsp/u-boot/u-boot-imx_2013.04.bb new file mode 100644 index 0000000..1c0f828 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-imx_2013.04.bb @@ -0,0 +1,18 @@ +# Copyright (C) 2013, 2014 Freescale Semiconductor + +DESCRIPTION = "bootloader for imx platforms" +require recipes-bsp/u-boot/u-boot.inc + +PROVIDES += "u-boot" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb" + +SRCBRANCH = "imx_v2013.04_3.10.17_1.0.0_ga" +SRC_URI = "git://git.freescale.com/imx/uboot-imx.git;protocol=git;branch=${SRCBRANCH}" +SRCREV = "ce0ea2507c492d43bbf88f8609482a171b2d2003" + +S = "${WORKDIR}/git" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(mx6)" diff --git a/recipes-bsp/u-boot/u-boot-mfgtool.inc b/recipes-bsp/u-boot/u-boot-mfgtool.inc new file mode 100644 index 0000000..91526ad --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-mfgtool.inc @@ -0,0 +1,21 @@ +# Produces a Manufacturing Tool compatible U-Boot +# +# This makes a separated binary set for Manufacturing Tool use +# without clobbering the U-Boot used for normal use. +# +# This file must to be included after the original u-boot.inc file, +# as it overrides the need values. +# +# Copyright (C) 2014 O.S. Systems Software LTDA. + +# Adjust provides +PROVIDES = "u-boot-mfgtool" + +# Use 'mfgtool' config +UBOOT_CONFIG = "mfgtool" + +# Add 'mfgtool' suffix +UBOOT_IMAGE = "u-boot-${MACHINE}-mfgtool-${PV}-${PR}.${UBOOT_SUFFIX}" +UBOOT_SYMLINK = "u-boot-${MACHINE}-mfgtool.${UBOOT_SUFFIX}" +SPL_IMAGE = "${SPL_BINARY}-${MACHINE}-mfgtool-${PV}-${PR}" +SPL_SYMLINK = "${SPL_BINARY}-mfgtool-${MACHINE}" diff --git a/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend new file mode 100644 index 0000000..3e8fa2f --- /dev/null +++ b/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend @@ -0,0 +1,4 @@ +RDEPENDS_${PN} += " \ + nativesdk-elftosb \ + nativesdk-mxsldr \ +" diff --git a/recipes-core/udev/udev-extraconf/10-imx.rules b/recipes-core/udev/udev-extraconf/10-imx.rules new file mode 100644 index 0000000..1fc32dc --- /dev/null +++ b/recipes-core/udev/udev-extraconf/10-imx.rules @@ -0,0 +1,24 @@ +# 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=="fb0", MODE="0666" +KERNEL=="fb1", MODE="0666" +KERNEL=="fb2", MODE="0666" +KERNEL=="mxc_vpu", MODE="0666" +SUBSYSTEM=="video", MODE="0666" +KERNEL=="gsl_kmod", MODE="0666" diff --git a/recipes-core/udev/udev-extraconf_%.bbappend b/recipes-core/udev/udev-extraconf_%.bbappend new file mode 100644 index 0000000..f73e4bc --- /dev/null +++ b/recipes-core/udev/udev-extraconf_%.bbappend @@ -0,0 +1,17 @@ +# Freescale imx extra configuration udev rules +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append_mxs = " file://10-imx.rules" +SRC_URI_append_mx5 = " file://10-imx.rules" +SRC_URI_append_mx6 = " file://10-imx.rules" + +do_install_prepend () { + if [ -e "${WORKDIR}/10-imx.rules" ]; then + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/10-imx.rules ${D}${sysconfdir}/udev/rules.d + fi +} + +PACKAGE_ARCH_mxs = "${MACHINE_ARCH}" +PACKAGE_ARCH_mx5 = "${MACHINE_ARCH}" +PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}" diff --git a/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb b/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb new file mode 100644 index 0000000..7d79d1e --- /dev/null +++ b/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/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb b/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb new file mode 100644 index 0000000..92f882d --- /dev/null +++ b/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" + +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 \ +" + +PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb new file mode 100644 index 0000000..ecf38f2 --- /dev/null +++ b/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/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc new file mode 100644 index 0000000..02a4f21 --- /dev/null +++ b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc @@ -0,0 +1,90 @@ +# Copyright (C) 2011, 2012, 2013 Freescale +# Copyright (C) 2011-2014 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 = "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 + +# 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 populate_packages_prepend() { + for p in d.getVar('PACKAGES', True).split(): + d.setVar("INSANE_SKIP_%s" % p, "ldflags") +} + +do_install () { + install -d ${D}${libdir} + install -d ${D}${bindir} + install -d ${D}${includedir} + + cp -axr ${S}/usr/bin/* ${D}${bindir} + cp -axf ${S}/usr/lib/* ${D}${libdir} + cp -axr ${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 unkown 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/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb new file mode 100644 index 0000000..6358aca --- /dev/null +++ b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb @@ -0,0 +1,18 @@ +# 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" + +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)}" diff --git a/recipes-graphics/amd-gpu-x11-bin/files/egl.pc b/recipes-graphics/amd-gpu-x11-bin/files/egl.pc new file mode 100644 index 0000000..3d2ab5d --- /dev/null +++ b/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/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch b/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch new file mode 100644 index 0000000..946bfac --- /dev/null +++ b/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 + #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/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc b/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc new file mode 100644 index 0000000..62e1cb6 --- /dev/null +++ b/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/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb b/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb new file mode 100644 index 0000000..1ff762a --- /dev/null +++ b/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb @@ -0,0 +1,33 @@ +# 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" +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/recipes-graphics/cairo/cairo_%.bbappend b/recipes-graphics/cairo/cairo_%.bbappend new file mode 100644 index 0000000..bd960e0 --- /dev/null +++ b/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_class-target_mx6 = " \ + egl glesv2 \ + ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" diff --git a/recipes-graphics/clutter/clutter-1.0_%.bbappend b/recipes-graphics/clutter/clutter-1.0_%.bbappend new file mode 100644 index 0000000..cdeac1f --- /dev/null +++ b/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/recipes-graphics/cogl/cogl-1.0_%.bbappend b/recipes-graphics/cogl/cogl-1.0_%.bbappend new file mode 100644 index 0000000..f77581d --- /dev/null +++ b/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/recipes-graphics/directfb/directfb-examples_1.6.0.bb b/recipes-graphics/directfb/directfb-examples_1.6.0.bb new file mode 100644 index 0000000..499060b --- /dev/null +++ b/recipes-graphics/directfb/directfb-examples_1.6.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Example DirectFB applications" +DESCRIPTION = "The DirectFB-examples package contains a set of simple DirectFB \ + applications that can be used to test and demonstrate various DirectFB \ + features" +DEPENDS = "directfb" +SECTION = "libs" +LICENSE = "MIT" + +SRC_URI = " \ + http://www.directfb.org/downloads/Extras/DirectFB-examples-${PV}.tar.gz \ + " + +LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f" + +S = "${WORKDIR}/DirectFB-examples-${PV}" + +inherit autotools + +SRC_URI[md5sum] = "27619d31e8a647fdd3023a0c1779b63d" +SRC_URI[sha256sum] = "b08293697c211b690856f76a25ad7acd4ca458b4132851e0a1e471d0bf23c821" diff --git a/recipes-graphics/directfb/directfb.inc b/recipes-graphics/directfb/directfb.inc new file mode 100644 index 0000000..a23209f --- /dev/null +++ b/recipes-graphics/directfb/directfb.inc @@ -0,0 +1,73 @@ +SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device" +DESCRIPTION = "DirectFB is a thin library that provides developers \ +with hardware graphics acceleration, input device handling and \ +abstraction, an integrated windowing system with support for \ +translucent windows and multiple display layers on top of the \ +Linux framebuffer device." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589" + +HOMEPAGE = "http://directfb.org" +DEPENDS = "jpeg libpng freetype zlib tslib" + +INC_PR = "r0" + +SRC_URI = "http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${PV}.tar.gz \ + file://configurefix.patch \ + file://fusion.patch" + +S = "${WORKDIR}/DirectFB-${PV}" + +LDFLAGS_append =" -lts -lm" + +inherit autotools binconfig pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper" + +EXTRA_OECONF = "\ + --with-gfxdrivers=none \ + --enable-libmpeg3=no \ + --enable-freetype=yes \ + --enable-sdl=no \ + --enable-vnc=no \ + --disable-x11 \ + --disable-mesa \ +" + +#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default +#this will cause directfb build failure on x86 arch, so filter out it. +TARGET_CFLAGS_x86 := "${@oe_filter_out('-fno-omit-frame-pointer', '${TARGET_CFLAGS}', d)}" + +#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*" +# +#python populate_packages_prepend () { +# inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers') +# do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s') +#} + +# NOTE: monolithic packaging for now, should improve that eventually + + + +FILES_${PN}-dbg += "\ + ${libdir}/directfb-${RV}/*/*/.debug/*.so \ + ${libdir}/directfb-${RV}/*/.debug/*.so \ +" + +FILES_${PN}-dev += "\ + ${bindir}/directfb-config \ + ${libdir}/directfb-${RV}/systems/*.la \ + ${libdir}/directfb-${RV}/inputdrivers/*.la \ + ${libdir}/directfb-${RV}/interfaces/*/*.la \ + ${libdir}/directfb-${RV}/wm/*.la \ +" + +FILES_${PN} += "\ + ${libdir}/directfb-${RV}/systems/*.so \ + ${libdir}/directfb-${RV}/inputdrivers/*.so \ + ${libdir}/directfb-${RV}/interfaces/*/*.so \ + ${libdir}/directfb-${RV}/wm/*.so \ + ${datadir}/directfb-${PV} \ +" diff --git a/recipes-graphics/directfb/directfb/configurefix.patch b/recipes-graphics/directfb/directfb/configurefix.patch new file mode 100644 index 0000000..dd8c019 --- /dev/null +++ b/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/recipes-graphics/directfb/directfb/fix-compilation-with-zlib.patch b/recipes-graphics/directfb/directfb/fix-compilation-with-zlib.patch new file mode 100644 index 0000000..8b99b4e --- /dev/null +++ b/recipes-graphics/directfb/directfb/fix-compilation-with-zlib.patch @@ -0,0 +1,29 @@ +Upstream-Status: Pending + +From 1d6d597050fc24769e9df2693f754bdc824a8b78 Mon Sep 17 00:00:00 2001 +From: Laurentiu Palcu +Date: Tue, 3 Jul 2012 16:06:10 +0300 +Subject: [PATCH] fix compilation with zlib + +Signed-off-by: Laurentiu Palcu +--- + src/core/surface.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/core/surface.c b/src/core/surface.c +index 50434a2..52f50ab 100644 +--- a/src/core/surface.c ++++ b/src/core/surface.c +@@ -49,6 +49,9 @@ + #include + #include + ++#ifdef USE_ZLIB ++#include ++#endif + + D_DEBUG_DOMAIN( Core_Surface, "Core/Surface", "DirectFB Core Surface" ); + +-- +1.7.9.5 + diff --git a/recipes-graphics/directfb/directfb/fixsepbuild.patch b/recipes-graphics/directfb/directfb/fixsepbuild.patch new file mode 100644 index 0000000..94a9ba5 --- /dev/null +++ b/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/recipes-graphics/directfb/directfb/fusion.patch b/recipes-graphics/directfb/directfb/fusion.patch new file mode 100644 index 0000000..1f81a67 --- /dev/null +++ b/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 + +--- 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/recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch b/recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch new file mode 100644 index 0000000..443df5a --- /dev/null +++ b/recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch @@ -0,0 +1,345 @@ +Rename __no_instrument_function__ macro to avoid conficting redefinitions +of the same symbol. + +Upstream-Status: Pending +Signed-off-by: Andrei Gherzan + +Index: DirectFB-1.6.1/lib/direct/clock.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/clock.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/clock.c 2013-01-05 18:03:24.000000000 +0200 +@@ -36,28 +36,28 @@ + + /**********************************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + long long + direct_clock_get_micros( void ) + { + return direct_clock_get_time( DIRECT_CLOCK_SESSION ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + long long + direct_clock_get_millis( void ) + { + return direct_clock_get_time( DIRECT_CLOCK_SESSION ) / 1000LL; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + long long + direct_clock_get_abs_micros( void ) + { + return direct_clock_get_time( DIRECT_CLOCK_REALTIME ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + long long + direct_clock_get_abs_millis( void ) + { +Index: DirectFB-1.6.1/lib/direct/debug.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/debug.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/debug.c 2013-01-05 18:03:49.000000000 +0200 +@@ -48,7 +48,7 @@ + + #if DIRECT_BUILD_DEBUGS /* Build with debug support? */ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_debug_log( DirectLogDomain *domain, + unsigned int debug_level, /* 1-9, 0 = info */ +@@ -63,7 +63,7 @@ + va_end( ap ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_debug_at( DirectLogDomain *domain, + const char *format, ... ) +@@ -77,7 +77,7 @@ + + #endif /* DIRECT_BUILD_DEBUGS */ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_debug_at_always( DirectLogDomain *domain, + const char *format, ... ) +@@ -93,7 +93,7 @@ + + #if DIRECT_BUILD_DEBUGS /* Build with debug support? */ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_break( const char *func, + const char *file, +@@ -123,7 +123,7 @@ + direct_trap( "Break", SIGABRT ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_assertion( const char *exp, + const char *func, +@@ -144,7 +144,7 @@ + direct_trap( "Assertion", SIGTRAP ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_assumption( const char *exp, + const char *func, +Index: DirectFB-1.6.1/lib/direct/interface.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/interface.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/interface.c 2013-01-05 18:04:56.000000000 +0200 +@@ -522,7 +522,7 @@ + + /**************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + static InterfaceDesc * + allocate_interface_desc( void ) + { +@@ -543,7 +543,7 @@ + return &alloc_list[alloc_count++]; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + static __inline__ void + fill_interface_desc( InterfaceDesc *desc, + const void *interface_ptr, +@@ -565,7 +565,7 @@ + + /**************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_dbg_interface_add( const char *func, + const char *file, +@@ -586,7 +586,7 @@ + direct_mutex_unlock( &alloc_lock ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_dbg_interface_remove( const char *func, + const char *file, +Index: DirectFB-1.6.1/lib/direct/log.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/log.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/log.c 2013-01-05 18:04:18.000000000 +0200 +@@ -128,7 +128,7 @@ + return DR_OK; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + DirectResult + direct_log_printf( DirectLog *log, + const char *format, ... ) +@@ -197,7 +197,7 @@ + return DR_OK; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_log_lock( DirectLog *log ) + { +@@ -211,7 +211,7 @@ + direct_mutex_lock( &log->lock ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_log_unlock( DirectLog *log ) + { +@@ -262,7 +262,7 @@ + + /**********************************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + DirectLog * + direct_log_default( void ) + { +Index: DirectFB-1.6.1/lib/direct/log_domain.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/log_domain.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/log_domain.c 2013-01-05 18:04:38.000000000 +0200 +@@ -69,7 +69,7 @@ + + /**********************************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + static __inline__ LogDomainEntry * + lookup_domain( const char *name, bool sub ); + +@@ -104,7 +104,7 @@ + return NULL; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + static DirectLogLevel + check_domain( DirectLogDomain *domain ); + +@@ -207,7 +207,7 @@ + /* FIXME: merge following */ + + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + DirectResult + direct_log_domain_vprintf( DirectLogDomain *domain, + DirectLogLevel level, +@@ -268,7 +268,7 @@ + return DR_OK; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + DirectResult + direct_log_domain_log( DirectLogDomain *domain, + DirectLogLevel level, +Index: DirectFB-1.6.1/lib/direct/mem.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/mem.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/mem.c 2013-01-05 18:03:08.000000000 +0200 +@@ -121,7 +121,7 @@ + + /**********************************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + static __inline__ MemDesc * + fill_mem_desc( MemDesc *desc, int bytes, const char *func, const char *file, int line, DirectTraceBuffer *trace ) + { +Index: DirectFB-1.6.1/lib/direct/messages.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/messages.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/messages.c 2013-01-05 18:02:57.000000000 +0200 +@@ -40,7 +40,7 @@ + + #if DIRECT_BUILD_TEXT + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_info( const char *format, ... ) + { +@@ -57,7 +57,7 @@ + direct_log_printf( NULL, "(*) %s", buf ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_error( const char *format, ... ) + { +@@ -76,7 +76,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_derror( DirectResult result, const char *format, ... ) + { +@@ -95,7 +95,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_perror( int erno, const char *format, ... ) + { +@@ -114,7 +114,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_dlerror( const char *dlerr, const char *format, ... ) + { +@@ -133,7 +133,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_once( const char *func, + const char *file, +@@ -155,7 +155,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_unimplemented( const char *func, + const char *file, +@@ -166,7 +166,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_bug( const char *func, + const char *file, +@@ -188,7 +188,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_warn( const char *func, + const char *file, +Index: DirectFB-1.6.1/lib/direct/os/linux/glibc/types.h +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/os/linux/glibc/types.h 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/os/linux/glibc/types.h 2013-01-05 18:06:04.000000000 +0200 +@@ -74,7 +74,7 @@ + + #define __inline__ inline + #define D_UNUSED __attribute__((unused)) +-#define __no_instrument_function__ __attribute__((no_instrument_function)) ++#define __dfb_no_instrument_function__ __attribute__((no_instrument_function)) + #define __constructor__ __attribute__((constructor)) + #define __destructor__ __attribute__((destructor)) + #define __typeof__(x) typeof(x) +Index: DirectFB-1.6.1/lib/direct/util.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/util.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/util.c 2013-01-05 18:03:59.000000000 +0200 +@@ -110,7 +110,7 @@ + /* + * translates errno to DirectResult + */ +-__no_instrument_function__ ++__dfb_no_instrument_function__ + DirectResult + errno2result( int erno ) + { diff --git a/recipes-graphics/directfb/directfb_1.6.3.bb b/recipes-graphics/directfb/directfb_1.6.3.bb new file mode 100644 index 0000000..277e9a9 --- /dev/null +++ b/recipes-graphics/directfb/directfb_1.6.3.bb @@ -0,0 +1,26 @@ +require directfb.inc + +RV = "1.6-0" +PR = "${INC_PR}.2" + +DEPENDS += "sysfsutils" + +SRC_URI += "file://fix-compilation-with-zlib.patch \ + file://rename-no-instrument-function-macro.patch \ + file://fixsepbuild.patch" + +EXTRA_OECONF = "\ + --enable-freetype=yes \ + --enable-zlib \ + --with-gfxdrivers=none \ + --disable-sdl \ + --disable-vnc \ + --disable-x11 \ + --disable-imlib2 \ + --disable-mesa \ +" + +LEAD_SONAME = "libdirectfb-1.6.so.0" + +SRC_URI[md5sum] = "641e8e999c017770da647f9b5b890906" +SRC_URI[sha256sum] = "7a96aced0f69b2ec0810e9923068e61c21e6b19dd593e09394c872414df75e70" diff --git a/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch b/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch new file mode 100644 index 0000000..1160cd1 --- /dev/null +++ b/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 +Signed-off-by: Evan Kotara + +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/recipes-graphics/drm/libdrm_%.bbappend b/recipes-graphics/drm/libdrm_%.bbappend new file mode 100644 index 0000000..1ef3340 --- /dev/null +++ b/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/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend b/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend new file mode 100644 index 0000000..5f359a3 --- /dev/null +++ b/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend @@ -0,0 +1,3 @@ +# Set i.MX specific dependencies and device type +DEPENDS += "virtual/libgles2" +EGLINFO_DEVICE = "imx6" diff --git a/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend b/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend new file mode 100644 index 0000000..5f359a3 --- /dev/null +++ b/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend @@ -0,0 +1,3 @@ +# Set i.MX specific dependencies and device type +DEPENDS += "virtual/libgles2" +EGLINFO_DEVICE = "imx6" diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc new file mode 100644 index 0000000..4106848 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc @@ -0,0 +1,259 @@ +# Copyright (C) 2012-2013 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://usr/include/gc_vdk.h;endline=11;md5=19f5925343fa3da65596eeaa4ddb5fd3" + +DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes mesa', \ + base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \ + '', d), d)}" + +PROVIDES += "virtual/wayland-egl virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2 virtual/libopenvg" + +PE = "1" + +inherit fsl-eula-unpack + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \ + file://egl.pc \ + file://egl_x11.pc \ + file://glesv1_cm.pc \ + file://glesv1_cm_x11.pc \ + file://glesv2.pc \ + file://glesv2_x11.pc \ + file://vg.pc \ + file://vg_x11.pc \ + file://gc_wayland_protocol.pc \ + file://wayland-egl.pc \ + file://wayland-viv.pc \ + file://directfbrc \ + " + +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 \ + 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 \ + 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 \ +" + +# 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) +} + +do_install () { + install -d ${D}${libdir} + install -d ${D}${includedir} + + cp -a ${S}/usr/lib/*.so* ${D}${libdir} + cp -axr ${S}/usr/include/* ${D}${includedir} + cp -axr ${S}/opt ${D} + + 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}/usr/lib/dri ${D}${libdir} + backend=x11 + + install -m 0644 ${WORKDIR}/egl_x11.pc ${D}${libdir}/pkgconfig/egl.pc + install -m 0644 ${WORKDIR}/glesv1_cm_x11.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc + install -m 0644 ${WORKDIR}/glesv2_x11.pc ${D}${libdir}/pkgconfig/glesv2.pc + install -m 0644 ${WORKDIR}/vg_x11.pc ${D}${libdir}/pkgconfig/vg.pc + #FIXME: WL & X11 is not currently functional + #if [ "${USE_WL}" = "yes" ]; then + # install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc + # install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc + # install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc + #fi + elif [ "${USE_WL}" = "yes" ]; then + backend=wl + + install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc + install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc + install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc + install -m 0644 ${WORKDIR}/vg.pc ${D}${libdir}/pkgconfig/vg.pc + install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc + install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc + install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc + else + install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc + install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc + install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc + install -m 0644 ${WORKDIR}/vg.pc ${D}${libdir}/pkgconfig/vg.pc + + if [ "${USE_DFB}" = "yes" ]; then + install -d ${D}/${sysconfdir} + install -m 644 ${WORKDIR}/directfbrc ${D}/${sysconfdir}/directfbrc + + cp -r ${S}/usr/lib/directfb-1.6-0 ${D}${libdir} + backend=dfb + else + # Regular framebuffer + backend=fb + fi + fi + + # 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 + 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 -a ${S}/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 + + for backend in wl x11 fb dfb; do + find ${D}${libdir} -name "*-$backend.so" -exec rm '{}' ';' + done + + find ${D}${libdir} -type f -exec chmod 644 {} \; + find ${D}${includedir} -type f -exec chmod 644 {} \; +} + +FILES_${PN} += "/opt" +FILES_${PN}-dev = "${includedir}" +FILES_${PN}-dbg = "${libdir}/.debug /opt/viv_samples/*/*/.debug" + +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}" +FILES_libgal-mx6-dev = "${libdir}/libGAL${SOLIBSDEV}" +FILES_libgal-mx6-dbg = "${libdir}/.debug/libGAL${SOLIBS}" + +FILES_libgl-mx6 = "${libdir}/libGL${REALSOLIBS}" +FILES_libgl-mx6-dev = "${libdir}/libGL${SOLIBSDEV}" +FILES_libgl-mx6-dbg = "${libdir}/.debug/libGL.${SOLIBS}" + +# libEGL needs to open libGLESv1.so +INSANE_SKIP_libgles-mx6 += "dev-so" +FILES_libgles-mx6 = "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${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_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}" +FILES_libopencl-mx6-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}" +FILES_libopencl-mx6-dbg = "${libdir}/.debug/libOpenCL${SOLIBS}" +RDEPENDS_libopencl-mx6 = "libclc-mx6" + +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" + +FILES_libvivante-dfb-mx6 = "${libdir}/directfb-1.6-0/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 = "${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" + +COMPATIBLE_MACHINE = "(mx6)" diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch new file mode 100644 index 0000000..dc91d7c --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch @@ -0,0 +1,30 @@ +From 1a4a35678ef70283d1a31835deecd39711a9db86 Mon Sep 17 00:00:00 2001 +From: Jeremy Stashluk +Date: Wed, 30 Jan 2013 13:16:53 -0500 +Subject: [PATCH] change header path to HAL + +The gpu-viv-bin-mx6q package from Freescale puts this header in the HAL +directory under the system. I think this is a problem in the LTIB release as +well. + +Upstream-Status: Pending + +Signed-off-by: Jeremy Stashluk + +--- + usr/include/gc_vdk_types.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h +=================================================================== +--- gpu-viv-bin-mx6q-1.1.0.orig/usr/include/gc_vdk_types.h ++++ gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h +@@ -39,7 +39,7 @@ extern "C" { + #endif + + #include +-#include "gc_hal_eglplatform_type.h" ++#include + + + /******************************************************************************* diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc new file mode 100644 index 0000000..bae398c --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc @@ -0,0 +1,10 @@ +# directfbrc begin +system=fbdev +mode=1024x768 # display size (change to fit your needs) +desktop-buffer-mode=frontonly # if no double buffering in framebuffer driver +depth=16 +pixelformat=RGB16 +#no-hardware # disable hardware acceleration +#no-software # disable software fallbacks +# directfbrc end + diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc new file mode 100644 index 0000000..a21922d --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: egl +Description: Vivante EGL library +Requires.private: +Version: 8.0 +Libs: -L${libdir} -lEGL +Libs.private: -lm -lpthread -ldl +Cflags: -I${includedir} -DLINUX diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc new file mode 100644 index 0000000..5921583 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: egl +Description: Vivante EGL library +Requires.private: libdrm x11 xext xdamage xfixes xcb +Version: 8.0 +Libs: -L${libdir} -lEGL +Libs.private: -lm -lpthread -ldl +Cflags: -I${includedir} -DLINUX diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch new file mode 100644 index 0000000..3eac116 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch @@ -0,0 +1,31 @@ +Avoid conflicting types with Xorg newer code + +Upstream-Status: Pending +Signed-off-by: Otavio Salvador + +Index: gpu-viv-bin-mx6q-1.1.0/usr/include/HAL/gc_hal_base.h +=================================================================== +--- gpu-viv-bin-mx6q-1.1.0.orig/usr/include/HAL/gc_hal_base.h ++++ gpu-viv-bin-mx6q-1.1.0/usr/include/HAL/gc_hal_base.h +@@ -101,7 +101,7 @@ extern gcsPLS gcPLS; + typedef struct _gcsTLS * gcsTLS_PTR; + + typedef void (* gctTLS_DESTRUCTOR) ( +- gcsTLS_PTR TLS ++ gcsTLS_PTR pTLS + ); + + typedef struct _gcsTLS +@@ -648,10 +648,10 @@ gcoOS_SetPLSValue( + /* Get access to the thread local storage. */ + gceSTATUS + gcoOS_GetTLS( +- OUT gcsTLS_PTR * TLS ++ OUT gcsTLS_PTR * pTLS + ); + +- /* Copy the TLS from a source thread. */ ++ /* Copy the pTLS from a source thread. */ + gceSTATUS gcoOS_CopyTLS(IN gcsTLS_PTR Source); + + /* Destroy the objects associated with the current thread. */ diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch new file mode 100644 index 0000000..732a073 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch @@ -0,0 +1,34 @@ +From c59f9640d185759208f9d55a93b6602936dcb5e8 Mon Sep 17 00:00:00 2001 +From: Adrian Alonso +Date: Sat, 26 Jan 2013 17:52:04 -0600 +Subject: [PATCH 2/2] gc_hal_eglplatform: remove xlib undefs + +* Remove header undefs for Always and Status definitions + +Signed-off-by: Adrian Alonso +--- + usr/include/HAL/gc_hal_eglplatform.h | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/usr/include/HAL/gc_hal_eglplatform.h b/usr/include/HAL/gc_hal_eglplatform.h +index a968fe7..e80c65a 100644 +--- a/usr/include/HAL/gc_hal_eglplatform.h ++++ b/usr/include/HAL/gc_hal_eglplatform.h +@@ -341,14 +341,11 @@ typedef Pixmap HALNativePixmapType; + /* Rename some badly named X defines. */ + #ifdef Status + # define XStatus int +-# undef Status + #endif + #ifdef Always + # define XAlways 2 +-# undef Always + #endif + #ifdef CurrentTime +-# undef CurrentTime + # define XCurrentTime 0 + #endif + +-- +1.8.1 + diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc new file mode 100644 index 0000000..f4610ea --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: gc_wayland_protocol +Description: Vivante Wayland Protocol Extension Library +Version: 0.1 +Cflags: -I${includedir} +Libs: -L${libdir} -lgc_wayland_protocol diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc new file mode 100644 index 0000000..d97b067 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: glesv1_cm +Description: Vivante OpenGL ES 1.1 CM library +Requires.private: +Version: 8.0 +Libs: -L${libdir} -lGLESv1_CM -lEGL -lGAL +Libs.private: -lm -lpthread -ldl +Cflags: -I${includedir} diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc new file mode 100644 index 0000000..e801633 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: glesv1_cm +Description: Vivante OpenGL ES 1.1 CM library +Requires.private: libdrm x11 xext xdamage xfixes xcb +Version: 8.0 +Libs: -L${libdir} -lGLESv1_CM -lEGL -lGAL +Libs.private: -lm -lpthread -ldl +Cflags: -I${includedir} diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc new file mode 100644 index 0000000..9be46f2 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: glesv2 +Description: Vivante OpenGL ES 2.0 library +Requires.private: +Version: 8.0 +Libs: -L${libdir} -lGLESv2 -lEGL -lGAL +Libs.private: -lpthread -lrt +Cflags: -I${includedir} diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc new file mode 100644 index 0000000..57ad807 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: glesv2 +Description: Vivante OpenGL ES 2.0 library +Requires.private: libdrm x11 xext xdamage xfixes xcb +Version: 8.0 +Libs: -L${libdir} -lGLESv2 -lEGL -lGAL +Libs.private: -lpthread -lrt +Cflags: -I${includedir} diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc new file mode 100644 index 0000000..7c00def --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: vg +Description: Vivante OpenVG 1.1 library +Requires.private: +Version: 8.0 +Libs: -L${libdir} -lOpenVG -lEGL -lGAL +Libs.private: -lpthread -lrt +Cflags: -I${includedir} diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc new file mode 100644 index 0000000..94fb91e --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=/usr/lib +includedir=/usr/include + +Name: vg +Description: Vivante OpenVG 1.1 library +Requires.private: libdrm x11 xext xdamage xfixes xcb +Version: 8.0 +Libs: -L${libdir} -lOpenVG -lEGL -lGAL +Libs.private: -lpthread -lrt +Cflags: -I${includedir} diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc new file mode 100644 index 0000000..ba1b898 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: wayland-egl +Description: Bind the driver EGL to the Wayland API +Version: 1.0.0 +Libs: -L${libdir} -lEGL +Cflags: -I${includedir} diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc new file mode 100644 index 0000000..3fdedd0 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: Wayland Vivante Lib +Description: Wayland server side library for Vivante's EGL driver +Version: 0.1 +Cflags: -I${includedir}/wayland-viv +Libs: -L${libdir} -lwayland-viv diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb new file mode 100644 index 0000000..0a16621 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2013, 2014 Freescale Semiconductor +# Released under the MIT license (see COPYING.MIT for the terms) + +require gpu-viv-bin-mx6q.inc + +SRC_URI[md5sum] = "8b9c4f6181acf46028e39508a970ecc1" +SRC_URI[sha256sum] = "7e5a3db22b99740756f408b881691f81c03090256754e44f69369bf039e9cbcf" + +PACKAGE_FP_TYPE = "hardfp" diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb new file mode 100644 index 0000000..44bbd6d --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2013, 2014 Freescale Semiconductor +# Released under the MIT license (see COPYING.MIT for the terms) + +require gpu-viv-bin-mx6q.inc + +SRC_URI[md5sum] = "d1137c148aff0a25bd19feca889329c2" +SRC_URI[sha256sum] = "e6af458221041d2d1ce6338a666969bbda73aa26270b243cfc4d22f9c0d913c9" + +PACKAGE_FP_TYPE = "softfp" diff --git a/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d.inc b/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d.inc new file mode 100644 index 0000000..ce0c74f --- /dev/null +++ b/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d.inc @@ -0,0 +1,45 @@ +# Copyright (C) 2013, 2014 Freescale Semiconductor + +DESCRIPTION = "GPU Vivante G2D library and sample applications for imx6" +SECTION = "libs" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://usr/include/g2d.h;endline=7;md5=861ebad4adc7236f8d1905338abd7eb2" + +PROVIDES += "virtual/libg2d" + +PACKAGES = "${PN} ${PN}-dev ${PN}-dbg" + +inherit fsl-eula-unpack + +PE = "1" + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" + +PACKAGES += "libg2d" + +# Inhibit warnings about files being stripped. +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +do_install () { + install -d ${D}${libdir} + install -d ${D}${includedir} + + cp ${S}/usr/lib/*.so ${D}${libdir} + cp -axr ${S}/usr/include/* ${D}${includedir} + cp -axr ${S}/opt ${D} + + find ${D}${libdir} -type f -exec chmod 644 {} \; + find ${D}${includedir} -type f -exec chmod 644 {} \; +} + +# 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}" + +FILES_${PN} = "/opt" +FILES_libg2d = "${libdir}/libg2d-viv${SOLIBS} ${libdir}/libg2d${SOLIBS}" +FILES_${PN}-dev = "${includedir}" + +COMPATIBLE_MACHINE = "(mx6)" diff --git a/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d_3.10.17-1.0.0.bb b/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d_3.10.17-1.0.0.bb new file mode 100644 index 0000000..de83d95 --- /dev/null +++ b/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d_3.10.17-1.0.0.bb @@ -0,0 +1,6 @@ +# Copyright (C) 2013, 2014 Freescale Semiconductor + +include gpu-viv-g2d.inc + +SRC_URI[md5sum] = "58dfe0fe674dcf82045d0af999ebd2f4" +SRC_URI[sha256sum] = "5fcb6f294f94c059162d7b178f76f660d27ddab7ba0fc4344f1b28b30f71e261" diff --git a/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch b/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch new file mode 100644 index 0000000..d899540 --- /dev/null +++ b/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 +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 +Signed-off-by: Otavio Salvador +--- + 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/recipes-graphics/mesa/mesa-demos_%.bbappend b/recipes-graphics/mesa/mesa-demos_%.bbappend new file mode 100644 index 0000000..989577d --- /dev/null +++ b/recipes-graphics/mesa/mesa-demos_%.bbappend @@ -0,0 +1,4 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append_mx6 = " file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch" + diff --git a/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa_%.bbappend new file mode 100644 index 0000000..8e0a36b --- /dev/null +++ b/recipes-graphics/mesa/mesa_%.bbappend @@ -0,0 +1,10 @@ +PACKAGECONFIG_remove_mx5 = "egl gles" +PROVIDES_remove_mx5 = "virtual/libgles1 virtual/libgles2 virtual/egl" + +PACKAGECONFIG_remove_mx6 = "egl gles" +PROVIDES_remove_mx6 = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl" + +# FIXME: Dirty hack to allow use of Vivante GPU libGL binary +do_install_append_mx6 () { + rm -f ${D}${libdir}/libGL.* +} diff --git a/recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend b/recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend new file mode 100644 index 0000000..a95af53 --- /dev/null +++ b/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/recipes-graphics/piglit/piglit_git.bbappend b/recipes-graphics/piglit/piglit_git.bbappend new file mode 100644 index 0000000..f5e16b3 --- /dev/null +++ b/recipes-graphics/piglit/piglit_git.bbappend @@ -0,0 +1,5 @@ +# 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/recipes-graphics/wayland/weston/0001-Add-support-for-Vivante-FBDEV-EGL.patch b/recipes-graphics/wayland/weston/0001-Add-support-for-Vivante-FBDEV-EGL.patch new file mode 100644 index 0000000..6c8dfe9 --- /dev/null +++ b/recipes-graphics/wayland/weston/0001-Add-support-for-Vivante-FBDEV-EGL.patch @@ -0,0 +1,69 @@ +From bc8f870072b134ffc9b8047a53835b7b6f714d5d Mon Sep 17 00:00:00 2001 +From: Prabhu Sundararaj +Date: Tue, 11 Mar 2014 17:35:52 -0500 +Subject: [PATCH] Add support for Vivante FBDEV EGL + +Upstream-Status: Pending + +Signed-off-by: Prabhu Sundararaj +--- + src/compositor-fbdev.c | 20 +++++++++++++++++--- + 1 file changed, 17 insertions(+), 3 deletions(-) + +diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c +index 0d96269..ada0019 100644 +--- a/src/compositor-fbdev.c ++++ b/src/compositor-fbdev.c +@@ -53,6 +53,7 @@ struct fbdev_compositor { + struct udev_input input; + int use_pixman; + struct wl_listener session_listener; ++ EGLNativeDisplayType display; + }; + + struct fbdev_screeninfo { +@@ -87,6 +88,9 @@ struct fbdev_output { + pixman_image_t *shadow_surface; + void *shadow_buf; + uint8_t depth; ++ ++ EGLNativeDisplayType display; ++ EGLNativeWindowType window; + }; + + struct fbdev_parameters { +@@ -626,9 +630,13 @@ fbdev_output_create(struct fbdev_compositor *compositor, + if (pixman_renderer_output_create(&output->base) < 0) + 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) < 0) { ++ (EGLNativeWindowType)output->window) < 0) { + weston_log("gl_renderer_output_create failed.\n"); + goto out_shadow_surface; + } +@@ -920,8 +928,14 @@ fbdev_compositor_create(struct wl_display *display, int *argc, char *argv[], + weston_log("could not load gl renderer\n"); + goto out_launcher; + } ++ ++ 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, EGL_DEFAULT_DISPLAY, ++ if (gl_renderer->create(&compositor->base, compositor->display, + gl_renderer->opaque_attribs, + NULL) < 0) { + weston_log("gl_renderer_create failed.\n"); +-- +1.8.1.2 + diff --git a/recipes-graphics/wayland/weston/0002-weston-Add-Vivante-2D-compositor-support.patch b/recipes-graphics/wayland/weston/0002-weston-Add-Vivante-2D-compositor-support.patch new file mode 100644 index 0000000..f60a208 --- /dev/null +++ b/recipes-graphics/wayland/weston/0002-weston-Add-Vivante-2D-compositor-support.patch @@ -0,0 +1,1513 @@ +From c5fa88cb08477384430d2ab1123319c9d5dfb31c Mon Sep 17 00:00:00 2001 +From: Prabhu Sundararaj +Date: Mon, 24 Mar 2014 07:30:25 -0500 +Subject: [PATCH 2/2] weston : Add Vivante 2D compositor support + +Upstream-Status: Pending + +Signed-off-by: Prabhu Sundararaj +--- + src/Makefile.am | 14 + + src/compositor-fbdev.c | 111 ++++- + src/gal2d-renderer.c | 1186 ++++++++++++++++++++++++++++++++++++++++++++++++ + src/gal2d-renderer.h | 43 ++ + 4 files changed, 1340 insertions(+), 14 deletions(-) + create mode 100644 src/gal2d-renderer.c + create mode 100644 src/gal2d-renderer.h + +diff --git a/src/Makefile.am b/src/Makefile.am +index 446639c..ef6abd6 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -112,6 +112,7 @@ module_LTLIBRARIES = \ + $(cms_static) \ + $(cms_colord) \ + $(gl_renderer) \ ++ $(gal2d_renderer) \ + $(x11_backend) \ + $(drm_backend) \ + $(wayland_backend) \ +@@ -138,6 +139,19 @@ gl_renderer_la_SOURCES = \ + gl-renderer.c \ + vertex-clipping.c \ + vertex-clipping.h ++ ++gal2d_renderer = 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 = \ ++ gal2d-renderer.h \ ++ gal2d-renderer.c \ ++ vertex-clipping.c \ ++ vertex-clipping.h + endif + + if ENABLE_X11_COMPOSITOR +diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c +index 72939b4..28f1fca 100644 +--- a/src/compositor-fbdev.c ++++ b/src/compositor-fbdev.c +@@ -44,6 +44,7 @@ + #include "pixman-renderer.h" + #include "udev-seat.h" + #include "gl-renderer.h" ++#include "gal2d-renderer.h" + + struct fbdev_compositor { + struct weston_compositor base; +@@ -52,6 +53,7 @@ struct fbdev_compositor { + struct udev *udev; + struct udev_input input; + int use_pixman; ++ int use_gal2d; + struct wl_listener session_listener; + NativeDisplayType display; + }; +@@ -97,9 +99,11 @@ 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"; + +@@ -502,7 +506,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; + pixman_transform_t transform; +@@ -512,7 +516,8 @@ fbdev_output_create(struct fbdev_compositor *compositor, + unsigned int bytes_per_pixel; + struct wl_event_loop *loop; + +- weston_log("Creating fbdev output.\n"); ++ ++ weston_log("Creating fbdev output. %s x=%d y=%d\n", device, x, y); + + output = calloc(1, sizeof *output); + if (!output) +@@ -559,7 +564,7 @@ fbdev_output_create(struct fbdev_compositor *compositor, + output->base.model = output->fb_info.id; + + 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, + WL_OUTPUT_TRANSFORM_NORMAL, + 1); +@@ -629,14 +634,40 @@ 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 { + 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)output->window) < 0) { ++ (NativeWindowType)output->window) < 0) { + weston_log("gl_renderer_output_create failed.\n"); + goto out_shadow_surface; + } +@@ -695,7 +726,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); + } + +@@ -758,7 +793,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; + } +@@ -911,7 +946,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, +@@ -921,7 +959,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; ibase.output_list.prev, ++ struct weston_output, ++ link)->width; ++ } ++ } ++ else { + gl_renderer = weston_load_module("gl-renderer.so", + "gl_renderer_interface"); + if (!gl_renderer) { +@@ -942,9 +1023,9 @@ fbdev_compositor_create(struct wl_display *display, int *argc, char *argv[], + 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); + +@@ -977,13 +1058,15 @@ 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 */ +- .use_gl = 0, ++ .use_gl = 1, ++ .use_gal2d = 0, + }; + + const struct weston_option fbdev_options[] = { + { WESTON_OPTION_INTEGER, "tty", 0, ¶m.tty }, + { WESTON_OPTION_STRING, "device", 0, ¶m.device }, +- { WESTON_OPTION_BOOLEAN, "use-gl", 0, ¶m.use_gl }, ++ { WESTON_OPTION_INTEGER, "use-gl", 0, ¶m.use_gl }, ++ { WESTON_OPTION_INTEGER, "use-gal2d", 0, ¶m.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..be7af3c +--- /dev/null ++++ b/src/gal2d-renderer.c +@@ -0,0 +1,1186 @@ ++/* ++ * Copyright (c) 2014 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 ++#include ++#include ++#include ++#include ++#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]; ++ EGLNativeDisplayType display; ++ gcoSURF* renderSurf; ++ gctUINT32 nNumBuffers; ++ int activebuffer; ++ gcoSURF offscreenSurface; ++ gceSURF_FORMAT format; ++ gcoSURF tempSurf; ++}; ++ ++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; ++ gctPOINTER va =0; ++ ++ if(!surface) ++ goto OnError; ++ ++ ++ gcmONERROR(gcoSURF_GetAlignedSize(surface, &width, &height, &stride)); ++ ++ gcmONERROR(gcoSURF_Lock(surface, &physical, (gctPOINTER *)&va)); ++ ++ gcmONERROR(gco2D_SetTargetEx(gr->gcoEngine2d, physical, stride, ++ 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, gcvFALSE)); ++ ++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; ++ gctUINT64 node = 0; ++ gctUINT bytes; ++ ++ gcmVERIFY_OK(gcoSURF_QueryVidMemNode(surface, &node, ++ &pool, &bytes)); ++ ++ 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_renderer *gr = get_renderer(output->compositor); ++ struct gal2d_output_state *go = get_output_state(output); ++ ++ if(go->nNumBuffers > 1) ++ { ++ gctUINT Offset; ++ gctINT X; ++ gctINT Y; ++ gcmVERIFY_OK(gcoHAL_Commit(gr->gcoHal, gcvTRUE)); ++ ++ gcmVERIFY_OK(gcoOS_GetDisplayBackbuffer(go->display, gcvNULL, ++ gcvNULL, gcvNULL, &Offset, &X, &Y)); ++ ++ gcmVERIFY_OK(gcoOS_SetDisplayVirtual(go->display, gcvNULL, ++ Offset, X, Y)); ++ ++ go->activebuffer = (go->activebuffer+1) % go->nNumBuffers; ++ } ++} ++ ++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->offscreenSurface && go->nNumBuffers == 1) ++ { ++ make_current(gr, go->renderSurf[go->activebuffer]); ++ ++ gctUINT srcWidth = 0; ++ gctUINT srcHeight = 0; ++ gctINT srcStride = 0; ++ gceSURF_FORMAT srcFormat;; ++ gcsRECT dstRect = {0}; ++ gcoSURF srcSurface = go->offscreenSurface; ++ gctUINT32 physical; ++ gctPOINTER va =0; ++ ++ gcmONERROR(gcoSURF_GetAlignedSize(srcSurface, &srcWidth, &srcHeight, &srcStride)); ++ gcmONERROR(gcoSURF_GetFormat(srcSurface, gcvNULL, &srcFormat)); ++ gcmONERROR(gcoSURF_Lock(srcSurface, &physical, (gctPOINTER *)&va)); ++ gcmONERROR(gco2D_SetColorSource(gr->gcoEngine2d, physical, srcStride, srcFormat, ++ gcvFALSE, srcWidth, gcvFALSE, gcvSURF_OPAQUE, 0)); ++ ++ 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)); ++ } ++ ++ gal2d_flip_surface(output); ++ ++OnError: ++ galONERROR(status); ++ return status; ++ } ++ ++static int ++use_output(struct weston_output *output) ++{ ++ struct gal2d_output_state *go = get_output_state(output); ++ struct gal2d_renderer *gr = get_renderer(output->compositor); ++ gceSTATUS status = gcvSTATUS_OK; ++ ++ gcoSURF surface; ++ surface = go->nNumBuffers > 1 ? ++ go->renderSurf[go->activebuffer] : ++ go->offscreenSurface; /*go->renderSurf[0];*/ ++ 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; ++ ++ 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 ++ { ++ gcmVERIFY_OK(gco2D_SetColorSourceEx(gr->gcoEngine2d, srcPhyAddr[0], srcStride[0], srcFormat, ++ gcvFALSE, srcWidth, srcHeight, gcvFALSE, gcvSURF_OPAQUE, 0)); ++ gcmVERIFY_OK(gco2D_SetSource(gr->gcoEngine2d, &srcRect)); ++ } ++ ++ 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; ++ } ++ } ++ status = (gcoHAL_Commit(gr->gcoHal, gcvFALSE)); ++ if(status < 0) ++ { ++ printf("Error in gcoHAL_Commit %s\n", __func__); ++ 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); ++ ++ if (pixman_region32_not_empty(&ev->surface->opaque)) { ++ ++ repaint_region(ev, output, go, &repaint, &ev->surface->opaque); ++ } ++ ++ if (pixman_region32_not_empty(&surface_blend)) { ++ struct gal2d_renderer *gr = get_renderer(ec); ++ ++ gco2D_EnableAlphaBlend(gr->gcoEngine2d, ++ ev->alpha * 0xFF, ev->alpha * 0xFF, ++ gcvSURF_PIXEL_ALPHA_STRAIGHT, gcvSURF_PIXEL_ALPHA_STRAIGHT, ++ gcvSURF_GLOBAL_ALPHA_OFF, gcvSURF_GLOBAL_ALPHA_OFF, ++ gcvSURF_BLEND_ONE, gcvSURF_BLEND_INVERSED, ++ gcvSURF_COLOR_STRAIGHT, gcvSURF_COLOR_STRAIGHT); ++ ++ repaint_region(ev, output, go, &repaint, &surface_blend); ++ } ++ ++ 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; ++ ++ 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_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 ++ { ++ gcsWL_VIV_BUFFER *vivBuffer = (gcsWL_VIV_BUFFER *)buffer; ++ gs->gco_Surface = vivBuffer->surface; ++ } ++ ++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 ++ { ++ gcsWL_VIV_BUFFER *vivBuffer = wl_resource_get_user_data(buffer->resource); ++ gs->gco_Surface = vivBuffer->surface; ++ ++ buffer->width = vivBuffer->width; ++ buffer->height = vivBuffer->height; ++ } ++} ++ ++static void ++surface_state_destroy(struct gal2d_surface_state *gs, struct gal2d_renderer *gr) ++{ ++ wl_list_remove(&gs->surface_destroy_listener.link); ++ wl_list_remove(&gs->renderer_destroy_listener.link); ++ if(gs->surface) ++ gs->surface->renderer_state = 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 = calloc(1, sizeof *gs); ++ if (!gs) ++ 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; ++ ++ if(go->nNumBuffers <= 1 ) ++ { ++ if(go->offscreenSurface) ++ gcmVERIFY_OK(gcoSURF_Destroy(go->offscreenSurface)); ++ } ++ ++ 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, EGLNativeDisplayType display, ++ EGLNativeWindowType window) ++ ++ { ++ struct gal2d_renderer *gr = get_renderer(output->compositor); ++ struct gal2d_output_state *go = calloc(1, sizeof *go); ++ halDISPLAY_INFO info; ++ gctUINT32 backOffset = 0; ++ gctINT width, height; ++ gceSTATUS status = gcvSTATUS_OK; ++ gctUINT32 i; ++ ++ if (!go) ++ 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, &width, &height); ++ 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); ++ gal2d_flip_surface(output); ++ } ++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..ebffec1 +--- /dev/null ++++ b/src/gal2d-renderer.h +@@ -0,0 +1,43 @@ ++/* ++ * Copyright (c) 2014 Freescale Semiconductor, Inc. ++ * Copyright © 2013 Vasily Khoruzhick ++ * ++ * 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" ++#include ++ ++ ++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); ++}; ++ ++struct gal2d_renderer_interface gal2d_renderer_interface; ++ ++#endif +-- +1.9.0 + diff --git a/recipes-graphics/wayland/weston_%.bbappend b/recipes-graphics/wayland/weston_%.bbappend new file mode 100644 index 0000000..0576b37 --- /dev/null +++ b/recipes-graphics/wayland/weston_%.bbappend @@ -0,0 +1,21 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://0001-Add-support-for-Vivante-FBDEV-EGL.patch \ + file://0002-weston-Add-Vivante-2D-compositor-support.patch " + +PACKAGECONFIG_mx6 = "fbdev egl cairo-glesv2" + +EXTRA_OECONF_append_mx6 = " \ + --disable-libunwind \ + --disable-xwayland-test \ + WESTON_NATIVE_BACKEND=fbdev-backend.so \ +" + +EXTRA_OEMAKE_append_mx6 = " \ + COMPOSITOR_LIBS="-lGLESv2 -lEGL -lGAL -lwayland-server -lxkbcommon -lpixman-1" \ + 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" \ + FB_COMPOSITOR_LIBS="-lGLESv2 -lEGL -lwayland-server -lxkbcommon" \ + SIMPLE_EGL_CLIENT_CFLAGS="-DLINUX -DEGL_API_FB -DEGL_API_WL" \ + CLIENT_CFLAGS="-DLINUX -DEGL_API_FB -DEGL_API_WL" \ +" diff --git a/recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput b/recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput new file mode 100644 index 0000000..59f7630 --- /dev/null +++ b/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/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput b/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput new file mode 100644 index 0000000..bd140ff --- /dev/null +++ b/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/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend b/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend new file mode 100644 index 0000000..a9c60f3 --- /dev/null +++ b/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/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.0.bb b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.0.bb new file mode 100644 index 0000000..67d8863 --- /dev/null +++ b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.0.bb @@ -0,0 +1,62 @@ +# Copyright (C) 2012-2014 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 + +DEPENDS += "virtual/xserver virtual/libx11 virtual/libgal-x11 gpu-viv-bin-mx6q pixman" + +LIC_FILES_CHKSUM = "file://EXA/src/vivante_fbdev/vivante.h;endline=19;md5=641ac6e6d013833e36290797f4d7089c" + +SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz" + +SRC_URI[md5sum] = "697d9a3fb244eb95eae4207bf2d9c321" +SRC_URI[sha256sum] = "9178c6b721e55645bedf6d2cfaf836f5c6e2684673215358a6b6845c10a7a085" + +EXTRA_OEMAKE += "-C EXA/src -f makefile.linux 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}/" + +# 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} + 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" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" +COMPATIBLE_MACHINE = "(mx6)" diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch new file mode 100644 index 0000000..6a2fcdf --- /dev/null +++ b/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?= +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 +--- + 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 + #include + #include ++#include + #include + #include + +-- +1.7.10.4 + diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch new file mode 100644 index 0000000..2ac6311 --- /dev/null +++ b/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 +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 +--- + 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 ++ */ ++ ++/* 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 + + #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 + #include + ++#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/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch new file mode 100644 index 0000000..05be6b3 --- /dev/null +++ b/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 +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 +--- + 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/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch new file mode 100644 index 0000000..64af773 --- /dev/null +++ b/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 +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 +--- + 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/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch new file mode 100644 index 0000000..14ccbbf --- /dev/null +++ b/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 + +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/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb b/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb new file mode 100644 index 0000000..443cd4f --- /dev/null +++ b/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb @@ -0,0 +1,39 @@ +# Copyright (C) 2011, 2012 Freescale +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "X.Org X server -- Freescale iMx framebuffer driver" +LICENSE = "MIT-X" +DEPENDS = "virtual/kernel virtual/xserver virtual/libx11 xproto randrproto util-macros amd-gpu-x11-bin-mx51 libz160" +LIC_FILES_CHKSUM = "file://COPYING;md5=f7bdc0c63080175d1667091b864cb12c" + +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 \ +" +SRC_URI[md5sum] = "d19148399b5d1c4dab90d0cc6f2c4789" +SRC_URI[sha256sum] = "d7d85e9f13c6dd58addab89847f3a8a67f6382a54135c7978c9a95368af024d4" + +inherit autotools pkgconfig + +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/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf new file mode 100644 index 0000000..a99e6f2 --- /dev/null +++ b/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/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf new file mode 100644 index 0000000..b89bed6 --- /dev/null +++ b/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/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf new file mode 100644 index 0000000..79b6c0f --- /dev/null +++ b/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/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend b/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend new file mode 100644 index 0000000..ceb438e --- /dev/null +++ b/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/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch b/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch new file mode 100644 index 0000000..045e24a --- /dev/null +++ b/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch @@ -0,0 +1,35 @@ +Subject: Add AArch64 support to xserver-xorg +Author: Marcin Juszkiewicz + +lnx_video.c parts are not existing in 1.14 branch. + +Xserver was checked in AArch64 fastmodel (commercial one with graphics support). + +http://patchwork.freedesktop.org/patch/12785/ + +Upstream-Status: Pending + +--- + include/servermd.h | 7 +++++++ + 1 files changed, 7 insertions(+), 0 deletions(-) + +--- xorg-server-1.13.1.orig/include/servermd.h ++++ xorg-server-1.13.1/include/servermd.h +@@ -243,10 +243,17 @@ SOFTWARE. + #define BITMAP_BIT_ORDER LSBFirst + #define GLYPHPADBYTES 4 + /* ???? */ + #endif /* AMD64 */ + ++#if defined(__aarch64__) || defined(aarch64) || defined(__aarch64) ++#define IMAGE_BYTE_ORDER MSBFirst ++#define BITMAP_BIT_ORDER MSBFirst ++#define GLYPHPADBYTES 4 ++/* ???? */ ++#endif /* AArch64 */ ++ + #if defined(SVR4) && (defined(__i386__) || defined(__i386) ) || \ + defined(__alpha__) || defined(__alpha) || \ + defined(__i386__) || \ + defined(__s390x__) || defined(__s390__) + diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch b/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch new file mode 100644 index 0000000..2f98bb8 --- /dev/null +++ b/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch @@ -0,0 +1,22 @@ +Upstream-Status: Inappropriate [configuration] + +diff --git a/configure.ac b/configure.ac +index b3b752c..600500b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -523,13 +523,9 @@ dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d, + dnl otherwise uses standard subdirectories of FONTROOTDIR. When cross + dnl compiling, assume default font path uses standard FONTROOTDIR directories. + DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/" +-if test "$cross_compiling" != yes; then +- AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d], +- [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'], +- [case $host_os in ++ case $host_os in + darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;; +- esac]) +-fi ++ esac + AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]), + [ FONTPATH="$withval" ], + [ FONTPATH="${DEFAULT_FONT_PATH}" ]) diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch b/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch new file mode 100644 index 0000000..2f62972 --- /dev/null +++ b/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch @@ -0,0 +1,15 @@ +Upstream-Status: Pending + +Index: git/os/osdep.h +=================================================================== +--- git.orig/os/osdep.h 2008-10-07 18:38:21.000000000 +0100 ++++ git/os/osdep.h 2008-10-07 18:39:36.000000000 +0100 +@@ -92,7 +92,7 @@ + * like sysconf(_SC_OPEN_MAX) is not supported. + */ + +-#if OPEN_MAX <= 256 ++#if 0 + #define MAXSOCKS (OPEN_MAX - 1) + #else + #define MAXSOCKS 256 diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch b/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch new file mode 100644 index 0000000..ec0eea6 --- /dev/null +++ b/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch @@ -0,0 +1,25 @@ +This is the revised version of files/macro_tweak.patch for +xorg-server 1.8.99.904 and newer. + +Upstream-Status: Pending + +Signed-off-by: Yu Ke + +diff --git a/xorg-server.m4 b/xorg-server.m4 +index bdecf62..040fdb8 100644 +--- a/xorg-server.m4 ++++ b/xorg-server.m4 +@@ -28,10 +28,12 @@ dnl + # Checks for the $1 define in xorg-server.h (from the sdk). If it + # is defined, then add $1 to $REQUIRED_MODULES. + ++m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR) ++ + AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + SAVE_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`" ++ CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=sdkdir xorg-server`" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include "xorg-server.h" + #if !defined $1 diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch b/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch new file mode 100644 index 0000000..168368e --- /dev/null +++ b/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch @@ -0,0 +1,29 @@ +on mips64/n64 pointers are 64bit therefore the pointer conversions to int dont work well +so we end up with incompatible conversion errors + +This patch choses the right values for mips64 + +Signed-off-by: Khem Raj + +Upstream-Status: Pending +Index: xorg-server-1.13.0/hw/xfree86/common/compiler.h +=================================================================== +--- xorg-server-1.13.0-orig/hw/xfree86/common/compiler.h 2012-06-14 23:04:29.000000000 +0300 ++++ xorg-server-1.13.0/hw/xfree86/common/compiler.h 2012-11-08 10:06:50.865831783 +0200 +@@ -101,6 +101,7 @@ + #if defined(NO_INLINE) || defined(DO_PROTOTYPES) + #if !defined(__arm__) + #if !defined(__sparc__) && !defined(__sparc) && !defined(__arm32__) && !defined(__nds32__) \ ++ && !defined(__mips64) \ + && !(defined(__alpha__) && defined(linux)) \ + && !(defined(__ia64__) && defined(linux)) \ + +@@ -721,7 +722,7 @@ + } + + #elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__)) +-#ifdef __arm32__ ++#if defined (__arm32__) || defined (__mips64) + #define PORT_SIZE long + #else + #define PORT_SIZE short diff --git a/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb b/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb new file mode 100644 index 0000000..c6e23be --- /dev/null +++ b/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb @@ -0,0 +1,35 @@ +require recipes-graphics/xorg-xserver/xserver-xorg.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=bc098b9774ed096943f6c37b5beeef13" + +# Misc build failure for master HEAD +SRC_URI += "file://crosscompile.patch \ + file://fix_open_max_preprocessor_error.patch \ + file://mips64-compiler.patch \ + file://aarch64.patch \ + " + +SRC_URI[md5sum] = "9d68a30258c67faa3c036a4a85e8bf97" +SRC_URI[sha256sum] = "608ccfaafb845f6e559884a30f946d365209172416710d687b190e9e1ff65dc3" + +# These extensions are now integrated into the server, so declare the migration +# path for in-place upgrades. + +RREPLACES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RPROVIDES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RCONFLICTS_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " diff --git a/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.04.bb b/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.04.bb new file mode 100644 index 0000000..3accf90 --- /dev/null +++ b/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.04.bb @@ -0,0 +1,15 @@ +# Copyright (C) 2013 Timesys Corporation +SUMMARY = "Multicore communication kernel module" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c8959abcbbe4d6676c58eab9354019e6" + +inherit module + +SRC_URI = "http://repository.timesys.com/buildsources/m/mcc-kmod/mcc-kmod-${PV}/mcc-kmod-${PV}.tar.bz2" + +SRC_URI[md5sum] = "d72e8f6575605906be94ac2d26e6bc26" +SRC_URI[sha256sum] = "f86a860e68cefdce70796572d97ddd4cc5e08d9f13117b431599add55bf1a651" + +S = "${WORKDIR}/mcc-kmod-${PV}" + +COMPATIBLE_MACHINE = "(vf60)" diff --git a/recipes-kernel/linux/linux-fslc.inc b/recipes-kernel/linux/linux-fslc.inc new file mode 100644 index 0000000..dc560b9 --- /dev/null +++ b/recipes-kernel/linux/linux-fslc.inc @@ -0,0 +1,18 @@ +# Copyright (C) 2012-2014 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" +DEPENDS += "lzop-native bc-native" +PROVIDES = "virtual/kernel linux-mainline" + +inherit kernel + +require recipes-kernel/linux/linux-imx.inc +require recipes-kernel/linux/linux-dtb.inc + +SRCBRANCH ?= "" + +SRC_URI = "git://github.com/Freescale/linux-mainline.git;branch=${SRCBRANCH} \ + file://defconfig" +LOCALVERSION = "-fslc" diff --git a/recipes-kernel/linux/linux-fslc/defconfig b/recipes-kernel/linux/linux-fslc/defconfig new file mode 100644 index 0000000..53e82c2 --- /dev/null +++ b/recipes-kernel/linux/linux-fslc/defconfig @@ -0,0 +1,295 @@ +# 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_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_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_VF610=y +CONFIG_SMP=y +CONFIG_VMSPLIT_2G=y +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_AEABI=y +CONFIG_HIGHMEM=y +CONFIG_CMDLINE="noinitrd console=ttymxc0,115200" +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_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_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_HW_RANDOM_MXC_RNGA=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_HWMON is not set +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_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_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_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_SOC=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_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_MASS_STORAGE=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_MC13XXX=y +CONFIG_RTC_DRV_MXC=y +CONFIG_RTC_DRV_SNVS=y +CONFIG_DMADEVICES=y +CONFIG_IMX_SDMA=y +CONFIG_MXS_DMA=y +CONFIG_STAGING=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_IPUV3_CORE=y +CONFIG_DRM_IMX_IPUV3=y +CONFIG_COMMON_CLK_DEBUG=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_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/recipes-kernel/linux/linux-fslc/mxs/defconfig b/recipes-kernel/linux/linux-fslc/mxs/defconfig new file mode 100644 index 0000000..6150108 --- /dev/null +++ b/recipes-kernel/linux/linux-fslc/mxs/defconfig @@ -0,0 +1,186 @@ +CONFIG_SYSVIPC=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_FPE_NWFPE=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_M25PXX_USE_FAST_READ is not set +CONFIG_MTD_SST25L=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_GPMI_NAND=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_UNSAFE_RESUME=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_COMMON_CLK_DEBUG=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_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_HW is not set +CONFIG_CRC_ITU_T=m +CONFIG_CRC7=m +CONFIG_FONTS=y diff --git a/recipes-kernel/linux/linux-fslc_3.14.bb b/recipes-kernel/linux/linux-fslc_3.14.bb new file mode 100644 index 0000000..fb41d2d --- /dev/null +++ b/recipes-kernel/linux/linux-fslc_3.14.bb @@ -0,0 +1,17 @@ +# Copyright (C) 2012-2014 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 = "3.14+git${SRCPV}" + +SRCBRANCH = "patches-3.14" +SRCREV = "c34636a55713cace69f1f753f30da3d63fbf72ad" + +COMPATIBLE_MACHINE = "(mxs|mx3|mx5|mx6)" diff --git a/recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig b/recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig new file mode 100644 index 0000000..3c20ee8 --- /dev/null +++ b/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/recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig b/recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig new file mode 100644 index 0000000..29c4677 --- /dev/null +++ b/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/recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig b/recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig new file mode 100644 index 0000000..213a06d --- /dev/null +++ b/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/recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch b/recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch new file mode 100644 index 0000000..6b89bb6 --- /dev/null +++ b/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 +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 +--- + 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/recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch b/recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch new file mode 100644 index 0000000..7d12941 --- /dev/null +++ b/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 +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 +definiton 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 +--- + 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/recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig b/recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig new file mode 100644 index 0000000..fa2eada --- /dev/null +++ b/recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig @@ -0,0 +1,358 @@ +CONFIG_KERNEL_LZO=y +CONFIG_SYSVIPC=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=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_GPIO_PCA953X=y +CONFIG_ARCH_MXC=y +CONFIG_MXC_DEBUG_BOARD=y +CONFIG_MACH_IMX51_DT=y +CONFIG_MACH_EUKREA_CPUIMX51SD=y +CONFIG_SOC_IMX53=y +CONFIG_SOC_IMX6Q=y +CONFIG_SOC_IMX6SL=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_OABI_COMPAT is not set +CONFIG_HIGHMEM=y +CONFIG_CMDLINE="noinitrd console=ttymxc0,115200" +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=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_IMX6_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_CAN=y +CONFIG_CAN_FLEXCAN=y +CONFIG_CFG80211=y +CONFIG_CFG80211_WEXT=y +CONFIG_MAC80211=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +CONFIG_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_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_ATH_CARDS=y +CONFIG_ATH6KL=m +CONFIG_ATH6KL_SDIO=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_ELAN=y +CONFIG_TOUCHSCREEN_MAX11801=y +CONFIG_TOUCHSCREEN_MC13783=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MMA8450=y +CONFIG_INPUT_ISL29023=y +CONFIG_SERIO_SERPORT=m +CONFIG_VT_HW_CONSOLE_BINDING=y +# 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_MXS_VIIM=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_IMX6_USB_CHARGER=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_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_DA9052=y +CONFIG_REGULATOR_ANATOP=y +CONFIG_REGULATOR_MC13783=y +CONFIG_REGULATOR_MC13892=y +CONFIG_REGULATOR_MAX17135=y +CONFIG_REGULATOR_PFUZE100=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_RADIO_SUPPORT=y +CONFIG_VIDEO_V4L2_INT_DEVICE=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_VIDEO_MXC_CSI_CAMERA=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_SOC_CAMERA=y +CONFIG_VIDEO_MX3=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_HANNSTAR_CABC=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FONTS=y +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=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_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_STORAGE=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_PHY=y +CONFIG_NOP_USB_XCEIV=y +CONFIG_USB_MXS_PHY=y +CONFIG_USB_GADGET=y +CONFIG_USB_ZERO=m +CONFIG_USB_ETH=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_ASRC=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_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_COMMON_CLK_DEBUG=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_USER=y +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTS=y +CONFIG_CRYPTO_ECB=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_SHA256=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_FHANDLE=y diff --git a/recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig b/recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig new file mode 100644 index 0000000..a4e880b --- /dev/null +++ b/recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig @@ -0,0 +1,341 @@ +CONFIG_KERNEL_LZO=y +CONFIG_SYSVIPC=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=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_GPIO_PCA953X=y +CONFIG_ARCH_MXC=y +CONFIG_MXC_DEBUG_BOARD=y +CONFIG_MACH_IMX51_DT=y +CONFIG_MACH_EUKREA_CPUIMX51SD=y +CONFIG_SOC_IMX53=y +CONFIG_SOC_IMX6Q=y +CONFIG_SOC_IMX6SL=y +CONFIG_SOC_VF610=y +# CONFIG_SWP_EMULATE is not set +CONFIG_SMP=y +CONFIG_VMSPLIT_2G=y +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +CONFIG_CMDLINE="noinitrd console=ttymxc0,115200" +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=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_IMX6_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_CFG80211=y +CONFIG_CFG80211_WEXT=y +CONFIG_MAC80211=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +CONFIG_CMA=y +CONFIG_CMA_SIZE_MBYTES=256 +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_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_ATH_CARDS=y +CONFIG_ATH6KL=m +CONFIG_ATH6KL_SDIO=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_ELAN=y +CONFIG_TOUCHSCREEN_MAX11801=y +CONFIG_TOUCHSCREEN_MC13783=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MMA8450=y +CONFIG_INPUT_ISL29023=y +CONFIG_SERIO_SERPORT=m +CONFIG_VT_HW_CONSOLE_BINDING=y +# 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_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_DA9052=y +CONFIG_REGULATOR_ANATOP=y +CONFIG_REGULATOR_MC13783=y +CONFIG_REGULATOR_MC13892=y +CONFIG_REGULATOR_MAX17135=y +CONFIG_REGULATOR_PFUZE100=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_RADIO_SUPPORT=y +CONFIG_VIDEO_V4L2_INT_DEVICE=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_VIDEO_MXC_CSI_CAMERA=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_SOC_CAMERA=y +CONFIG_VIDEO_MX3=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_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FONTS=y +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=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_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_STORAGE=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_PHY=y +CONFIG_USB_MXS_PHY=y +CONFIG_USB_GADGET=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_ASRC=y +CONFIG_MXC_MIPI_CSI2=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=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_COMMON_CLK_DEBUG=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_USER=y +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTS=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_LRW=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 diff --git a/recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb b/recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb new file mode 100644 index 0000000..1400973 --- /dev/null +++ b/recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb @@ -0,0 +1,7 @@ +# Copyright (C) 2014 O.S. Systems Software LTDA. +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/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch new file mode 100644 index 0000000..8d9ed83 --- /dev/null +++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch @@ -0,0 +1,139 @@ +Fix the build errors listed below + +Upstream-Status: Inappropriate [other] +Freescale does not currently support the real-time kernel + +Signed-off-by: Jacob Kroon + + CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_WaitSignal': +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7835:5: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror] + spin_lock_irq(&signal->obj.wait.lock); + ^ +In file included from include/linux/seqlock.h:29:0, + from include/linux/time.h:5, + from include/linux/stat.h:18, + from include/linux/module.h:10, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: +include/linux/spinlock.h:316:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *' + static inline void spin_lock_irq(spinlock_t *lock) + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7867:9: error: passing argument 1 of '__add_wait_queue_tail' from incompatible pointer type [-Werror] + __add_wait_queue_tail(&signal->obj.wait, &wait); + ^ +In file included from include/linux/mmzone.h:9:0, + from include/linux/gfp.h:4, + from include/linux/kmod.h:22, + from include/linux/module.h:13, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: +include/linux/wait.h:120:20: note: expected 'struct wait_queue_head_t *' but argument is of type 'struct swait_head *' + static inline void __add_wait_queue_tail(wait_queue_head_t *head, + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7879:13: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror] + spin_unlock_irq(&signal->obj.wait.lock); + ^ +In file included from include/linux/seqlock.h:29:0, + from include/linux/time.h:5, + from include/linux/stat.h:18, + from include/linux/module.h:10, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: +include/linux/spinlock.h:341:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *' + static inline void spin_unlock_irq(spinlock_t *lock) + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7881:13: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror] + spin_lock_irq(&signal->obj.wait.lock); + ^ +In file included from include/linux/seqlock.h:29:0, + from include/linux/time.h:5, + from include/linux/stat.h:18, + from include/linux/module.h:10, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: +include/linux/spinlock.h:316:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *' + static inline void spin_lock_irq(spinlock_t *lock) + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7945:9: error: passing argument 1 of '__remove_wait_queue' from incompatible pointer type [-Werror] + __remove_wait_queue(&signal->obj.wait, &wait); + ^ +In file included from include/linux/mmzone.h:9:0, + from include/linux/gfp.h:4, + from include/linux/kmod.h:22, + from include/linux/module.h:13, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: +include/linux/wait.h:133:20: note: expected 'struct wait_queue_head_t *' but argument is of type 'struct swait_head *' + static inline void __remove_wait_queue(wait_queue_head_t *head, + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7958:5: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror] + spin_unlock_irq(&signal->obj.wait.lock); + ^ +In file included from include/linux/seqlock.h:29:0, + from include/linux/time.h:5, + from include/linux/stat.h:18, + from include/linux/module.h:10, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: +include/linux/spinlock.h:341:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *' + static inline void spin_unlock_irq(spinlock_t *lock) + ^ +cc1: all warnings being treated as errors +make[4]: *** [drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1 + +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 +@@ -7832,7 +7832,7 @@ gckOS_WaitSignal( + + might_sleep(); + +- spin_lock_irq(&signal->obj.wait.lock); ++ raw_spin_lock_irq(&signal->obj.wait.lock); + + if (signal->obj.done) + { +@@ -7862,9 +7862,8 @@ gckOS_WaitSignal( + : Wait * HZ / 1000; + #endif + +- 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) + { +@@ -7876,9 +7875,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) + { +@@ -7942,7 +7941,7 @@ gckOS_WaitSignal( + } + } + +- __remove_wait_queue(&signal->obj.wait, &wait); ++ swait_finish_locked(&signal->obj.wait, &wait); + + #if gcdDETECT_TIMEOUT + if (complained) +@@ -7955,7 +7954,7 @@ gckOS_WaitSignal( + #endif + } + +- spin_unlock_irq(&signal->obj.wait.lock); ++ raw_spin_unlock_irq(&signal->obj.wait.lock); + + OnError: + /* Return status. */ diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch new file mode 100644 index 0000000..6132b3b --- /dev/null +++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch @@ -0,0 +1,111 @@ +Fix the build errors listed below, when PREEMPT_RT_FULL is enabled + +Upstream-Status: Pending + +Signed-off-by: Jacob Kroon + + CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o +In file included from include/linux/seqlock.h:29:0, + from include/linux/time.h:5, + from include/linux/stat.h:18, + from include/linux/module.h:10, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_CreateMutex': +include/linux/mutex_rt.h:74:24: error: dereferencing 'void *' pointer [-Werror] + rt_mutex_init(&(mutex)->lock); \ + ^ +include/linux/spinlock.h:104:9: note: in definition of macro 'raw_spin_lock_init' + do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0) + ^ +include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init' + rt_mutex_init(&(mutex)->lock); \ + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init' + mutex_init(*Mutex); + ^ +include/linux/mutex_rt.h:74:24: error: request for member 'lock' in something not a structure or union + rt_mutex_init(&(mutex)->lock); \ + ^ +include/linux/spinlock.h:104:9: note: in definition of macro 'raw_spin_lock_init' + do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0) + ^ +include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init' + rt_mutex_init(&(mutex)->lock); \ + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init' + mutex_init(*Mutex); + ^ +In file included from include/linux/spinlock_types.h:18:0, + from include/linux/spinlock.h:81, + from include/linux/seqlock.h:29, + from include/linux/time.h:5, + from include/linux/stat.h:18, + from include/linux/module.h:10, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: +include/linux/mutex_rt.h:74:24: error: dereferencing 'void *' pointer [-Werror] + rt_mutex_init(&(mutex)->lock); \ + ^ +include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init' + rt_mutex_init(&(mutex)->lock); \ + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init' + mutex_init(*Mutex); + ^ +include/linux/mutex_rt.h:74:24: error: request for member 'lock' in something not a structure or union + rt_mutex_init(&(mutex)->lock); \ + ^ +include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init' + rt_mutex_init(&(mutex)->lock); \ + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init' + mutex_init(*Mutex); + ^ +In file included from include/linux/mutex.h:28:0, + from include/linux/notifier.h:13, + from include/linux/memory_hotplug.h:6, + from include/linux/mmzone.h:771, + from include/linux/gfp.h:4, + from include/linux/kmod.h:22, + from include/linux/module.h:13, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27, + from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22: +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_DeleteMutex': +include/linux/mutex_rt.h:46:48: error: dereferencing 'void *' pointer [-Werror] + #define mutex_destroy(l) rt_mutex_destroy(&(l)->lock) + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3091:5: note: in expansion of macro 'mutex_destroy' + mutex_destroy(Mutex); + ^ +include/linux/mutex_rt.h:46:48: error: request for member 'lock' in something not a structure or union + #define mutex_destroy(l) rt_mutex_destroy(&(l)->lock) + ^ +drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3091:5: note: in expansion of macro 'mutex_destroy' + mutex_destroy(Mutex); + ^ +cc1: all warnings being treated as errors +make[4]: *** [drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1 + +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 +@@ -3043,7 +3043,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); +@@ -3088,7 +3088,7 @@ gckOS_DeleteMutex( + gcmkVERIFY_ARGUMENT(Mutex != gcvNULL); + + /* Destroy the mutex. */ +- mutex_destroy(Mutex); ++ mutex_destroy((struct mutex*)Mutex); + + /* Free the mutex structure. */ + gcmkONERROR(gckOS_Free(Os, Mutex)); diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch new file mode 100644 index 0000000..b7995b6 --- /dev/null +++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch @@ -0,0 +1,84 @@ +Work around the oops below by disabling split ptlocks + +Upstream-Status: Inappropriate [disable feature] + +Signed-off-by: Jacob Kroon + +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 + +Index: git/include/linux/mm_types.h +=================================================================== +--- git.orig/include/linux/mm_types.h ++++ git/include/linux/mm_types.h +@@ -24,7 +24,7 @@ + + struct address_space; + +-#define USE_SPLIT_PTLOCKS (NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS) ++#define USE_SPLIT_PTLOCKS (0) + + /* + * Each physical page in the system has a struct page associated with diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig b/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig new file mode 100644 index 0000000..0144b3d --- /dev/null +++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig @@ -0,0 +1,358 @@ +CONFIG_KERNEL_LZO=y +CONFIG_SYSVIPC=y +CONFIG_FHANDLE=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=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_GPIO_PCA953X=y +CONFIG_ARCH_MXC=y +CONFIG_MXC_DEBUG_BOARD=y +CONFIG_MACH_IMX51_DT=y +CONFIG_MACH_EUKREA_CPUIMX51SD=y +CONFIG_SOC_IMX53=y +CONFIG_SOC_IMX6Q=y +CONFIG_SOC_IMX6SL=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_OABI_COMPAT is not set +CONFIG_HIGHMEM=y +CONFIG_CMDLINE="noinitrd console=ttymxc0,115200" +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=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_IMX6_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_CAN=y +CONFIG_CAN_FLEXCAN=y +CONFIG_CFG80211=y +CONFIG_CFG80211_WEXT=y +CONFIG_MAC80211=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +CONFIG_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_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_ATH_CARDS=y +CONFIG_ATH6KL=m +CONFIG_ATH6KL_SDIO=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_ELAN=y +CONFIG_TOUCHSCREEN_MAX11801=y +CONFIG_TOUCHSCREEN_MC13783=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MMA8450=y +CONFIG_INPUT_ISL29023=y +CONFIG_SERIO_SERPORT=m +CONFIG_VT_HW_CONSOLE_BINDING=y +# 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_MXS_VIIM=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_IMX6_USB_CHARGER=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_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_DA9052=y +CONFIG_REGULATOR_ANATOP=y +CONFIG_REGULATOR_MC13783=y +CONFIG_REGULATOR_MC13892=y +CONFIG_REGULATOR_MAX17135=y +CONFIG_REGULATOR_PFUZE100=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_RADIO_SUPPORT=y +CONFIG_VIDEO_V4L2_INT_DEVICE=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_VIDEO_MXC_CSI_CAMERA=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_SOC_CAMERA=y +CONFIG_VIDEO_MX3=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_HANNSTAR_CABC=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_FONTS=y +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=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_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_STORAGE=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_PHY=y +CONFIG_NOP_USB_XCEIV=y +CONFIG_USB_MXS_PHY=y +CONFIG_USB_GADGET=y +CONFIG_USB_ZERO=m +CONFIG_USB_ETH=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_ASRC=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_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_COMMON_CLK_DEBUG=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_USER=y +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTS=y +CONFIG_CRYPTO_ECB=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_SHA256=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 diff --git a/recipes-kernel/linux/linux-imx-rt_3.10.17.bb b/recipes-kernel/linux/linux-imx-rt_3.10.17.bb new file mode 100644 index 0000000..35c7d30 --- /dev/null +++ b/recipes-kernel/linux/linux-imx-rt_3.10.17.bb @@ -0,0 +1,26 @@ +# Adapted from linux-imx_3.10.17.bb + +require recipes-kernel/linux/linux-imx.inc +require recipes-kernel/linux/linux-dtb.inc + +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." + +DEPENDS += "lzop-native bc-native" + +SRCBRANCH = "imx_3.10.17_1.0.0_ga" +SRCREV = "232293e0abb46639e188ab9d8643f1dbf94534f6" +LOCALVERSION = "-1.0.0_ga" + +COMPATIBLE_MACHINE = "(mx6)" + +SRC_URI += "\ + https://www.kernel.org/pub/linux/kernel/projects/rt/3.10/older/patch-3.10.17-rt12.patch.bz2;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] = "77a28c8b20b01f280dcd860e606a6edd" +SRC_URI[rt-patch1.sha256sum] = "ce219268f08eecccb39ff2b5be83657d53ca67cb1c6b81021494075197190351" diff --git a/recipes-kernel/linux/linux-imx.inc b/recipes-kernel/linux/linux-imx.inc new file mode 100644 index 0000000..47566b0 --- /dev/null +++ b/recipes-kernel/linux/linux-imx.inc @@ -0,0 +1,47 @@ +# Copyright (C) 2012, 2014 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 + +# Put a local version until we have a true SRCREV to point to +LOCALVERSION ?= "+yocto" +SCMVERSION ?= "y" + +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}" + +kernel_conf_variable() { + CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;" + if test "$2" = "n" + then + echo "# CONFIG_$1 is not set" >> ${S}/.config + else + echo "CONFIG_$1=$2" >> ${S}/.config + fi +} + +do_configure_prepend() { + echo "" > ${S}/.config + CONF_SED_SCRIPT="" + + kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\"" + kernel_conf_variable LOCALVERSION_AUTO y + + sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${S}/.config' + + if [ "${SCMVERSION}" = "y" ]; then + # Add GIT revision to the local version + head=`git rev-parse --verify --short HEAD 2> /dev/null` + printf "%s%s" +g $head > ${S}/.scmversion + fi +} diff --git a/recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch b/recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch new file mode 100644 index 0000000..870f0c5 --- /dev/null +++ b/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 +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 +--- + 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/recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch b/recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch new file mode 100644 index 0000000..7597fa1 --- /dev/null +++ b/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 +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 +[forward port to 2.6.33+] +Signed-off-by: Bruce Ashfield +--- + 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/recipes-kernel/linux/linux-imx_2.6.35.3.bb b/recipes-kernel/linux/linux-imx_2.6.35.3.bb new file mode 100644 index 0000000..be39179 --- /dev/null +++ b/recipes-kernel/linux/linux-imx_2.6.35.3.bb @@ -0,0 +1,26 @@ +# 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 = "903363ed80a113f2d1e3e96e508ecf128d9af323" +LOCALVERSION = "-maintain+yocto" +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 \ +" + +SRC_URI_append_mx28 = " \ + file://mxs-duart-use-ttyAMA-for-device-name.patch \ +" diff --git a/recipes-kernel/linux/linux-imx_3.10.17.bb b/recipes-kernel/linux/linux-imx_3.10.17.bb new file mode 100644 index 0000000..afa31e2 --- /dev/null +++ b/recipes-kernel/linux/linux-imx_3.10.17.bb @@ -0,0 +1,17 @@ +# Copyright (C) 2013, 2014 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.10.17_1.0.0_ga" +SRCREV = "232293e0abb46639e188ab9d8643f1dbf94534f6" +LOCALVERSION = "-1.0.0_ga" + +COMPATIBLE_MACHINE = "(mx6)" diff --git a/recipes-kernel/linux/linux-mfgtool.inc b/recipes-kernel/linux/linux-mfgtool.inc new file mode 100644 index 0000000..5c042ee --- /dev/null +++ b/recipes-kernel/linux/linux-mfgtool.inc @@ -0,0 +1,80 @@ +# 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 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" + +# 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() +} + +addhandler mfgtool_recipe_handler +mfgtool_recipe_handler[eventmask] = "bb.event.RecipePreFinalise" + +# FIXME: We need to remove the KERNEL_SRC_PATH 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 ${D}${KERNEL_SRC_PATH} + rmdir ${D}/usr/src ${D}/usr +} + +# FIXME: We must to avoid the staging of KERNEL_SRC_PATH as +# it is being removed (see above FIXME items). +sysroot_stage_all() { + : +} diff --git a/recipes-kernel/linux/linux-timesys-3.0.15/0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch b/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 0000000..7cf3597 --- /dev/null +++ b/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 +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/recipes-kernel/linux/linux-timesys-3.0.15/0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch b/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 0000000..3c75b71 --- /dev/null +++ b/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 +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/recipes-kernel/linux/linux-timesys-3.0.15/defconfig b/recipes-kernel/linux/linux-timesys-3.0.15/defconfig new file mode 100644 index 0000000..b750bed --- /dev/null +++ b/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/recipes-kernel/linux/linux-timesys_3.0.15.bb b/recipes-kernel/linux/linux-timesys_3.0.15.bb new file mode 100644 index 0000000..24ea076 --- /dev/null +++ b/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 = "-3.0-mvf+yocto" + +COMPATIBLE_MACHINE = "(vf60)" diff --git a/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb b/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb new file mode 100644 index 0000000..331ccdb --- /dev/null +++ b/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb @@ -0,0 +1,27 @@ +# 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" + +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" + +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)" diff --git a/recipes-multimedia/gstreamer/gst-fsl-plugin.inc b/recipes-multimedia/gstreamer/gst-fsl-plugin.inc new file mode 100644 index 0000000..dca9209 --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-fsl-plugin.inc @@ -0,0 +1,66 @@ +# Copyright (C) 2011-2013 Freescale Semiconductor +# Copytight (C) 2012-2014 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 = "gstreamer gst-plugins-base libfslcodec libfslparser virtual/kernel" +DEPENDS_append_mx5 = " imx-lib imx-vpu" +DEPENDS_append_mx6q = " imx-lib imx-vpu libfslvpuwrap" +DEPENDS_append_mx6dl = " imx-lib imx-vpu libfslvpuwrap" +DEPENDS_append_mx6sl = " imx-lib" + +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" + +S = "${WORKDIR}/gst-fsl-plugins-${PV}" + +SRC_URI = "${FSL_MIRROR}/gst-fsl-plugins-${PV}.tar.gz \ + file://build-Fix-out-of-tree-build.patch" + +inherit autotools pkgconfig + +PLATFORM_mx5 = "MX51" +PLATFORM_mx6 = "MX6" +PLATFORM_mx6sl = "MX6SL" +PLATFORM_mx28 = "MX28" + +# Todo add a mechanism to map posible build targets +EXTRA_OECONF = "PLATFORM=${PLATFORM} \ + CPPFLAGS="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"" + +PACKAGES =+ "${PN}-libmfwsconf ${PN}-libgplaycore ${PN}-libgstfsl \ + ${PN}-libme ${PN}-libgstbufmeta ${PN}-libmfwba \ + ${PN}-libfwvss ${PN}-gplay" + +# FIXME: Add all features +# feature from excluded mm packages +PACKAGECONFIG[ac3] += "--enable-ac3dec,--disable-ac3dec,libfslac3codec,libfslac3codec" +# feature from special mm packages +PACKAGECONFIG[aacp] += "--enable-aacpdec,--disable-aacpdec,libfslaacpcodec,libfslaacpcodec" +MSDEPENDS = "libfslmsparser libfslmscodec" +PACKAGECONFIG[wma10dec] +="--enable-wma10dec,--disable-wma10dec,${MSDEPENDS},${MSDEPENDS}" +PACKAGECONFIG[wma8enc] +="--enable-wma8enc,--disable-wma8enc,${MSDEPENDS},${MSDEPENDS}" +PACKAGECONFIG[wmv9mpdec] +="--enable-wmv9mpdec,--disable-wmv9mpdec,${MSDEPENDS},${MSDEPENDS}" +PACKAGECONFIG[wmv78dec] +="--enable-wmv78dec,--disable-wmv78dec,${MSDEPENDS},${MSDEPENDS}" + +FILES_${PN} = "${libdir}/gstreamer-0.10/*.so ${datadir}" +# Add codec list that the beep plugin run-time depended +BEEP_RDEPENDS = "libfslcodec-aac libfslcodec-mp3 libfslcodec-oggvorbis" +RDEPENDS_${PN} += "gst-plugins-good-id3demux libfslparser ${BEEP_RDEPENDS}" + +FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" +FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/pkgconfig/*.pc" +FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a" + +FILES_${PN}-gplay = "${bindir}/gplay" +FILES_${PN}-libmfwsconf = "${libdir}/libmfwsconf${SOLIBS}" +FILES_${PN}-libgplaycore = "${libdir}/libgplaycore${SOLIBS}" +FILES_${PN}-libgstfsl = "${libdir}/libgstfsl-0.10${SOLIBS}" +FILES_${PN}-libme = "${libdir}/libme${SOLIBS}" +FILES_${PN}-libgstbufmeta = "${libdir}/libgstbufmeta${SOLIBS}" +FILES_${PN}-libmfwba = "${libdir}/libmfwba${SOLIBS}" +FILES_${PN}-libfwvss = "${libdir}/libmfwvss${SOLIBS}" diff --git a/recipes-multimedia/gstreamer/gst-fsl-plugin/build-Fix-out-of-tree-build.patch b/recipes-multimedia/gstreamer/gst-fsl-plugin/build-Fix-out-of-tree-build.patch new file mode 100644 index 0000000..80b796d --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-fsl-plugin/build-Fix-out-of-tree-build.patch @@ -0,0 +1,617 @@ +From 5b3b8e03df1fadb3ca37c9119cd0089c5171fb05 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador +Date: Thu, 1 May 2014 15:44:51 -0300 +Subject: [PATCH] build: Fix out of tree build +Organization: O.S. Systems Software LTDA. + +The build system had relative include paths which didn't take into +account the origial source path makes it impossible to do out of tree +builds. To fix it, every relative include path was replaced with +$(top_srcdir) so it works independetly of build diretory location. + +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador +--- + libs/Makefile.am | 2 +- + src/audio/aac_dec/src/Makefile.am | 2 +- + src/audio/aacplus_dec/src/Makefile.am | 2 +- + src/audio/ac3_dec/src/Makefile.am | 2 +- + src/audio/amr_dec/src/Makefile.am | 2 +- + src/audio/amr_dec/src/Makefile.in | 2 +- + src/audio/amr_enc/src/Makefile.am | 2 +- + src/audio/amr_enc/src/Makefile.in | 2 +- + src/audio/audio_pp/src/Makefile.am | 2 +- + src/audio/beep/src/Makefile.am | 8 ++++---- + src/audio/down_mix/src/Makefile.am | 2 +- + src/audio/mp3_dec/src/Makefile.am | 8 ++++---- + src/audio/mp3_enc/src/Makefile.am | 8 ++++---- + src/audio/spdif_rx/src/Makefile.am | 2 +- + src/audio/spdif_tx/src/Makefile.am | 2 +- + src/audio/vorbis_dec/src/Makefile.am | 2 +- + src/audio/wma10_dec/src/Makefile.am | 8 ++++---- + src/audio/wma8_enc/src/Makefile.am | 2 +- + src/misc/i_sink/src/Makefile.am | 2 +- + src/misc/tvsrc/src/Makefile.am | 2 +- + src/misc/v4l_sink/src/Makefile.am | 16 ++++++++-------- + src/misc/v4l_source/src/Makefile.am | 2 +- + src/parser/aiur/src/Makefile.am | 2 +- + src/video/deinterlace/src/Makefile.am | 2 +- + src/video/h264_dec/src/Makefile.am | 8 ++++---- + src/video/ipu_csc/src/Makefile.am | 2 +- + src/video/mpeg2_dec/src/Makefile.am | 2 +- + src/video/mpeg4asp_dec/src/Makefile.am | 8 ++++---- + src/video/vpu/src/Makefile.am | 2 +- + src/video/vpu_dec.full/src/Makefile.am | 2 +- + src/video/vpu_enc/src/Makefile.am | 2 +- + src/video/wmv9mp_dec/src/Makefile.am | 2 +- + src/video/wmv_dec/src/Makefile.am | 2 +- + 33 files changed, 58 insertions(+), 58 deletions(-) + +diff --git a/libs/Makefile.am b/libs/Makefile.am +index a9e5e0f..47d1e8b 100755 +--- a/libs/Makefile.am ++++ b/libs/Makefile.am +@@ -35,7 +35,7 @@ endif + endif + + +-libgstfsl_@GST_MAJORMINOR@_la_CFLAGS = $(GST_BASE_CFLAGS) $(IPU_CFLAGS) -I../inc/common ++libgstfsl_@GST_MAJORMINOR@_la_CFLAGS = $(GST_BASE_CFLAGS) $(IPU_CFLAGS) -I$(top_srcdir)/inc/common + + if PLATFORM_IS_MX5X + libgstfsl_@GST_MAJORMINOR@_la_CFLAGS += -DIPULIB +diff --git a/src/audio/aac_dec/src/Makefile.am b/src/audio/aac_dec/src/Makefile.am +index 143f0b3..85a3b07 100755 +--- a/src/audio/aac_dec/src/Makefile.am ++++ b/src/audio/aac_dec/src/Makefile.am +@@ -22,7 +22,7 @@ libmfw_gst_aacdec_la_SOURCES = mfw_gst_aacdec.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + libmfw_gst_aacdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -DPUSH_MODE -fno-omit-frame-pointer -fPIC +-libmfw_gst_aacdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_aacdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + + + if PLATFORM_IS_MX2X +diff --git a/src/audio/aacplus_dec/src/Makefile.am b/src/audio/aacplus_dec/src/Makefile.am +index a5453f9..9d8adfe 100755 +--- a/src/audio/aacplus_dec/src/Makefile.am ++++ b/src/audio/aacplus_dec/src/Makefile.am +@@ -35,7 +35,7 @@ libmfw_gst_aacplusdec_la_SOURCES = mfw_gst_aacplusdec.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + libmfw_gst_aacplusdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -DPUSH_MODE -fno-omit-frame-pointer -fPIC +-libmfw_gst_aacplusdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_aacplusdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + if PLATFORM_IS_MX2X + libmfw_gst_aacplusdec_la_CFLAGS += -march=armv5te -mcpu=arm926ej-s + libmfw_gst_aacplusdec_la_CPPFLAGS += -march=armv5te -mcpu=arm926ej-s +diff --git a/src/audio/ac3_dec/src/Makefile.am b/src/audio/ac3_dec/src/Makefile.am +index 4916a32..0e2632d 100755 +--- a/src/audio/ac3_dec/src/Makefile.am ++++ b/src/audio/ac3_dec/src/Makefile.am +@@ -10,7 +10,7 @@ libmfw_gst_ac3dec_la_SOURCES = mfw_gst_ac3dec.c + + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs +-libmfw_gst_ac3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_ac3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + libmfw_gst_ac3dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -l_ac3_dec_arm11_elinux + libmfw_gst_ac3dec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@ + # headers we need but don't want installed +diff --git a/src/audio/amr_dec/src/Makefile.am b/src/audio/amr_dec/src/Makefile.am +index bf32d57..095a659 100755 +--- a/src/audio/amr_dec/src/Makefile.am ++++ b/src/audio/amr_dec/src/Makefile.am +@@ -19,7 +19,7 @@ libmfw_gst_amrdec_la_SOURCES = mfw_gst_amrdec.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + libmfw_gst_amrdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -fno-omit-frame-pointer -fPIC +-libmfw_gst_amrdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib ++libmfw_gst_amrdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib + libmfw_gst_amrdec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(CORELIB) -lgstaudio-$(GST_MAJORMINOR) + libmfw_gst_amrdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@ + +diff --git a/src/audio/amr_dec/src/Makefile.in b/src/audio/amr_dec/src/Makefile.in +index 7ae3497..f282ef9 100644 +--- a/src/audio/amr_dec/src/Makefile.in ++++ b/src/audio/amr_dec/src/Makefile.in +@@ -381,7 +381,7 @@ libmfw_gst_amrdec_la_SOURCES = mfw_gst_amrdec.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + libmfw_gst_amrdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -fno-omit-frame-pointer -fPIC +-libmfw_gst_amrdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib ++libmfw_gst_amrdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib + libmfw_gst_amrdec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(CORELIB) -lgstaudio-$(GST_MAJORMINOR) + libmfw_gst_amrdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@ + +diff --git a/src/audio/amr_enc/src/Makefile.am b/src/audio/amr_enc/src/Makefile.am +index 4dcc25e..a4d56c9 100755 +--- a/src/audio/amr_enc/src/Makefile.am ++++ b/src/audio/amr_enc/src/Makefile.am +@@ -19,7 +19,7 @@ libmfw_gst_amrenc_la_SOURCES = mfw_gst_amrenc.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + libmfw_gst_amrenc_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -fno-omit-frame-pointer -fPIC +-libmfw_gst_amrenc_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_amrenc_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + libmfw_gst_amrenc_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(CORELIB) -lgstaudio-$(GST_MAJORMINOR) + libmfw_gst_amrenc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@ + +diff --git a/src/audio/amr_enc/src/Makefile.in b/src/audio/amr_enc/src/Makefile.in +index 3792973..575bb90 100644 +--- a/src/audio/amr_enc/src/Makefile.in ++++ b/src/audio/amr_enc/src/Makefile.in +@@ -381,7 +381,7 @@ libmfw_gst_amrenc_la_SOURCES = mfw_gst_amrenc.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + libmfw_gst_amrenc_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -fno-omit-frame-pointer -fPIC +-libmfw_gst_amrenc_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_amrenc_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + libmfw_gst_amrenc_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(CORELIB) -lgstaudio-$(GST_MAJORMINOR) + libmfw_gst_amrenc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@ + +diff --git a/src/audio/audio_pp/src/Makefile.am b/src/audio/audio_pp/src/Makefile.am +index 42365a0..32569fe 100755 +--- a/src/audio/audio_pp/src/Makefile.am ++++ b/src/audio/audio_pp/src/Makefile.am +@@ -1,7 +1,7 @@ + plugin_LTLIBRARIES = libmfw_gst_audio_pp.la + + libmfw_gst_audio_pp_la_SOURCES = mfw_gst_audio_pp.c +-libmfw_gst_audio_pp_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib ++libmfw_gst_audio_pp_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib + libmfw_gst_audio_pp_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l_peq_arm11_elinux + libmfw_gst_audio_pp_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) + +diff --git a/src/audio/beep/src/Makefile.am b/src/audio/beep/src/Makefile.am +index fdd6669..4e92b92 100755 +--- a/src/audio/beep/src/Makefile.am ++++ b/src/audio/beep/src/Makefile.am +@@ -8,24 +8,24 @@ libmfw_gst_beep_la_SOURCES = beep.c beepregistry.c beepdec.c beeptypefind.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + if PLATFORM_IS_MX2X +-libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../libs -I../../../../inc/core_lib/uni_audio -D_ARM9 -march=armv5te -mcpu=arm926ej-s ++libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs -I$(top_srcdir)/inc/core_lib/uni_audio -D_ARM9 -march=armv5te -mcpu=arm926ej-s + libmfw_gst_beep_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ -ldl ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + endif + + + if PLATFORM_IS_MX3X +-libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../libs -I../../../../inc/core_lib/uni_audio -D_ARM11 ++libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs -I$(top_srcdir)/inc/core_lib/uni_audio -D_ARM11 + libmfw_gst_beep_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ -ldl ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + endif + + + if PLATFORM_IS_MX5X +-libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../libs -I../../../../inc/core_lib/uni_audio -D_ARM12 ++libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs -I$(top_srcdir)/inc/core_lib/uni_audio -D_ARM12 + libmfw_gst_beep_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ -ldl ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + endif + + if PLATFORM_IS_MX6X +-libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../libs -I../../../../inc/core_lib/uni_audio -D_ARM12 ++libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs -I$(top_srcdir)/inc/core_lib/uni_audio -D_ARM12 + libmfw_gst_beep_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ -ldl ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + endif + +diff --git a/src/audio/down_mix/src/Makefile.am b/src/audio/down_mix/src/Makefile.am +index 9fa392c..ff7b589 100755 +--- a/src/audio/down_mix/src/Makefile.am ++++ b/src/audio/down_mix/src/Makefile.am +@@ -1,7 +1,7 @@ + plugin_LTLIBRARIES = libmfw_gst_downmix.la + + libmfw_gst_downmix_la_SOURCES = mfw_gst_downmix.c +-libmfw_gst_downmix_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib ++libmfw_gst_downmix_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib + libmfw_gst_downmix_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l_downmix_arm11_elinux + libmfw_gst_downmix_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) + +diff --git a/src/audio/mp3_dec/src/Makefile.am b/src/audio/mp3_dec/src/Makefile.am +index 9361da7..bd79288 100755 +--- a/src/audio/mp3_dec/src/Makefile.am ++++ b/src/audio/mp3_dec/src/Makefile.am +@@ -27,23 +27,23 @@ libmfw_gst_mp3dec_la_SOURCES = mfw_gst_mp3dec.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + if PLATFORM_IS_MX2X +-libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -march=armv5te -mcpu=arm926ej-s ++libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -march=armv5te -mcpu=arm926ej-s + libmfw_gst_mp3dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l$(CORELIB) -l_mp3_parser_arm9_elinux + endif + + + + if PLATFORM_IS_MX3X +-libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + libmfw_gst_mp3dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l$(CORELIB) -l_mp3_parser_arm11_elinux + endif + + if PLATFORM_IS_MX5X +-libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + libmfw_gst_mp3dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l$(CORELIB) -l_mp3_parser_arm11_elinux + endif + if PLATFORM_IS_MX6X +-libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + libmfw_gst_mp3dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l$(CORELIB) -l_mp3_parser_arm11_elinux + endif + +diff --git a/src/audio/mp3_enc/src/Makefile.am b/src/audio/mp3_enc/src/Makefile.am +index 0d9b79c..934fc80 100755 +--- a/src/audio/mp3_enc/src/Makefile.am ++++ b/src/audio/mp3_enc/src/Makefile.am +@@ -26,19 +26,19 @@ libmfw_gst_mp3enc_la_SOURCES = mfw_gst_mp3enc.c + # flags used to compile this plugin + # add other _CFLAGS and _LIBS as needed + if PLATFORM_IS_MX2X +-libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -march=armv5te -mcpu=arm926ej-s ++libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -march=armv5te -mcpu=arm926ej-s + endif + + + if PLATFORM_IS_MX3X +-libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib ++libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib + endif + + if PLATFORM_IS_MX5X +-libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib ++libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib + endif + if PLATFORM_IS_MX6X +-libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib ++libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib + endif + + +diff --git a/src/audio/spdif_rx/src/Makefile.am b/src/audio/spdif_rx/src/Makefile.am +index 80dfb73..f22c6fb 100755 +--- a/src/audio/spdif_rx/src/Makefile.am ++++ b/src/audio/spdif_rx/src/Makefile.am +@@ -1,7 +1,7 @@ + plugin_LTLIBRARIES = libmfw_gst_spdifrx.la + + libmfw_gst_spdifrx_la_SOURCES = mfw_gst_spdifrx.c +-libmfw_gst_spdifrx_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I../../../../inc/plugin ++libmfw_gst_spdifrx_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I$(top_srcdir)/inc/plugin + libmfw_gst_spdifrx_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) + libmfw_gst_spdifrx_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -lgstriff-@GST_MAJORMINOR@ + +diff --git a/src/audio/spdif_tx/src/Makefile.am b/src/audio/spdif_tx/src/Makefile.am +index 6b17886..a330e5d 100755 +--- a/src/audio/spdif_tx/src/Makefile.am ++++ b/src/audio/spdif_tx/src/Makefile.am +@@ -1,7 +1,7 @@ + plugin_LTLIBRARIES = libmfw_gst_spdiftx.la + + libmfw_gst_spdiftx_la_SOURCES = mfw_gst_spdiftx.c +-libmfw_gst_spdiftx_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I../../../../inc/plugin ++libmfw_gst_spdiftx_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I$(top_srcdir)/inc/plugin + libmfw_gst_spdiftx_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) + libmfw_gst_spdiftx_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -lgstriff-@GST_MAJORMINOR@ + +diff --git a/src/audio/vorbis_dec/src/Makefile.am b/src/audio/vorbis_dec/src/Makefile.am +index f43751b..9fc922d 100755 +--- a/src/audio/vorbis_dec/src/Makefile.am ++++ b/src/audio/vorbis_dec/src/Makefile.am +@@ -10,7 +10,7 @@ libmfw_gst_vorbisdec_la_SOURCES = mfw_gst_vorbisdec.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + libmfw_gst_vorbisdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -DPUSH_MODE -fno-omit-frame-pointer -fPIC +-libmfw_gst_vorbisdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_vorbisdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + + + libmfw_gst_vorbisdec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -l$(CORELIB) +diff --git a/src/audio/wma10_dec/src/Makefile.am b/src/audio/wma10_dec/src/Makefile.am +index 50f5314..ab9147f 100755 +--- a/src/audio/wma10_dec/src/Makefile.am ++++ b/src/audio/wma10_dec/src/Makefile.am +@@ -26,21 +26,21 @@ libmfw_gst_wma10dec_la_SOURCES = mfw_gst_wma10dec.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + if PLATFORM_IS_MX2X +-libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -march=armv5te -mcpu=arm926ej-s ++libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -march=armv5te -mcpu=arm926ej-s + endif + + + if PLATFORM_IS_MX3X +-libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + endif + + + + if PLATFORM_IS_MX5X +-libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + endif + if PLATFORM_IS_MX6X +-libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin ++libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin + endif + + +diff --git a/src/audio/wma8_enc/src/Makefile.am b/src/audio/wma8_enc/src/Makefile.am +index 82ed82e..04c93bb 100755 +--- a/src/audio/wma8_enc/src/Makefile.am ++++ b/src/audio/wma8_enc/src/Makefile.am +@@ -11,7 +11,7 @@ libmfw_gst_wma8enc_la_SOURCES = mfw_gst_wma8enc.c + + # flags used to compile this plugin + # add other _CFLAGS and _LIBS as needed +-libmfw_gst_wma8enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib ++libmfw_gst_wma8enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib + libmfw_gst_wma8enc_la_LIBADD = $(GST_LIBS) -l_wma_muxer_arm11_ELINUX -lgstbase-$(GST_MAJORMINOR) -l_wma8_enc_arm11_elinux + libmfw_gst_wma8enc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) + +diff --git a/src/misc/i_sink/src/Makefile.am b/src/misc/i_sink/src/Makefile.am +index 721d10c..a6dfaf5 100755 +--- a/src/misc/i_sink/src/Makefile.am ++++ b/src/misc/i_sink/src/Makefile.am +@@ -6,7 +6,7 @@ endif + plugin_LTLIBRARIES = libmfw_gst_isink.la + + libmfw_gst_isink_la_SOURCES = mfw_gst_isink.c +-libmfw_gst_isink_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(IPU_CFLAGS) -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/common -I../../../../libs/vss -I../../../../libs/gstbufmeta -I../../../../libs/hbuf_alloc -I$(FBHEADER_PATH) -I. -I/usr/src/linux-headers-2.6.35-1000-linaro-imx5/include ++libmfw_gst_isink_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(IPU_CFLAGS) -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/common -I$(top_srcdir)/libs/vss -I$(top_srcdir)/libs/gstbufmeta -I$(top_srcdir)/libs/hbuf_alloc -I$(FBHEADER_PATH) -I. -I/usr/src/linux-headers-2.6.35-1000-linaro-imx5/include + libmfw_gst_isink_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) + libmfw_gst_isink_la_LIBADD += ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + libmfw_gst_isink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) +diff --git a/src/misc/tvsrc/src/Makefile.am b/src/misc/tvsrc/src/Makefile.am +index dfe080b..a765e87 100755 +--- a/src/misc/tvsrc/src/Makefile.am ++++ b/src/misc/tvsrc/src/Makefile.am +@@ -7,7 +7,7 @@ endif + plugin_LTLIBRARIES = libmfw_gst_tvsrc.la + + libmfw_gst_tvsrc_la_SOURCES = mfw_gst_tvsrc.c +-libmfw_gst_tvsrc_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(IPU_CFLAGS) -D$(PLATFORM) -I$(FBHEADER_PATH) -I. -I../../../../inc/plugin -I../../../../libs/gstbufmeta ++libmfw_gst_tvsrc_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(IPU_CFLAGS) -D$(PLATFORM) -I$(FBHEADER_PATH) -I. -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs/gstbufmeta + libmfw_gst_tvsrc_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + libmfw_gst_tvsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) + +diff --git a/src/misc/v4l_sink/src/Makefile.am b/src/misc/v4l_sink/src/Makefile.am +index 4489cc4..a1f6cb8 100755 +--- a/src/misc/v4l_sink/src/Makefile.am ++++ b/src/misc/v4l_sink/src/Makefile.am +@@ -3,32 +3,32 @@ plugin_LTLIBRARIES = libmfw_gst_v4lsink.la + libmfw_gst_v4lsink_la_SOURCES = mfw_gst_fb.c mfw_gst_v4l.c mfw_gst_v4l_buffer.c mfw_gst_v4lsink.c + libmfw_gst_v4lsink_la_CFLAGS = -I/usr/src/linux-headers-2.6.35-1000-linaro-imx5/include + if PLATFORM_IS_MX233 +-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc -march=armv5te ++libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc -march=armv5te + endif + if PLATFORM_IS_MX25 +-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc -march=armv5te ++libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc -march=armv5te + endif + if PLATFORM_IS_MX27 +-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc -march=armv5te ++libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc -march=armv5te + endif + if PLATFORM_IS_MX28 +-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc -march=armv5te ++libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc -march=armv5te + endif + + if PLATFORM_IS_MX3X +-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc ++libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc + endif + if PLATFORM_IS_MX5X +-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc ++libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc + endif + if PLATFORM_IS_MX6X +-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc ++libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc + endif + + libmfw_gst_v4lsink_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + + +-libmfw_gst_v4lsink_la_CFLAGS += $(IPU_CFLAGS) -I. -I../../../../libs/gstbufmeta ++libmfw_gst_v4lsink_la_CFLAGS += $(IPU_CFLAGS) -I. -I$(top_srcdir)/libs/gstbufmeta + + if USE_X11 + libmfw_gst_v4lsink_la_SOURCES += mfw_gst_v4l_xlib.c mfw_gst_xlib.c mfw_gst_v4l_suspend.c +diff --git a/src/misc/v4l_source/src/Makefile.am b/src/misc/v4l_source/src/Makefile.am +index b80d27e..4ef1351 100755 +--- a/src/misc/v4l_source/src/Makefile.am ++++ b/src/misc/v4l_source/src/Makefile.am +@@ -7,7 +7,7 @@ endif + plugin_LTLIBRARIES = libmfw_gst_v4lsrc.la + + libmfw_gst_v4lsrc_la_SOURCES = mfw_gst_v4lsrc.c +-libmfw_gst_v4lsrc_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(IPU_CFLAGS) -D$(PLATFORM) -I$(FBHEADER_PATH) -I. -I../../../../inc/plugin -I../../../../libs/gstbufmeta ++libmfw_gst_v4lsrc_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(IPU_CFLAGS) -D$(PLATFORM) -I$(FBHEADER_PATH) -I. -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs/gstbufmeta + libmfw_gst_v4lsrc_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + libmfw_gst_v4lsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) + +diff --git a/src/parser/aiur/src/Makefile.am b/src/parser/aiur/src/Makefile.am +index 24ac78e..752a155 100755 +--- a/src/parser/aiur/src/Makefile.am ++++ b/src/parser/aiur/src/Makefile.am +@@ -4,7 +4,7 @@ plugin_LTLIBRARIES = libmfw_gst_aiur_demux.la + # for the next set of variables, rename the prefix if you renamed the .la + # sources used to compile this plug-in + libmfw_gst_aiur_demux_la_SOURCES = aiur.c aiurregistry.c aiurstreamcache.c aiuridxtab.c aiurdemux.c aiurtypefind.c +-libmfw_gst_aiur_demux_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DFSL_AVI_DRM_SUPPORT $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib/parser -I../../../../libs ++libmfw_gst_aiur_demux_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DFSL_AVI_DRM_SUPPORT $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib/parser -I$(top_srcdir)/libs + libmfw_gst_aiur_demux_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ -ldl ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + libmfw_gst_aiur_demux_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) + libmfw_gst_aiur_demux_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) +diff --git a/src/video/deinterlace/src/Makefile.am b/src/video/deinterlace/src/Makefile.am +index 08150f9..4f20d58 100755 +--- a/src/video/deinterlace/src/Makefile.am ++++ b/src/video/deinterlace/src/Makefile.am +@@ -1,7 +1,7 @@ + plugin_LTLIBRARIES = libmfw_gst_deinterlace.la + + libmfw_gst_deinterlace_la_SOURCES = mfw_gst_deinterlace.c +-libmfw_gst_deinterlace_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I../../../../inc/plugin -I../../../../inc/core_lib $(FSL_MM_CORE_CFLAGS) ++libmfw_gst_deinterlace_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib $(FSL_MM_CORE_CFLAGS) + libmfw_gst_deinterlace_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l_deinterlace_arm11_elinux + libmfw_gst_deinterlace_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) + +diff --git a/src/video/h264_dec/src/Makefile.am b/src/video/h264_dec/src/Makefile.am +index af2b3ac..278f748 100755 +--- a/src/video/h264_dec/src/Makefile.am ++++ b/src/video/h264_dec/src/Makefile.am +@@ -28,21 +28,21 @@ libmfw_gst_h264dec_la_SOURCES = mfw_gst_h264dec.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + if PLATFORM_IS_MX2X +-libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -O2 -DDPB_FIX -D_$(PLATFORM) -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -march=armv5te -mcpu=arm926ej-s -I../../../../libs/me -I../../../../libs/gstbufmeta ++libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -O2 -DDPB_FIX -D_$(PLATFORM) -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -march=armv5te -mcpu=arm926ej-s -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta + endif + + + if PLATFORM_IS_MX3X +-libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta ++libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta + endif + + + if PLATFORM_IS_MX5X +-libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta ++libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta + endif + + if PLATFORM_IS_MX6X +-libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta ++libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta + endif + + libmfw_gst_h264dec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l$(CORELIB) +diff --git a/src/video/ipu_csc/src/Makefile.am b/src/video/ipu_csc/src/Makefile.am +index 8015448..12b44a1 100755 +--- a/src/video/ipu_csc/src/Makefile.am ++++ b/src/video/ipu_csc/src/Makefile.am +@@ -6,7 +6,7 @@ endif + plugin_LTLIBRARIES = libmfw_gst_ipu_csc.la + + libmfw_gst_ipu_csc_la_SOURCES = mfw_gst_ipu_csc.c +-libmfw_gst_ipu_csc_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I../../../../inc/plugin -I../../../../ ++libmfw_gst_ipu_csc_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I$(top_srcdir)/inc/plugin -I$(top_srcdir) + libmfw_gst_ipu_csc_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(IPU_LIBS) ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + libmfw_gst_ipu_csc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) + +diff --git a/src/video/mpeg2_dec/src/Makefile.am b/src/video/mpeg2_dec/src/Makefile.am +index 006f740..d44a9b0 100755 +--- a/src/video/mpeg2_dec/src/Makefile.am ++++ b/src/video/mpeg2_dec/src/Makefile.am +@@ -7,7 +7,7 @@ libmfw_gst_mpeg2dec_la_SOURCES = mfw_gst_mpeg2dec.c + + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs +-libmfw_gst_mpeg2dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -I../../../../libs/me -I../../../../libs/gstbufmeta ++libmfw_gst_mpeg2dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta + libmfw_gst_mpeg2dec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l_mpeg2_dec_arm11_elinux + libmfw_gst_mpeg2dec_la_LIBADD += ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + libmfw_gst_mpeg2dec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) +diff --git a/src/video/mpeg4asp_dec/src/Makefile.am b/src/video/mpeg4asp_dec/src/Makefile.am +index 97dd578..394d42d 100755 +--- a/src/video/mpeg4asp_dec/src/Makefile.am ++++ b/src/video/mpeg4asp_dec/src/Makefile.am +@@ -28,19 +28,19 @@ libmfw_gst_mpeg4aspdec_la_SOURCES = mfw_gst_mpeg4asp_dec.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + if PLATFORM_IS_MX2X +-libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -march=armv5te -mcpu=arm926ej-s -I../../../../libs/me -I../../../../libs/gstbufmeta ++libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -march=armv5te -mcpu=arm926ej-s -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta + endif + + if PLATFORM_IS_MX3X +-libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta ++libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta + endif + + if PLATFORM_IS_MX5X +-libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta ++libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta + endif + + if PLATFORM_IS_MX6X +-libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta ++libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta + endif + + +diff --git a/src/video/vpu/src/Makefile.am b/src/video/vpu/src/Makefile.am +index c8b64ea..cb66817 100755 +--- a/src/video/vpu/src/Makefile.am ++++ b/src/video/vpu/src/Makefile.am +@@ -8,7 +8,7 @@ libmfw_vpu_la_SOURCES = vpu.c vpudec.c vpuenc.c + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs + +-libmfw_vpu_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../libs/me -I../../../../libs/gstbufmeta -I../../../../libs/gstsutils -I../../../../libs/gstnext -I../../../../inc/core_lib ++libmfw_vpu_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta -I$(top_srcdir)/libs/gstsutils -I$(top_srcdir)/libs/gstnext -I$(top_srcdir)/inc/core_lib + libmfw_vpu_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ + + libmfw_vpu_la_LIBADD += ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la +diff --git a/src/video/vpu_dec.full/src/Makefile.am b/src/video/vpu_dec.full/src/Makefile.am +index 7c878a8..be682fd 100755 +--- a/src/video/vpu_dec.full/src/Makefile.am ++++ b/src/video/vpu_dec.full/src/Makefile.am +@@ -27,7 +27,7 @@ libmfw_gst_vpu_dec_la_SOURCES = mfw_gst_vpu_decoder.c mfw_gst_vpu_thread.c + + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs +-libmfw_gst_vpu_dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 $(VPU_CFLAGS) -I../../../../inc/plugin $(GST_PLATFORM_FLAGS) -DREALMEDIA -DDIVX -I../../../../libs/me -I../../../../libs/gstbufmeta ++libmfw_gst_vpu_dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 $(VPU_CFLAGS) -I$(top_srcdir)/inc/plugin $(GST_PLATFORM_FLAGS) -DREALMEDIA -DDIVX -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta + libmfw_gst_vpu_dec_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS) -lvpu -lgstvideo-0.10 + libmfw_gst_vpu_dec_la_LIBADD += ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + libmfw_gst_vpu_dec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(VPU_LIBS) +diff --git a/src/video/vpu_enc/src/Makefile.am b/src/video/vpu_enc/src/Makefile.am +index ac8f272..a1da20b 100755 +--- a/src/video/vpu_enc/src/Makefile.am ++++ b/src/video/vpu_enc/src/Makefile.am +@@ -10,7 +10,7 @@ libmfw_gst_vpu_enc_la_SOURCES = mfw_gst_vpu_encoder.c + + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs +-libmfw_gst_vpu_enc_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 $(VPU_CFLAGS) -I../../../../inc/plugin -DVPU_$(PLATFORM) -I../../../../libs/gstbufmeta -I../../../../libs/vss -I../../../../libs/hbuf_alloc -I../../../../libs/me ++libmfw_gst_vpu_enc_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 $(VPU_CFLAGS) -I$(top_srcdir)/inc/plugin -DVPU_$(PLATFORM) -I$(top_srcdir)/libs/gstbufmeta -I$(top_srcdir)/libs/vss -I$(top_srcdir)/libs/hbuf_alloc -I$(top_srcdir)/libs/me + + libmfw_gst_vpu_enc_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -lvpu + libmfw_gst_vpu_enc_la_LIBADD += ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la +diff --git a/src/video/wmv9mp_dec/src/Makefile.am b/src/video/wmv9mp_dec/src/Makefile.am +index 49c0953..4bd7bda 100755 +--- a/src/video/wmv9mp_dec/src/Makefile.am ++++ b/src/video/wmv9mp_dec/src/Makefile.am +@@ -7,7 +7,7 @@ libmfw_gst_wmv9mpdec_la_SOURCES = mfw_gst_wmv9mpdec.c + + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs +-libmfw_gst_wmv9mpdec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DOUTPUT_BUFFER_CHANGES -DPADDED_OUTPUT $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/gstbufmeta ++libmfw_gst_wmv9mpdec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DOUTPUT_BUFFER_CHANGES -DPADDED_OUTPUT $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/gstbufmeta + libmfw_gst_wmv9mpdec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l_WMV9MP_dec_MP_arm11_elinux ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la + libmfw_gst_wmv9mpdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@ + +diff --git a/src/video/wmv_dec/src/Makefile.am b/src/video/wmv_dec/src/Makefile.am +index 95d563a..3e87976 100755 +--- a/src/video/wmv_dec/src/Makefile.am ++++ b/src/video/wmv_dec/src/Makefile.am +@@ -7,7 +7,7 @@ libmfw_gst_wmvdec_la_SOURCES = mfw_gst_wmvdec.c + + # flags used to compile this plugin + # we use the GST_LIBS flags because we might be using plug-in libs +-libmfw_gst_wmvdec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DOUTPUT_BUFFER_CHANGES -DWMV9_SIMPLE_ONLY -DPADDED_OUTPUT $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib ++libmfw_gst_wmvdec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DOUTPUT_BUFFER_CHANGES -DWMV9_SIMPLE_ONLY -DPADDED_OUTPUT $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib + libmfw_gst_wmvdec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l_WMV789_dec_arm11_elinux + libmfw_gst_wmvdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@ + +-- +2.0.0.rc0 + diff --git a/recipes-multimedia/gstreamer/gst-fsl-plugin_3.0.11.bb b/recipes-multimedia/gstreamer/gst-fsl-plugin_3.0.11.bb new file mode 100644 index 0000000..d0b0c9e --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-fsl-plugin_3.0.11.bb @@ -0,0 +1,11 @@ +# Copyright (C) 2013-14 Freescale Semiconductor +# Released under the MIT license (see COPYING.MIT for the terms) + +require gst-fsl-plugin.inc + +EXTRA_OECONF += " CROSS_ROOT=${PKG_CONFIG_SYSROOT_DIR}" + +SRC_URI[md5sum] = "0ed858681a74857034c006036023e6ce" +SRC_URI[sha256sum] = "fbc6000b401ac2c8d67d1414372f4a929cf0a5808f6ed1640f1d2bfcce2f2a4f" + +COMPATIBLE_MACHINE = "(mx28|mx5|mx6)" diff --git a/recipes-multimedia/gstreamer/gst-plugins-base/gstplaybin2-rawvideo-support.patch b/recipes-multimedia/gstreamer/gst-plugins-base/gstplaybin2-rawvideo-support.patch new file mode 100644 index 0000000..16d89b3 --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-plugins-base/gstplaybin2-rawvideo-support.patch @@ -0,0 +1,28 @@ +From cecba1668bc8607112a6a2b802c82b6313a0d2b4 Mon Sep 17 00:00:00 2001 +From: Adrian Alonso +Date: Tue, 19 Jun 2012 15:37:56 -0500 +Subject: [PATCH] gstplaybin2: rawvideo support + +* Enable support for rawvideo +* Support direct rendering for mfw_v4lsink plugin + +Signed-off-by: Adrian Alonso +--- + gst/playback/gstplaybin2.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c +index e01ff6c..9c638ae 100644 +--- a/gst/playback/gstplaybin2.c ++++ b/gst/playback/gstplaybin2.c +@@ -456,7 +456,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_SOFT_VOLUME | GST_PLAY_FLAG_NATIVE_VIDEO + #define DEFAULT_N_VIDEO 0 + #define DEFAULT_CURRENT_VIDEO -1 + #define DEFAULT_N_AUDIO 0 +-- +1.7.10.2 diff --git a/recipes-multimedia/gstreamer/gst-plugins-base_%.bbappend b/recipes-multimedia/gstreamer/gst-plugins-base_%.bbappend new file mode 100644 index 0000000..ecb2b54 --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-plugins-base_%.bbappend @@ -0,0 +1,11 @@ +# Freescale gstplaybin2 rawvideo support + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append_mxs = " file://gstplaybin2-rawvideo-support.patch" +SRC_URI_append_mx5 = " file://gstplaybin2-rawvideo-support.patch" +SRC_URI_append_mx6 = " file://gstplaybin2-rawvideo-support.patch" + +PACKAGE_ARCH_mxs = "${MACHINE_SOCARCH}" +PACKAGE_ARCH_mx5 = "${MACHINE_SOCARCH}" +PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}" diff --git a/recipes-multimedia/gstreamer/gst-plugins-gl/IMX_MMCODEC_3.0.35_4.0.0.patch b/recipes-multimedia/gstreamer/gst-plugins-gl/IMX_MMCODEC_3.0.35_4.0.0.patch new file mode 100644 index 0000000..d4f5576 --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-plugins-gl/IMX_MMCODEC_3.0.35_4.0.0.patch @@ -0,0 +1,2438 @@ +diff --git a/configure.ac b/configure.ac +index 6a4efe0..fa277fa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file + dnl initialize autoconf + dnl releases only do -Wall, git and prerelease does -Werror too + dnl use a three digit version number for releases, and four for git/prerelease +-AC_INIT(GStreamer OpenGL Plug-ins, 0.10.3, ++AC_INIT(GStreamer OpenGL Plug-ins, 0.10.3.1, + http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer, + gst-plugins-gl) + +@@ -61,7 +61,7 @@ dnl AS_LIBTOOL_TAGS + + AC_LIBTOOL_WIN32_DLL + AM_PROG_LIBTOOL +-AS_PROG_OBJC ++AC_PROG_OBJC + + dnl *** required versions of GStreamer stuff *** + GST_REQ=0.10.35 +@@ -83,6 +83,8 @@ AG_GST_GETTEXT([gst-plugins-gl-$GST_MAJORMINOR]) + + dnl *** check for arguments to configure *** + ++AG_GST_ARG_DISABLE_FATAL_WARNINGS ++ + AG_GST_ARG_DEBUG + AG_GST_ARG_PROFILING + AG_GST_ARG_VALGRIND +@@ -160,36 +162,48 @@ AG_GST_CHECK_FUNCTION + dnl *** checks for dependency libraries *** + + dnl GLib is required +-AG_GST_GLIB_CHECK([2.6]) ++AG_GST_GLIB_CHECK([2.22]) + + #dnl Check for OpenGL, GLU and GLEW + echo host is $host + case $host in + *-linux* | *-cygwin* | *-solaris* | *-netbsd* | *-freebsd* | *-openbsd* | *-kfreebsd* | *-dragonflybsd* | *-gnu* ) +- AG_GST_CHECK_X + save_CPPFLAGS="$CPPFLAGS" + save_LIBS="$LIBS" +- CPPFLAGS="$CPPFLAGS $X_CFLAGS" +- LIBS="$LIBS $X_LIBS" +- #PKG_CHECK_MODULES(GL, gl, HAVE_GL=yes, HAVE_GL=no) +- AC_CHECK_HEADERS([GL/gl.h], [HAVE_GL=yes], [HAVE_GL=no]) +- if test "x$HAVE_GL" = "xyes"; then +- AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h,, AC_MSG_ERROR([OpenGL is required])) +- AG_GST_CHECK_LIBHEADER(GLU, GLU, gluSphere,, GL/glu.h,, AC_MSG_ERROR([GLU is required])) +- AG_GST_CHECK_LIBHEADER(GLEW, GLEW, glewInit,, GL/glew.h,, AC_MSG_ERROR([GLEW is required])) +- GL_LIBS="$LIBS $X_LIBS -lGL -lGLU -lGLEW" +- GL_BACKEND=x11 +- GL_TYPE=gl ++ AC_CHECK_LIB(EGL, fbGetDisplay, HAVE_EGL_FB=yes, HAVE_EGL_FB=no) ++ if test "x$HAVE_EGL_FB" = "xyes"; then ++ GL_LIBS="$LIBS -lGLESv2 -lEGL" ++ GL_BACKEND=fbES2 ++ GL_TYPE=gles ++ save_CPPFLAGS="$save_CPPFLAGS -DLINUX -DEGL_API_FB" + else ++ AG_GST_CHECK_X ++ CPPFLAGS="$CPPFLAGS $X_CFLAGS -DLINUX" ++ LIBS="$LIBS $X_LIBS" + AC_CHECK_HEADERS([EGL/egl.h], [HAVE_EGL=yes], [HAVE_EGL=no]) + if test "x$HAVE_EGL" = "xyes"; then + AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h,, AC_MSG_ERROR([EGL is required])) ++ s_LIBS="$LIBS" ++ LIBS="-lEGL $LIBS" + AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h,, AC_MSG_ERROR([OpenGLES2 is required])) +- GL_LIBS="$LIBS $X_LIBS -lEGL -lGLESv2" ++ LIBS="$s_LIBS" ++ GL_LIBS="$LIBS -lGLESv2 -lEGL" + GL_BACKEND=x11ES2 + GL_TYPE=gles ++ save_CPPFLAGS="$save_CPPFLAGS -DLINUX" + else +- AC_MSG_ERROR([GL or EGL is required, consider installing libgl1-mesa-dev]) ++ #PKG_CHECK_MODULES(GL, gl, HAVE_GL=yes, HAVE_GL=no) ++ AC_CHECK_HEADERS([GL/gl.h], [HAVE_GL=yes], [HAVE_GL=no]) ++ if test "x$HAVE_GL" = "xyes"; then ++ AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h,, AC_MSG_ERROR([OpenGL is required])) ++ AG_GST_CHECK_LIBHEADER(GLU, GLU, gluSphere,, GL/glu.h,, AC_MSG_ERROR([GLU is required])) ++ AG_GST_CHECK_LIBHEADER(GLEW, GLEW, glewInit,, GL/glew.h,, AC_MSG_ERROR([GLEW is required])) ++ GL_LIBS="$LIBS $X_LIBS -lGL -lGLU -lGLEW" ++ GL_BACKEND=x11 ++ GL_TYPE=gl ++ else ++ AC_MSG_ERROR([GL or EGL is required, consider installing libgl1-mesa-dev]) ++ fi + fi + fi + CPPFLAGS="$save_CPPFLAGS" +@@ -230,6 +244,7 @@ AC_SUBST(GL_BACKEND) + AC_SUBST(OPENGL_ES2) + AM_CONDITIONAL(GL_BACKEND_X11, test "x$GL_BACKEND" = "xx11") + AM_CONDITIONAL(GL_BACKEND_X11ES2, test "x$GL_BACKEND" = "xx11ES2") ++AM_CONDITIONAL(GL_BACKEND_FBES2, test "x$GL_BACKEND" = "xfbES2") + AM_CONDITIONAL(GL_BACKEND_COCOA, test "x$GL_BACKEND" = "xcocoa") + AM_CONDITIONAL(GL_BACKEND_WIN32, test "x$GL_BACKEND" = "xwin32") + AM_CONDITIONAL(GL_IS_OPENGL, test "x$GL_TYPE" = "xgl") +@@ -251,6 +266,18 @@ AC_SUBST(GLIB_PREFIX) + AC_SUBST(GST_PREFIX) + AC_SUBST(GSTPB_PREFIX) + ++GST_FSL_CFLAGS="`$PKG_CONFIG --cflags gstreamer-fsl-$GST_MAJORMINOR`" ++GST_FSL_LIBS="`$PKG_CONFIG --libs gstreamer-fsl-$GST_MAJORMINOR`" ++AC_CHECK_HEADERS([EGL/eglvivante.h], HAVE_VIVANTE=[yes], HAVE_VIVANTE=[no]) ++if test "x$HAVE_VIVANTE" = "xyes"; then ++ if test "x$GST_FSL_CFLAGS" = "x"; then ++ AC_MSG_ERROR([gstreamer-fsl is required]) ++ fi ++ AC_DEFINE(GPU_VIVANTE, [1], [Use Vivante GPU]) ++fi ++AM_CONDITIONAL(USE_VIVANTE, test "x$HAVE_VIVANTE" = "xyes") ++AC_SUBST(GST_FSL_CFLAGS) ++AC_SUBST(GST_FSL_LIBS) + + dnl libpng is optional + PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no) +@@ -269,12 +296,15 @@ if test x$with_jpeg_mmx != x; then + LIBS="$LIBS -L$with_jpeg_mmx" + fi + AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") +-JPEG_LIBS="$LIBS -ljpeg-mmx" +-LIBS="$OLD_LIBS" + if test x$HAVE_JPEG != xyes; then + AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") +- JPEG_LIBS="-ljpeg" +- AC_DEFINE(HAVE_JPEG, [1] , [Use libjpeg]) ++ if test x$HAVE_JPEG = xyes; then ++ JPEG_LIBS="-ljpeg" ++ AC_DEFINE(HAVE_JPEG, [1] , [Use libjpeg]) ++ fi ++else ++ JPEG_LIBS="$LIBS -ljpeg-mmx" ++ LIBS="$OLD_LIBS" + fi + AC_SUBST(HAVE_JPEG) + AC_SUBST(JPEG_LIBS) +@@ -383,8 +413,14 @@ AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO], + [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO]) + + dnl define an ERROR_CFLAGS Makefile variable +-AG_GST_SET_ERROR_CFLAGS($GST_GIT) +-AG_GST_SET_ERROR_CXXFLAGS($GST_GIT) ++AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS) ++AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS) ++dnl define an ERROR_OBJCFLAGS Makefile variable ++AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [ ++ -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls ++ -Wwrite-strings -Wold-style-definition ++ -Winit-self -Wmissing-include-dirs -Wno-multichar ++ -Wnested-externs $NO_WARNINGS]) + + dnl define correct level for debugging messages + AG_GST_SET_LEVEL_DEFAULT($GST_GIT) +@@ -460,8 +496,10 @@ AC_SUBST(DEPRECATED_CFLAGS) + dnl every flag in GST_OPTION_CFLAGS can be overridden at make time + GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)" + GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)" ++GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)" + AC_SUBST(GST_OPTION_CFLAGS) + AC_SUBST(GST_OPTION_CXXFLAGS) ++AC_SUBST(GST_OPTION_OBJCFLAGS) + + dnl our libraries need to be versioned correctly + AC_SUBST(GST_LT_LDFLAGS) +@@ -474,10 +512,12 @@ AC_SUBST(GST_PLUGINS_GL_CFLAGS) + + dnl FIXME: do we want to rename to GST_ALL_* ? + dnl add GST_OPTION_CFLAGS, but overridable ++GST_OBJCFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)" + GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $GST_CXXFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)" + GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)" + AC_SUBST(GST_CFLAGS) + AC_SUBST(GST_CXXFLAGS) ++AC_SUBST(GST_OBJCFLAGS) + + dnl add GCOV libs because libtool strips -fprofile-arcs -ftest-coverage + GST_LIBS="$GST_LIBS \$(GCOV_LIBS)" +diff --git a/docs/libs/Makefile.am b/docs/libs/Makefile.am +index defa340..18016cf 100644 +--- a/docs/libs/Makefile.am ++++ b/docs/libs/Makefile.am +@@ -50,7 +50,7 @@ extra_files = + # CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib + # contains GtkObjects/GObjects and you want to document signals and properties. + GTKDOC_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) \ +- -I$(top_srcdir)/gst-libs/gst/gl ++ -I$(top_srcdir)/gst-libs/gst/gl -I$(top_srcdir) -DHAVE_CONFIG_H -DLINUX + GTKDOC_LIBS = \ + $(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_MAJORMINOR@.la \ + $(GST_BASE_LIBS) +diff --git a/docs/plugins/inspect/plugin-libvisual-gl.xml b/docs/plugins/inspect/plugin-libvisual-gl.xml +index da5a3d5..477c811 100644 +--- a/docs/plugins/inspect/plugin-libvisual-gl.xml ++++ b/docs/plugins/inspect/plugin-libvisual-gl.xml +@@ -3,10 +3,10 @@ + libvisual-gl visualization plugins + ../../ext/libvisual/.libs/libgstlibvisualgl.so + libgstlibvisualgl.so +- 0.10.3 ++ 0.10.3.1 + LGPL + gst-plugins-gl +- GStreamer OpenGL Plug-ins source release ++ GStreamer OpenGL Plug-ins git + Unknown package origin + + +diff --git a/docs/plugins/inspect/plugin-opengl.xml b/docs/plugins/inspect/plugin-opengl.xml +index dbfa9fb..9b7b663 100644 +--- a/docs/plugins/inspect/plugin-opengl.xml ++++ b/docs/plugins/inspect/plugin-opengl.xml +@@ -3,10 +3,10 @@ + OpenGL plugin + ../../gst/gl/.libs/libgstopengl.so + libgstopengl.so +- 0.10.3 ++ 0.10.3.1 + LGPL + gst-plugins-gl +- GStreamer OpenGL Plug-ins source release ++ GStreamer OpenGL Plug-ins git + Unknown package origin + + +diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am +index 2ef7afc..d55a513 100644 +--- a/gst-libs/gst/gl/Makefile.am ++++ b/gst-libs/gst/gl/Makefile.am +@@ -4,6 +4,7 @@ lib_LTLIBRARIES = libgstgl-@GST_MAJORMINOR@.la + EXTRA_DIST = \ + gstglwindow_x11.c \ + gstglwindow_x11ES2.c \ ++ gstglwindow_fbES2.c \ + gstglwindow_win32.c \ + gstglwindow_winCE.c \ + gstglwindow_cocoa.m +@@ -28,6 +29,13 @@ endif + if GL_BACKEND_X11ES2 + libgstgl_@GST_MAJORMINOR@_la_SOURCES += gstglwindow_x11ES2.c + endif ++if GL_BACKEND_FBES2 ++libgstgl_@GST_MAJORMINOR@_la_SOURCES += gstglwindow_fbES2.c ++endif ++ ++if USE_VIVANTE ++libgstgl_@GST_MAJORMINOR@_la_SOURCES += gstglvivante.c ++endif + + libgstgl_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/gl + libgstgl_@GST_MAJORMINOR@include_HEADERS = \ +@@ -41,13 +49,19 @@ libgstgl_@GST_MAJORMINOR@include_HEADERS = \ + gstglshadervariables.h \ + gstglshader.h + ++if USE_VIVANTE ++libgstgl_@GST_MAJORMINOR@include_HEADERS += gstglvivante.h ++endif ++ + libgstgl_@GST_MAJORMINOR@_la_LIBADD = \ + $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) -lgstcontroller-$(GST_MAJORMINOR) \ ++ $(GST_FSL_LIBS) \ + $(GST_BASE_LIBS) $(GST_LIBS) \ + $(GL_LIBS) + + libgstgl_@GST_MAJORMINOR@_la_CFLAGS = \ + $(GL_CFLAGS) $(X_CFLAGS) \ ++ $(GST_FSL_CFLAGS) \ + $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) + libgstgl_@GST_MAJORMINOR@_la_OBJCFLAGS = \ + $(GL_CFLAGS) $(X_CFLAGS) \ +diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c +index 64c6c2c..da2e602 100644 +--- a/gst-libs/gst/gl/gstgldisplay.c ++++ b/gst-libs/gst/gl/gstgldisplay.c +@@ -28,6 +28,9 @@ + + #include + #include "gstgldisplay.h" ++#ifdef GPU_VIVANTE ++#include "gstglvivante.h" ++#endif + + #ifndef GLEW_VERSION_MAJOR + #define GLEW_VERSION_MAJOR 4 +@@ -468,6 +471,10 @@ gst_gl_display_init (GstGLDisplay * display, GstGLDisplayClass * klass) + #endif + + display->error_message = NULL; ++ ++#ifdef GPU_VIVANTE ++ display->gpu_priv = gst_gl_vivante_new (); ++#endif + } + + static void +@@ -539,6 +546,12 @@ gst_gl_display_finalize (GObject * object) + g_free (display->error_message); + display->error_message = NULL; + } ++#ifdef GPU_VIVANTE ++ if (display->gpu_priv) { ++ gst_gl_vivante_delete (display->gpu_priv); ++ display->gpu_priv = NULL; ++ } ++#endif + } + + +@@ -1135,6 +1148,17 @@ gst_gl_display_thread_init_upload (GstGLDisplay * display) + void + gst_gl_display_thread_do_upload (GstGLDisplay * display) + { ++ if (display->gpu_priv && ++ display->upload_width == display->upload_data_width && ++ display->upload_height == display->upload_data_height) { ++#ifdef GPU_VIVANTE ++ if (gst_gl_vivante_tex_upload (display->gpu_priv, display)) ++ return; ++#endif ++ } ++ ++ GST_WARNING ("%s: Fall into non direct uploading", __func__); ++ + gst_gl_display_thread_do_upload_fill (display); + + switch (display->upload_video_format) { +@@ -1950,14 +1974,13 @@ gst_gl_display_on_draw (GstGLDisplay * display) + + glBegin (GL_QUADS); + /* gst images are top-down while opengl plane is bottom-up */ +- glTexCoord2i (display->redisplay_texture_width, 0); ++ glTexCoord2i (1, 0); + glVertex2f (1.0f, 1.0f); + glTexCoord2i (0, 0); + glVertex2f (-1.0f, 1.0f); +- glTexCoord2i (0, display->redisplay_texture_height); ++ glTexCoord2i (0, 1); + glVertex2f (-1.0f, -1.0f); +- glTexCoord2i (display->redisplay_texture_width, +- display->redisplay_texture_height); ++ glTexCoord2i (1, 1); + glVertex2f (1.0f, -1.0f); + /*glTexCoord2i (display->redisplay_texture_width, 0); + glVertex2i (1, -1); +@@ -1974,7 +1997,8 @@ gst_gl_display_on_draw (GstGLDisplay * display) + + #else //OPENGL_ES2 + +- const GLfloat vVertices[] = { 1.0f, 1.0f, 0.0f, ++ GLfloat left, right, top, bottom; ++ GLfloat vVertices[] = { 1.0f, 1.0f, 0.0f, + 1.0f, 0.0f, + -1.0f, 1.0f, 0.0f, + 0.0f, 0.0f, +@@ -1986,6 +2010,17 @@ gst_gl_display_on_draw (GstGLDisplay * display) + + GLushort indices[] = { 0, 1, 2, 0, 2, 3 }; + ++#ifdef GPU_VIVANTE ++ if (display->gpu_priv) { ++ gst_gl_vivante_get_sampler_rect (display->gpu_priv, &left, &right, &top, ++ &bottom); ++ vVertices[3] = vVertices[18] = right; ++ vVertices[4] = vVertices[9] = bottom; ++ vVertices[8] = vVertices[13] = left; ++ vVertices[14] = vVertices[19] = top; ++ } ++#endif ++ + glClear (GL_COLOR_BUFFER_BIT); + + gst_gl_shader_use (display->redisplay_shader); +@@ -2067,6 +2102,9 @@ gst_gl_display_glgen_texture (GstGLDisplay * display, GLuint * pTexture, + case GST_VIDEO_FORMAT_I420: + case GST_VIDEO_FORMAT_YV12: + case GST_VIDEO_FORMAT_AYUV: ++#ifdef GPU_VIVANTE ++ case GST_VIDEO_FORMAT_NV12: ++#endif + glTexImage2D (GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA8, + width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); + break; +@@ -2177,11 +2215,11 @@ gst_gl_display_check_framebuffer_status (void) + GST_ERROR ("GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"); + break; + +-#if defined(GL_ARB_framebuffer_object) ++/* + case GL_FRAMEBUFFER_UNDEFINED: + GST_ERROR ("GL_FRAMEBUFFER_UNDEFINED"); + break; +-#endif ++*/ + + default: + GST_ERROR ("General FBO error"); +@@ -2350,8 +2388,13 @@ gst_gl_display_init_upload (GstGLDisplay * display, GstVideoFormat video_format, + display->upload_height = gl_height; + display->upload_data_width = video_width; + display->upload_data_height = video_height; +- gst_gl_window_send_message (display->gl_window, +- GST_GL_WINDOW_CB (gst_gl_display_thread_init_upload), display); ++ ++#ifdef GPU_VIVANTE ++ if (!gst_gl_vivante_check_format (display->gpu_priv, video_format, ++ video_width, video_height)) ++#endif ++ gst_gl_window_send_message (display->gl_window, ++ GST_GL_WINDOW_CB (gst_gl_display_thread_init_upload), display); + isAlive = display->isAlive; + gst_gl_display_unlock (display); + +@@ -2364,6 +2407,14 @@ gboolean + gst_gl_display_do_upload (GstGLDisplay * display, GLuint texture, + gint data_width, gint data_height, gpointer data) + { ++ return gst_gl_display_do_upload_with_meta (display, texture, data_width, ++ data_height, data, NULL); ++} ++ ++gboolean ++gst_gl_display_do_upload_with_meta (GstGLDisplay * display, GLuint texture, ++ gint data_width, gint data_height, gpointer data, gpointer meta) ++{ + gboolean isAlive = TRUE; + + gst_gl_display_lock (display); +@@ -2373,6 +2424,7 @@ gst_gl_display_do_upload (GstGLDisplay * display, GLuint texture, + display->upload_data_width = data_width; + display->upload_data_height = data_height; + display->upload_data = data; ++ display->upload_meta = meta; + gst_gl_window_send_message (display->gl_window, + GST_GL_WINDOW_CB (gst_gl_display_thread_do_upload), display); + isAlive = display->isAlive; +@@ -2975,11 +3027,11 @@ gst_gl_display_thread_do_upload_draw (GstGLDisplay * display) + + #ifdef OPENGL_ES2 + GLint viewport_dim[4]; +- +- const GLfloat vVertices[] = { 1.0f, -1.0f, 0.0f, ++ GLfloat left, right, top, bottom; ++ GLfloat vVertices[] = { 1.0f, -1.0f, 0.0f, + 1.0f, 0.0f, + -1.0f, -1.0f, 0.0f, +- 0.0f, .0f, ++ 0.0f, 0.0f, + -1.0f, 1.0f, 0.0f, + 0.0f, 1.0f, + 1.0f, 1.0f, 0.0f, +@@ -2987,6 +3039,18 @@ gst_gl_display_thread_do_upload_draw (GstGLDisplay * display) + }; + + GLushort indices[] = { 0, 1, 2, 0, 2, 3 }; ++ ++#ifdef GPU_VIVANTE ++ if (display->gpu_priv) { ++ gst_gl_vivante_get_sampler_rect (display->gpu_priv, &left, &right, &top, ++ &bottom); ++ vVertices[3] = vVertices[18] = right; ++ vVertices[4] = vVertices[9] = bottom; ++ vVertices[8] = vVertices[13] = left; ++ vVertices[14] = vVertices[19] = top; ++ } ++#endif ++ + #endif + + glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, display->upload_fbo); +@@ -3260,13 +3324,13 @@ gst_gl_display_thread_do_upload_draw (GstGLDisplay * display) + + #ifndef OPENGL_ES2 + glBegin (GL_QUADS); +- glTexCoord2i (display->upload_data_width, 0); ++ glTexCoord2i (1, 0); + glVertex2f (1.0f, -1.0f); + glTexCoord2i (0, 0); + glVertex2f (-1.0f, -1.0f); +- glTexCoord2i (0, display->upload_data_height); ++ glTexCoord2i (0, 1); + glVertex2f (-1.0f, 1.0f); +- glTexCoord2i (display->upload_data_width, display->upload_data_height); ++ glTexCoord2i (1, 1); + glVertex2f (1.0f, 1.0f); + glEnd (); + +@@ -3554,11 +3618,11 @@ gst_gl_display_thread_do_download_draw_yuv (GstGLDisplay * display) + glBegin (GL_QUADS); + glTexCoord2i (0, 0); + glVertex2f (-1.0f, -1.0f); +- glTexCoord2i (width, 0); ++ glTexCoord2i (1, 0); + glVertex2f (1.0f, -1.0f); +- glTexCoord2i (width, height); ++ glTexCoord2i (1, 1); + glVertex2f (1.0f, 1.0f); +- glTexCoord2i (0, height); ++ glTexCoord2i (0, 1); + glVertex2f (-1.0f, 1.0f); + glEnd (); + +diff --git a/gst-libs/gst/gl/gstgldisplay.h b/gst-libs/gst/gl/gstgldisplay.h +index f657e1e..31dfe26 100644 +--- a/gst-libs/gst/gl/gstgldisplay.h ++++ b/gst-libs/gst/gl/gstgldisplay.h +@@ -229,6 +229,9 @@ struct _GstGLDisplay + + gchar *error_message; + ++ gpointer gpu_priv; ++ gpointer upload_meta; ++ gboolean upload_buf_mapped; + }; + + +@@ -264,6 +267,8 @@ gboolean gst_gl_display_init_upload (GstGLDisplay * display, + gint video_width, gint video_height); + gboolean gst_gl_display_do_upload (GstGLDisplay * display, GLuint texture, + gint data_width, gint data_height, gpointer data); ++gboolean gst_gl_display_do_upload_with_meta (GstGLDisplay * display, GLuint texture, ++ gint data_width, gint data_height, gpointer data, gpointer meta); + gboolean gst_gl_display_init_download (GstGLDisplay * display, + GstVideoFormat video_format, gint width, gint height); + gboolean gst_gl_display_do_download (GstGLDisplay * display, GLuint texture, +diff --git a/gst-libs/gst/gl/gstglshader.h b/gst-libs/gst/gl/gstglshader.h +index ddeb99c..aec69f1 100644 +--- a/gst-libs/gst/gl/gstglshader.h ++++ b/gst-libs/gst/gl/gstglshader.h +@@ -21,6 +21,10 @@ + #ifndef __GST_GL_SHADER_H__ + #define __GST_GL_SHADER_H__ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ + /* OpenGL 2.0 for Embedded Systems */ + #ifdef OPENGL_ES2 + #include +diff --git a/gst-libs/gst/gl/gstglshadervariables.c b/gst-libs/gst/gl/gstglshadervariables.c +index 69d5b75..be6e58c 100644 +--- a/gst-libs/gst/gl/gstglshadervariables.c ++++ b/gst-libs/gst/gl/gstglshadervariables.c +@@ -550,6 +550,7 @@ gst_gl_shadervariable_set (GstGLShader * shader, + (float *) ret->value); + break; + ++#ifndef OPENGL_ES2 + case _mat2x3: + gst_gl_shader_set_uniform_matrix_2x3fv (shader, ret->name, ret->count, 0, + (float *) ret->value); +@@ -569,6 +570,7 @@ gst_gl_shadervariable_set (GstGLShader * shader, + gst_gl_shader_set_uniform_matrix_4x2fv (shader, ret->name, ret->count, 0, + (float *) ret->value); + break; ++#endif + + case _mat3: + case _mat3x3: +@@ -576,6 +578,7 @@ gst_gl_shadervariable_set (GstGLShader * shader, + (float *) ret->value); + break; + ++#ifndef OPENGL_ES2 + case _mat3x4: + gst_gl_shader_set_uniform_matrix_3x4fv (shader, ret->name, ret->count, 0, + (float *) ret->value); +@@ -585,6 +588,7 @@ gst_gl_shadervariable_set (GstGLShader * shader, + gst_gl_shader_set_uniform_matrix_4x3fv (shader, ret->name, ret->count, 0, + (float *) ret->value); + break; ++#endif + + case _mat4: + case _mat4x4: +diff --git a/gst-libs/gst/gl/gstglvivante.c b/gst-libs/gst/gl/gstglvivante.c +new file mode 100644 +index 0000000..2b8c9ae +--- /dev/null ++++ b/gst-libs/gst/gl/gstglvivante.c +@@ -0,0 +1,218 @@ ++/* ++ * Copyright (c) 2012, Freescale Semiconductor, Inc. All rights reserved. ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library 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 ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ ++#include ++ ++#include "gstglvivante.h" ++#include ++ ++#define GL_GLEXT_PROTOTYPES ++#include ++ ++typedef struct ++{ ++ gfloat sampler_left; ++ gfloat sampler_right; ++ gfloat sampler_top; ++ gfloat sampler_bottom; ++} GstGLVivante; ++ ++gpointer ++gst_gl_vivante_new () ++{ ++ GstGLVivante *viv = g_new (GstGLVivante, 1); ++ ++ viv->sampler_left = 0.0f; ++ viv->sampler_right = 1.0f; ++ viv->sampler_top = 1.0f; ++ viv->sampler_bottom = 0.0f; ++ ++ return viv; ++} ++ ++void ++gst_gl_vivante_delete (gpointer gpu) ++{ ++ g_free (gpu); ++} ++ ++gboolean ++gst_gl_vivante_check_format (gpointer gpu, GstVideoFormat format, gint width, ++ gint height) ++{ ++ switch (format) { ++ case GST_VIDEO_FORMAT_YV12: ++ case GST_VIDEO_FORMAT_NV12: ++ if ((width & 15) == 0) ++ return TRUE; ++ break; ++ default: ++ GST_WARNING ("GstVideoFormat %d not supported by vivante", format); ++ } ++ GST_WARNING ++ ("Check format %d, width,height [%d, %d] failed, can't direct render", ++ format, width, height); ++ return FALSE; ++} ++ ++GLenum ++gst_gl_vivante_get_gl_format (gpointer gpu, GstVideoFormat format) ++{ ++ switch (format) { ++ case GST_VIDEO_FORMAT_YV12: ++ return GL_VIV_YV12; ++ case GST_VIDEO_FORMAT_NV12: ++ return GL_VIV_NV12; ++ default: ++ GST_WARNING ("GstVideoFormat %d not supported by vivante", format); ++ } ++ return GL_NONE; ++} ++ ++static gboolean ++format_is_yuv (GstVideoFormat format) ++{ ++ switch (format) { ++ case GST_VIDEO_FORMAT_YV12: ++ case GST_VIDEO_FORMAT_NV12: ++ return TRUE; ++ default: ++ return FALSE; ++ } ++} ++ ++static void ++copy_data_to_gpu (gpointer gpu, GstVideoFormat format, gpointer data, ++ gpointer planes[], gint width, gint height) ++{ ++ gint src_height; ++ gint src_y_size, src_uv_size; ++ gint dst_y_size, dst_uv_size; ++ ++ /* width is already 16 aligned */ ++ switch (format) { ++ case GST_VIDEO_FORMAT_YV12: ++ src_height = GST_ROUND_UP_2 (height); ++ src_y_size = width * src_height; ++ src_uv_size = src_y_size / 4; ++ dst_y_size = width * height; ++ dst_uv_size = dst_y_size / 4; ++ memcpy (planes[0], data, dst_y_size); ++ memcpy (planes[1], (gchar *) data + src_y_size, dst_uv_size); ++ memcpy (planes[2], (gchar *) data + src_y_size + src_uv_size, ++ dst_uv_size); ++ break; ++ case GST_VIDEO_FORMAT_NV12: ++ src_height = GST_ROUND_UP_2 (height); ++ src_y_size = width * src_height; ++ dst_y_size = width * height; ++ dst_uv_size = dst_y_size / 2; ++ memcpy (planes[0], data, dst_y_size); ++ memcpy (planes[1], (gchar *) data + src_y_size, dst_uv_size); ++ break; ++ default: ++ return; ++ } ++} ++ ++gboolean ++gst_gl_vivante_tex_upload (gpointer gpu, GstGLDisplay * display) ++{ ++ GstVideoFormat format = display->upload_video_format; ++ gint width = display->upload_data_width; ++ gint height = display->upload_data_height; ++ gpointer data = display->upload_data; ++ GstBufferMeta *meta = GST_BUFFER_META (display->upload_meta); ++ gpointer planes[3]; ++ GLuint physical = meta ? (GLuint) (meta->physical_data) : ~0U; ++ ++ GST_INFO ("gst_gl_vivante_tex_upload physical address 0x%x, data %p, tex %d", ++ physical, data, display->upload_outtex); ++ ++ if (!gst_gl_vivante_check_format (gpu, format, width, height)) ++ return FALSE; ++ ++ glBindTexture (GL_TEXTURE_2D, display->upload_outtex); ++ ++ if (((guint) data & 0x3F) != 0) { /* not aligned, need additional copy */ ++ if (!format_is_yuv (format)) { /* rgb is left to default handler */ ++ GST_WARNING ("Format %d unaligned data is not supported for" ++ " direct rendering", format); ++ return FALSE; ++ } ++ ++ GST_WARNING ("Data not aligned, need additional copy"); ++ ++ glTexDirectVIV (GL_TEXTURE_2D, width, height, ++ gst_gl_vivante_get_gl_format (gpu, format), (GLvoid **) & planes); ++ if (glGetError () != GL_NO_ERROR) ++ return FALSE; ++ ++ copy_data_to_gpu (gpu, format, data, planes, width, height); ++ } else { ++ glTexDirectVIVMap (GL_TEXTURE_2D, width, height, ++ gst_gl_vivante_get_gl_format (gpu, format), &data, &physical); ++ if (glGetError () != GL_NO_ERROR) ++ return FALSE; ++ display->upload_buf_mapped = TRUE; ++ } ++ ++ glTexDirectInvalidateVIV (GL_TEXTURE_2D); ++ ++ return TRUE; ++} ++ ++void ++gst_gl_vivante_set_caps (gpointer gpu, GstCaps * caps) ++{ ++ GstVideoFormat format; ++ gint width; ++ gint height; ++ GstStructure *s; ++ gint left = 0, right = 0, top = 0, bottom = 0; ++ GstGLVivante *viv = (GstGLVivante *) gpu; ++ ++ s = gst_caps_get_structure (caps, 0); ++ gst_structure_get_int (s, "crop-left", &left); ++ gst_structure_get_int (s, "crop-top", &top); ++ gst_structure_get_int (s, "crop-right", &right); ++ gst_structure_get_int (s, "crop-bottom", &bottom); ++ ++ gst_video_format_parse_caps (caps, &format, &width, &height); ++ ++ viv->sampler_left = ((gfloat) left) / width; ++ viv->sampler_right = ((gfloat) (width - right)) / width; ++ viv->sampler_top = ((gfloat) (height - bottom)) / height; ++ viv->sampler_bottom = ((gfloat) top) / height; ++} ++ ++void ++gst_gl_vivante_get_sampler_rect (gpointer gpu, gfloat * left, gfloat * right, ++ gfloat * top, gfloat * bottom) ++{ ++ GstGLVivante *viv = (GstGLVivante *) gpu; ++ ++ *left = viv->sampler_left; ++ *right = viv->sampler_right; ++ *top = viv->sampler_top; ++ *bottom = viv->sampler_bottom; ++} +diff --git a/gst-libs/gst/gl/gstglvivante.h b/gst-libs/gst/gl/gstglvivante.h +new file mode 100644 +index 0000000..f763f80 +--- /dev/null ++++ b/gst-libs/gst/gl/gstglvivante.h +@@ -0,0 +1,41 @@ ++/* ++ * Copyright (c) 2012, Freescale Semiconductor, Inc. All rights reserved. ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Library General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) any later version. ++ * ++ * This library 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 ++ * Library General Public License for more details. ++ * ++ * You should have received a copy of the GNU Library General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++ ++#ifndef __GST_GL_VIVANTE_H__ ++#define __GST_GL_VIVANTE_H__ ++ ++#include "gstgldisplay.h" ++#include ++ ++G_BEGIN_DECLS ++ ++gpointer gst_gl_vivante_new(); ++void gst_gl_vivante_delete(gpointer gpu); ++ ++gboolean gst_gl_vivante_check_format(gpointer gpu, GstVideoFormat format, gint width, gint height); ++GLenum gst_gl_vivante_get_gl_format(gpointer gpu, GstVideoFormat format); ++ ++gboolean gst_gl_vivante_tex_upload (gpointer gpu, GstGLDisplay * display); ++void gst_gl_vivante_set_caps (gpointer gpu, GstCaps * caps); ++ ++void gst_gl_vivante_get_sampler_rect (gpointer gpu, gfloat *left, gfloat *right, gfloat *top, gfloat *bottom); ++ ++G_END_DECLS ++ ++#endif /* __GST_GL_VIVANTE_H__ */ +diff --git a/gst-libs/gst/gl/gstglwindow.h b/gst-libs/gst/gl/gstglwindow.h +index 499d47a..c3cafb2 100644 +--- a/gst-libs/gst/gl/gstglwindow.h ++++ b/gst-libs/gst/gl/gstglwindow.h +@@ -21,6 +21,10 @@ + #ifndef __GST_GL_WINDOW_H__ + #define __GST_GL_WINDOW_H__ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ + /* OpenGL 2.0 for Embedded Systems */ + #ifdef OPENGL_ES2 + #undef UNICODE +diff --git a/gst-libs/gst/gl/gstglwindow_fbES2.c b/gst-libs/gst/gl/gstglwindow_fbES2.c +new file mode 100644 +index 0000000..57c02e1 +--- /dev/null ++++ b/gst-libs/gst/gl/gstglwindow_fbES2.c +@@ -0,0 +1,709 @@ ++/* ++ * GStreamer ++ * Copyright (C) 2008 Julien Isorce ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Library General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) any later version. ++ * ++ * This library 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 ++ * Library General Public License for more details. ++ * ++ * You should have received a copy of the GNU Library General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++ ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ ++#include "gstglwindow.h" ++#include "EGL/eglvivante.h" ++ ++#include ++#include ++#include ++ ++#define GST_GL_WINDOW_GET_PRIVATE(o) \ ++ (G_TYPE_INSTANCE_GET_PRIVATE((o), GST_GL_TYPE_WINDOW, GstGLWindowPrivate)) ++ ++/* A gl window is created and deleted in a thread dedicated to opengl calls ++ The name contains "window" because an opengl context is used in cooperation ++ with a window */ ++ ++const gchar *EGLErrorString (); ++ ++enum ++{ ++ ARG_0, ++ ARG_DISPLAY ++}; ++ ++enum GstGLFbEventType ++{ ++ FB_EVENT_DRAW, ++ FB_EVENT_CALLBACK, ++ FB_EVENT_QUIT, ++}; ++ ++typedef struct _GstGLFbEvent ++{ ++ enum GstGLFbEventType type; ++ GstGLWindowCB callback; ++ gpointer data; ++} GstGLFbEvent; ++ ++struct _GstGLWindowPrivate ++{ ++ /* X is not thread safe */ ++ GMutex *lock; ++ GCond *cond_send_message; ++ GCond *cond_queue_message; ++ gboolean running; ++ gboolean allow_extra_expose_events; ++ ++ /* fb queue */ ++ GList *queue; ++ ++ /* X context */ ++ gchar *display_name; ++ gint device_width; ++ gint device_height; ++ ++ EGLNativeWindowType internal_win_id; ++ EGLNativeDisplayType device; ++ ++ /* EGL */ ++ EGLContext gl_context; ++ EGLDisplay gl_display; ++ EGLSurface gl_surface; ++ ++ /* frozen callbacks */ ++ GstGLWindowCB draw_cb; ++ gpointer draw_data; ++ GstGLWindowCB2 resize_cb; ++ gpointer resize_data; ++ GstGLWindowCB close_cb; ++ gpointer close_data; ++}; ++ ++G_DEFINE_TYPE (GstGLWindow, gst_gl_window, G_TYPE_OBJECT); ++ ++#undef G_LOG_DOMAIN ++#define G_LOG_DOMAIN "GstGLWindow" ++ ++gboolean _gst_gl_window_debug = FALSE; ++ ++void ++gst_gl_window_init_platform () ++{ ++} ++ ++static void ++free_event (gpointer event, gpointer data) ++{ ++ g_slice_free (GstGLFbEvent, event); ++} ++ ++/* Must be called in the gl thread */ ++static void ++gst_gl_window_finalize (GObject * object) ++{ ++ GstGLWindow *window = GST_GL_WINDOW (object); ++ GstGLWindowPrivate *priv = window->priv; ++ gboolean ret = TRUE; ++ ++ g_mutex_lock (priv->lock); ++ ++ g_debug ("about to finalize gl window\n"); ++ ++ if (priv->gl_context) { ++ ret = ++ eglMakeCurrent (priv->gl_display, EGL_NO_SURFACE, EGL_NO_SURFACE, ++ EGL_NO_CONTEXT); ++ if (!ret) ++ g_debug ("failed to release opengl context\n"); ++ ++ eglDestroyContext (priv->gl_display, priv->gl_context); ++ } ++ ++ if (priv->gl_display) ++ eglTerminate (priv->gl_display); ++ ++ if (priv->device) ++ fbDestroyDisplay (priv->device); ++ ++ g_list_foreach (priv->queue, free_event, NULL); ++ g_list_free (priv->queue); ++ priv->queue = NULL; ++ ++ if (priv->cond_send_message) { ++ g_cond_free (priv->cond_send_message); ++ priv->cond_send_message = NULL; ++ } ++ ++ if (priv->cond_queue_message) { ++ g_cond_free (priv->cond_queue_message); ++ priv->cond_queue_message = NULL; ++ } ++ ++ g_mutex_unlock (priv->lock); ++ ++ if (priv->lock) { ++ g_mutex_free (priv->lock); ++ priv->lock = NULL; ++ } ++ ++ G_OBJECT_CLASS (gst_gl_window_parent_class)->finalize (object); ++} ++ ++static void ++gst_gl_window_set_property (GObject * object, guint prop_id, ++ const GValue * value, GParamSpec * pspec) ++{ ++ GstGLWindow *window; ++ GstGLWindowPrivate *priv; ++ ++ g_return_if_fail (GST_GL_IS_WINDOW (object)); ++ ++ window = GST_GL_WINDOW (object); ++ ++ priv = window->priv; ++ ++ switch (prop_id) { ++ case ARG_DISPLAY: ++ priv->display_name = g_strdup (g_value_get_string (value)); ++ break; ++ default: ++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); ++ break; ++ } ++} ++ ++static void ++gst_gl_window_get_property (GObject * object, guint prop_id, ++ GValue * value, GParamSpec * pspec) ++{ ++ GstGLWindow *window; ++ GstGLWindowPrivate *priv; ++ ++ g_return_if_fail (GST_GL_IS_WINDOW (object)); ++ ++ window = GST_GL_WINDOW (object); ++ ++ priv = window->priv; ++ ++ switch (prop_id) { ++ case ARG_DISPLAY: ++ g_value_set_string (value, priv->display_name); ++ break; ++ default: ++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); ++ break; ++ } ++} ++ ++static void ++gst_gl_window_log_handler (const gchar * domain, GLogLevelFlags flags, ++ const gchar * message, gpointer user_data) ++{ ++ if (_gst_gl_window_debug) { ++ g_log_default_handler (domain, flags, message, user_data); ++ } ++} ++ ++static void ++gst_gl_window_class_init (GstGLWindowClass * klass) ++{ ++ GObjectClass *obj_class = G_OBJECT_CLASS (klass); ++ ++ g_type_class_add_private (klass, sizeof (GstGLWindowPrivate)); ++ ++ obj_class->finalize = gst_gl_window_finalize; ++ obj_class->set_property = gst_gl_window_set_property; ++ obj_class->get_property = gst_gl_window_get_property; ++ ++ g_object_class_install_property (obj_class, ARG_DISPLAY, ++ g_param_spec_string ("display", "Display", "X Display name", NULL, ++ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); ++} ++ ++static void ++gst_gl_window_init (GstGLWindow * window) ++{ ++ GstGLWindowPrivate *priv = NULL; ++ window->priv = GST_GL_WINDOW_GET_PRIVATE (window); ++ priv = window->priv; ++ ++ if (g_getenv ("GST_GL_WINDOW_DEBUG") != NULL) ++ _gst_gl_window_debug = TRUE; ++ ++ g_log_set_handler ("GstGLWindow", G_LOG_LEVEL_DEBUG, ++ gst_gl_window_log_handler, NULL); ++ ++ priv->lock = NULL; ++ priv->cond_send_message = NULL; ++ priv->running = FALSE; ++ priv->allow_extra_expose_events = FALSE; ++ ++ priv->queue = NULL; ++ ++ /* X context */ ++ priv->display_name = NULL; ++ priv->device_width = 0; ++ priv->device_height = 0; ++ ++ /* EGL */ ++ priv->gl_context = EGL_NO_CONTEXT; ++ priv->gl_display = 0; ++ priv->gl_surface = EGL_NO_SURFACE; ++ ++ /* frozen callbacks */ ++ priv->draw_cb = NULL; ++ priv->draw_data = NULL; ++ priv->resize_cb = NULL; ++ priv->resize_data = NULL; ++ priv->close_cb = NULL; ++ priv->close_data = NULL; ++} ++ ++/* Must be called in the gl thread */ ++GstGLWindow * ++gst_gl_window_new (gulong external_gl_context) ++{ ++ GstGLWindow *window = g_object_new (GST_GL_TYPE_WINDOW, NULL); ++ GstGLWindowPrivate *priv = window->priv; ++ ++ EGLint config_attrib[] = { ++ EGL_SURFACE_TYPE, EGL_WINDOW_BIT, ++ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, ++ EGL_DEPTH_SIZE, 16, ++ EGL_NONE ++ }; ++ ++ EGLint context_attrib[] = { ++ EGL_CONTEXT_CLIENT_VERSION, 2, ++ EGL_NONE ++ }; ++ ++ EGLint majorVersion; ++ EGLint minorVersion; ++ EGLint numConfigs; ++ EGLConfig config; ++ ++ int index = 0; ++ ++ setlocale (LC_NUMERIC, "C"); ++ ++ priv->lock = g_mutex_new (); ++ priv->cond_send_message = g_cond_new (); ++ priv->cond_queue_message = g_cond_new (); ++ priv->running = TRUE; ++ priv->allow_extra_expose_events = TRUE; ++ ++ g_mutex_lock (priv->lock); ++ ++ if (priv->display_name) ++ index = strtol (priv->display_name, NULL, 0); ++ ++ priv->device = fbGetDisplayByIndex (index); ++ ++ if (!priv->device) { ++ g_debug ("failed to get fb display by index %d\n", index); ++ goto failure; ++ } ++ ++ priv->internal_win_id = fbCreateWindow (priv->device, -1, -1, 0, 0); ++ ++ fbGetDisplayGeometry (priv->device, &priv->device_width, ++ &priv->device_height); ++ ++ priv->gl_display = eglGetDisplay (priv->device); ++ ++ if (eglInitialize (priv->gl_display, &majorVersion, &minorVersion)) ++ g_debug ("egl initialized: %d.%d\n", majorVersion, minorVersion); ++ else { ++ g_debug ("failed to initialize egl %ld, %s\n", (gulong) priv->gl_display, ++ EGLErrorString ()); ++ goto failure; ++ } ++ ++ if (eglChooseConfig (priv->gl_display, config_attrib, &config, 1, ++ &numConfigs)) ++ g_debug ("config set: %ld, %ld\n", (gulong) config, (gulong) numConfigs); ++ else { ++ g_debug ("failed to set config %ld, %s\n", (gulong) priv->gl_display, ++ EGLErrorString ()); ++ goto failure; ++ } ++ ++ priv->gl_surface = ++ eglCreateWindowSurface (priv->gl_display, config, priv->internal_win_id, ++ NULL); ++ if (priv->gl_surface != EGL_NO_SURFACE) ++ g_debug ("surface created: %ld\n", (gulong) priv->gl_surface); ++ else { ++ g_debug ("failed to create surface %ld, %ld, %ld, %s\n", ++ (gulong) priv->gl_display, (gulong) priv->gl_surface, ++ (gulong) priv->gl_display, EGLErrorString ()); ++ goto failure; ++ } ++ ++ g_debug ("about to create gl context\n"); ++ ++ priv->gl_context = ++ eglCreateContext (priv->gl_display, config, ++ (EGLContext) (guint) external_gl_context, context_attrib); ++ ++ if (priv->gl_context != EGL_NO_CONTEXT) ++ g_debug ("gl context created: %ld\n", (gulong) priv->gl_context); ++ else { ++ g_debug ("failed to create glcontext %ld, %ld, %s\n", ++ (gulong) priv->gl_context, (gulong) priv->gl_display, ++ EGLErrorString ()); ++ goto failure; ++ } ++ ++ if (!eglMakeCurrent (priv->gl_display, priv->gl_surface, priv->gl_surface, ++ priv->gl_context)) { ++ g_debug ("failed to make opengl context current %ld, %s\n", ++ (gulong) priv->gl_display, EGLErrorString ()); ++ goto failure; ++ } ++ ++ g_mutex_unlock (priv->lock); ++ printf ("device WxH:%dx%d\n", priv->device_width, priv->device_height); ++ return window; ++ ++failure: ++ g_mutex_unlock (priv->lock); ++ g_object_unref (G_OBJECT (window)); ++ return NULL; ++} ++ ++GQuark ++gst_gl_window_error_quark (void) ++{ ++ return g_quark_from_static_string ("gst-gl-window-error"); ++} ++ ++gulong ++gst_gl_window_get_internal_gl_context (GstGLWindow * window) ++{ ++ GstGLWindowPrivate *priv = window->priv; ++ return (gulong) priv->gl_context; ++} ++ ++void ++callback_activate_gl_context (GstGLWindowPrivate * priv) ++{ ++ if (!eglMakeCurrent (priv->gl_display, priv->gl_surface, priv->gl_surface, ++ priv->gl_context)) ++ g_debug ("failed to activate opengl context %lud\n", ++ (gulong) priv->gl_context); ++} ++ ++void ++callback_inactivate_gl_context (GstGLWindowPrivate * priv) ++{ ++ if (!eglMakeCurrent (priv->device, EGL_NO_SURFACE, EGL_NO_SURFACE, ++ EGL_NO_CONTEXT)) ++ g_debug ("failed to inactivate opengl context %lud\n", ++ (gulong) priv->gl_context); ++} ++ ++void ++gst_gl_window_activate_gl_context (GstGLWindow * window, gboolean activate) ++{ ++ GstGLWindowPrivate *priv = window->priv; ++ if (activate) ++ gst_gl_window_send_message (window, ++ GST_GL_WINDOW_CB (callback_activate_gl_context), priv); ++ else ++ gst_gl_window_send_message (window, ++ GST_GL_WINDOW_CB (callback_inactivate_gl_context), priv); ++} ++ ++/* Not called by the gl thread */ ++void ++gst_gl_window_set_external_window_id (GstGLWindow * window, gulong id) ++{ ++} ++ ++void ++gst_gl_window_set_draw_callback (GstGLWindow * window, GstGLWindowCB callback, ++ gpointer data) ++{ ++ GstGLWindowPrivate *priv = window->priv; ++ ++ g_mutex_lock (priv->lock); ++ ++ priv->draw_cb = callback; ++ priv->draw_data = data; ++ ++ g_mutex_unlock (priv->lock); ++} ++ ++void ++gst_gl_window_set_resize_callback (GstGLWindow * window, ++ GstGLWindowCB2 callback, gpointer data) ++{ ++ GstGLWindowPrivate *priv = window->priv; ++ ++ g_mutex_lock (priv->lock); ++ ++ priv->resize_cb = callback; ++ priv->resize_data = data; ++ ++ g_mutex_unlock (priv->lock); ++} ++ ++void ++gst_gl_window_set_close_callback (GstGLWindow * window, GstGLWindowCB callback, ++ gpointer data) ++{ ++ GstGLWindowPrivate *priv = window->priv; ++ ++ g_mutex_lock (priv->lock); ++ ++ priv->close_cb = callback; ++ priv->close_data = data; ++ ++ g_mutex_unlock (priv->lock); ++} ++ ++/* Called in the gl thread */ ++void ++gst_gl_window_draw_unlocked (GstGLWindow * window, gint width, gint height) ++{ ++ GstGLWindowPrivate *priv = window->priv; ++ ++ if (priv->running && priv->allow_extra_expose_events) { ++ GstGLFbEvent *event = g_slice_new0 (GstGLFbEvent); ++ event->type = FB_EVENT_DRAW; ++ priv->queue = g_list_append (priv->queue, event); ++ g_cond_signal (priv->cond_queue_message); ++ /* block until opengl calls have been executed in the gl thread */ ++ g_cond_wait (priv->cond_send_message, priv->lock); ++ } ++} ++ ++/* Not called by the gl thread */ ++void ++gst_gl_window_draw (GstGLWindow * window, gint width, gint height) ++{ ++ if (window) { ++ GstGLWindowPrivate *priv = window->priv; ++ ++ g_mutex_lock (priv->lock); ++ ++ if (priv->running) { ++ GstGLFbEvent *event = g_slice_new0 (GstGLFbEvent); ++ event->type = FB_EVENT_DRAW; ++ priv->queue = g_list_append (priv->queue, event); ++ g_cond_signal (priv->cond_queue_message); ++ /* block until opengl calls have been executed in the gl thread */ ++ g_cond_wait (priv->cond_send_message, priv->lock); ++ } ++ ++ g_mutex_unlock (priv->lock); ++ } ++} ++ ++static void ++gst_gl_fb_queue_flush (GList * queue, GCond * cond) ++{ ++ GstGLFbEvent *event; ++ GList *first; ++ ++ while ((first = g_list_first (queue))) { ++ event = first->data; ++ queue = g_list_delete_link (queue, first); ++ ++ if (event->type == FB_EVENT_CALLBACK) { ++ g_debug ("execute last pending custom x events\n"); ++ ++ if (!event->callback || !event->data) ++ g_debug ("custom cb not initialized\n"); ++ ++ event->callback (event->data); ++ ++ g_cond_signal (cond); ++ } ++ ++ g_slice_free (GstGLFbEvent, event); ++ } ++} ++ ++/* Called in the gl thread */ ++void ++gst_gl_window_run_loop (GstGLWindow * window) ++{ ++ GstGLWindowPrivate *priv = window->priv; ++ GstGLFbEvent *event; ++ GList *first; ++ ++ g_debug ("begin loop\n"); ++ ++ g_mutex_lock (priv->lock); ++ ++ while (priv->running) { ++ ++ if (!priv->queue) ++ g_cond_wait (priv->cond_queue_message, priv->lock); ++ ++ first = g_list_first (priv->queue); ++ event = first->data; ++ priv->queue = g_list_delete_link (priv->queue, first); ++ ++ // use in generic/cube and other related uses ++ priv->allow_extra_expose_events = g_list_length (priv->queue) <= 2; ++ ++ switch (event->type) { ++ case FB_EVENT_CALLBACK: ++ { ++ if (priv->running) { ++ if (!event->callback || !event->data) ++ g_debug ("custom cb not initialized\n"); ++ event->callback (event->data); ++ g_cond_signal (priv->cond_send_message); ++ } ++ break; ++ } ++ ++ case FB_EVENT_QUIT: ++ { ++ g_debug ("Quit loop message %lud\n", (gulong) priv->internal_win_id); ++ ++ /* exit loop */ ++ priv->running = FALSE; ++ ++ /* make sure last pendings send message calls are executed */ ++ gst_gl_fb_queue_flush (priv->queue, priv->cond_send_message); ++ priv->queue = NULL; ++ ++ /* Finally we can destroy opengl ressources (texture/shaders/fbo) */ ++ if (!event->callback || !event->data) ++ g_debug ("destroy cb not correclty set\n"); ++ ++ event->callback (event->data); ++ g_cond_signal (priv->cond_send_message); ++ break; ++ } ++ ++ case FB_EVENT_DRAW: ++ if (priv->draw_cb) { ++ priv->draw_cb (priv->draw_data); ++ glFlush (); ++ eglSwapBuffers (priv->gl_display, priv->gl_surface); ++ g_cond_signal (priv->cond_send_message); ++ } ++ break; ++ ++ default: ++ g_debug ("unknown GstGLFbEvent type: %ud\n", event->type); ++ break; ++ } // switch ++ ++ g_slice_free (GstGLFbEvent, event); ++ ++ } // while running ++ ++ g_mutex_unlock (priv->lock); ++ ++ g_debug ("end loop\n"); ++} ++ ++/* Not called by the gl thread */ ++void ++gst_gl_window_quit_loop (GstGLWindow * window, GstGLWindowCB callback, ++ gpointer data) ++{ ++ if (window) { ++ GstGLWindowPrivate *priv = window->priv; ++ ++ g_mutex_lock (priv->lock); ++ ++ if (priv->running) { ++ GstGLFbEvent *event = g_slice_new0 (GstGLFbEvent); ++ event->type = FB_EVENT_QUIT; ++ event->callback = callback; ++ event->data = data; ++ priv->queue = g_list_append (priv->queue, event); ++ ++ g_cond_signal (priv->cond_queue_message); ++ g_cond_wait (priv->cond_send_message, priv->lock); ++ } ++ ++ g_mutex_unlock (priv->lock); ++ } ++} ++ ++/* Not called by the gl thread */ ++void ++gst_gl_window_send_message (GstGLWindow * window, GstGLWindowCB callback, ++ gpointer data) ++{ ++ if (window) { ++ GstGLWindowPrivate *priv = window->priv; ++ ++ g_mutex_lock (priv->lock); ++ ++ if (priv->running) { ++ GstGLFbEvent *event = g_slice_new0 (GstGLFbEvent); ++ event->type = FB_EVENT_CALLBACK; ++ event->callback = callback; ++ event->data = data; ++ priv->queue = g_list_append (priv->queue, event); ++ g_cond_signal (priv->cond_queue_message); ++ ++ /* block until opengl calls have been executed in the gl thread */ ++ g_cond_wait (priv->cond_send_message, priv->lock); ++ } ++ ++ g_mutex_unlock (priv->lock); ++ } ++} ++ ++const gchar * ++EGLErrorString () ++{ ++ EGLint nErr = eglGetError (); ++ switch (nErr) { ++ case EGL_SUCCESS: ++ return "EGL_SUCCESS"; ++ case EGL_BAD_DISPLAY: ++ return "EGL_BAD_DISPLAY"; ++ case EGL_NOT_INITIALIZED: ++ return "EGL_NOT_INITIALIZED"; ++ case EGL_BAD_ACCESS: ++ return "EGL_BAD_ACCESS"; ++ case EGL_BAD_ALLOC: ++ return "EGL_BAD_ALLOC"; ++ case EGL_BAD_ATTRIBUTE: ++ return "EGL_BAD_ATTRIBUTE"; ++ case EGL_BAD_CONFIG: ++ return "EGL_BAD_CONFIG"; ++ case EGL_BAD_CONTEXT: ++ return "EGL_BAD_CONTEXT"; ++ case EGL_BAD_CURRENT_SURFACE: ++ return "EGL_BAD_CURRENT_SURFACE"; ++ case EGL_BAD_MATCH: ++ return "EGL_BAD_MATCH"; ++ case EGL_BAD_NATIVE_PIXMAP: ++ return "EGL_BAD_NATIVE_PIXMAP"; ++ case EGL_BAD_NATIVE_WINDOW: ++ return "EGL_BAD_NATIVE_WINDOW"; ++ case EGL_BAD_PARAMETER: ++ return "EGL_BAD_PARAMETER"; ++ case EGL_BAD_SURFACE: ++ return "EGL_BAD_SURFACE"; ++ default: ++ return "unknown"; ++ } ++} +diff --git a/gst-libs/gst/gl/gstglwindow_x11ES2.c b/gst-libs/gst/gl/gstglwindow_x11ES2.c +index 260fd2e..65afb50 100644 +--- a/gst-libs/gst/gl/gstglwindow_x11ES2.c ++++ b/gst-libs/gst/gl/gstglwindow_x11ES2.c +@@ -116,16 +116,16 @@ gst_gl_window_finalize (GObject * object) + + if (priv->gl_context) { + ret = +- eglMakeCurrent (priv->device, EGL_NO_SURFACE, EGL_NO_SURFACE, ++ eglMakeCurrent (priv->gl_display, EGL_NO_SURFACE, EGL_NO_SURFACE, + EGL_NO_CONTEXT); + if (!ret) + g_debug ("failed to release opengl context\n"); + +- eglDestroyContext (priv->device, priv->gl_context); ++ eglDestroyContext (priv->gl_display, priv->gl_context); + } + +- if (priv->device) +- eglTerminate (priv->device); ++ if (priv->gl_display) ++ eglTerminate (priv->gl_display); + + XFree (priv->visual_info); + +@@ -510,7 +510,7 @@ callback_activate_gl_context (GstGLWindowPrivate * priv) + void + callback_inactivate_gl_context (GstGLWindowPrivate * priv) + { +- if (!eglMakeCurrent (priv->device, EGL_NO_SURFACE, EGL_NO_SURFACE, ++ if (!eglMakeCurrent (priv->gl_display, EGL_NO_SURFACE, EGL_NO_SURFACE, + EGL_NO_CONTEXT)) + g_debug ("failed to inactivate opengl context %lud\n", + (gulong) priv->gl_context); +@@ -622,7 +622,7 @@ gst_gl_window_draw_unlocked (GstGLWindow * window, gint width, gint height) + + XSendEvent (priv->device, priv->internal_win_id, FALSE, ExposureMask, + &event); +- XSync (priv->disp_send, FALSE); ++ XSync (priv->device, FALSE); + } + } + +diff --git a/gst/gl/gstglbumper.c b/gst/gl/gstglbumper.c +index 12efe7d..2daec5b 100644 +--- a/gst/gl/gstglbumper.c ++++ b/gst/gl/gstglbumper.c +@@ -157,7 +157,6 @@ gst_gl_bumper_init_resources (GstGLFilter * filter) + + png_structp png_ptr; + png_infop info_ptr; +- guint sig_read = 0; + png_uint_32 width = 0; + png_uint_32 height = 0; + gint bit_depth = 0; +@@ -209,7 +208,7 @@ gst_gl_bumper_init_resources (GstGLFilter * filter) + + png_init_io (png_ptr, fp); + +- png_set_sig_bytes (png_ptr, sig_read); ++ png_set_sig_bytes (png_ptr, sizeof (magic)); + + png_read_info (png_ptr, info_ptr); + +diff --git a/gst/gl/gstglimagesink.c b/gst/gl/gstglimagesink.c +index d57f5b5..369d7f1 100644 +--- a/gst/gl/gstglimagesink.c ++++ b/gst/gl/gstglimagesink.c +@@ -1,6 +1,6 @@ + /* +- * GStreamer +- * Copyright (C) 2003 Julien Moutte ++ * GStreamerfor ++ * Copyright (C) 2003 Julien Moutte for + * Copyright (C) 2005,2006,2007 David A. Schleef + * Copyright (C) 2008 Julien Isorce + * +@@ -86,6 +86,9 @@ + #include + + #include "gstglimagesink.h" ++#ifdef GPU_VIVANTE ++#include "gstglvivante.h" ++#endif + + GST_DEBUG_CATEGORY (gst_debug_glimage_sink); + #define GST_CAT_DEFAULT gst_debug_glimage_sink +@@ -137,11 +140,13 @@ static GstStaticPadTemplate gst_glimage_sink_template = + GST_PAD_SINK, + GST_PAD_ALWAYS, + GST_STATIC_CAPS (GST_GL_VIDEO_CAPS ";" +- GST_VIDEO_CAPS_RGB ";" +- GST_VIDEO_CAPS_RGBx ";" +- GST_VIDEO_CAPS_RGBA ";" +- GST_VIDEO_CAPS_YUV ("{ I420, YV12, YUY2, UYVY, AYUV }")) +- ); ++ GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_RGBx ";" GST_VIDEO_CAPS_RGBA ";" ++#ifdef GPU_VIVANTE ++ GST_VIDEO_CAPS_YUV ("{ NV12, I420, YV12, YUY2, UYVY, AYUV }") ++#else ++ GST_VIDEO_CAPS_YUV ("{ I420, YV12, YUY2, UYVY, AYUV }") ++#endif ++ )); + #endif + + enum +@@ -152,7 +157,8 @@ enum + PROP_CLIENT_DRAW_CALLBACK, + PROP_CLIENT_DATA, + PROP_FORCE_ASPECT_RATIO, +- PROP_PIXEL_ASPECT_RATIO ++ PROP_PIXEL_ASPECT_RATIO, ++ PROP_RENDERED_FRAMES + }; + + GST_BOILERPLATE_FULL (GstGLImageSink, gst_glimage_sink, GstVideoSink, +@@ -241,6 +247,10 @@ gst_glimage_sink_class_init (GstGLImageSinkClass * klass) + "The pixel aspect ratio of the device", "1/1", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + ++ g_object_class_install_property (gobject_class, PROP_RENDERED_FRAMES, ++ g_param_spec_int ("rendered", "rendered", ++ "Get the total rendered frames", 0, G_MAXINT, 0, G_PARAM_READABLE)); ++ + gobject_class->finalize = gst_glimage_sink_finalize; + + gstelement_class->change_state = gst_glimage_sink_change_state; +@@ -261,6 +271,7 @@ gst_glimage_sink_init (GstGLImageSink * glimage_sink, + glimage_sink->new_window_id = 0; + glimage_sink->display = NULL; + glimage_sink->stored_buffer = NULL; ++ glimage_sink->stored_input_buffer = NULL; + glimage_sink->clientReshapeCallback = NULL; + glimage_sink->clientDrawCallback = NULL; + glimage_sink->client_data = NULL; +@@ -370,6 +381,9 @@ gst_glimage_sink_get_property (GObject * object, guint prop_id, + if (!g_value_transform (glimage_sink->par, value)) + g_warning ("Could not transform string to aspect ratio"); + break; ++ case PROP_RENDERED_FRAMES: ++ g_value_set_int (value, glimage_sink->rendered); ++ break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; +@@ -435,6 +449,7 @@ gst_glimage_sink_change_state (GstElement * element, GstStateChange transition) + + return GST_STATE_CHANGE_FAILURE; + } ++ glimage_sink->rendered = 0; + } + break; + case GST_STATE_CHANGE_PAUSED_TO_PLAYING: +@@ -456,6 +471,10 @@ gst_glimage_sink_change_state (GstElement * element, GstStateChange transition) + gst_buffer_unref (GST_BUFFER_CAST (glimage_sink->stored_buffer)); + glimage_sink->stored_buffer = NULL; + } ++ if (glimage_sink->stored_input_buffer) { ++ gst_buffer_unref (glimage_sink->stored_input_buffer); ++ glimage_sink->stored_input_buffer = NULL; ++ } + if (glimage_sink->display) { + g_object_unref (glimage_sink->display); + glimage_sink->display = NULL; +@@ -533,6 +552,14 @@ gst_glimage_sink_set_caps (GstBaseSink * bsink, GstCaps * caps) + if (!ok) + return FALSE; + ++#ifdef GPU_VIVANTE ++ /* special case for format that vivante can't handle */ ++ if (format == GST_VIDEO_FORMAT_NV12 && ++ !gst_gl_vivante_check_format (glimage_sink->display->gpu_priv, format, ++ width, height)) ++ return FALSE; ++#endif ++ + /* init colorspace conversion if needed */ + ok = gst_gl_display_init_upload (glimage_sink->display, format, + width, height, width, height); +@@ -609,6 +636,11 @@ gst_glimage_sink_set_caps (GstBaseSink * bsink, GstCaps * caps) + if (!glimage_sink->window_id && !glimage_sink->new_window_id) + gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (glimage_sink)); + ++#ifdef GPU_VIVANTE ++ if (glimage_sink->display->gpu_priv) ++ gst_gl_vivante_set_caps (glimage_sink->display->gpu_priv, caps); ++#endif ++ + return TRUE; + } + +@@ -617,11 +649,18 @@ gst_glimage_sink_render (GstBaseSink * bsink, GstBuffer * buf) + { + GstGLImageSink *glimage_sink = NULL; + GstGLBuffer *gl_buffer = NULL; ++ gint index; ++ GstFlowReturn res; + + glimage_sink = GST_GLIMAGE_SINK (bsink); + + GST_INFO ("buffer size: %d", GST_BUFFER_SIZE (buf)); + ++ if (buf == glimage_sink->stored_input_buffer) ++ return GST_FLOW_OK; ++ ++ glimage_sink->display->upload_buf_mapped = FALSE; ++ + //is gl + if (glimage_sink->is_gl) { + //increment gl buffer ref before storage +@@ -633,9 +672,16 @@ gst_glimage_sink_render (GstBaseSink * bsink, GstBuffer * buf) + gl_buffer = gst_gl_buffer_new (glimage_sink->display, + glimage_sink->width, glimage_sink->height); + +- //blocking call +- gst_gl_display_do_upload (glimage_sink->display, gl_buffer->texture, +- glimage_sink->width, glimage_sink->height, GST_BUFFER_DATA (buf)); ++ index = G_N_ELEMENTS (buf->_gst_reserved) - 1; ++ ++ if (index >= 0) ++ //blocking call ++ gst_gl_display_do_upload_with_meta (glimage_sink->display, ++ gl_buffer->texture, glimage_sink->width, glimage_sink->height, ++ GST_BUFFER_DATA (buf), buf->_gst_reserved[index]); ++ else ++ gst_gl_display_do_upload (glimage_sink->display, gl_buffer->texture, ++ glimage_sink->width, glimage_sink->height, GST_BUFFER_DATA (buf)); + + //gl_buffer is created in this block, so the gl buffer is already referenced + } +@@ -645,26 +691,36 @@ gst_glimage_sink_render (GstBaseSink * bsink, GstBuffer * buf) + gst_gl_display_set_window_id (glimage_sink->display, + glimage_sink->window_id); + } +- //the buffer is cleared when an other comes in +- if (glimage_sink->stored_buffer) { +- gst_buffer_unref (GST_BUFFER_CAST (glimage_sink->stored_buffer)); +- glimage_sink->stored_buffer = NULL; +- } +- //store current buffer +- glimage_sink->stored_buffer = gl_buffer; +- + //redisplay opengl scene + if (gl_buffer->texture && + gst_gl_display_redisplay (glimage_sink->display, + gl_buffer->texture, gl_buffer->width, gl_buffer->height, + glimage_sink->window_width, glimage_sink->window_height, + glimage_sink->keep_aspect_ratio)) +- return GST_FLOW_OK; ++ res = GST_FLOW_OK; + else { + GST_ELEMENT_ERROR (glimage_sink, RESOURCE, NOT_FOUND, + GST_GL_DISPLAY_ERR_MSG (glimage_sink->display), (NULL)); +- return GST_FLOW_ERROR; ++ res = GST_FLOW_ERROR; + } ++ ++ //the buffer is cleared when an other comes in ++ if (glimage_sink->stored_buffer) { ++ gst_buffer_unref (GST_BUFFER_CAST (glimage_sink->stored_buffer)); ++ glimage_sink->stored_buffer = NULL; ++ } ++ if (glimage_sink->stored_input_buffer) { ++ gst_buffer_unref (glimage_sink->stored_input_buffer); ++ glimage_sink->stored_input_buffer = NULL; ++ } ++ //store current buffer ++ glimage_sink->stored_buffer = gl_buffer; ++ if (glimage_sink->display->upload_buf_mapped) ++ glimage_sink->stored_input_buffer = gst_buffer_ref (buf); ++ ++ glimage_sink->rendered++; ++ ++ return res; + } + + +diff --git a/gst/gl/gstglimagesink.h b/gst/gl/gstglimagesink.h +index c61b5c5..bd40bc4 100644 +--- a/gst/gl/gstglimagesink.h ++++ b/gst/gl/gstglimagesink.h +@@ -51,6 +51,7 @@ struct _GstGLImageSink + + //properties + gchar *display_name; ++ gint rendered; + + gulong window_id; + gulong new_window_id; +@@ -67,6 +68,7 @@ struct _GstGLImageSink + + GstGLDisplay *display; + GstGLBuffer *stored_buffer; ++ GstBuffer *stored_input_buffer; + + CRCB clientReshapeCallback; + CDCB clientDrawCallback; +diff --git a/gst/gl/gstglupload.c b/gst/gl/gstglupload.c +index 09bc96d..8e12532 100644 +--- a/gst/gl/gstglupload.c ++++ b/gst/gl/gstglupload.c +@@ -70,6 +70,9 @@ + + #include "gstglupload.h" + ++#ifdef GPU_VIVANTE ++#include "gstglvivante.h" ++#endif + + #define GST_CAT_DEFAULT gst_gl_upload_debug + GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); +@@ -106,10 +109,13 @@ static GstStaticPadTemplate gst_gl_upload_sink_pad_template = + GST_PAD_SINK, + GST_PAD_ALWAYS, + GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB ";" +- GST_VIDEO_CAPS_RGBx ";" +- GST_VIDEO_CAPS_RGBA ";" +- GST_VIDEO_CAPS_YUV ("{ I420, YV12, YUY2, UYVY, AYUV }")) +- ); ++ GST_VIDEO_CAPS_RGBx ";" GST_VIDEO_CAPS_RGBA ";" ++#ifdef GPU_VIVANTE ++ GST_VIDEO_CAPS_YUV ("{ NV12, I420, YV12, YUY2, UYVY, AYUV }") ++#else ++ GST_VIDEO_CAPS_YUV ("{ I420, YV12, YUY2, UYVY, AYUV }") ++#endif ++ )); + #endif + + /* Properties */ +@@ -504,6 +510,14 @@ gst_gl_upload_set_caps (GstBaseTransform * bt, GstCaps * incaps, + GST_DEBUG ("caps connot be parsed"); + return FALSE; + } ++#ifdef GPU_VIVANTE ++ /* special case for format that vivante can't handle */ ++ if (upload->video_format == GST_VIDEO_FORMAT_NV12 && ++ !gst_gl_vivante_check_format (upload->display->gpu_priv, ++ upload->video_format, upload->video_width, upload->video_height)) ++ return FALSE; ++#endif ++ + //init colorspace conversion if needed + ret = gst_gl_display_init_upload (upload->display, upload->video_format, + upload->gl_width, upload->gl_height, +diff --git a/tests/examples/cocoa/videoxoverlay/Makefile.am b/tests/examples/cocoa/videoxoverlay/Makefile.am +index 5a85bb4..b4a4932 100755 +--- a/tests/examples/cocoa/videoxoverlay/Makefile.am ++++ b/tests/examples/cocoa/videoxoverlay/Makefile.am +@@ -4,7 +4,7 @@ noinst_PROGRAMS = videoxoverlay + + videoxoverlay_SOURCES = main.m + +-videoxoverlay_OBJCFLAGS=$(GST_PLUGINS_GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \ ++videoxoverlay_OBJCFLAGS=$(GST_PLUGINS_GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_OBJCFLAGS) \ + $(GL_CFLAGS) -I/usr/local/include/gstreamer-0.10 + videoxoverlay_LDADD=$(GST_PLUGINS_GL_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \ + $(GL_LIBS) -lgstinterfaces-$(GST_MAJORMINOR) +diff --git a/common/check.mak b/common/check.mak +index 30487f1..bc44620 100644 +--- a/common/check.mak ++++ b/common/check.mak +@@ -24,6 +24,12 @@ LOOPS = 10 + CK_DEFAULT_TIMEOUT=20 \ + $* + ++# just like 'check', but don't run it again if it fails (useful for debugging) ++%.check-norepeat: % ++ @$(TESTS_ENVIRONMENT) \ ++ CK_DEFAULT_TIMEOUT=20 \ ++ $* ++ + # run any given test in a loop + %.torture: % + @for i in `seq 1 $(LOOPS)`; do \ +@@ -152,7 +158,8 @@ help: + @echo + @echo "make check -- run all checks" + @echo "make torture -- run all checks $(LOOPS) times" +- @echo "make (dir)/(test).check -- run the given check once" ++ @echo "make (dir)/(test).check -- run the given check once, repeat with GST_DEBUG=*:2 if it fails" ++ @echo "make (dir)/(test).check-norepeat -- run the given check once, but don't run it again if it fails" + @echo "make (dir)/(test).forever -- run the given check forever" + @echo "make (dir)/(test).torture -- run the given check $(LOOPS) times" + @echo +diff --git a/common/gtk-doc-plugins.mak b/common/gtk-doc-plugins.mak +index 8cc42e7..084f9ae 100644 +--- a/common/gtk-doc-plugins.mak ++++ b/common/gtk-doc-plugins.mak +@@ -13,8 +13,7 @@ help: + @echo + + # update the stuff maintained by doc maintainers +-update: +- $(MAKE) scanobj-update ++update: scanobj-update + $(MAKE) check-outdated-docs + + # We set GPATH here; this gives us semantics for GNU make +@@ -130,7 +129,7 @@ scanobj-build.stamp: $(SCANOBJ_DEPS) $(basefiles) + --module=$(DOC_MODULE) --source=$(PACKAGE) --inspect-dir=$(INSPECT_DIR) && \ + echo " DOC Merging introspection data" && \ + $(PYTHON) \ +- $(top_srcdir)/common/scangobj-merge.py $(DOC_MODULE); \ ++ $(top_srcdir)/common/scangobj-merge.py $(DOC_MODULE) || exit 1; \ + if test x"$(srcdir)" != x. ; then \ + for f in $(SCANOBJ_FILES); \ + do \ +diff --git a/common/m4/Makefile.am b/common/m4/Makefile.am +index 2ddb8a7..856d6e3 100644 +--- a/common/m4/Makefile.am ++++ b/common/m4/Makefile.am +@@ -8,7 +8,6 @@ EXTRA_DIST = \ + as-gcc-inline-assembly.m4 \ + as-libtool.m4 \ + as-libtool-tags.m4 \ +- as-objc.m4 \ + as-python.m4 \ + as-scrub-include.m4 \ + as-version.m4 \ +diff --git a/common/m4/as-compiler-flag.m4 b/common/m4/as-compiler-flag.m4 +index 882a4c7..8bb853a 100644 +--- a/common/m4/as-compiler-flag.m4 ++++ b/common/m4/as-compiler-flag.m4 +@@ -62,3 +62,35 @@ AC_DEFUN([AS_CXX_COMPILER_FLAG], + AC_MSG_RESULT([$flag_ok]) + ]) + ++dnl AS_OBJC_COMPILER_FLAG(CPPFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED]) ++dnl Tries to compile with the given CPPFLAGS. ++dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags, ++dnl and ACTION-IF-NOT-ACCEPTED otherwise. ++ ++AC_DEFUN([AS_OBJC_COMPILER_FLAG], ++[ ++ AC_REQUIRE([AC_PROG_OBJC]) ++ ++ AC_MSG_CHECKING([to see if Objective C compiler understands $1]) ++ ++ save_CPPFLAGS="$CPPFLAGS" ++ CPPFLAGS="$CPPFLAGS $1" ++ ++ AC_LANG_PUSH([Objective C]) ++ ++ AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) ++ CPPFLAGS="$save_CPPFLAGS" ++ ++ if test "X$flag_ok" = Xyes ; then ++ $2 ++ true ++ else ++ $3 ++ true ++ fi ++ ++ AC_LANG_POP([Objective C]) ++ ++ AC_MSG_RESULT([$flag_ok]) ++]) ++ +diff --git a/common/m4/as-objc.m4 b/common/m4/as-objc.m4 +deleted file mode 100644 +index 1e7066a..0000000 +--- a/common/m4/as-objc.m4 ++++ /dev/null +@@ -1,56 +0,0 @@ +- +- +-# AC_PROG_OBJC([LIST-OF-COMPILERS]) +-# +-AC_DEFUN([AS_PROG_OBJC], +-[ +-AC_CHECK_TOOLS(OBJC, +- [m4_default([$1], [objcc objc gcc cc CC])], +- none) +-AC_SUBST(OBJC) +-OBJC_LDFLAGS="-lobjc" +-AC_SUBST(OBJC_LDFLAGS) +-if test "x$OBJC" != xnone ; then +- _AM_DEPENDENCIES(OBJC) +- AC_MSG_CHECKING([if Objective C compiler works]) +- cat >>conftest.m < +-@interface Moo:Object +-{ +-} +-- moo; +-int main(); +-@end +- +-@implementation Moo +-- moo +-{ +- exit(0); +-} +- +-int main() +-{ +- id moo; +- moo = [[Moo new]]; +- [[moo moo]]; +- return 1; +-} +-@end +-EOF +- ${OBJC} conftest.m ${OBJC_LDFLAGS} >&5 2>&5 +- if test -f a.out -o -f a.exe ; then +- result=yes +- else +- result=no +- echo failed program is: >&5 +- cat conftest.m >&5 +- fi +- rm -f conftest.m a.out a.exe +- AC_MSG_RESULT([$result]) +-else +- _AM_DEPENDENCIES(OBJC) +-fi +- +-]) +- +- +diff --git a/common/m4/gst-arch.m4 b/common/m4/gst-arch.m4 +index 2e935d2..077a20b 100644 +--- a/common/m4/gst-arch.m4 ++++ b/common/m4/gst-arch.m4 +@@ -5,32 +5,30 @@ dnl defines HOST_CPU + + AC_DEFUN([AG_GST_ARCH], + [ +- AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables +- + dnl Determine CPU +- case "x${host_cpu}" in ++ case "x${target_cpu}" in + xi?86 | xk? | xi?86_64) +- case $host_os in ++ case $target_os in + solaris*) + AC_CHECK_DECL([__i386], [I386_ABI="yes"], [I386_ABI="no"]) + AC_CHECK_DECL([__amd64], [AMD64_ABI="yes"], [AMD64_ABI="no"]) + + if test "x$I386_ABI" = "xyes" ; then + HAVE_CPU_I386=yes +- AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86]) ++ AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86]) + fi + if test "x$AMD64_ABI" = "xyes" ; then + HAVE_CPU_X86_64=yes +- AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64]) ++ AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the target CPU is a x86_64]) + fi + ;; + *) + HAVE_CPU_I386=yes +- AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86]) ++ AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86]) + + dnl FIXME could use some better detection + dnl (ie CPUID) +- case "x${host_cpu}" in ++ case "x${target_cpu}" in + xi386 | xi486) ;; + *) + AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;; +@@ -40,43 +38,43 @@ AC_DEFUN([AG_GST_ARCH], + ;; + xpowerpc) + HAVE_CPU_PPC=yes +- AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the host CPU is a PowerPC]) ;; ++ AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PowerPC]) ;; + xpowerpc64) + HAVE_CPU_PPC64=yes +- AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the host CPU is a 64 bit PowerPC]) ;; ++ AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the target CPU is a 64 bit PowerPC]) ;; + xalpha*) + HAVE_CPU_ALPHA=yes +- AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the host CPU is an Alpha]) ;; ++ AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;; + xarm*) + HAVE_CPU_ARM=yes +- AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the host CPU is an ARM]) ;; ++ AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;; + xsparc*) + HAVE_CPU_SPARC=yes +- AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the host CPU is a SPARC]) ;; ++ AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a SPARC]) ;; + xmips*) + HAVE_CPU_MIPS=yes +- AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the host CPU is a MIPS]) ;; ++ AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;; + xhppa*) + HAVE_CPU_HPPA=yes +- AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the host CPU is a HPPA]) ;; ++ AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;; + xs390*) + HAVE_CPU_S390=yes +- AC_DEFINE(HAVE_CPU_S390, 1, [Define if the host CPU is a S390]) ;; ++ AC_DEFINE(HAVE_CPU_S390, 1, [Define if the target CPU is a S390]) ;; + xia64*) + HAVE_CPU_IA64=yes +- AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the host CPU is a IA64]) ;; ++ AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the target CPU is a IA64]) ;; + xm68k*) + HAVE_CPU_M68K=yes +- AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the host CPU is a M68K]) ;; ++ AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the target CPU is a M68K]) ;; + xx86_64) + HAVE_CPU_X86_64=yes +- AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64]) ;; ++ AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the target CPU is a x86_64]) ;; + xcris) + HAVE_CPU_CRIS=yes +- AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the host CPU is a CRIS]) ;; ++ AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the target CPU is a CRIS]) ;; + xcrisv32) + HAVE_CPU_CRISV32=yes +- AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the host CPU is a CRISv32]) ;; ++ AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the target CPU is a CRISv32]) ;; + esac + + dnl Determine endianness +@@ -98,6 +96,7 @@ AC_DEFUN([AG_GST_ARCH], + AM_CONDITIONAL(HAVE_CPU_CRISV32, test "x$HAVE_CPU_CRISV32" = "xyes") + + AC_DEFINE_UNQUOTED(HOST_CPU, "$host_cpu", [the host CPU]) ++ AC_DEFINE_UNQUOTED(TARGET_CPU, "$target_cpu", [the target CPU]) + ]) + + dnl check if unaligned memory access works correctly +diff --git a/common/m4/gst-args.m4 b/common/m4/gst-args.m4 +index 030e7ac..e011ed4 100644 +--- a/common/m4/gst-args.m4 ++++ b/common/m4/gst-args.m4 +@@ -19,6 +19,7 @@ dnl AG_GST_ARG_ENABLE_EXTERNAL + dnl AG_GST_ARG_ENABLE_EXPERIMENTAL + dnl AG_GST_ARG_ENABLE_BROKEN + ++dnl AG_GST_ARG_DISABLE_FATAL_WARNINGS + AC_DEFUN([AG_GST_ARG_DEBUG], + [ + dnl debugging stuff +@@ -110,13 +111,13 @@ AC_DEFUN([AG_GST_ARG_GCOV], + dnl if gcov is used, we do not want default -O2 CFLAGS + if test "x$GST_GCOV_ENABLED" = "xyes" + then +- CFLAGS="-O0" ++ CFLAGS="$CFLAGS -O0" + AC_SUBST(CFLAGS) +- CXXFLAGS="-O0" ++ CXXFLAGS="$CXXFLAGS -O0" + AC_SUBST(CXXFLAGS) +- FFLAGS="-O0" ++ FFLAGS="$FFLAGS -O0" + AC_SUBST(FFLAGS) +- CCASFLAGS="-O0" ++ CCASFLAGS="$CCASFLAGS -O0" + AC_SUBST(CCASFLAGS) + AC_MSG_NOTICE([gcov enabled, setting CFLAGS and friends to $CFLAGS]) + fi +@@ -325,3 +326,20 @@ AC_DEFUN([AG_GST_ARG_ENABLE_BROKEN], + AC_MSG_NOTICE([not building broken plug-ins]) + ]) + ]) ++ ++dnl allow people (or build tools) to override default behaviour ++dnl for fatal compiler warnings ++AC_DEFUN([AG_GST_ARG_DISABLE_FATAL_WARNINGS], ++[ ++ AC_ARG_ENABLE(fatal-warnings, ++ AC_HELP_STRING([--disable-fatal-warnings], ++ [Don't turn compiler warnings into fatal errors]), ++ [ ++ case "${enableval}" in ++ yes) FATAL_WARNINGS=yes ;; ++ no) FATAL_WARNINGS=no ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --disable-fatal-warnings) ;; ++ esac ++ ], ++ [FATAL_WARNINGS=$GST_GIT]) dnl Default value ++]) +diff --git a/common/m4/gst-check.m4 b/common/m4/gst-check.m4 +index 3fd3acf..f3f39b4 100644 +--- a/common/m4/gst-check.m4 ++++ b/common/m4/gst-check.m4 +@@ -117,6 +117,38 @@ AC_DEFUN([AG_GST_CHECK_GST_CHECK], + ]) + + dnl =========================================================================== ++dnl AG_GST_CHECK_UNINSTALLED_SETUP([ACTION-IF-UNINSTALLED], [ACTION-IF-NOT]) ++dnl ++dnl ACTION-IF-UNINSTALLED (optional) extra actions to perform if the setup ++dnl is an uninstalled setup ++dnl ACTION-IF-NOT (optional) extra actions to perform if the setup ++dnl is not an uninstalled setup ++dnl =========================================================================== ++AC_DEFUN([AG_GST_CHECK_UNINSTALLED_SETUP], ++[ ++ AC_MSG_CHECKING([whether this is an uninstalled GStreamer setup]) ++ AC_CACHE_VAL(gst_cv_is_uninstalled_setup,[ ++ gst_cv_is_uninstalled_setup=no ++ if (set -u; : $GST_PLUGIN_SYSTEM_PATH) 2>/dev/null ; then ++ if test -z "$GST_PLUGIN_SYSTEM_PATH" \ ++ -a -n "$GST_PLUGIN_SCANNER" \ ++ -a -n "$GST_PLUGIN_PATH" \ ++ -a -n "$GST_REGISTRY" \ ++ -a -n "$DYLD_LIBRARY_PATH" \ ++ -a -n "$LD_LIBRARY_PATH"; then ++ gst_cv_is_uninstalled_setup=yes; ++ fi ++ fi ++ ]) ++ AC_MSG_RESULT($gst_cv_is_uninstalled_setup) ++ if test "x$gst_cv_is_uninstalled_setup" = "xyes"; then ++ ifelse([$1], , :, [$1]) ++ else ++ ifelse([$2], , :, [$2]) ++ fi ++]) ++ ++dnl =========================================================================== + dnl AG_GST_CHECK_GST_PLUGINS_BASE([GST-MAJORMINOR], [MIN-VERSION], [REQUIRED]) + dnl + dnl Sets GST_PLUGINS_BASE_CFLAGS and GST_PLUGINS_BASE_LIBS. +diff --git a/common/m4/gst-error.m4 b/common/m4/gst-error.m4 +index f8f2364..e12a04c 100644 +--- a/common/m4/gst-error.m4 ++++ b/common/m4/gst-error.m4 +@@ -196,6 +196,91 @@ AC_DEFUN([AG_GST_SET_ERROR_CXXFLAGS], + AC_MSG_NOTICE([set ERROR_CXXFLAGS to $ERROR_CXXFLAGS]) + ]) + ++dnl Sets WARNING_OBJCFLAGS and ERROR_OBJCFLAGS to something the compiler ++dnl will accept and AC_SUBST them so they are available in Makefile ++dnl ++dnl WARNING_OBJCFLAGS will contain flags to make the compiler emit more ++dnl warnings. ++dnl ERROR_OBJCFLAGS will contain flags to make those warnings fatal, ++dnl unless ADD-WERROR is set to "no" ++dnl ++dnl If MORE_FLAGS is set, tries to add each of the given flags ++dnl to WARNING_CFLAGS if the compiler supports them. Each flag is ++dnl tested separately. ++dnl ++dnl These flags can be overridden at make time: ++dnl make ERROR_OBJCFLAGS= ++AC_DEFUN([AG_GST_SET_ERROR_OBJCFLAGS], ++[ ++ AC_REQUIRE([AC_PROG_OBJC]) ++ AC_REQUIRE([AS_OBJC_COMPILER_FLAG]) ++ ++ ERROR_OBJCFLAGS="" ++ WARNING_OBJCFLAGS="" ++ ++ dnl if we support -Wall, set it unconditionally ++ AS_OBJC_COMPILER_FLAG(-Wall, WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS -Wall") ++ ++ dnl if asked for, add -Werror if supported ++ if test "x$1" != "xno" ++ then ++ AS_OBJC_COMPILER_FLAG(-Werror, ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -Werror") ++ ++ if test "x$ERROR_OBJCFLAGS" != "x" ++ then ++ dnl Add -fno-strict-aliasing for GLib versions before 2.19.8 ++ dnl as before G_LOCK and friends caused strict aliasing compiler ++ dnl warnings. ++ PKG_CHECK_EXISTS([glib-2.0 < 2.19.8], [ ++ AS_OBJC_COMPILER_FLAG([-fno-strict-aliasing], ++ ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -fno-strict-aliasing") ++ ]) ++ else ++ dnl if -Werror isn't suported, try -errwarn=%all ++ AS_OBJC_COMPILER_FLAG([-errwarn=%all], ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -errwarn=%all") ++ if test "x$ERROR_OBJCFLAGS" != "x"; then ++ dnl try -errwarn=%all,no%E_EMPTY_DECLARATION, ++ dnl no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH, ++ dnl no%E_MACRO_REDEFINED (Sun Forte case) ++ dnl For Forte we need disable "empty declaration" warning produced by un-needed semicolon ++ dnl "statement not reached" disabled because there is g_assert_not_reached () in some places ++ dnl "macro redefined" because of gst/gettext.h ++ dnl FIXME: is it really supposed to be 'ARGUEMENT' and not 'ARGUMENT'? ++ dnl FIXME: do any of these work with the c++ compiler? if not, why ++ dnl do we check at all? ++ for f in 'no%E_EMPTY_DECLARATION' \ ++ 'no%E_STATEMENT_NOT_REACHED' \ ++ 'no%E_ARGUEMENT_MISMATCH' \ ++ 'no%E_MACRO_REDEFINED' \ ++ 'no%E_LOOP_NOT_ENTERED_AT_TOP' ++ do ++ AS_OBJC_COMPILER_FLAG([-errwarn=%all,$f], ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS,$f") ++ done ++ fi ++ fi ++ fi ++ ++ if test "x$2" != "x" ++ then ++ UNSUPPORTED="" ++ list="$2" ++ for each in $list ++ do ++ AS_OBJC_COMPILER_FLAG($each, ++ WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS $each", ++ UNSUPPORTED="$UNSUPPORTED $each") ++ done ++ if test "X$UNSUPPORTED" != X ; then ++ AC_MSG_NOTICE([unsupported compiler flags: $UNSUPPORTED]) ++ fi ++ fi ++ ++ AC_SUBST(WARNING_OBJCFLAGS) ++ AC_SUBST(ERROR_OBJCFLAGS) ++ AC_MSG_NOTICE([set WARNING_OBJCFLAGS to $WARNING_OBJCFLAGS]) ++ AC_MSG_NOTICE([set ERROR_OBJCFLAGS to $ERROR_OBJCFLAGS]) ++]) ++ + dnl Sets the default error level for debugging messages + AC_DEFUN([AG_GST_SET_LEVEL_DEFAULT], + [ +diff --git a/common/m4/gst-feature.m4 b/common/m4/gst-feature.m4 +index c072c79..cff7f30 100644 +--- a/common/m4/gst-feature.m4 ++++ b/common/m4/gst-feature.m4 +@@ -232,10 +232,11 @@ AC_DEFUN([AG_GST_CHECK_GST_DEBUG_DISABLED], + save_CFLAGS="$CFLAGS" + CFLAGS="$GST_CFLAGS $CFLAGS" + AC_COMPILE_IFELSE([ ++ AC_LANG_SOURCE([[ + #include + #ifdef GST_DISABLE_GST_DEBUG + #error "debugging disabled, make compiler fail" +- #endif], [ debug_system_enabled=yes], [debug_system_enabled=no]) ++ #endif]])], [ debug_system_enabled=yes], [debug_system_enabled=no]) + CFLAGS="$save_CFLAGS" + AC_LANG_POP([C]) + +diff --git a/common/m4/gst.m4 b/common/m4/gst.m4 +index ddfde51..d4c53cb 100644 +--- a/common/m4/gst.m4 ++++ b/common/m4/gst.m4 +@@ -3,10 +3,15 @@ dnl sets up use of GStreamer configure.ac macros + dnl all GStreamer autoconf macros are prefixed + dnl with AG_GST_ for public macros + dnl with _AG_GST_ for private macros ++dnl ++dnl We call AC_CANONICAL_TARGET and AC_CANONICAL_HOST so that ++dnl it is valid before AC_ARG_PROGRAM is called + + AC_DEFUN([AG_GST_INIT], + [ + m4_pattern_forbid(^_?AG_GST_) ++ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables ++ AC_REQUIRE([AC_CANONICAL_TARGET]) dnl we use target_ variables + ]) + + dnl AG_GST_PKG_CONFIG_PATH diff --git a/recipes-multimedia/gstreamer/gst-plugins-gl_%.bbappend b/recipes-multimedia/gstreamer/gst-plugins-gl_%.bbappend new file mode 100644 index 0000000..44a4b92 --- /dev/null +++ b/recipes-multimedia/gstreamer/gst-plugins-gl_%.bbappend @@ -0,0 +1,11 @@ +# gst-plugins-gl for imx6 Vivante + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +DEPENDS_append_mx6 = " gst-fsl-plugin gpu-viv-bin-mx6q" + +SRC_URI_append_mx6 = " file://IMX_MMCODEC_3.0.35_4.0.0.patch" + +CFLAGS_append_mx6 = " -DGLIB_DISABLE_DEPRECATION_WARNINGS -UG_DISABLE_DEPRECATED" + +PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend new file mode 100644 index 0000000..8be11a2 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend @@ -0,0 +1,7 @@ +# 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 -DEGL_API_WL', \ + base_contains('DISTRO_FEATURES', 'directfb', '-DEGL_API_DFB', \ + '-DEGL_API_FB', d),d),d)}" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.9.6.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.9.6.bb new file mode 100644 index 0000000..71d95f1 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.9.6.bb @@ -0,0 +1,33 @@ +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 libfslvpuwrap virtual/kernel virtual/egl \ + virtual/libgles2 ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" + +SRCBRANCH ?= "master" +SRCREV = "67ea62069fca79d65bf244e98ff568d39399fdaf" +SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}" + +S = "${WORKDIR}/git" + +inherit waf + +# configure the eglvivsink element to use the appropiate 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)" diff --git a/recipes-multimedia/libfslcodec/libfslcodec.inc b/recipes-multimedia/libfslcodec/libfslcodec.inc new file mode 100644 index 0000000..8ce80bc --- /dev/null +++ b/recipes-multimedia/libfslcodec/libfslcodec.inc @@ -0,0 +1,84 @@ +# 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://EULA.txt;md5=93b784b1c11b3fffb1638498a8dde3f6" + +inherit fsl-eula-unpack autotools pkgconfig + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" + +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" + +# Choose between Soft Float-Point and Hard Float-Point +EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d)}" + +# VPU Hardware acceleration +VPU_SUPPORT = "--disable-vpu" +VPU_SUPPORT_mx6 = "--enable-vpu" +VPU_SUPPORT_mx6sl = "--disable-vpu" +VPU_SUPPORT_mx5 = "--enable-vpu" +EXTRA_OECONF += "${VPU_SUPPORT}" + +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 + +} + +python populate_packages_prepend() { + 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='') + + # 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. + for p in d.getVar('PACKAGES', True).split(): + d.setVar("DEBIAN_NOAUTONAME_%s" % p, "1") + + 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") + + # 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)) +} + +# 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.*" + +PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/recipes-multimedia/libfslcodec/libfslcodec_3.0.11.bb b/recipes-multimedia/libfslcodec/libfslcodec_3.0.11.bb new file mode 100644 index 0000000..3c408f9 --- /dev/null +++ b/recipes-multimedia/libfslcodec/libfslcodec_3.0.11.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2013, 2014 Freescale Semiconductor +# Released under the MIT license (see COPYING.MIT for the terms) + +require libfslcodec.inc + +SRC_URI[md5sum] = "dd44ca15b88b79f8f958380bdf94a753" +SRC_URI[sha256sum] = "510b5362f7e357f05d4c9c059c2688733aa5df617d357c7c55e2ca3fa4be8654" + +COMPATIBLE_MACHINE = "(mxs|mx5|mx6)" diff --git a/recipes-multimedia/libfslparser/libfslparser.inc b/recipes-multimedia/libfslparser/libfslparser.inc new file mode 100644 index 0000000..3e2a004 --- /dev/null +++ b/recipes-multimedia/libfslparser/libfslparser.inc @@ -0,0 +1,30 @@ +# 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=93b784b1c11b3fffb1638498a8dde3f6" + +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 populate_packages_prepend() { + # 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") +} + +# 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/recipes-multimedia/libfslparser/libfslparser_3.0.11.bb b/recipes-multimedia/libfslparser/libfslparser_3.0.11.bb new file mode 100644 index 0000000..cd4fe4a --- /dev/null +++ b/recipes-multimedia/libfslparser/libfslparser_3.0.11.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2013, 2014 Freescale Semiconductor +# Released under the MIT license (see COPYING.MIT for the terms) + +require libfslparser.inc + +SRC_URI[md5sum] = "d141c9e0b8221a306db4b1e161fd8e04" +SRC_URI[sha256sum] = "921a5f6dab239eadd08dc7ac1f36d666cf76cf61c6cd32ab9d68069986ea7c96" + +COMPATIBLE_MACHINE = "(mxs|mx5|mx6)" diff --git a/recipes-multimedia/libfslvpuwrap/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch b/recipes-multimedia/libfslvpuwrap/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch new file mode 100644 index 0000000..ccd2d9e --- /dev/null +++ b/recipes-multimedia/libfslvpuwrap/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch @@ -0,0 +1,41 @@ +From 7ca66c10c05168c7d342df7c7a70d4a1ae0629f7 Mon Sep 17 00:00:00 2001 +From: Eric Nelson +Date: Sat, 28 Jun 2014 09:45:09 -0700 +Subject: [PATCH] vpu_wrapper: fix tests of return value from IOGetVirtMem + +IOGetVirtMem() returns a pointer or specifically -1 (MAP_FAILED) +in the case of failure. + +Upstream-Status: Pending + +Signed-off-by: Laci Tele +Signed-off-by: Eric Nelson +--- + vpu_wrapper.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/vpu_wrapper.c b/vpu_wrapper.c +index 9249174..148c5df 100755 +--- a/vpu_wrapper.c ++++ b/vpu_wrapper.c +@@ -6653,7 +6653,7 @@ VpuDecRetCode VPU_DecGetMem(VpuMemDesc* pInOutMem) + return VPU_DEC_RET_FAILURE; + } + ret=IOGetVirtMem(&buff); +- if(ret==0) //if(ret!=RETCODE_SUCCESS) ++ if(ret == -1) //if(ret==MAP_FAILED) + { + VPU_ERROR("%s: get virtual memory failure: size=%d, ret=%d \r\n",__FUNCTION__,buff.size,ret); + return VPU_DEC_RET_FAILURE; +@@ -8277,7 +8277,7 @@ VpuEncRetCode VPU_EncGetMem(VpuMemDesc* pInOutMem) + return VPU_ENC_RET_FAILURE; + } + ret=IOGetVirtMem(&buff); +- if(ret==0) //if(ret!=RETCODE_SUCCESS) ++ if(ret == -1) //if(ret==MAP_FAILED) + { + VPU_ENC_ERROR("%s: get virtual memory failure: size=%d, ret=%d \r\n",__FUNCTION__,buff.size,(UINT32)ret); + return VPU_ENC_RET_FAILURE; +-- +1.9.1 + diff --git a/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.46.bb b/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.46.bb new file mode 100644 index 0000000..8cc1523 --- /dev/null +++ b/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.46.bb @@ -0,0 +1,23 @@ +# Copyright (C) 2013, 2014 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://EULA.txt;md5=93b784b1c11b3fffb1638498a8dde3f6" + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" +SRC_URI[md5sum] = "1f50110cb6de8ebf767fb9c5f8baf20d" +SRC_URI[sha256sum] = "7fc1258de338339d19a1a35167393fdc4d773682dfd9b951b197403a075f85fd" + +SRC_URI_append = " file://0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch" + +inherit fsl-eula-unpack autotools pkgconfig + +do_install_append() { + # FIXME: Drop examples for now + rm -r ${D}${datadir}/imx-mm +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(mx6q|mx6dl)" diff --git a/recipes-qt/qt4/qt4-embedded_%.bbappend b/recipes-qt/qt4/qt4-embedded_%.bbappend new file mode 100644 index 0000000..05cc2e6 --- /dev/null +++ b/recipes-qt/qt4/qt4-embedded_%.bbappend @@ -0,0 +1,12 @@ +#Freescale +include qt4-phonon-patches.inc + +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" diff --git a/recipes-qt/qt4/qt4-phonon-patches.inc b/recipes-qt/qt4/qt4-phonon-patches.inc new file mode 100644 index 0000000..60bdeea --- /dev/null +++ b/recipes-qt/qt4/qt4-phonon-patches.inc @@ -0,0 +1,8 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/qt4:" + +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 \ +" + diff --git a/recipes-qt/qt4/qt4-x11-free_%.bbappend b/recipes-qt/qt4/qt4-x11-free_%.bbappend new file mode 100644 index 0000000..cf763b6 --- /dev/null +++ b/recipes-qt/qt4/qt4-x11-free_%.bbappend @@ -0,0 +1,15 @@ +#Freescale +include qt4-phonon-patches.inc + +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" + +SRC_URI_append_mx6 = " file://0003-i.MX6-force-egl-visual-ID-33.patch" diff --git a/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch b/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch new file mode 100644 index 0000000..1213650 --- /dev/null +++ b/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 +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 +Signed-off-by: Rogerio Pimentel +--- + 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(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(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 . + */ + ++#include + #include ++#include + #include + #include "common.h" + #include "message.h" +@@ -24,6 +26,18 @@ + #include "widgetrenderer.h" + #include "qrgb.h" + ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#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(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 (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/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch b/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch new file mode 100644 index 0000000..0226db5 --- /dev/null +++ b/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 +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 +--- + 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/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch b/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch new file mode 100644 index 0000000..9aa158d --- /dev/null +++ b/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch @@ -0,0 +1,35 @@ +From: Javier Viguera +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 +--- + 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/recipes-qt/qt4/qt4/mx6/g++.conf b/recipes-qt/qt4/qt4/mx6/g++.conf new file mode 100644 index 0000000..4a4729e --- /dev/null +++ b/recipes-qt/qt4/qt4/mx6/g++.conf @@ -0,0 +1,56 @@ +# +# qmake configuration for common gcc +# + +QMAKE_CC = $(OE_QMAKE_CC) +QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS) -DLINUX=1 -DEGL_API_FB=1 +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS) +QMAKE_CFLAGS_DEPS += -M +QMAKE_CFLAGS_WARN_ON += -Wall -W +QMAKE_CFLAGS_WARN_OFF += -w +QMAKE_CFLAGS_RELEASE += +QMAKE_CFLAGS_DEBUG += -g +QMAKE_CFLAGS_SHLIB += -fPIC +QMAKE_CFLAGS_STATIC_LIB += -fPIC +QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses +QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden +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 += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) +QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS +QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF +QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE +QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO +QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG +QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB +QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB +QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC +QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden +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_RELEASE += +QMAKE_LFLAGS_DEBUG += +QMAKE_LFLAGS_APP += +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, + +# some linking helper... +CONFIG += rpath_libdirs + +# for the SDK +isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG) diff --git a/recipes-qt/qt4/qt4/mx6/linux.conf b/recipes-qt/qt4/qt4/mx6/linux.conf new file mode 100644 index 0000000..c644d8b --- /dev/null +++ b/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/scripts/get-maintainer b/scripts/get-maintainer new file mode 100755 index 0000000..071cdf6 --- /dev/null +++ b/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 +# +# 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< ] ... + + + Directory(ies) where to look for machine definition files. + + Options: + + --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 <