From d781ca1c5b9fdcfcf6b16493b933da8b049fe346 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Wed, 24 Jan 2018 16:22:48 +0200 Subject: Add support for iMX8 Provides support for Toradex Apalis iMX8 and NXP i.MX 8QMax LPDDR4 validation board. Use Beta2 release from meta-fsl-bsp-release Task-number: QTBUG-64714 Change-Id: I0d1edec66f7d64aaeda823c4d6bd675209ae787c Reviewed-by: Mikko Gronoff Reviewed-by: Timo Aarnipuro --- b2qt-init-build-env | 3 + .../conf/bblayers.conf.fsl-imx8.sample | 55 ++++++++++++++++++ .../conf/distro/include/apalis-imx8.conf | 62 ++++++++++++++++++++ .../conf/distro/include/imx8qmlpddr4arm2.conf | 67 ++++++++++++++++++++++ .../recipes-qt/qt5/qtbase/mx8/oe-device-extra.pri | 5 ++ scripts/manifest.xml | 10 +++- scripts/setup-environment.sh | 3 + 7 files changed, 203 insertions(+), 2 deletions(-) create mode 100644 meta-boot2qt-distro/conf/bblayers.conf.fsl-imx8.sample create mode 100644 meta-boot2qt-distro/conf/distro/include/apalis-imx8.conf create mode 100644 meta-boot2qt-distro/conf/distro/include/imx8qmlpddr4arm2.conf create mode 100644 meta-boot2qt-distro/recipes-qt/qt5/qtbase/mx8/oe-device-extra.pri diff --git a/b2qt-init-build-env b/b2qt-init-build-env index cb57b61..5b2d630 100755 --- a/b2qt-init-build-env +++ b/b2qt-init-build-env @@ -106,6 +106,9 @@ get_groups() { all) PROJECT_GROUPS="external" ;; + apalis-imx8|imx8qmlpddr4arm2) + PROJECT_GROUPS="fsl-imx8" + ;; apalis-imx6|colibri-imx6|colibri-vf|colibri-imx7) PROJECT_GROUPS="toradex" ;; diff --git a/meta-boot2qt-distro/conf/bblayers.conf.fsl-imx8.sample b/meta-boot2qt-distro/conf/bblayers.conf.fsl-imx8.sample new file mode 100644 index 0000000..504577d --- /dev/null +++ b/meta-boot2qt-distro/conf/bblayers.conf.fsl-imx8.sample @@ -0,0 +1,55 @@ +############################################################################ +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the Boot to Qt meta layer. +## +## $QT_BEGIN_LICENSE:GPL$ +## 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 The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 3 or (at your option) any later version +## approved by the KDE Free Qt Foundation. The licenses are as published by +## the Free Software Foundation and appearing in the file LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################ + +# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf +# changes incompatibly +POKY_BBLAYERS_CONF_VERSION = "2" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" +BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')}" + +BBLAYERS ?= " \ + ${BSPDIR}/sources/poky/meta \ + ${BSPDIR}/sources/poky/meta-poky \ + ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-bsp \ + ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-sdk \ + ${BSPDIR}/sources/meta-freescale \ + ${BSPDIR}/sources/meta-freescale-3rdparty \ + ${BSPDIR}/sources/meta-openembedded/meta-oe \ + ${BSPDIR}/sources/meta-openembedded/meta-python \ + ${BSPDIR}/sources/meta-openembedded/meta-networking \ + ${BSPDIR}/sources/meta-openembedded/meta-initramfs \ + ${BSPDIR}/sources/meta-openembedded/meta-multimedia \ + ${BSPDIR}/sources/meta-boot2qt/meta-boot2qt \ + ${BSPDIR}/sources/meta-boot2qt/meta-boot2qt-distro \ + ${BSPDIR}/sources/meta-boot2qt/meta-fsl-extras \ + ${BSPDIR}/sources/meta-mingw \ + ${BSPDIR}/sources/meta-qt5 \ + " diff --git a/meta-boot2qt-distro/conf/distro/include/apalis-imx8.conf b/meta-boot2qt-distro/conf/distro/include/apalis-imx8.conf new file mode 100644 index 0000000..d570e3a --- /dev/null +++ b/meta-boot2qt-distro/conf/distro/include/apalis-imx8.conf @@ -0,0 +1,62 @@ +############################################################################ +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the Boot to Qt meta layer. +## +## $QT_BEGIN_LICENSE:GPL$ +## 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 The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 3 or (at your option) any later version +## approved by the KDE Free Qt Foundation. The licenses are as published by +## the Free Software Foundation and appearing in the file LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################ + +include conf/distro/include/fsl.inc + +DEPLOY_CONF_NAME = "Toradex Apalis iMX8" + +SERIAL_CONSOLE = "115200 ttyLP1" + +FSL_EULA_FILE := "${COREBASE}/../meta-fsl-bsp-release/imx/EULA.txt" + +RDEPENDS_gstreamer1.0-meta-base_remove_pn-gstreamer1.0-meta-base = " gstreamer1.0-plugins-good-souphttpsrc" +RDEPENDS_gstreamer1.0-meta-base_append_pn-gstreamer1.0-meta-base = " gstreamer1.0-plugins-good-soup" + +BBMASK += "\ + meta-fsl-bsp-release/imx/meta-bsp/recipes-browser \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-connectivity/bluez5 \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-connectivity/nfs-utils \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-connectivity/wpa-supplicant \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-core/systemd/systemd_%.bbappend \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-multimedia/alsa/alsa-lib_%.bbappend \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-multimedia/pulseaudio \ + meta-fsl-bsp-release/imx/meta-sdk/recipes-fsl/fsl-rc-local \ + meta-fsl-bsp-release/imx/meta-sdk/recipes-fsl/images \ + meta-fsl-bsp-release/imx/meta-sdk/recipes-fsl/packagegroup \ + meta-fsl-bsp-release/imx/meta-sdk/recipes-graphics/devil \ + meta-fsl-bsp-release/imx/meta-sdk/recipes-qt5/qt5 \ + meta-boot2qt/meta-fsl-extras/recipes/u-boot/u-boot-toradex_%.bbappend \ + meta-boot2qt-distro/recipes-connectivity/connman/connman_%.bbappend \ + meta-freescale/recipes-graphics/wayland/weston \ + " + +KERNEL_MODULE_PACKAGE_SUFFIX ?= "-${@d.getVar('KERNEL_VERSION', True).replace('_','-')}" +EXTRA_OECONF_append_pn-gstreamer1.0-plugins-base = " --disable-introspection" + +MACHINE_GSTREAMER_1_0_PLUGIN += "imx-gst1.0-plugin" diff --git a/meta-boot2qt-distro/conf/distro/include/imx8qmlpddr4arm2.conf b/meta-boot2qt-distro/conf/distro/include/imx8qmlpddr4arm2.conf new file mode 100644 index 0000000..9940d75 --- /dev/null +++ b/meta-boot2qt-distro/conf/distro/include/imx8qmlpddr4arm2.conf @@ -0,0 +1,67 @@ +############################################################################ +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the Boot to Qt meta layer. +## +## $QT_BEGIN_LICENSE:GPL$ +## 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 The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 3 or (at your option) any later version +## approved by the KDE Free Qt Foundation. The licenses are as published by +## the Free Software Foundation and appearing in the file LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################ + +include conf/distro/include/fsl.inc + +DEPLOY_CONF_NAME = "NXP iMX8QM" + +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx" + +FSL_EULA_FILE := "${COREBASE}/../meta-fsl-bsp-release/imx/EULA.txt" + +RDEPENDS_gstreamer1.0-meta-base_remove_pn-gstreamer1.0-meta-base = " gstreamer1.0-plugins-good-souphttpsrc" +RDEPENDS_gstreamer1.0-meta-base_append_pn-gstreamer1.0-meta-base = " gstreamer1.0-plugins-good-soup" + +BBMASK += "\ + meta-fsl-bsp-release/imx/meta-bsp/recipes-browser \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-connectivity/bluez5 \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-connectivity/nfs-utils \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-connectivity/wpa-supplicant \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-core/systemd/systemd_%.bbappend \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-multimedia/alsa/alsa-lib_%.bbappend \ + meta-fsl-bsp-release/imx/meta-bsp/recipes-multimedia/pulseaudio \ + meta-fsl-bsp-release/imx/meta-sdk/recipes-fsl/fsl-rc-local \ + meta-fsl-bsp-release/imx/meta-sdk/recipes-fsl/images \ + meta-fsl-bsp-release/imx/meta-sdk/recipes-fsl/packagegroup \ + meta-fsl-bsp-release/imx/meta-sdk/recipes-graphics/devil \ + meta-fsl-bsp-release/imx/meta-sdk/recipes-qt5/qt5 \ + meta-boot2qt/meta-fsl-extras/recipes/u-boot/u-boot-toradex_%.bbappend \ + meta-boot2qt-distro/recipes-connectivity/connman/connman_%.bbappend \ + meta-freescale/recipes-graphics/wayland/weston \ + " + +SRC_URI_remove_pn-imx-boot = "\ + file://0001-add-board-support-for-DCD-memory-timings.patch \ + file://0002-add-memory-timings-for-Apalis-iMX8.patch \ + " + +KERNEL_MODULE_PACKAGE_SUFFIX ?= "-${@d.getVar('KERNEL_VERSION', True).replace('_','-')}" +EXTRA_OECONF_append_pn-gstreamer1.0-plugins-base = " --disable-introspection" + +MACHINE_GSTREAMER_1_0_PLUGIN += "imx-gst1.0-plugin" diff --git a/meta-boot2qt-distro/recipes-qt/qt5/qtbase/mx8/oe-device-extra.pri b/meta-boot2qt-distro/recipes-qt/qt5/qtbase/mx8/oe-device-extra.pri new file mode 100644 index 0000000..7e7cae3 --- /dev/null +++ b/meta-boot2qt-distro/recipes-qt/qt5/qtbase/mx8/oe-device-extra.pri @@ -0,0 +1,5 @@ +QMAKE_CFLAGS_EGL += -DLINUX -DEGL_API_FB + +QMAKE_PLATFORM += boot2qt +QT_QPA_DEFAULT_PLATFORM = eglfs +EGLFS_DEVICE_INTEGRATION = eglfs_viv diff --git a/scripts/manifest.xml b/scripts/manifest.xml index 9756906..00c7b01 100644 --- a/scripts/manifest.xml +++ b/scripts/manifest.xml @@ -14,6 +14,7 @@ + + groups="notdefault,external,fsl,toradex,ti,smx6,renesas-gen3,boundary,fsl-imx8"/> + groups="notdefault,external,fsl,toradex,smx6,boundary,fsl-imx8"/> +