summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--EULA117
-rw-r--r--LICENSE22
-rw-r--r--classes/fsl-eula-unpack.bbclass8
-rw-r--r--conf/machine/imx95-19x19-verdin.conf15
-rw-r--r--conf/machine/include/imx-base.inc44
-rw-r--r--conf/machine/include/qoriq-base.inc4
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei.inc56
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb66
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc2
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb4
-rw-r--r--dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend2
-rw-r--r--dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend2
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend1
l---------recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp1
l---------recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp1
l---------recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp1
-rw-r--r--recipes-bsp/firmware-imx/firmware-ele-imx_2.0.2.1.bb (renamed from recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb)22
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8.26.1.inc (renamed from recipes-bsp/firmware-imx/firmware-imx-8.27.inc)6
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.26.1.bb (renamed from recipes-bsp/firmware-imx/firmware-imx_8.27.bb)0
-rw-r--r--recipes-bsp/firmware-imx/imx-boot-firmware-files_8.26.1.bb (renamed from recipes-bsp/firmware-imx/imx-boot-firmware-files_8.27.bb)0
-rw-r--r--recipes-bsp/imx-atf/imx-atf_2.10.bb4
-rw-r--r--recipes-bsp/imx-mkimage/imx-boot_1.0.bb8
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_git.inc4
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc4
-rw-r--r--recipes-core/udev/udev-rules-imx/10-imx.rules4
-rw-r--r--recipes-devtools/uuu/uuu-bin_1.5.233.bb (renamed from recipes-devtools/uuu/uuu-bin_1.5.165.bb)17
-rw-r--r--recipes-devtools/uuu/uuu_git.bb4
-rw-r--r--recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.12.bb (renamed from recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.10.bb)10
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc2
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch32.bb9
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch64.bb9
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.12-aarch32.bb9
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.12-aarch64.bb9
-rw-r--r--recipes-graphics/mali/mali-imx_r50.4.bb (renamed from recipes-graphics/mali/mali-imx_r50.2.bb)6
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.12.bb (renamed from recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb)6
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mxm_wifiex_fix_build_error_for_64-bit_division.patch105
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mxm_wifiex_fix_build_error_for_udelay.patch31
-rw-r--r--recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb2
-rw-r--r--recipes-kernel/linux/linux-fslc-imx_6.6.bb14
-rw-r--r--recipes-kernel/linux/linux-imx-headers_6.6.bb4
-rw-r--r--recipes-kernel/linux/linux-imx_6.6.bb4
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch33
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb)6
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb)6
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb)7
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb)13
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb10
-rw-r--r--recipes-security/optee-imx/optee-client-fslc-imx.inc35
-rw-r--r--recipes-security/optee-imx/optee-client-fslc.inc59
-rw-r--r--recipes-security/optee-imx/optee-client/tee-supplicant.service11
-rw-r--r--recipes-security/optee-imx/optee-client/tee-supplicant.sh46
-rw-r--r--recipes-security/optee-imx/optee-client/tee-supplicant@.service10
-rw-r--r--recipes-security/optee-imx/optee-client/tee-udev.rules7
-rw-r--r--recipes-security/optee-imx/optee-client_4.2.0.imx.bb7
-rw-r--r--recipes-security/optee-imx/optee-client_4.4.0.imx.bb4
-rw-r--r--recipes-security/optee-imx/optee-fslc.inc50
-rw-r--r--recipes-security/optee-imx/optee-os-common-fslc-imx.inc62
-rw-r--r--recipes-security/optee-imx/optee-os-fslc-imx.inc47
-rw-r--r--recipes-security/optee-imx/optee-os-fslc.inc110
-rw-r--r--recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc27
-rw-r--r--recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb4
-rw-r--r--recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch245
-rw-r--r--recipes-security/optee-imx/optee-os/0007-allow-setting-sysroot-for-clang.patch (renamed from recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch)14
-rw-r--r--recipes-security/optee-imx/optee-os_4.2.0.imx.bb10
-rw-r--r--recipes-security/optee-imx/optee-os_4.4.0.imx.bb6
-rw-r--r--recipes-security/optee-imx/optee-test-fslc-imx.inc18
-rw-r--r--recipes-security/optee-imx/optee-test-fslc.inc67
-rw-r--r--recipes-security/optee-imx/optee-test/run-ptest52
-rw-r--r--recipes-security/optee-imx/optee-test_4.2.0.imx.bb10
-rw-r--r--recipes-security/optee-imx/optee-test_4.4.0.imx.bb13
70 files changed, 968 insertions, 660 deletions
diff --git a/EULA b/EULA
index ac7337fa1..37ddcbd5e 100644
--- a/EULA
+++ b/EULA
@@ -1,4 +1,4 @@
1LA_OPT_NXP_Software_License v57 July 2024 1LA_OPT_NXP_Software_License v63 May 2025
2IMPORTANT. Read the following NXP Software License Agreement ("Agreement") 2IMPORTANT. Read the following NXP Software License Agreement ("Agreement")
3completely. By selecting the "I Accept" button at the end of this page, or by 3completely. By selecting the "I Accept" button at the end of this page, or by
4downloading, installing, or using the Licensed Software, you indicate that you 4downloading, installing, or using the Licensed Software, you indicate that you
@@ -15,9 +15,9 @@ supersede this Agreement.
15NXP SOFTWARE LICENSE AGREEMENT 15NXP SOFTWARE LICENSE AGREEMENT
16This is a legal agreement between your employer, of which you are an authorized 16This is a legal agreement between your employer, of which you are an authorized
17representative, or, if you have no employer, you as an individual ("you" or 17representative, or, if you have no employer, you as an individual ("you" or
18"Licensee"), and and NXP USA, Inc., if Licensee is located within the United 18"Licensee"), and NXP USA, Inc., if Licensee is located within the United States
19States or NXP Semiconductors Netherlands B.V., if Licensee if located outside 19or NXP Semiconductors Netherlands B.V., if Licensee if located outside of the
20of the United States (“NXP”). It concerns your rights to use the software 20United States (“NXP”). It concerns your rights to use the software
21provided to you in binary or source code form and any accompanying written 21provided to you in binary or source code form and any accompanying written
22materials (the "Licensed Software"). The Licensed Software may include any 22materials (the "Licensed Software"). The Licensed Software may include any
23updates or error corrections or documentation relating to the Licensed Software 23updates or error corrections or documentation relating to the Licensed Software
@@ -157,6 +157,8 @@ of the Licensed Software to anyone other than NXP. You may advise NXP of any
157results obtained from your use of the Licensed Software, including any problems 157results obtained from your use of the Licensed Software, including any problems
158or suggested improvements thereof, and NXP retains the right to use such 158or suggested improvements thereof, and NXP retains the right to use such
159results and related information in any manner it deems appropriate. 159results and related information in any manner it deems appropriate.
1603.9. Licensee may not use the Licensed Software as data or training
161input to any artificial intelligence models or machine learning algorithms.
1604. OPEN SOURCE. Open source software included in the Licensed 1624. OPEN SOURCE. Open source software included in the Licensed
161Software is not licensed under the terms of this Agreement but is instead 163Software is not licensed under the terms of this Agreement but is instead
162licensed under the terms of the applicable open source license(s), such as the 164licensed under the terms of the applicable open source license(s), such as the
@@ -222,9 +224,10 @@ to you.
222disclaims any warranty for the Licensed Software. The Licensed Software is 224disclaims any warranty for the Licensed Software. The Licensed Software is
223provided "AS IS", without warranty of any kind, either express or implied, 225provided "AS IS", without warranty of any kind, either express or implied,
224including without limitation the implied warranties of merchantability, fitness 226including without limitation the implied warranties of merchantability, fitness
225for a particular purpose, or non-infringement. You assume the entire risk 227for a particular purpose, non-infringement, or any warranty that the Licensed
226arising out of the use or performance of the licensed software, or any systems 228Software is free from vulnerabilities. You assume the entire risk arising out
227you design using the licensed software (if any). 229of the use or performance of the licensed software, or any systems you design
230using the licensed software (if any).
22810. INDEMNITY. You agree to fully defend and indemnify NXP from all 23110. INDEMNITY. You agree to fully defend and indemnify NXP from all
229claims, liabilities, and costs (including reasonable attorney’s fees) related 232claims, liabilities, and costs (including reasonable attorney’s fees) related
230to (1) your use (including your subcontractor’s or distributee’s use, if 233to (1) your use (including your subcontractor’s or distributee’s use, if
@@ -242,21 +245,52 @@ COSTS, DAMAGES, CLAIMS, OR LOSSES WHATSOEVER ARISING OUT OF OR IN CONNECTION
242WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO 245WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO
243THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION WITH THE LICENSED 246THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION WITH THE LICENSED
244SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED. 247SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED.
24512. EXPORT COMPLIANCE. Each party shall comply with all applicable 248
246export and import control laws and regulations including but not limited to the 24912. EXPORT COMPLIANCE.
247US Export Administration Regulation (including restrictions on certain military 25012.1 Each party shall comply with all applicable export and import control
248end uses and military end users as specified in Section 15 C.F.R. § 744.21 and 251laws and regulations including but not limited to the US Export Administration
249prohibited party lists issued by other federal governments), Catch-all 252Regulation (including restrictions on certain military end uses and military
250regulations and all national and international embargoes. Each party further 253end users as specified in Section 15 C.F.R. § 744.21 and prohibited party
251agrees that it will not knowingly transfer, divert, export or re-export, 254lists issued by other federal governments), Catch-all regulations and all
252directly or indirectly, any product, software, including software source code, 255national and international embargoes. Each party further agrees that it will
253or technology restricted by such regulations or by other applicable national 256not knowingly transfer, divert, export or re-export, directly or indirectly,
254regulations, received from the other party under this Agreement, or any direct 257any product, software, including software source code, or technology restricted
255product of such software or technical data to any person, firm, entity, country 258by such regulations or by other applicable national regulations, received from
256or destination to which such transfer, diversion, export or re-export is 259the other party under this Agreement, or any direct product of such software or
257restricted or prohibited, without obtaining prior written authorization from 260technical data to any person, firm, entity, country or destination to which
258the applicable competent government authorities to the extent required by those 261such transfer, diversion, export or re-export is restricted or prohibited,
259laws. 262without obtaining prior written authorization from the applicable competent
263government authorities to the extent required by those laws.
26412.2 Prohibition of Export to Russian Federation
265
266(a) With respect to activity that falls under the scope of Article 12g,
26712ga of Council Regulation (EU) No 833/2014, or Council Regulation (EU) No
268765/2006 (as the case requires), you (a) will not sell, export or re-export,
269directly or indirectly any item, and (b) will not sell, license or sublicense
270any intellectual property rights or trade secrets, to the Russian Federation or
271Belarus, or for use in the Russian Federation or Belarus.
272
273(b) You will ensure that the purpose of paragraph (a) above is not
274frustrated by any third parties further down the commercial chain, including by
275either resellers, sublicensees, or both.
276
277(c) You will set up and maintain an adequate monitoring mechanism to detect
278conduct by any third parties further down the commercial chain, including by
279either resellers, sublicensees, or both, that would frustrate the purpose of
280paragraph (a).
281
282(d) Any violation of paragraphs (a), (b) or (c) will constitute a material
283breach of this Agreement, and NXP will be entitled to seek appropriate
284remedies, including, but not limited to: (i) termination of these Terms; (ii)
285suspension of any of its business relationships with you, youraffiliates or
286both, until the breach of paragraph (a) above is remedied, and (iii) a plan to
287remedy the breach.
288
289(e) You will immediately inform NXP about any problems in applying
290paragraphs (a), (b) or (c), above, including any relevant activities by third
291parties that could frustrate the purpose of paragraph (a). You will make
292available to NXPinformation concerning compliance with the obligations under
293paragraphs (a), (b) and (c) within 2 weeks of the request for information.
26013. GOVERNMENT CONTRACT COMPLIANCE 29413. GOVERNMENT CONTRACT COMPLIANCE
26113.1. If you sell Authorized Systems directly to any government or public 29513.1. If you sell Authorized Systems directly to any government or public
262entity, including U.S., state, local, foreign or international governments or 296entity, including U.S., state, local, foreign or international governments or
@@ -403,7 +437,7 @@ directly from AGGIOS, Inc.
403 437
404Airbiquity Inc.: The Airbiquity software may only be used in object code and 438Airbiquity Inc.: The Airbiquity software may only be used in object code and
405Licensee may not sublicense the Airbiquity software to any third party. 439Licensee may not sublicense the Airbiquity software to any third party.
406Licensee’s license to use the Airbiquity software expires on June 30, 2024. 440Licensee’s license to use the Airbiquity software expires on June 30, 2026.
407 441
408Amazon: Use of the Amazon software constitutes your acceptance of the terms of 442Amazon: Use of the Amazon software constitutes your acceptance of the terms of
409the Amazon Program Materials License Agreement (including the AVS Component 443the Amazon Program Materials License Agreement (including the AVS Component
@@ -482,6 +516,13 @@ distribution of one copy embedded in a single NXP Product. Your use of Cadence
482NatureDSP Libraries whether in source code or in binary is restricted to NXP 516NatureDSP Libraries whether in source code or in binary is restricted to NXP
483SoC based systems or emulation enablement based on NXP SoC. 517SoC based systems or emulation enablement based on NXP SoC.
484 518
519Use of the XA NN library is limited to execution on Cadence processor cores and
520not permitted non-Cadence platforms. Redistribution is permitted only as part
521of an NXP SOC based product and must include all copyright and permission
522notices. The library is provided “as is” without warranties, and no rights
523are granted to any third-party technologies that may be required for use. Full
524license terms are available from Cadence Design Systems, Inc.
525
485CEVA D.S.P. Ltd. And CEVA Technologies Inc. ("CEVA"): The CEVA-SPF2 linear 526CEVA D.S.P. Ltd. And CEVA Technologies Inc. ("CEVA"): The CEVA-SPF2 linear
486algebra, CEVA-SPF2 Neural Network Libraries, CEVA-SPF2 Core Libraries, 527algebra, CEVA-SPF2 Neural Network Libraries, CEVA-SPF2 Core Libraries,
487CEVA-SPF2 OpenAMP and CEVA-SPF2 STL licensed modules are owned by CEVA and such 528CEVA-SPF2 OpenAMP and CEVA-SPF2 STL licensed modules are owned by CEVA and such
@@ -542,7 +583,7 @@ provide Fraunhofer your name and contact information.
542 583
543Future Technology Devices International Ltd.: Future Technology Devices 584Future Technology Devices International Ltd.: Future Technology Devices
544International software must be used consistent with the terms found here: 585International software must be used consistent with the terms found here:
545http://www.ftdichip.com/Drivers/FTDriverLicenceTerms.htm 586https://ftdichip.com/driver-licence-terms-details/
546 587
547Global Locate (Broadcom Corporation): Use of Global Locate, Inc. software is 588Global Locate (Broadcom Corporation): Use of Global Locate, Inc. software is
548limited to evaluation and demonstration only. Permitted distributions must be 589limited to evaluation and demonstration only. Permitted distributions must be
@@ -603,10 +644,17 @@ Licensed Software includes proprietary software of MindTree in source code
603format, Licensee may make modifications and create derivative works only to the 644format, Licensee may make modifications and create derivative works only to the
604extent necessary for debugging of the Licensed Software. 645extent necessary for debugging of the Licensed Software.
605 646
606MM SOLUTIONS AD: Use of MM SOLUTIONS AEC (Auto Exposure Control) and AWB (Auto 647MM SOLUTIONS EAD: Use of the following MM SOLUTIONS software is limited to use
607White Balance) software is limited to demonstration, testing, and evaluation 648in conjuncture with NXP Products that have the Imaging Subsystem Processor
608only. In no event may Licensee distribute or sublicense the MM SOLUTIONS 649(ISP) enabled (fusing configuration), as indicated in the applicable data
609software. Further rights must be obtained directly from MM SOLUTIONS. 650sheet: (i) MMS Tuning Tool; (ii) Camera Development Kit (uGuzzi); (iii) and
651additional Camera Software. For the purposes of this Agreement, “Camera
652Software” means: (a) AEC (Auto Exposure Control); (b) AWB (Auto White
653Balance), (c) Auto Focus; (d) Wide Dynamic Range; (e) LED Flicker Mitigation;
654and (f) Multi-Camera Harmonization. In no event may Licensee distribute or
655sublicense the MM SOLUTIONS software, unless otherwise licensed to do so by
656issuance of the distribution rights under Section 2.3 of the Agreement. Any
657further rights must be obtained directly from MM SOLUTIONS directly.
610 658
611MPEG LA: Use of MPEG LA audio or video codec technology is limited to 659MPEG LA: Use of MPEG LA audio or video codec technology is limited to
612evaluation and demonstration only. Permitted distributions must be similarly 660evaluation and demonstration only. Permitted distributions must be similarly
@@ -617,10 +665,19 @@ Licensee under any circumstance, even by a signed written amendment to this
617Agreement. 665Agreement.
618 666
619NXP Voice Software: VoiceSpot, VoiceSeeker (including AEC), VIT Speech to 667NXP Voice Software: VoiceSpot, VoiceSeeker (including AEC), VIT Speech to
620Intent, and Conversa may be used for evaluation or demonstration purposes only. 668Intent, and Conversa are subject to the terms of Section 2.2 only. Any
621Any commercial distribution rights are subject to a separate royalty agreement 669commercial distribution rights are subject to a separate royalty agreement
622obtained from NXP. 670obtained from NXP.
623 671
672Together with the voice communication algorithm Conversa Licensee may get a
673tuning tool from DevExpress and/or Lightning Chart in form of certain libraries
674noted as ([name].dll) (“Tool”). Conversa as well as the Tool may only be
675used by Licensee internally during testing, evaluation or product development
676solely for tuning purposes of Licensee’s products in connection with
677Conversa. Any use of Conversa or the Tool outside the scope of this license is
678strictly prohibited, distributing the Libraries in any form. Licensee may use
679Conversa in connection with its products only following the execution of a
680separate royalty agreement with NXP.
624NXP Wireless Charging Library: License to the Software is limited to use in 681NXP Wireless Charging Library: License to the Software is limited to use in
625inductive coupling or wireless charging applications 682inductive coupling or wireless charging applications
626 683
diff --git a/LICENSE b/LICENSE
index 19c89919d..e7ff4f717 100644
--- a/LICENSE
+++ b/LICENSE
@@ -2,7 +2,7 @@
2 2
3This file lists all licenses used by recipes in the meta-freescale layer. 3This file lists all licenses used by recipes in the meta-freescale layer.
4 4
5./dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb: LICENSE = "GPL-2.0-only" 5./dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb: LICENSE = "BSD-3-Clause"
6./dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb: LICENSE = "BSD-3-Clause" 6./dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb: LICENSE = "BSD-3-Clause"
7./dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.4.0.bb: LICENSE = "BSD-3-Clause & Apache-2.0" 7./dynamic-layers/openembedded-layer/recipes-devtools/cst/imx-cst_3.4.0.bb: LICENSE = "BSD-3-Clause & Apache-2.0"
8./dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb: LICENSE = "MIT" 8./dynamic-layers/openembedded-layer/recipes-dpaa/fmc/fmc_git.bb: LICENSE = "MIT"
@@ -10,8 +10,8 @@ This file lists all licenses used by recipes in the meta-freescale layer.
10./recipes-bsp/boot-format/boot-format_git.bb: LICENSE = "GPL-2.0-only" 10./recipes-bsp/boot-format/boot-format_git.bb: LICENSE = "GPL-2.0-only"
11./recipes-bsp/ddr-phy/ddr-phy_git.bb: LICENSE = "NXP-Binary-EULA" 11./recipes-bsp/ddr-phy/ddr-phy_git.bb: LICENSE = "NXP-Binary-EULA"
12./recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb: LICENSE = "Proprietary" 12./recipes-bsp/dp-firmware-cadence/dp-firmware-cadence_22.04.bb: LICENSE = "Proprietary"
13./recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb: LICENSE = "Proprietary" 13./recipes-bsp/firmware-imx/firmware-ele-imx_2.0.2.1.bb: LICENSE = "Proprietary"
14./recipes-bsp/firmware-imx/firmware-imx-8.27.inc: LICENSE = "Proprietary" 14./recipes-bsp/firmware-imx/firmware-imx-8.26.1.inc: LICENSE = "Proprietary"
15./recipes-bsp/firmware-imx/firmware-nxp-wifi_1.1.bb: LICENSE = "Proprietary" 15./recipes-bsp/firmware-imx/firmware-nxp-wifi_1.1.bb: LICENSE = "Proprietary"
16./recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb: LICENSE = "BSD-3-Clause" 16./recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb: LICENSE = "BSD-3-Clause"
17./recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb: LICENSE = "Proprietary" 17./recipes-bsp/firmware-upower/firmware-upower_1.3.1.bb: LICENSE = "Proprietary"
@@ -53,7 +53,7 @@ This file lists all licenses used by recipes in the meta-freescale layer.
53./recipes-devtools/qemu/qemu.inc: LICENSE = "GPL-2.0-only & LGPL-2.1-only" 53./recipes-devtools/qemu/qemu.inc: LICENSE = "GPL-2.0-only & LGPL-2.1-only"
54./recipes-devtools/qoriq-cst/qoriq-cst_git.bb: LICENSE = "BSD-3-Clause" 54./recipes-devtools/qoriq-cst/qoriq-cst_git.bb: LICENSE = "BSD-3-Clause"
55./recipes-devtools/utp-com/utp-com_git.bb: LICENSE = "GPL-2.0-only" 55./recipes-devtools/utp-com/utp-com_git.bb: LICENSE = "GPL-2.0-only"
56./recipes-devtools/uuu/uuu-bin_1.5.165.bb: LICENSE = "BSD-3-Clause & LGPL-2.1-or-later" 56./recipes-devtools/uuu/uuu-bin_1.5.233.bb: LICENSE = "BSD-3-Clause & LGPL-2.1-or-later"
57./recipes-devtools/uuu/uuu_git.bb: LICENSE = "BSD-3-Clause" 57./recipes-devtools/uuu/uuu_git.bb: LICENSE = "BSD-3-Clause"
58./recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb: LICENSE = "MIT" 58./recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb: LICENSE = "MIT"
59./recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb: LICENSE = "Apache-2.0" 59./recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb: LICENSE = "Apache-2.0"
@@ -91,11 +91,11 @@ This file lists all licenses used by recipes in the meta-freescale layer.
91./recipes-graphics/drm/libdrm_2.4.116.imx.bb: LICENSE = "MIT" 91./recipes-graphics/drm/libdrm_2.4.116.imx.bb: LICENSE = "MIT"
92./recipes-graphics/imx-g2d/imx-dpu-g2d_2.2.2.bb: LICENSE = "Proprietary" 92./recipes-graphics/imx-g2d/imx-dpu-g2d_2.2.2.bb: LICENSE = "Proprietary"
93./recipes-graphics/imx-g2d/imx-g2d-samples_git.bb: LICENSE = "BSD-3-Clause" 93./recipes-graphics/imx-g2d/imx-g2d-samples_git.bb: LICENSE = "BSD-3-Clause"
94./recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.10.bb: LICENSE = "Proprietary" 94./recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.12.bb: LICENSE = "Proprietary"
95./recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb: LICENSE = "Proprietary" 95./recipes-graphics/imx-g2d/imx-pxp-g2d_git.bb: LICENSE = "Proprietary"
96./recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb: LICENSE = "MIT" 96./recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb: LICENSE = "MIT"
97./recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc: LICENSE = "Proprietary" 97./recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc: LICENSE = "Proprietary"
98./recipes-graphics/mali/mali-imx_r50.2.bb: LICENSE = "Proprietary" 98./recipes-graphics/mali/mali-imx_r50.4.bb: LICENSE = "Proprietary"
99./recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb: LICENSE = "MIT" 99./recipes-graphics/mesa/mesa-etnaviv-env_0.1.bb: LICENSE = "MIT"
100./recipes-graphics/wayland/wayland-protocols_1.32.imx.bb: LICENSE = "MIT" 100./recipes-graphics/wayland/wayland-protocols_1.32.imx.bb: LICENSE = "MIT"
101./recipes-graphics/wayland/weston_10.0.5.imx.bb: LICENSE = "MIT" 101./recipes-graphics/wayland/weston_10.0.5.imx.bb: LICENSE = "MIT"
@@ -103,8 +103,8 @@ This file lists all licenses used by recipes in the meta-freescale layer.
103./recipes-graphics/xwayland/xwayland_23.2.5.imx.bb: LICENSE = "MIT" 103./recipes-graphics/xwayland/xwayland_23.2.5.imx.bb: LICENSE = "MIT"
104./recipes-kernel/ceetm/ceetm_git.bb: LICENSE = "GPL-2.0-only" 104./recipes-kernel/ceetm/ceetm_git.bb: LICENSE = "GPL-2.0-only"
105./recipes-kernel/kernel-modules/kernel-module-ar_git.bb: LICENSE = "GPL-2.0-only & BSD" 105./recipes-kernel/kernel-modules/kernel-module-ar_git.bb: LICENSE = "GPL-2.0-only & BSD"
106./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.12.bb: LICENSE = "GPL-2.0-only"
106./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb: LICENSE = "GPL-2.0-only" 107./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.2+fslc.bb: LICENSE = "GPL-2.0-only"
107./recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb: LICENSE = "GPL-2.0-only"
108./recipes-kernel/kernel-modules/kernel-module-ipc.inc: LICENSE = "BSD" 108./recipes-kernel/kernel-modules/kernel-module-ipc.inc: LICENSE = "BSD"
109./recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.2.bb: LICENSE = "GPL-2.0-only" 109./recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.24.2.bb: LICENSE = "GPL-2.0-only"
110./recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb: LICENSE = "GPL-2.0-or-later" 110./recipes-kernel/kernel-modules/kernel-module-ls-debug_git.bb: LICENSE = "GPL-2.0-or-later"
@@ -130,16 +130,16 @@ LICENSE_FLAGS = "commercial"
130./recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb: LICENSE = "LGPL-2.1-or-later" 130./recipes-multimedia/gstreamer/gst-devtools_1.22.5.imx.bb: LICENSE = "LGPL-2.1-or-later"
131./recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.0.imx.bb: LICENSE_FLAGS = "commercial" 131./recipes-multimedia/gstreamer/gstreamer1.0-libav_1.24.0.imx.bb: LICENSE_FLAGS = "commercial"
132LICENSE = "LGPL-2.1-or-later" 132LICENSE = "LGPL-2.1-or-later"
133./recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" 133./recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
134./recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later" 134./recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
135./recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later" 135./recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
136./recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb: LICENSE = "LGPL-2.0-or-later" 136./recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb: LICENSE = "LGPL-2.0-or-later"
137./recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" 137./recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
138LICENSE_FLAGS = "commercial" 138LICENSE_FLAGS = "commercial"
139./recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later" 139./recipes-multimedia/gstreamer/gstreamer1.0-python_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
140./recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later" 140./recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
141./recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later" 141./recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later"
142./recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb: LICENSE = "LGPL-2.1-or-later" 142./recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb: LICENSE = "LGPL-2.1-or-later"
143./recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb: LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only" 143./recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb: LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
144./recipes-multimedia/imx-codec/imx-codec_4.9.0.bb: LICENSE = "Proprietary" 144./recipes-multimedia/imx-codec/imx-codec_4.9.0.bb: LICENSE = "Proprietary"
145./recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb: LICENSE = "Proprietary" 145./recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.1.8.bb: LICENSE = "Proprietary"
diff --git a/classes/fsl-eula-unpack.bbclass b/classes/fsl-eula-unpack.bbclass
index a7b825969..71726af35 100644
--- a/classes/fsl-eula-unpack.bbclass
+++ b/classes/fsl-eula-unpack.bbclass
@@ -62,6 +62,9 @@ FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53 = "44a8052c384584ba09077e85
62FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56 = "10c0fda810c63b052409b15a5445671a" 62FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56 = "10c0fda810c63b052409b15a5445671a"
63FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57 = "ca53281cc0caa7e320d4945a896fb837" 63FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57 = "ca53281cc0caa7e320d4945a896fb837"
64FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58 = "c0fb372b5d7f12181de23ef480f225f3" 64FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58 = "c0fb372b5d7f12181de23ef480f225f3"
65FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V60 = "cf2070b16b9d4acf60a98e8cbc32a25a"
66FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V62 = "a93b654673e1bc8398ed1f30e0813359"
67FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V63 = "bc649096ad3928ec06a8713b8d787eac"
65 68
66FSL_EULA_FILE_MD5SUMS = " \ 69FSL_EULA_FILE_MD5SUMS = " \
67 ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \ 70 ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \
@@ -120,11 +123,14 @@ FSL_EULA_FILE_MD5SUMS = " \
120 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56} \ 123 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56} \
121 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57} \ 124 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57} \
122 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58} \ 125 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58} \
126 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V60} \
127 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V62} \
128 ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V63} \
123" 129"
124 130
125# The checksum for the EULA in the layer 131# The checksum for the EULA in the layer
126FSL_EULA_FILE_MD5SUM ?= \ 132FSL_EULA_FILE_MD5SUM ?= \
127 "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57}" 133 "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V63}"
128 134
129LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}" 135LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}"
130LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE" 136LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE"
diff --git a/conf/machine/imx95-19x19-verdin.conf b/conf/machine/imx95-19x19-verdin.conf
index d03d69139..2d8331956 100644
--- a/conf/machine/imx95-19x19-verdin.conf
+++ b/conf/machine/imx95-19x19-verdin.conf
@@ -9,6 +9,12 @@ MACHINEOVERRIDES =. "mx95:"
9require conf/machine/include/imx95-evk.inc 9require conf/machine/include/imx95-evk.inc
10IMX_DEFAULT_BSP = "nxp" 10IMX_DEFAULT_BSP = "nxp"
11 11
12# iMX95 Verdin EVK V1.1E is the first revision with a B0 SoC,
13# older versions require A0/A1 support, set with the below variable
14#IMX_SOC_REV:${MACHINE} = "A0"
15# When building for A0/A1 iMX95 SoCs, set OEI_DDRCONFIG accordingly
16OEI_DDRCONFIG = "${@'XIMX95LPD5EVK19_6400mbps_train_timing_a1' if d.getVar('IMX_SOC_REV')[0] == 'A' else ''}"
17
12KERNEL_DEVICETREE_BASENAME = "imx95-19x19-verdin" 18KERNEL_DEVICETREE_BASENAME = "imx95-19x19-verdin"
13 19
14KERNEL_DEVICETREE:append:use-nxp-bsp = " \ 20KERNEL_DEVICETREE:append:use-nxp-bsp = " \
@@ -53,11 +59,12 @@ IMXBOOT_TARGETS = "flash_a55"
53OEI_BOARD = "mx95lp5" 59OEI_BOARD = "mx95lp5"
54DDR_TYPE = "lpddr5" 60DDR_TYPE = "lpddr5"
55 61
62LPDDR_FW_VERSION = "_v202409"
56DDR_FIRMWARE_NAME = " \ 63DDR_FIRMWARE_NAME = " \
57 lpddr5_dmem_v202311.bin \ 64 lpddr5_dmem${LPDDR_FW_VERSION}.bin \
58 lpddr5_dmem_qb_v202311.bin \ 65 lpddr5_dmem_qb${LPDDR_FW_VERSION}.bin \
59 lpddr5_imem_v202311.bin \ 66 lpddr5_imem${LPDDR_FW_VERSION}.bin \
60 lpddr5_imem_qb_v202311.bin \ 67 lpddr5_imem_qb${LPDDR_FW_VERSION}.bin \
61" 68"
62 69
63IMXBOOT_VARIANT = "" 70IMXBOOT_VARIANT = ""
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 38afca6f8..e7a1ef8d4 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -185,6 +185,7 @@ IMX_SOC_REV:mx8ulp-generic-bsp ??= \
185 "${@bb.utils.contains('MACHINE_FEATURES', 'soc-reva0', 'A0', \ 185 "${@bb.utils.contains('MACHINE_FEATURES', 'soc-reva0', 'A0', \
186 'A2', d)}" 186 'A2', d)}"
187IMX_SOC_REV:mx93-generic-bsp ??= "A1" 187IMX_SOC_REV:mx93-generic-bsp ??= "A1"
188IMX_SOC_REV:mx95-generic-bsp ??= "B0"
188 189
189IMX_SOC_REV_LOWER = "${@d.getVar('IMX_SOC_REV').lower()}" 190IMX_SOC_REV_LOWER = "${@d.getVar('IMX_SOC_REV').lower()}"
190IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}" 191IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}"
@@ -504,8 +505,9 @@ MACHINE_EXTRA_RRECOMMENDS += " \
504" 505"
505 506
506# ELE extra Firmware 507# ELE extra Firmware
507SECOEXT_FIRMWARE_NAME ?= "UNDEFINED" 508SECOEXT_FIRMWARE_NAME ?= ""
508SECOEXT_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}ext-ahab-container.img" 509SECOEXT_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}ext-ahab-container.img"
510SECOEXT_FIRMWARE_NAME:mx95-generic-bsp ?= "mx95a0runtime-ahab-container.img mx95b0runtime-ahab-container.img"
509 511
510# GStreamer 1.0 plugins 512# GStreamer 1.0 plugins
511MACHINE_GSTREAMER_1_0_PLUGIN ?= "" 513MACHINE_GSTREAMER_1_0_PLUGIN ?= ""
@@ -527,25 +529,25 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin"
527MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin" 529MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin"
528 530
529# GStreamer forked recipes 531# GStreamer forked recipes
530PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.0.imx" 532PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.7.imx"
531PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.0.imx" 533PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.7.imx"
532PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.0.imx" 534PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.7.imx"
533PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.0.imx" 535PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.7.imx"
534PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.0.imx" 536PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.7.imx"
535PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.0.imx" 537PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.7.imx"
536PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.0.imx" 538PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.7.imx"
537PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.0.imx" 539PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.7.imx"
538 540
539# GStreamer copied recipes 541# GStreamer copied recipes
540PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.24.0.imx" 542PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.22.5.imx"
541PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.24.0.imx" 543PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.24.7.imx"
542PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.24.0.imx" 544PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.24.7.imx"
543PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.24.0.imx" 545PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.24.0.imx"
544PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.24.0.imx" 546PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.24.0.imx"
545PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.24.0.imx" 547PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.24.0.imx"
546PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.24.0.imx" 548PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.22.5.imx"
547PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.24.0.imx" 549PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.24.7.imx"
548PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.24.0.imx" 550PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.24.7.imx"
549PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.24.0.imx" 551PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.24.0.imx"
550PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.24.0.imx" 552PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.24.0.imx"
551PREFERRED_VERSION_gstreamer1.0-vaapi:mx9-nxp-bsp ??= "1.24.0.imx" 553PREFERRED_VERSION_gstreamer1.0-vaapi:mx9-nxp-bsp ??= "1.24.0.imx"
@@ -605,12 +607,12 @@ PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.275.0.imx"
605PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.275.0.imx" 607PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.275.0.imx"
606 608
607# Use i.MX optee Version 609# Use i.MX optee Version
608PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.2.0.imx" 610PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.4.0.imx"
609PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.2.0.imx" 611PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.4.0.imx"
610PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.2.0.imx" 612PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.4.0.imx"
611PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.2.0.imx" 613PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.4.0.imx"
612PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.2.0.imx" 614PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.4.0.imx"
613PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.2.0.imx" 615PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.4.0.imx"
614 616
615# Use i.MX opencv Version 617# Use i.MX opencv Version
616PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx" 618PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx"
diff --git a/conf/machine/include/qoriq-base.inc b/conf/machine/include/qoriq-base.inc
index 4340c9423..4a42a8bd3 100644
--- a/conf/machine/include/qoriq-base.inc
+++ b/conf/machine/include/qoriq-base.inc
@@ -43,6 +43,8 @@ EXTRA_IMAGEDEPENDS += "u-boot qoriq-cst-native"
43 43
44MACHINEOVERRIDES =. "qoriq:" 44MACHINEOVERRIDES =. "qoriq:"
45 45
46INHERIT += "machine-overrides-extender"
47
46# Machines or distros can define which BSP it should use by default. We are 48# Machines or distros can define which BSP it should use by default. We are
47# intending to default for nxp BSP by default and specific machines or 49# intending to default for nxp BSP by default and specific machines or
48# DISTROs might change it if need. 50# DISTROs might change it if need.
@@ -51,6 +53,8 @@ MACHINEOVERRIDES =. "qoriq:"
51QORIQ_DEFAULT_BSP ?= "nxp" 53QORIQ_DEFAULT_BSP ?= "nxp"
52 54
53MACHINEOVERRIDES =. "use-${QORIQ_DEFAULT_BSP}-bsp:" 55MACHINEOVERRIDES =. "use-${QORIQ_DEFAULT_BSP}-bsp:"
56MACHINEOVERRIDES_EXTENDER:use-mainline-bsp = "qoriq-generic-bsp:qoriq-mainline-bsp"
57MACHINEOVERRIDES_EXTENDER:use-nxp-bsp = "qoriq-generic-bsp:qoriq-nxp-bsp"
54 58
55# Sub-architecture support 59# Sub-architecture support
56MACHINE_SOCARCH_SUFFIX ?= "" 60MACHINE_SOCARCH_SUFFIX ?= ""
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei.inc b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei.inc
new file mode 100644
index 000000000..8077a10e9
--- /dev/null
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei.inc
@@ -0,0 +1,56 @@
1INHIBIT_DEFAULT_DEPS = "1"
2DEPENDS = "gcc-arm-none-eabi-native"
3
4S = "${WORKDIR}/git"
5
6inherit deploy
7
8PACKAGE_ARCH = "${MACHINE_ARCH}"
9
10OEI_CONFIGS ?= "UNDEFINED"
11OEI_CORE ?= "UNDEFINED"
12OEI_SOC ?= "UNDEFINED"
13OEI_BOARD ?= "UNDEFINED"
14OEI_DDRCONFIG ?= ""
15OEI_DEBUG ?= "0"
16
17LDFLAGS[unexport] = "1"
18
19EXTRA_OEMAKE = "\
20 board=${OEI_BOARD} \
21 DEBUG=${OEI_DEBUG} \
22 OEI_CROSS_COMPILE=arm-none-eabi-"
23
24EXTRA_OEMAKE:append:mx95-generic-bsp = " r=${IMX_SOC_REV}"
25EXTRA_OEMAKE:append = " ${@' DDR_CONFIG=${OEI_DDRCONFIG}' if d.getVar('OEI_DDRCONFIG') else ''}"
26
27do_configure() {
28 for oei_config in ${OEI_CONFIGS}; do
29 oe_runmake clean oei=$oei_config
30 done
31}
32
33do_compile() {
34 for oei_config in ${OEI_CONFIGS}; do
35 oe_runmake oei=$oei_config
36 done
37}
38
39do_install() {
40 install -d ${D}/firmware
41 for oei_config in ${OEI_CONFIGS}; do
42 install -m 0644 ${B}/build/${OEI_BOARD}/$oei_config/oei-*.bin ${D}/firmware
43 done
44}
45
46addtask deploy after do_install
47do_deploy() {
48 cp -rf ${D}/firmware/* ${DEPLOYDIR}/
49}
50
51FILES:${PN} = "/firmware"
52SYSROOT_DIRS += "/firmware"
53
54PROVIDES += "virtual/imx-oei"
55
56COMPATIBLE_MACHINE = "(mx95-generic-bsp)"
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb
index d07138758..29a58ed08 100644
--- a/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb
@@ -1,61 +1,17 @@
1SUMMARY = "i.MX Optional Execution Image" 1SUMMARY = "i.MX Optional Execution Image"
2 2DESCRIPTION = "\
3LICENSE = "GPL-2.0-only" 3The Optional Executable Image (OEI) is an optional plugin loaded and executed \
4LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=59530bdf33659b29e73d4adb9f9f6552" 4by Cortex-M processor ROM on many NXP i.MX processors. The Cortex-M is the \
5 5boot core, runs the boot ROM which loads the OEI, and then branches to the \
6INHIBIT_DEFAULT_DEPS = "1" 6OEI. The OEI then configures some aspects of the hardware such as DDR config, \
7DEPENDS = "gcc-arm-none-eabi-native" 7init TCM ECC, etc. There could be multiple OEI images in the boot container. \
8After execution of OEI, the processor returns to ROM execution."
9LICENSE = "BSD-3-Clause"
10LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b66f32a90f9577a5a3255c21d79bc619"
8 11
9SRC_URI = "${IMX_OEI_SRC};branch=${SRCBRANCH}" 12SRC_URI = "${IMX_OEI_SRC};branch=${SRCBRANCH}"
10IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https" 13IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https"
11SRCBRANCH = "master" 14SRCBRANCH = "master"
12SRCREV = "1a572a640ef8d6883e8ca39744cd6d2d5dbed678" 15SRCREV = "ca91ce798b2f3a2a0bab8c0f835f4bea88c9b080"
13
14S = "${WORKDIR}/git"
15
16inherit deploy
17
18PACKAGE_ARCH = "${MACHINE_ARCH}"
19
20OEI_CONFIGS ?= "UNDEFINED"
21OEI_CORE ?= "UNDEFINED"
22OEI_SOC ?= "UNDEFINED"
23OEI_BOARD ?= "UNDEFINED"
24
25LDFLAGS[unexport] = "1"
26
27EXTRA_OEMAKE = "\
28 board=${OEI_BOARD} \
29 DEBUG=1 \
30 OEI_CROSS_COMPILE=arm-none-eabi-"
31
32do_configure() {
33 for oei_config in ${OEI_CONFIGS}; do
34 oe_runmake clean oei=$oei_config
35 done
36}
37
38do_compile() {
39 for oei_config in ${OEI_CONFIGS}; do
40 oe_runmake oei=$oei_config
41 done
42}
43
44do_install() {
45 install -d ${D}/firmware
46 for oei_config in ${OEI_CONFIGS}; do
47 install -m 0644 ${B}/build/${OEI_BOARD}/$oei_config/oei-*.bin ${D}/firmware
48 done
49}
50
51addtask deploy after do_install
52do_deploy() {
53 cp -rf ${D}/firmware/* ${DEPLOYDIR}/
54}
55
56FILES:${PN} = "/firmware"
57SYSROOT_DIRS += "/firmware"
58
59PROVIDES += "virtual/imx-oei"
60 16
61COMPATIBLE_MACHINE = "(mx95-generic-bsp)" 17require imx-oei.inc
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc
index d8033622c..1d23a22cd 100644
--- a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc
@@ -18,7 +18,7 @@ SYSTEM_MANAGER_CONFIG ?= "INVALID"
18LDFLAGS[unexport] = "1" 18LDFLAGS[unexport] = "1"
19 19
20EXTRA_OEMAKE = " \ 20EXTRA_OEMAKE = " \
21 V=y \ 21 V=1 \
22 SM_CROSS_COMPILE=arm-none-eabi- \ 22 SM_CROSS_COMPILE=arm-none-eabi- \
23 ${PACKAGECONFIG_CONFARGS} \ 23 ${PACKAGECONFIG_CONFARGS} \
24" 24"
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb
index eceaaa674..1ae8a15be 100644
--- a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb
@@ -9,12 +9,12 @@ enters a service mode where it provides access to clocking, power, sensor, \
9and pin control via a client RPC API based on ARM's System Control and \ 9and pin control via a client RPC API based on ARM's System Control and \
10Management Interface (SCMI)." 10Management Interface (SCMI)."
11LICENSE = "BSD-3-Clause" 11LICENSE = "BSD-3-Clause"
12LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b66f32a90f9577a5a3255c21d79bc619" 12LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f2a70813bc08547f509361c08b718861"
13 13
14SRC_URI = "${IMX_SYSTEM_MANAGER_SRC};branch=${SRCBRANCH}" 14SRC_URI = "${IMX_SYSTEM_MANAGER_SRC};branch=${SRCBRANCH}"
15IMX_SYSTEM_MANAGER_SRC ?= "git://github.com/nxp-imx/imx-sm.git;protocol=https" 15IMX_SYSTEM_MANAGER_SRC ?= "git://github.com/nxp-imx/imx-sm.git;protocol=https"
16SRCBRANCH = "master" 16SRCBRANCH = "master"
17SRCREV = "709deccd9338399eb39b5cf99a60eab4fa60d539" 17SRCREV = "707569f402147029feb7f9b90811a6d6ea730bb6"
18 18
19S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
20 20
diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
index 659a7cc0a..35a128174 100644
--- a/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
+++ b/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend
@@ -6,4 +6,4 @@ PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx"
6 6
7# i.MX8 does never provide native x11, so required dependencies are not met 7# i.MX8 does never provide native x11, so required dependencies are not met
8PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx" 8PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx"
9PACKAGECONFIG:remove:mx95-nxp-bsp = "xcomposite-egl xcomposite-glx" 9PACKAGECONFIG:remove:mx9-nxp-bsp = "xcomposite-egl xcomposite-glx"
diff --git a/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend
index f2b0b8025..9d0cae8f9 100644
--- a/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend
+++ b/dynamic-layers/qt6-layer/recipes-qt/qt6/qtwayland_%.bbappend
@@ -4,4 +4,4 @@ PACKAGECONFIG:remove:use-mainline-bsp = "xcomposite-glx"
4PACKAGECONFIG:remove:mx6-nxp-bsp = "xcomposite-egl xcomposite-glx" 4PACKAGECONFIG:remove:mx6-nxp-bsp = "xcomposite-egl xcomposite-glx"
5PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx" 5PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx"
6PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx" 6PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx"
7PACKAGECONFIG:remove:mx95-nxp-bsp = "xcomposite-egl xcomposite-glx" 7PACKAGECONFIG:remove:mx9-nxp-bsp = "xcomposite-egl xcomposite-glx"
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
index b6194d76b..c31fb04be 100644
--- a/recipes-bsp/alsa-state/alsa-state.bbappend
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -2,3 +2,4 @@
2FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
3 3
4PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}" 4PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}"
5PACKAGE_ARCH:qoriq-generic-bsp = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp b/recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp
new file mode 120000
index 000000000..febb30e2c
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/qoriq-generic-bsp
@@ -0,0 +1 @@
imx-generic-bsp \ No newline at end of file
diff --git a/recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp b/recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp
new file mode 120000
index 000000000..b43cbb34c
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/qoriq-mainline-bsp
@@ -0,0 +1 @@
imx-mainline-bsp \ No newline at end of file
diff --git a/recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp b/recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp
new file mode 120000
index 000000000..022b2509e
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/qoriq-nxp-bsp
@@ -0,0 +1 @@
imx-nxp-bsp \ No newline at end of file
diff --git a/recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_2.0.2.1.bb
index 8a812f413..821d6e5a1 100644
--- a/recipes-bsp/firmware-imx/firmware-ele-imx_1.3.0.bb
+++ b/recipes-bsp/firmware-imx/firmware-ele-imx_2.0.2.1.bb
@@ -3,13 +3,13 @@ SUMMARY = "NXP i.MX ELE firmware"
3DESCRIPTION = "EdgeLock Secure Enclave firmware for i.MX series SoCs" 3DESCRIPTION = "EdgeLock Secure Enclave firmware for i.MX series SoCs"
4SECTION = "base" 4SECTION = "base"
5LICENSE = "Proprietary" 5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" 6LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
7 7
8inherit fsl-eula-unpack use-imx-security-controller-firmware deploy 8inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
9 9
10SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 10SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
11IMX_SRCREV_ABBREV = "17945fc" 11IMX_SRCREV_ABBREV = "d30b14a"
12SRC_URI[sha256sum] = "8791109824767346237e53ac2c712824e54608e2092859161e6bb3e5385a7595" 12SRC_URI[sha256sum] = "293a0e7957ca2a24c6c2edbc87b237141a4b7ef19b35257edce65a026d7cbc0a"
13 13
14S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}" 14S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
15 15
@@ -17,24 +17,18 @@ do_compile[noexec] = "1"
17 17
18do_install() { 18do_install() {
19 install -d ${D}${nonarch_base_libdir}/firmware/imx/ele 19 install -d ${D}${nonarch_base_libdir}/firmware/imx/ele
20 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele 20 for fw in ${SECO_FIRMWARE_NAME} ${SECOEXT_FIRMWARE_NAME}; do
21 if [ -e ${S}/${SECOEXT_FIRMWARE_NAME} ]; then 21 install -m 0644 ${S}/$fw ${D}${nonarch_base_libdir}/firmware/imx/ele
22 install -m 0644 ${S}/${SECOEXT_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele 22 done
23 fi
24} 23}
25 24
26do_deploy () { 25do_deploy () {
27 # Deploy the related firmware to be package by imx-boot 26 # Deploy the related firmware to be packaged by imx-boot
28 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} 27 install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
29} 28}
30addtask deploy after do_install before do_build 29addtask deploy after do_install before do_build
31 30
32PACKAGES += "${PN}-ext" 31FILES:${PN} = "${nonarch_base_libdir}/firmware"
33
34ALLOW_EMPTY:${PN}-ext = "1"
35
36FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}"
37FILES:${PN}-ext += "${nonarch_base_libdir}/firmware/imx/ele/${SECOEXT_FIRMWARE_NAME}"
38 32
39RREPLACES:${PN} = "firmware-sentinel" 33RREPLACES:${PN} = "firmware-sentinel"
40RPROVIDES:${PN} = "firmware-sentinel" 34RPROVIDES:${PN} = "firmware-sentinel"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.27.inc b/recipes-bsp/firmware-imx/firmware-imx-8.26.1.inc
index 022289d37..78701ae82 100644
--- a/recipes-bsp/firmware-imx/firmware-imx-8.27.inc
+++ b/recipes-bsp/firmware-imx/firmware-imx-8.26.1.inc
@@ -3,13 +3,13 @@
3# Copyright (C) 2018 O.S. Systems Software LTDA. 3# Copyright (C) 2018 O.S. Systems Software LTDA.
4SECTION = "base" 4SECTION = "base"
5LICENSE = "Proprietary" 5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3" 6LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac"
7 7
8# Note: This .inc file is used from differently named recipes, so the package 8# Note: This .inc file is used from differently named recipes, so the package
9# name must be hard-coded, i.e., ${BPN} cannot be used. 9# name must be hard-coded, i.e., ${BPN} cannot be used.
10SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 10SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
11IMX_SRCREV_ABBREV = "5af0ceb" 11IMX_SRCREV_ABBREV = "410be01"
12SRC_URI[sha256sum] = "61f925e606ab020b1a36f3f7f7e459c6847f5b9dbc79421f9ef86e8fc124eb2f" 12SRC_URI[sha256sum] = "0c2e2136c1efa544409017f14f07a1412cf8c1702075ed0e4060e903b91fe313"
13 13
14S = "${WORKDIR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}" 14S = "${WORKDIR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}"
15 15
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.27.bb b/recipes-bsp/firmware-imx/firmware-imx_8.26.1.bb
index 7bac8106d..7bac8106d 100644
--- a/recipes-bsp/firmware-imx/firmware-imx_8.27.bb
+++ b/recipes-bsp/firmware-imx/firmware-imx_8.26.1.bb
diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.27.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.26.1.bb
index c35e31e07..c35e31e07 100644
--- a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.27.bb
+++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.26.1.bb
diff --git a/recipes-bsp/imx-atf/imx-atf_2.10.bb b/recipes-bsp/imx-atf/imx-atf_2.10.bb
index ec4088dcd..4106ff354 100644
--- a/recipes-bsp/imx-atf/imx-atf_2.10.bb
+++ b/recipes-bsp/imx-atf/imx-atf_2.10.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;m
8PV .= "+git${SRCPV}" 8PV .= "+git${SRCPV}"
9 9
10SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}" 10SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}"
11SRCBRANCH = "lf_v2.10" 11SRCBRANCH = "lf_v2.10_6.6.52_2.2.x"
12SRCREV = "1b27ee3edbb40ef9432c69ccaa744d1ac5d54c5d" 12SRCREV = "7e374c5f57328949a2b141a567175b6a2939e964"
13 13
14S = "${WORKDIR}/git" 14S = "${WORKDIR}/git"
15 15
diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
index bdbb97c9b..eae1778c7 100644
--- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
+++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
@@ -44,6 +44,8 @@ OEI_NAME ?= "oei-${OEI_CORE}-*.bin"
44ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin" 44ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin"
45ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}" 45ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
46 46
47BOOT_VARIANT ?= ""
48
47TOOLS_NAME ?= "mkimage_imx8" 49TOOLS_NAME ?= "mkimage_imx8"
48 50
49IMX_BOOT_SOC_TARGET ?= "INVALID" 51IMX_BOOT_SOC_TARGET ?= "INVALID"
@@ -222,7 +224,7 @@ do_compile() {
222 UBOOT_DTB_NAME_EXTRA="${dtb_name}" 224 UBOOT_DTB_NAME_EXTRA="${dtb_name}"
223 fi 225 fi
224 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}" 226 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
225 BOOT_CONFIG_MACHINE_EXTRA="imx-boot-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" 227 BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
226 228
227 for target in ${IMXBOOT_TARGETS}; do 229 for target in ${IMXBOOT_TARGETS}; do
228 compile_${SOC_FAMILY} 230 compile_${SOC_FAMILY}
@@ -273,7 +275,7 @@ do_install () {
273 bbnote "UBOOT_CONFIG = $type" 275 bbnote "UBOOT_CONFIG = $type"
274 276
275 UBOOT_CONFIG_EXTRA="$type" 277 UBOOT_CONFIG_EXTRA="$type"
276 BOOT_CONFIG_MACHINE_EXTRA="imx-boot-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" 278 BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
277 279
278 for target in ${IMXBOOT_TARGETS}; do 280 for target in ${IMXBOOT_TARGETS}; do
279 install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${D}/boot/ 281 install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${D}/boot/
@@ -380,7 +382,7 @@ do_deploy() {
380 for type in ${UBOOT_CONFIG}; do 382 for type in ${UBOOT_CONFIG}; do
381 UBOOT_CONFIG_EXTRA="$type" 383 UBOOT_CONFIG_EXTRA="$type"
382 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}" 384 UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
383 BOOT_CONFIG_MACHINE_EXTRA="imx-boot-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin" 385 BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
384 386
385 if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then 387 if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
386 install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ 388 install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
index abc60c9e0..45edd040a 100644
--- a/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
+++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
@@ -5,8 +5,8 @@ DEPENDS = "zlib-native openssl-native"
5SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \ 5SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \
6 file://0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch \ 6 file://0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch \
7" 7"
8SRCBRANCH = "lf-6.6.52_2.2.0" 8SRCBRANCH = "lf-6.6.52_2.2.1"
9SRCREV = "71b8c18af93a5eb972d80fbec290006066cff24f" 9SRCREV = "81fca6434be0610f3f9216a762aadc4dc3e8d8db"
10 10
11S = "${WORKDIR}/git" 11S = "${WORKDIR}/git"
12 12
diff --git a/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc b/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc
index 39ac4135a..3bfe618b0 100644
--- a/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc
+++ b/recipes-bsp/u-boot/u-boot-imx-common_2024.04.inc
@@ -4,9 +4,9 @@ LICENSE = "GPL-2.0-or-later"
4LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" 4LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
5 5
6SRC_URI = "git://github.com/nxp-imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}" 6SRC_URI = "git://github.com/nxp-imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}"
7SRCBRANCH = "lf_v2024.04" 7SRCBRANCH = "lf_v2024.04_6.6.52_2.2.x"
8LOCALVERSION ?= "-imx_v2024.04_6.6.52-2.2.0" 8LOCALVERSION ?= "-imx_v2024.04_6.6.52-2.2.0"
9SRCREV = "6c4545203d123c246c5d7995f2893959506d28e0" 9SRCREV = "82d4220bc6b832128454b09814a52e674943bd9a"
10CVE_PRODUCT = "nxp:uboot_secondary_program_loader denx:u-boot" 10CVE_PRODUCT = "nxp:uboot_secondary_program_loader denx:u-boot"
11 11
12DEPENDS += " \ 12DEPENDS += " \
diff --git a/recipes-core/udev/udev-rules-imx/10-imx.rules b/recipes-core/udev/udev-rules-imx/10-imx.rules
index 6afc1e8e2..076c3a0ba 100644
--- a/recipes-core/udev/udev-rules-imx/10-imx.rules
+++ b/recipes-core/udev/udev-rules-imx/10-imx.rules
@@ -21,3 +21,7 @@ SUBSYSTEM=="video", MODE="0660"
21KERNEL=="fb[0-9]", MODE="0660", GROUP="video" 21KERNEL=="fb[0-9]", MODE="0660", GROUP="video"
22KERNEL=="gsl_kmod", MODE="0660", GROUP="video" 22KERNEL=="gsl_kmod", MODE="0660", GROUP="video"
23KERNEL=="galcore", MODE="0660", GROUP="video" 23KERNEL=="galcore", MODE="0660", GROUP="video"
24KERNEL=="linux,cma*", NAME="dma_heap", MODE="0664", GROUP="video"
25KERNEL=="mali[0-9]", MODE="0664", GROUP="video"
26KERNEL=="pxp_device", MODE="0664", GROUP="video"
27SUBSYSTEM=="neutron", MODE="0660", GROUP="video"
diff --git a/recipes-devtools/uuu/uuu-bin_1.5.165.bb b/recipes-devtools/uuu/uuu-bin_1.5.233.bb
index 2b5feda10..ba9ef854d 100644
--- a/recipes-devtools/uuu/uuu-bin_1.5.165.bb
+++ b/recipes-devtools/uuu/uuu-bin_1.5.233.bb
@@ -11,22 +11,25 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec
11 11
12SRC_URI = " \ 12SRC_URI = " \
13 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu;downloadfilename=uuu-${PV};name=Linux \ 13 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu;downloadfilename=uuu-${PV};name=Linux \
14 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu_mac;downloadfilename=uuu-${PV}_mac;name=Mac \ 14 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu_mac_x86;downloadfilename=uuu-${PV}_mac_x86;name=Mac_x86 \
15 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu_mac_arm;downloadfilename=uuu-${PV}_mac_arm;name=Mac_arm \
15 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu.exe;downloadfilename=uuu-${PV}.exe;name=Windows \ 16 https://github.com/nxp-imx/mfgtools/releases/download/uuu_${PV}/uuu.exe;downloadfilename=uuu-${PV}.exe;name=Windows \
16" 17"
17 18
18SRC_URI[Linux.sha256sum] = "f863bba022202361d19e5026be0af408d307f78d2dbf2c139fb7eaaabd220442" 19SRC_URI[Linux.sha256sum] = "c609fe6c4d9656102f7e3139a70488ba3988c33332486c89e5fc6d85ccedd96a"
19SRC_URI[Mac.sha256sum] = "62da0bd7e333931fba100823aa50133621c7e6047be0546bc12e29c0ea78a4d8" 20SRC_URI[Mac_x86.sha256sum] = "cdbacab592661900d46e7f97f9c7dd8a720bf46b1c17f4dbb65adb372f5fc6cf"
20SRC_URI[Windows.sha256sum] = "013ed8bb45e21b971b6b3a5802c5f154733913714bece0b020cb770a809cd206" 21SRC_URI[Mac_arm.sha256sum] = "6f8854946dfbeeb36894baf0f5f555b918974d465f4b541457e65c926fdd6a6a"
22SRC_URI[Windows.sha256sum] = "a3c7241650c05dd6373a6aef086b34322c013103da729c1b446ec86694309939"
21 23
22S = "${WORKDIR}" 24S = "${WORKDIR}"
23 25
24inherit allarch 26inherit allarch
25 27
26do_install() { 28do_install() {
27 install -D -m 0755 ${WORKDIR}/uuu-${PV} ${D}${libdir}/uuu/uuu 29 install -D -m 0755 ${WORKDIR}/uuu-${PV} ${D}${libdir}/uuu/uuu
28 install -D -m 0755 ${WORKDIR}/uuu-${PV}_mac ${D}${libdir}/uuu/uuu_mac 30 install -D -m 0755 ${WORKDIR}/uuu-${PV}_mac_x86 ${D}${libdir}/uuu/uuu_mac_x86
29 install -D -m 0644 ${WORKDIR}/uuu-${PV}.exe ${D}${libdir}/uuu/uuu.exe 31 install -D -m 0755 ${WORKDIR}/uuu-${PV}_mac_arm ${D}${libdir}/uuu/uuu_mac_arm
32 install -D -m 0644 ${WORKDIR}/uuu-${PV}.exe ${D}${libdir}/uuu/uuu.exe
30} 33}
31 34
32# HACK! We are not aiming to run those binaries during the build but copy then for MFGTOOL bundle. 35# HACK! We are not aiming to run those binaries during the build but copy then for MFGTOOL bundle.
diff --git a/recipes-devtools/uuu/uuu_git.bb b/recipes-devtools/uuu/uuu_git.bb
index e48698a8b..6526fe2c0 100644
--- a/recipes-devtools/uuu/uuu_git.bb
+++ b/recipes-devtools/uuu/uuu_git.bb
@@ -3,8 +3,8 @@ DESCRIPTION = "Image deploy tool for i.MX chips"
3HOMEPAGE = "https://github.com/nxp-imx/mfgtools" 3HOMEPAGE = "https://github.com/nxp-imx/mfgtools"
4 4
5SRC_URI = "git://github.com/nxp-imx/mfgtools.git;protocol=https;branch=master" 5SRC_URI = "git://github.com/nxp-imx/mfgtools.git;protocol=https;branch=master"
6SRCREV = "7347a80c7a943dd7e9081d9d2bab9e6ca8e0ba07" 6SRCREV = "79ce7d2b2e7459e7b7c94f902d172c30b08884ab"
7PV = "1.5.165" 7PV = "1.5.233"
8 8
9LICENSE = "BSD-3-Clause" 9LICENSE = "BSD-3-Clause"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=38ec0c18112e9a92cffc4951661e85a5" 10LIC_FILES_CHKSUM = "file://LICENSE;md5=38ec0c18112e9a92cffc4951661e85a5"
diff --git a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.10.bb b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.12.bb
index 342c29f04..8799419e9 100644
--- a/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.10.bb
+++ b/recipes-graphics/imx-g2d/imx-gpu-g2d_6.4.11.p2.12.bb
@@ -1,19 +1,19 @@
1# Copyright (C) 2016 Freescale Semiconductor 1# Copyright (C) 2016 Freescale Semiconductor
2# Copyright 2017-2024 NXP 2# Copyright 2017-2022 NXP
3# Copyright 2018 (C) O.S. Systems Software LTDA. 3# Copyright 2018 (C) O.S. Systems Software LTDA.
4# Released under the MIT license (see COPYING.MIT for the terms) 4# Released under the MIT license (see COPYING.MIT for the terms)
5 5
6DESCRIPTION = "G2D library using i.MX GPU" 6DESCRIPTION = "G2D library using i.MX GPU"
7LICENSE = "Proprietary" 7LICENSE = "Proprietary"
8LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" 8LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac"
9DEPENDS = "libgal-imx" 9DEPENDS = "libgal-imx"
10PROVIDES = "virtual/libg2d" 10PROVIDES = "virtual/libg2d"
11 11
12SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;name=${TARGET_ARCH};fsl-eula=true" 12SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;name=${TARGET_ARCH};fsl-eula=true"
13IMX_BIN_NAME = "${BP}-${TARGET_ARCH}-${IMX_SRCREV_ABBREV}" 13IMX_BIN_NAME = "${BP}-${TARGET_ARCH}-${IMX_SRCREV_ABBREV}"
14IMX_SRCREV_ABBREV = "accdd64" 14IMX_SRCREV_ABBREV = "4402ac2"
15SRC_URI[aarch64.sha256sum] = "780479f19142126ed58e12222b80f8f3b882ad3d223ff61b7ea02001f517ff03" 15SRC_URI[aarch64.sha256sum] = "f82208abc84453c94fdc737ed6267cd689e68c23af9e4154bee6ce0651c075b1"
16SRC_URI[arm.sha256sum] = "cd4fd05dd6f6880edc3255c85fe08094a07ea4cd3eee947df004dcb8f37bc8fa" 16SRC_URI[arm.sha256sum] = "bdfe4d48da0239d264b766ad46b89982f78af04ca4d5051aaf7615473b4de86a"
17 17
18S = "${WORKDIR}/${IMX_BIN_NAME}" 18S = "${WORKDIR}/${IMX_BIN_NAME}"
19 19
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
index df2a999c4..8902933f5 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
@@ -365,7 +365,7 @@ FILES:libopenvx-imx = " \
365 ${libdir}/libArchModelSw${SOLIBS} \ 365 ${libdir}/libArchModelSw${SOLIBS} \
366" 366"
367FILES:libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}" 367FILES:libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}"
368RDEPENDS:libopenvx-imx = "libnn-imx ${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" 368RDEPENDS:libopenvx-imx = "${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}"
369OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES = "" 369OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES = ""
370OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8qm-nxp-bsp = "libclc-imx libopencl-imx-dev" 370OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8qm-nxp-bsp = "libclc-imx libopencl-imx-dev"
371OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8mp-nxp-bsp = "libclc-imx libopencl-imx-dev" 371OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8mp-nxp-bsp = "libclc-imx libopencl-imx-dev"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch32.bb
deleted file mode 100644
index 753ab5adb..000000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch32.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
4
5IMX_SRCREV_ABBREV = "accdd64"
6
7SRC_URI[sha256sum] = "2242c7cbf1a2b07d40eefe5d1507747e477c54912f179ee0585a5d7965074ce0"
8
9COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp|mx6sx-nxp-bsp|mx6sl-nxp-bsp|mx7ulp-nxp-bsp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch64.bb
deleted file mode 100644
index 6a6c6a7c6..000000000
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.10-aarch64.bb
+++ /dev/null
@@ -1,9 +0,0 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
4
5IMX_SRCREV_ABBREV = "accdd64"
6
7SRC_URI[sha256sum] = "8108fd146de6986486f34860227511a5101b31072b99cd78ae38afba8939fd4e"
8
9COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.12-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.12-aarch32.bb
new file mode 100644
index 000000000..c3b21a3bf
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.12-aarch32.bb
@@ -0,0 +1,9 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac"
4
5IMX_SRCREV_ABBREV = "4402ac2"
6
7SRC_URI[sha256sum] = "06617e2569144edbe5dd585be18c6b89bdf2da6ab56e04149c4c076e73f7884d"
8
9COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp|mx6sx-nxp-bsp|mx6sl-nxp-bsp|mx7ulp-nxp-bsp)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.12-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.12-aarch64.bb
new file mode 100644
index 000000000..0ead12966
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p2.12-aarch64.bb
@@ -0,0 +1,9 @@
1require imx-gpu-viv-6.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac"
4
5IMX_SRCREV_ABBREV = "4402ac2"
6
7SRC_URI[sha256sum] = "869c45f15fc3c93f9dd179410b9ee0e65e152c0e59b595a37ac1d55409e2c51d"
8
9COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"
diff --git a/recipes-graphics/mali/mali-imx_r50.2.bb b/recipes-graphics/mali/mali-imx_r50.4.bb
index 97f6db715..b65fe06eb 100644
--- a/recipes-graphics/mali/mali-imx_r50.2.bb
+++ b/recipes-graphics/mali/mali-imx_r50.4.bb
@@ -1,11 +1,11 @@
1require mali-imx.inc 1require mali-imx.inc
2 2
3LICENSE = "Proprietary" 3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" 4LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac"
5 5
6SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 6SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
7SRC_URI[sha256sum] = "947881cdad085a29dcb52dc4431f803b73c06141b31e06520f9bfe17d324f774" 7SRC_URI[sha256sum] = "83a5be75384a92f0305516785ffbefe72683eba5a4ebf03ec7c1b7d7cdc76064"
8IMX_SRCREV_ABBREV = "710cfb6" 8IMX_SRCREV_ABBREV = "696f9a6"
9 9
10S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}" 10S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}"
11 11
diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.12.bb
index e48d72585..450ee50c8 100644
--- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.4.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.11.p2.12.bb
@@ -1,5 +1,5 @@
1# Copyright (C) 2015-2016 Freescale Semiconductor 1# Copyright (C) 2015-2016 Freescale Semiconductor
2# Copyright (C) 2017-2024 NXP 2# Copyright (C) 2017-2021 NXP
3 3
4SUMMARY = "Kernel loadable module for Vivante GPU" 4SUMMARY = "Kernel loadable module for Vivante GPU"
5DESCRIPTION = "Builds the Vivante GPU kernel driver as a loadable kernel module, \ 5DESCRIPTION = "Builds the Vivante GPU kernel driver as a loadable kernel module, \
@@ -11,8 +11,8 @@ SRC_URI = "${KERNEL_SRC};subpath=drivers/mxc/gpu-viv;destsuffix=git/src \
11 file://Add-makefile.patch" 11 file://Add-makefile.patch"
12KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}" 12KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
13SRCBRANCH = "lf-6.6.y" 13SRCBRANCH = "lf-6.6.y"
14LOCALVERSION = "-6.6.3-1.0.0" 14LOCALVERSION = "-6.6.52-2.2.1"
15SRCREV = "3571388e9660f96b65b5fdcc093cc973ee502949" 15SRCREV = "b1d8a6dd8bef36e0bb923afbfa0466935f0270d6"
16 16
17S = "${WORKDIR}/git" 17S = "${WORKDIR}/git"
18 18
diff --git a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mxm_wifiex_fix_build_error_for_64-bit_division.patch b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mxm_wifiex_fix_build_error_for_64-bit_division.patch
new file mode 100644
index 000000000..06ae7246e
--- /dev/null
+++ b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mxm_wifiex_fix_build_error_for_64-bit_division.patch
@@ -0,0 +1,105 @@
1From b2bcca5c812b654e39d8709070266d6fbf37c121 Mon Sep 17 00:00:00 2001
2From: Luke Wang <ziniu.wang_1@nxp.com>
3Date: Tue, 15 Oct 2024 15:49:05 +0800
4Subject: [PATCH] mxm_wifiex: fix build error for 64-bit division
5
6When build on 32-bit platform, error log shows:
7ERROR: modpost: "__aeabi_uldivmod" [mwifiex/mlan.ko] undefined!
8ERROR: modpost: "__aeabi_ldivmod" [mwifiex/mlan.ko] undefined!
9
1032-bit platform need to use do_div() to support 64-bit division.
11
12Upstream-Status: Backport [https://github.com/nxp-imx/mwifiex/commit/fd7dd188a1ad7eb8bc110d30815e087362f91d72]
13
14Signed-off-by: Luke Wang <ziniu.wang_1@nxp.com>
15---
16 mlan/mlan_wmm.c | 33 +++++++++++++++++----------------
17 1 file changed, 17 insertions(+), 16 deletions(-)
18
19diff --git a/mlan/mlan_wmm.c b/mlan/mlan_wmm.c
20index 6da49ea..8815ca5 100644
21--- a/mlan/mlan_wmm.c
22+++ b/mlan/mlan_wmm.c
23@@ -840,11 +840,11 @@ static raListTbl *wlan_wmm_get_highest_priolist_ptr(pmlan_adapter pmadapter,
24 *
25 * @return byte budget
26 */
27-static t_u32 wlan_wmm_get_byte_budget(t_u32 time_budget_us, t_u32 phy_rate_kbps)
28+static t_u32 wlan_wmm_get_byte_budget(pmlan_adapter pmadapter, t_u32 time_budget_us, t_u32 phy_rate_kbps)
29 {
30 const t_u32 min_budget = MV_ETH_FRAME_LEN;
31- t_u64 byte_budget =
32- ((t_u64)phy_rate_kbps * time_budget_us) / (8 * 1000u);
33+ t_u64 byte_budget = pmadapter->callbacks.moal_do_div((t_u64)phy_rate_kbps * time_budget_us,
34+ 8 * 1000u);
35
36 if (byte_budget > INT_MAX)
37 return INT_MAX;
38@@ -891,7 +891,7 @@ wlan_wmm_allocate_sta_table(pmlan_adapter pmadapter, t_u8 *ra)
39
40 sta_table->budget.time_budget_init_us = pmadapter->init_para.tx_budget;
41 sta_table->budget.byte_budget_init = wlan_wmm_get_byte_budget(
42- sta_table->budget.time_budget_init_us, default_rate);
43+ pmadapter, sta_table->budget.time_budget_init_us, default_rate);
44 sta_table->budget.queue_packets = default_queue_packets;
45 sta_table->budget.phy_rate_kbps = default_rate;
46
47@@ -900,14 +900,14 @@ wlan_wmm_allocate_sta_table(pmlan_adapter pmadapter, t_u8 *ra)
48 sta_table->budget.mpdu_no_amsdu_pps_cap =
49 pmadapter->tx_mpdu_no_amsdu_pps;
50
51- sta_table->budget.mpdu_with_amsdu_budget_init =
52- ((t_u64)sta_table->budget.mpdu_with_amsdu_pps_cap *
53- sta_table->budget.time_budget_init_us) /
54- 1000000;
55- sta_table->budget.mpdu_no_amsdu_budget_init =
56- ((t_u64)sta_table->budget.mpdu_no_amsdu_pps_cap *
57- sta_table->budget.time_budget_init_us) /
58- 1000000;
59+ sta_table->budget.mpdu_with_amsdu_budget_init = pmadapter->callbacks.moal_do_div(
60+ (t_u64)sta_table->budget.mpdu_with_amsdu_pps_cap *
61+ sta_table->budget.time_budget_init_us,
62+ 1000000);
63+ sta_table->budget.mpdu_no_amsdu_budget_init = pmadapter->callbacks.moal_do_div(
64+ (t_u64)sta_table->budget.mpdu_no_amsdu_pps_cap *
65+ sta_table->budget.time_budget_init_us,
66+ 1000000);
67
68 for (i = 0; i < NELEMENTS(sta_table->budget.bytes); ++i) {
69 sta_table->budget.bytes[i] = sta_table->budget.byte_budget_init;
70@@ -3142,12 +3142,12 @@ static t_void wlan_wmm_update_queue_packets_budget(pmlan_adapter pmadapter,
71 list_entry, struct wmm_sta_table, active_sta_entry);
72 const t_u64 sta_capacity = sta->budget.byte_budget_init;
73 const t_u32 max_pkts_by_airtime =
74- wlan_wmm_get_byte_budget(max_pending_tx_time_us,
75+ wlan_wmm_get_byte_budget(pmadapter, max_pending_tx_time_us,
76 sta->budget.phy_rate_kbps) /
77 MV_ETH_FRAME_LEN;
78+ t_u32 sta_share = pmadapter->callbacks.moal_do_div((t_u64)queue_packets_limit * sta_capacity,
79+ total_capacity);
80
81- t_u32 sta_share =
82- queue_packets_limit * sta_capacity / total_capacity;
83 sta_share = MAX(sta_share, min_sta_share);
84 sta_share = MIN(sta_share, queue_packets_limit * 7 / 8);
85 sta_share = MIN(sta_share, max_pkts_by_airtime);
86@@ -5183,6 +5183,7 @@ static void wlan_wmm_adjust_sta_tx_budget(pmlan_private priv,
87 struct wmm_sta_table *sta,
88 HostCmd_TX_RATE_QUERY *rate)
89 {
90+ mlan_adapter *pmadapter = priv->adapter;
91 const t_u8 ppdu_type_legacy = 0;
92 const t_u8 ppdu_type_ht = 1;
93 const t_u8 ppdu_type_vht = 2;
94@@ -5210,7 +5211,7 @@ static void wlan_wmm_adjust_sta_tx_budget(pmlan_private priv,
95 if (phy_rate > 0) {
96 const t_u32 old_phy_rate = sta->budget.phy_rate_kbps;
97 sta->budget.byte_budget_init = wlan_wmm_get_byte_budget(
98- sta->budget.time_budget_init_us, phy_rate);
99+ pmadapter, sta->budget.time_budget_init_us, phy_rate);
100 sta->budget.phy_rate_kbps = phy_rate;
101
102 if (old_phy_rate / phy_rate >= 2 ||
103--
1042.25.1
105
diff --git a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mxm_wifiex_fix_build_error_for_udelay.patch b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mxm_wifiex_fix_build_error_for_udelay.patch
new file mode 100644
index 000000000..ee50f39b4
--- /dev/null
+++ b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan/mxm_wifiex_fix_build_error_for_udelay.patch
@@ -0,0 +1,31 @@
1From f45013f26a7045e882e4a0ac99ae126571fa60af Mon Sep 17 00:00:00 2001
2From: Luke Wang <ziniu.wang_1@nxp.com>
3Date: Tue, 15 Oct 2024 15:49:48 +0800
4Subject: [PATCH] mxm_wifiex: fix build error for udelay
5
6When build on 32-bit platform, error log shows:
7ERROR: modpost: "__bad_udelay" [mwifiex/moal.ko] undefined!
8
932-bit platform udelay has 2000us limition. Split it as workaround.
10
11Upstream-Status: Backport [https://github.com/nxp-imx/mwifiex/commit/f45013f26a7045e882e4a0ac99ae126571fa60af]
12
13Signed-off-by: Luke Wang <ziniu.wang_1@nxp.com>
14---
15 mlinux/moal_sdio_mmc.c | 3 ++-
16 1 file changed, 2 insertions(+), 1 deletion(-)
17
18diff --git a/mlinux/moal_sdio_mmc.c b/mlinux/moal_sdio_mmc.c
19index 746f434..299829e 100644
20--- a/mlinux/moal_sdio_mmc.c
21+++ b/mlinux/moal_sdio_mmc.c
22@@ -3322,7 +3322,8 @@ static int woal_sdiommc_reset_fw(moal_handle *handle)
23 ret = -EFAULT;
24 goto done;
25 }
26- udelay(4000);
27+ udelay(2000);
28+ udelay(2000);
29 /** wait SOC fully wake up */
30 for (tries = 0; tries < MAX_POLL_TRIES; ++tries) {
31 ret = handle->ops.write_reg(handle, reset_reg, 0xba);
diff --git a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
index e0790bd2d..ece9ff4c2 100644
--- a/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
+++ b/recipes-kernel/kernel-modules/kernel-module-nxp-wlan_git.bb
@@ -14,6 +14,8 @@ SRC_URI = " \
14 ${MRVL_SRC};branch=${SRCBRANCH} \ 14 ${MRVL_SRC};branch=${SRCBRANCH} \
15 file://wlan_src_driver_patch_release_lf-6.6.52-2.2.0.patch \ 15 file://wlan_src_driver_patch_release_lf-6.6.52-2.2.0.patch \
16 file://mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch \ 16 file://mlinux-moal_main-lower-PRINTM_MMSG-log-level-to-KERN_INFO.patch \
17 file://mxm_wifiex_fix_build_error_for_64-bit_division.patch \
18 file://mxm_wifiex_fix_build_error_for_udelay.patch \
17" 19"
18SRCREV = "5ad19e194f49ed9447bee7864eb562618ccaf9b1" 20SRCREV = "5ad19e194f49ed9447bee7864eb562618ccaf9b1"
19 21
diff --git a/recipes-kernel/linux/linux-fslc-imx_6.6.bb b/recipes-kernel/linux/linux-fslc-imx_6.6.bb
index fb7d098b6..f49eb0738 100644
--- a/recipes-kernel/linux/linux-fslc-imx_6.6.bb
+++ b/recipes-kernel/linux/linux-fslc-imx_6.6.bb
@@ -42,8 +42,14 @@ Latest stable Kernel patchlevel is applied and maintained by Community."
42# conflicts, prioritizing NXP BSP source code as the latest vendor updates. 42# conflicts, prioritizing NXP BSP source code as the latest vendor updates.
43# Additional commits may exist to better acommodate yocto builds. 43# Additional commits may exist to better acommodate yocto builds.
44# 44#
45# $ git log --oneline --no-merges v6.6.74.. ^mainline/linux-6.6.y ^NXP/lf-6.6.y 45# $ git log --oneline --no-merges v6.6.101.. ^mainline/linux-6.6.y ^NXP/lf-6.6.y
46# - e587f8fe42f6 firmware: se_fw: remove info_list from ro section 46# - ff2e4152c6ac Fix merge error on pci/controller/dwc/pci-imx6.c
47# - 0e91a51824ac Fix the merge between 6.6.85 and imx branch
48# - db393a056f28 imx8mp-olimex.dts: CSI GPIO pins
49# - 8981bfbf2cd5 Reapply "LF-12740: mxc: vpu: hantro_v4l2: report performance statistics"
50# - 9a97c180b1c4 Fix spi-nxp-fspi merge error
51# - e587f8fe42f1 firmware: se_fw: remove info_list from ro section
52# - 0f638960dcff media: Kconfig: fix double VIDEO_DEV
47# - 198242c057e0 drivers:clk:imx:clk-imx8mp-audiomix: remove duplicated CLK_GATE_PARENT definition 53# - 198242c057e0 drivers:clk:imx:clk-imx8mp-audiomix: remove duplicated CLK_GATE_PARENT definition
48# - 4f5936d7391f Revert "usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null" 54# - 4f5936d7391f Revert "usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null"
49# - 997b7e13e413 imx8mp-olimex.dts: Olimex iMX8MP-SOM-EVB-IND 55# - 997b7e13e413 imx8mp-olimex.dts: Olimex iMX8MP-SOM-EVB-IND
@@ -79,14 +85,14 @@ require linux-imx.inc
79 85
80KBRANCH = "6.6-2.2.x-imx" 86KBRANCH = "6.6-2.2.x-imx"
81SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https" 87SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https"
82SRCREV = "5ff4cf4d61e11f0fdf8d4e2e54fbb203e46d34b2" 88SRCREV = "36cee4c51e9a0660f6f07d8f116f0c1fd4d77d30"
83 89
84# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition 90# PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition
85# required by kernel-yocto.bbclass. 91# required by kernel-yocto.bbclass.
86# 92#
87# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and 93# LINUX_VERSION define should match to the kernel version referenced by SRC_URI and
88# should be updated once patchlevel is merged. 94# should be updated once patchlevel is merged.
89LINUX_VERSION = "6.6.74" 95LINUX_VERSION = "6.6.101"
90 96
91KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig" 97KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig"
92KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig" 98KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig"
diff --git a/recipes-kernel/linux/linux-imx-headers_6.6.bb b/recipes-kernel/linux/linux-imx-headers_6.6.bb
index dbf4442c2..5485be18c 100644
--- a/recipes-kernel/linux/linux-imx-headers_6.6.bb
+++ b/recipes-kernel/linux/linux-imx-headers_6.6.bb
@@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
9 9
10SRC_URI = "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}" 10SRC_URI = "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}"
11SRCBRANCH = "lf-6.6.y" 11SRCBRANCH = "lf-6.6.y"
12LOCALVERSION = "-6.6.52-2.2.0" 12LOCALVERSION = "-6.6.52-2.2.1"
13SRCREV = "e0f9e2afd4cff3f02d71891244b4aa5899dfc786" 13SRCREV = "90192c5d29cb650fd7f7dd9094af14eefb38837d"
14 14
15S = "${WORKDIR}/git" 15S = "${WORKDIR}/git"
16 16
diff --git a/recipes-kernel/linux/linux-imx_6.6.bb b/recipes-kernel/linux/linux-imx_6.6.bb
index e039dd9c8..e05aca8ff 100644
--- a/recipes-kernel/linux/linux-imx_6.6.bb
+++ b/recipes-kernel/linux/linux-imx_6.6.bb
@@ -13,8 +13,8 @@ i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU
13require recipes-kernel/linux/linux-imx.inc 13require recipes-kernel/linux/linux-imx.inc
14 14
15SRCBRANCH = "lf-6.6.y" 15SRCBRANCH = "lf-6.6.y"
16LOCALVERSION = "-6.6.52-2.2.0" 16LOCALVERSION = "-6.6.52-2.2.1"
17SRCREV = "e0f9e2afd4cff3f02d71891244b4aa5899dfc786" 17SRCREV = "90192c5d29cb650fd7f7dd9094af14eefb38837d"
18 18
19SRC_URI += " \ 19SRC_URI += " \
20 file://0001-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch \ 20 file://0001-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch \
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
new file mode 100644
index 000000000..029b80e17
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
@@ -0,0 +1,33 @@
1From 3bc5d48257032b6bbee532aad15062fbbcc43bfe Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.z@gmail.com>
3Date: Mon, 27 Jan 2020 10:22:35 +0000
4Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build
5
6When Yocto build is performed, opencv searches for data dir using simple
7'test' command, this fails because pkg-config provides an absolute
8path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR
9in order for the 'test' utility to pick up the absolute path.
10
11Upstream-Status: Inappropriate [OE-specific]
12
13Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
14Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
15
16---
17 ext/opencv/meson.build | 3 +++
18 1 file changed, 3 insertions(+)
19
20diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
21index 1d86b90..b5c8b95 100644
22--- a/ext/opencv/meson.build
23+++ b/ext/opencv/meson.build
24@@ -87,6 +87,9 @@ if opencv_found
25 opencv_prefix = opencv_dep.get_variable('prefix')
26 gstopencv_cargs += ['-DOPENCV_PREFIX="' + opencv_prefix + '"']
27
28+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
29+ opencv_prefix = pkgconf_sysroot + opencv_prefix
30+
31 # Check the data dir used by opencv for its xml data files
32 # Use prefix from pkg-config to be compatible with cross-compilation
33 r = run_command('test', '-d', opencv_prefix + '/share/opencv', check: false)
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb
index 7e9e71972..01971739d 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.24.7.imx.bb
@@ -178,7 +178,7 @@ FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
178 178
179DEFAULT_PREFERENCE = "-1" 179DEFAULT_PREFERENCE = "-1"
180 180
181LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c" 181LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770"
182 182
183DEPENDS:append:imxgpu2d = " virtual/libg2d" 183DEPENDS:append:imxgpu2d = " virtual/libg2d"
184 184
@@ -190,8 +190,8 @@ SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plug
190SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " 190SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
191SRC_URI:append = " file://0001-autovideoconvert-add-imxvideoconvert_g2d.patch" 191SRC_URI:append = " file://0001-autovideoconvert-add-imxvideoconvert_g2d.patch"
192GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https" 192GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
193SRCBRANCH = "MM_04.09.01_2408_L6.6.y" 193SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
194SRCREV = "7011fdfa6d60fb3ee1dc8545f675cfdb519203cd" 194SRCREV = "bba296b75dfb3e7ae4c836255edbd2b3c085c269"
195 195
196S = "${WORKDIR}/git" 196S = "${WORKDIR}/git"
197 197
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb
index 6e7bc20eb..1f3420247 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.24.7.imx.bb
@@ -118,8 +118,8 @@ SRC_URI:remove = " \
118SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " 118SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
119 119
120GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https" 120GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
121SRCBRANCH = "MM_04.09.01_2408_L6.6.y" 121SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
122SRCREV = "97b1a45e945d3784790cafd2fcc4f6cb16e739d7" 122SRCREV = "1493b6719e801154003172e89b5d30280b7cb6b6"
123 123
124S = "${WORKDIR}/git" 124S = "${WORKDIR}/git"
125 125
@@ -135,8 +135,6 @@ PACKAGECONFIG_G2D:imxgpu2d ??= "g2d"
135PACKAGECONFIG[g2d] = ",,virtual/libg2d" 135PACKAGECONFIG[g2d] = ",,virtual/libg2d"
136PACKAGECONFIG[viv-fb] = ",,virtual/libgles2" 136PACKAGECONFIG[viv-fb] = ",,virtual/libgles2"
137 137
138# GCC-14 otherwise errors out
139CFLAGS += "-Wno-error=incompatible-pointer-types"
140EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}"" 138EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}""
141 139
142# links with imx-gpu libs which are pre-built for glibc 140# links with imx-gpu libs which are pre-built for glibc
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb
index 67dc139fa..828f7cb8a 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.7.imx.bb
@@ -94,7 +94,7 @@ FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
94DEFAULT_PREFERENCE = "-1" 94DEFAULT_PREFERENCE = "-1"
95 95
96LIC_FILES_CHKSUM = " \ 96LIC_FILES_CHKSUM = " \
97 file://LICENSE.txt;md5=a6f89e2100d9b6cdffcea4f398e37343 \ 97 file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770 \
98 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \ 98 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \
99" 99"
100# Enable pulsesink in gstreamer 100# Enable pulsesink in gstreamer
@@ -111,8 +111,8 @@ SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plu
111 111
112SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " 112SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
113GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https" 113GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
114SRCBRANCH = "MM_04.09.01_2408_L6.6.y" 114SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
115SRCREV = "d8727edd56536a5c39de7905f073fce61896c0af" 115SRCREV = "80c60e7c86ac0f73128531fa65c01c0be10ad7d4"
116 116
117# set 32bit compile timer for 32-bit platform 117# set 32bit compile timer for 32-bit platform
118GLIBC_64BIT_TIME_FLAGS:mx6-nxp-bsp = "" 118GLIBC_64BIT_TIME_FLAGS:mx6-nxp-bsp = ""
@@ -125,6 +125,7 @@ CFLAGS += " \
125 -Wno-error=implicit-function-declaration \ 125 -Wno-error=implicit-function-declaration \
126 -Wno-error=incompatible-pointer-types \ 126 -Wno-error=incompatible-pointer-types \
127" 127"
128
128S = "${WORKDIR}/git" 129S = "${WORKDIR}/git"
129 130
130COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 131COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb
index 43cb6a4a2..bd090d156 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.24.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.24.7.imx.bb
@@ -92,14 +92,21 @@ LIC_FILES_CHKSUM = " \
92" 92"
93 93
94# Use i.MX fork of GST for customizations 94# Use i.MX fork of GST for customizations
95SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" 95SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
96 file://0001-tests-respect-the-idententaion-used-in-meson.patch \
97 file://0002-tests-add-support-for-install-the-tests.patch \
98 file://0003-tests-use-a-dictionaries-for-environment.patch \
99 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch \
100"
96SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " 101SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
97GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" 102GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
98SRCBRANCH = "MM_04.09.01_2408_L6.6.y" 103SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
99SRCREV = "eb286c0766a4fbbae70c8e9dda074f5a90e52e42" 104SRCREV = "1a8f23da16cd224574ab2386803149c76f2cb628"
100 105
101S = "${WORKDIR}/git" 106S = "${WORKDIR}/git"
102 107
108PACKAGECONFIG[tests] = "-Dtests=enabled,-Dtests=disabled"
109
103COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 110COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
104 111
105########### End of i.MX overrides ######### 112########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
index 53c5106cf..432338e50 100644
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
@@ -28,17 +28,19 @@ DEPENDS_IMX_OPENCL_CONVERTER = "imx-opencl-converter"
28DEPENDS_IMX_OPENCL_CONVERTER:mx6-nxp-bsp = "" 28DEPENDS_IMX_OPENCL_CONVERTER:mx6-nxp-bsp = ""
29DEPENDS_IMX_OPENCL_CONVERTER:mx7-nxp-bsp = "" 29DEPENDS_IMX_OPENCL_CONVERTER:mx7-nxp-bsp = ""
30DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = "" 30DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = ""
31DEPENDS_IMX_OPENCL_CONVERTER:mx95-nxp-bsp = "imx-opencl-converter"
31 32
32# For backwards compatibility 33# For backwards compatibility
33RREPLACES:${PN} = "gst1.0-fsl-plugin" 34RREPLACES:${PN} = "gst1.0-fsl-plugin"
34RPROVIDES:${PN} = "gst1.0-fsl-plugin" 35RPROVIDES:${PN} = "gst1.0-fsl-plugin"
35RCONFLICTS:${PN} = "gst1.0-fsl-plugin" 36RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
36 37
37PV = "4.9.1+git${SRCPV}" 38PV = "4.9.2+git${SRCPV}"
38 39
39SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}" 40SRC_URI = "${IMXGST_SRC};branch=${SRCBRANCH}"
40SRCBRANCH = "MM_04.09.01_2408_L6.6.y" 41IMXGST_SRC ?= "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https"
41SRCREV = "87135d5f084b6c61efa6671cddc3a5509ab11640" 42SRCBRANCH = "MM_04.09.02_2410_L6.6.y"
43SRCREV = "ef9c1a080e739e6f0be878148d9f4a050dc83bec"
42 44
43S = "${WORKDIR}/git" 45S = "${WORKDIR}/git"
44 46
diff --git a/recipes-security/optee-imx/optee-client-fslc-imx.inc b/recipes-security/optee-imx/optee-client-fslc-imx.inc
index 60e9e1fa5..78d9399e4 100644
--- a/recipes-security/optee-imx/optee-client-fslc-imx.inc
+++ b/recipes-security/optee-imx/optee-client-fslc-imx.inc
@@ -1,7 +1,36 @@
1# Copyright 2017-2024 NXP 1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-client-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
2 3
3require optee-client-fslc.inc 4require optee-client-fslc.inc
4 5
5SRC_URI += "git://github.com/nxp-imx/imx-optee-client.git;protocol=https;branch=${SRCBRANCH}" 6DEPENDS += "util-linux-libuuid"
6 7
7COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 8FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:"
9SRC_URI:remove = "git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https"
10SRC_URI:prepend = "${OPTEE_CLIENT_SRC};branch=${SRCBRANCH} "
11OPTEE_CLIENT_SRC ?= "git://github.com/nxp-imx/imx-optee-client.git;protocol=https"
12
13inherit pkgconfig
14
15EXTRA_OECMAKE += "-DCFG_TEE_CLIENT_LOAD_PATH=${nonarch_base_libdir}"
16
17# Copy the udev rule from the libts recipe for starting tee-supplicant@.service
18SRC_URI += "file://tee-udev.rules"
19# Unix group name for dev/tee* ownership.
20TEE_GROUP_NAME ?= "teeclnt"
21do_install:append () {
22 if ${@oe.utils.conditional('VIRTUAL-RUNTIME_dev_manager', 'busybox-mdev', 'false', 'true', d)}; then
23 install -d ${D}${nonarch_base_libdir}/udev/rules.d/
24 install -m 755 ${WORKDIR}/tee-udev.rules ${D}${nonarch_base_libdir}/udev/rules.d/
25 sed -i -e "s/teeclnt/${TEE_GROUP_NAME}/" ${D}${nonarch_base_libdir}/udev/rules.d/tee-udev.rules
26 fi
27
28 if [ "${libdir}" != "${nonarch_base_libdir}" ]; then
29 rm -rf ${D}${libdir}/systemd
30 fi
31}
32inherit ${@oe.utils.conditional('VIRTUAL-RUNTIME_dev_manager', 'busybox-mdev', '', 'useradd', d)}
33USERADD_PACKAGES = "${PN}"
34GROUPADD_PARAM:${PN} = "--system ${TEE_GROUP_NAME}"
35
36FILES:${PN} += "${libdir}/* ${includedir}/*"
diff --git a/recipes-security/optee-imx/optee-client-fslc.inc b/recipes-security/optee-imx/optee-client-fslc.inc
index f051dfaa0..3adf38da3 100644
--- a/recipes-security/optee-imx/optee-client-fslc.inc
+++ b/recipes-security/optee-imx/optee-client-fslc.inc
@@ -1,42 +1,43 @@
1# Copyright 2017-2024 NXP 1# Copied from meta-arm/recipes-security/optee/optee-client.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
3
4SUMMARY = "OP-TEE Client API"
5DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE"
6HOMEPAGE = "https://www.op-tee.org/"
2 7
3SUMMARY = "OPTEE Client libs"
4HOMEPAGE = "http://www.optee.org/"
5LICENSE = "BSD-2-Clause" 8LICENSE = "BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b" 9LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
7 10
8SRC_URI = "file://tee-supplicant.service" 11inherit systemd update-rc.d cmake
9
10S = "${WORKDIR}/git"
11B = "${WORKDIR}/build"
12 12
13inherit python3native systemd features_check pkgconfig 13SRC_URI = " \
14 14 git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https \
15DEPENDS = "util-linux-libuuid" 15 file://tee-supplicant@.service \
16 file://tee-supplicant.sh \
17"
16 18
17REQUIRED_MACHINE_FEATURES = "optee" 19UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
18 20
19SYSTEMD_SERVICE:${PN} = "tee-supplicant.service" 21S = "${WORKDIR}/git"
20 22
21EXTRA_OEMAKE = " \ 23EXTRA_OECMAKE = " \
22 -C ${S} O=${B} \ 24 -DBUILD_SHARED_LIBS=ON \
25 -DCFG_TEE_FS_PARENT_PATH='${localstatedir}/lib/tee' \
23" 26"
27EXTRA_OECMAKE:append:toolchain-clang = " -DCFG_WERROR=0"
24 28
25do_install () { 29do_install:append() {
26 oe_runmake -C ${S} install 30 install -D -p -m0644 ${WORKDIR}/tee-supplicant@.service ${D}${systemd_system_unitdir}/tee-supplicant@.service
27 31 install -D -p -m0755 ${WORKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
28 install -D -p -m0644 ${B}/export/usr/lib/libteec.so.2.0.0 ${D}${libdir}/libteec.so.2.0.0
29 ln -sf libteec.so.2.0.0 ${D}${libdir}/libteec.so.2
30 ln -sf libteec.so.2.0.0 ${D}${libdir}/libteec.so
31
32 install -D -p -m0644 ${B}/export/usr/lib/libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0.1.0
33 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so.0
34 ln -sf libckteec.so.0.1.0 ${D}${libdir}/libckteec.so
35 32
36 install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${bindir}/tee-supplicant 33 sed -i -e s:@sysconfdir@:${sysconfdir}:g \
34 -e s:@sbindir@:${sbindir}:g \
35 ${D}${systemd_system_unitdir}/tee-supplicant@.service \
36 ${D}${sysconfdir}/init.d/tee-supplicant
37}
37 38
38 cp -a ${B}/export/usr/include ${D}${includedir} 39SYSTEMD_SERVICE:${PN} = "tee-supplicant@.service"
39 40
40 sed -i -e s:/etc:${sysconfdir}:g -e s:/usr/bin:${bindir}:g ${WORKDIR}/tee-supplicant.service 41INITSCRIPT_PACKAGES = "${PN}"
41 install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service 42INITSCRIPT_NAME:${PN} = "tee-supplicant"
42} 43INITSCRIPT_PARAMS:${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
diff --git a/recipes-security/optee-imx/optee-client/tee-supplicant.service b/recipes-security/optee-imx/optee-client/tee-supplicant.service
deleted file mode 100644
index 0e2b4f6ba..000000000
--- a/recipes-security/optee-imx/optee-client/tee-supplicant.service
+++ /dev/null
@@ -1,11 +0,0 @@
1[Unit]
2Description=TEE Supplicant
3
4[Service]
5User=root
6EnvironmentFile=-/etc/default/tee-supplicant
7ExecStart=/usr/bin/tee-supplicant $OPTARGS
8
9[Install]
10WantedBy=basic.target
11
diff --git a/recipes-security/optee-imx/optee-client/tee-supplicant.sh b/recipes-security/optee-imx/optee-client/tee-supplicant.sh
new file mode 100644
index 000000000..b4d219502
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/tee-supplicant.sh
@@ -0,0 +1,46 @@
1#!/bin/sh
2
3# Source function library
4. /etc/init.d/functions
5
6NAME=tee-supplicant
7PATH=/sbin:/bin:/usr/sbin:/usr/bin
8DESC="OP-TEE Supplicant"
9
10DAEMON=@sbindir@/$NAME
11
12test -f $DAEMON || exit 0
13
14test -f @sysconfdir@/default/$NAME && . @sysconfdir@/default/$NAME
15test -f @sysconfdir@/default/rcS && . @sysconfdir@/default/rcS
16
17SSD_OPTIONS="--oknodo --quiet --exec $DAEMON -- -d $OPTARGS"
18
19set -e
20
21case $1 in
22 start)
23 echo -n "Starting $DESC: "
24 start-stop-daemon --start $SSD_OPTIONS
25 echo "${DAEMON##*/}."
26 ;;
27 stop)
28 echo -n "Stopping $DESC: "
29 start-stop-daemon --stop $SSD_OPTIONS
30 echo "${DAEMON##*/}."
31 ;;
32 restart|force-reload)
33 $0 stop
34 sleep 1
35 $0 start
36 ;;
37 status)
38 status ${DAEMON} || exit $?
39 ;;
40 *)
41 echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2
42 exit 1
43 ;;
44esac
45
46exit 0
diff --git a/recipes-security/optee-imx/optee-client/tee-supplicant@.service b/recipes-security/optee-imx/optee-client/tee-supplicant@.service
new file mode 100644
index 000000000..72c0b9aa5
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/tee-supplicant@.service
@@ -0,0 +1,10 @@
1[Unit]
2Description=TEE Supplicant on %i
3
4[Service]
5User=root
6EnvironmentFile=-@sysconfdir@/default/tee-supplicant
7ExecStart=@sbindir@/tee-supplicant $OPTARGS
8
9[Install]
10WantedBy=basic.target
diff --git a/recipes-security/optee-imx/optee-client/tee-udev.rules b/recipes-security/optee-imx/optee-client/tee-udev.rules
new file mode 100644
index 000000000..43fafd8c9
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client/tee-udev.rules
@@ -0,0 +1,7 @@
1# tee devices can only be accessed by the teeclnt group members
2KERNEL=="tee[0-9]*", TAG+="systemd", MODE="0660", GROUP="teeclnt"
3
4# If a /dev/teepriv[0-9]* device is detected, start an instance of
5# tee-supplicant.service with the device name as parameter
6KERNEL=="teepriv[0-9]*", MODE="0660", OWNER="root", GROUP="tee", \
7 TAG+="systemd", ENV{SYSTEMD_WANTS}+="tee-supplicant@%k.service"
diff --git a/recipes-security/optee-imx/optee-client_4.2.0.imx.bb b/recipes-security/optee-imx/optee-client_4.2.0.imx.bb
deleted file mode 100644
index 59f8c84d7..000000000
--- a/recipes-security/optee-imx/optee-client_4.2.0.imx.bb
+++ /dev/null
@@ -1,7 +0,0 @@
1require optee-client-fslc-imx.inc
2
3SRCBRANCH = "lf-6.6.36_2.1.0"
4SRCREV = "3eac340a781c00ccd61b151b0e9c22a8c6e9f9f0"
5
6DEPENDS += "util-linux"
7EXTRA_OEMAKE += "PKG_CONFIG=pkg-config"
diff --git a/recipes-security/optee-imx/optee-client_4.4.0.imx.bb b/recipes-security/optee-imx/optee-client_4.4.0.imx.bb
new file mode 100644
index 000000000..322f998fc
--- /dev/null
+++ b/recipes-security/optee-imx/optee-client_4.4.0.imx.bb
@@ -0,0 +1,4 @@
1require optee-client-fslc-imx.inc
2
3SRCBRANCH = "lf-6.6.52_2.2.0"
4SRCREV = "d221676a58b305bddbf97db00395205b3038de8e"
diff --git a/recipes-security/optee-imx/optee-fslc.inc b/recipes-security/optee-imx/optee-fslc.inc
index 6c96dc2bc..6e380e050 100644
--- a/recipes-security/optee-imx/optee-fslc.inc
+++ b/recipes-security/optee-imx/optee-fslc.inc
@@ -1,26 +1,40 @@
1HOMEPAGE = "http://www.optee.org/" 1# Copied from meta-arm/recipes-security/optee/optee.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
2 3
3inherit python3native features_check 4UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
4 5
5REQUIRED_MACHINE_FEATURES = "optee" 6COMPATIBLE_MACHINE ?= "invalid"
7COMPATIBLE_MACHINE:qemuarm64 ?= "qemuarm64"
8COMPATIBLE_MACHINE:qemuarm ?= "qemuarm"
9# Please add supported machines below or set it in .bbappend or .conf
6 10
7DEPENDS = "python3-cryptography-native" 11OPTEEMACHINE ?= "${MACHINE}"
12OPTEEMACHINE:aarch64:qemuall ?= "vexpress-qemu_armv8a"
13OPTEEMACHINE:arm:qemuall ?= "vexpress-qemu_virt"
8 14
9S = "${WORKDIR}/git" 15OPTEE_ARCH = "null"
10B = "${WORKDIR}/build" 16OPTEE_ARCH:arm = "arm32"
11
12OPTEE_ARCH:arm = "arm32"
13OPTEE_ARCH:aarch64 = "arm64" 17OPTEE_ARCH:aarch64 = "arm64"
18OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
19
20OPTEE_TOOLCHAIN = "${@d.getVar('TOOLCHAIN') or 'gcc'}"
21OPTEE_COMPILER = "${@bb.utils.contains("BBFILE_COLLECTIONS", "clang-layer", "${OPTEE_TOOLCHAIN}", "gcc", d)}"
14 22
15COMPILER ?= "gcc" 23# Set here but not passed to EXTRA_OEMAKE by default as that breaks
16COMPILER:toolchain-clang = "clang" 24# the optee-os build
25TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
26
27EXTRA_OEMAKE += "V=1 \
28 LIBGCC_LOCATE_CFLAGS='${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}' \
29 COMPILER=${OPTEE_COMPILER} \
30 OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${prefix} \
31 TEEC_EXPORT=${STAGING_DIR_HOST}${prefix} \
32 "
33# python3-cryptography needs the legacy provider, so set OPENSSL_MODULES to the
34# right path until this is relocated automatically.
35export OPENSSL_MODULES="${STAGING_LIBDIR_NATIVE}/ossl-modules"
17 36
18CFLAGS += "--sysroot=${STAGING_DIR_HOST}" 37CFLAGS += "--sysroot=${STAGING_DIR_HOST}"
19CXXFLAGS += "--sysroot=${STAGING_DIR_HOST}" 38
20 39# See the rationale in https://github.com/f-secure-foundry/advisories/blob/master/Security_Advisory-Ref_FSC-HWSEC-VR2021-0001-OP-TEE_TrustZone_bypass.txt.
21EXTRA_OEMAKE = " \ 40CVE_STATUS[CVE-2021-36133] = "disputed: devices shipped open for development purposes"
22 COMPILER=${COMPILER} \
23 OPENSSL_MODULES=${STAGING_LIBDIR_NATIVE}/ossl-modules \
24 OPTEE_CLIENT_EXPORT=${STAGING_DIR_HOST}${exec_prefix} \
25 -C ${S} O=${B} \
26"
diff --git a/recipes-security/optee-imx/optee-os-common-fslc-imx.inc b/recipes-security/optee-imx/optee-os-common-fslc-imx.inc
new file mode 100644
index 000000000..941182fe9
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-common-fslc-imx.inc
@@ -0,0 +1,62 @@
1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-os-common-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
3
4require optee-os-fslc.inc
5
6DEPENDS:append:arm = "u-boot-mkimage-native"
7
8FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os:"
9
10SRC_URI:remove = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
11SRC_URI:prepend = "${OPTEE_OS_SRC};branch=${SRCBRANCH} "
12SRC_URI:append = " file://0007-allow-setting-sysroot-for-clang.patch"
13SRC_URI:remove = "file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \
14 file://0002-optee-enable-clang-support.patch \
15 file://0003-core-link-add-no-warn-rwx-segments.patch"
16
17OPTEE_OS_SRC ?= "git://github.com/nxp-imx/imx-optee-os.git;protocol=https"
18
19inherit features_check
20
21REQUIRED_MACHINE_FEATURES = "optee"
22
23OPTEEMACHINE = "imx-${@d.getVar('MACHINE')[1:]}"
24OPTEEMACHINE:imx6qpdlsolox = "imx-mx6qsabresd"
25OPTEEMACHINE:mx6ul-nxp-bsp = "imx-mx6ulevk"
26OPTEEMACHINE:mx6ull-nxp-bsp = "imx-mx6ullevk"
27OPTEEMACHINE:mx6ulz-nxp-bsp = "imx-mx6ulzevk"
28OPTEEMACHINE:mx8mq-nxp-bsp = "imx-mx8mqevk"
29OPTEEMACHINE:mx8mm-nxp-bsp = "imx-mx8mmevk"
30OPTEEMACHINE:mx8mn-nxp-bsp = "imx-mx8mnevk"
31OPTEEMACHINE:mx8mp-nxp-bsp = "imx-mx8mpevk"
32OPTEEMACHINE:mx8mpul-nxp-bsp = "imx-mx8mpevk"
33OPTEEMACHINE:mx8qm-nxp-bsp = "imx-mx8qmmek"
34OPTEEMACHINE:mx8qxp-nxp-bsp = "imx-mx8qxpmek"
35OPTEEMACHINE:mx8dx-nxp-bsp = "imx-mx8dxmek"
36OPTEEMACHINE:mx8dxl-nxp-bsp = "imx-mx8dxlevk"
37OPTEEMACHINE:mx8mnul-nxp-bsp = "imx-mx8mnevk"
38OPTEEMACHINE:mx8ulp-nxp-bsp = "imx-mx8ulpevk"
39OPTEEMACHINE:mx91-nxp-bsp = "imx-mx91evk"
40OPTEEMACHINE:mx93-nxp-bsp = "imx-mx93evk"
41OPTEEMACHINE:mx95-nxp-bsp = "imx-mx95evk"
42
43# Strip the leading imx-
44PLATFORM_FLAVOR = "${@d.getVar('OPTEEMACHINE')[4:]}"
45
46EXTRA_OEMAKE:append = " \
47 CFG_TEE_TA_LOG_LEVEL=0 \
48 CFG_TEE_CORE_LOG_LEVEL=0 \
49"
50
51EXTRA_OEMAKE:append:imx8mq-lpddr4-wevk = " \
52 CFG_CORE_LARGE_PHYS_ADDR=y \
53 CFG_CORE_ARM64_PA_BITS=36 \
54 CFG_DDR_SIZE=0x100000000 \
55 CFG_TZDRAM_START=0xfe000000 \
56"
57
58EXTRA_OEMAKE:append:imx8dxlb0-fips-lpddr4-evk = " \
59 CFG_NXP_CAAM=n \
60"
61
62COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-os-fslc-imx.inc b/recipes-security/optee-imx/optee-os-fslc-imx.inc
index f4a532b7b..5fe6a75a5 100644
--- a/recipes-security/optee-imx/optee-os-fslc-imx.inc
+++ b/recipes-security/optee-imx/optee-os-fslc-imx.inc
@@ -1,27 +1,26 @@
1require optee-os-fslc.inc 1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-os-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
2 3
3SRC_URI = "git://github.com/nxp-imx/imx-optee-os.git;protocol=https;branch=${SRCBRANCH}" 4require optee-os-common-fslc-imx.inc
4 5
5# The platform flavor corresponds to the Yocto machine without the leading 'i'. 6do_compile:arm() {
6PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}" 7 oe_runmake -C ${S} all uTee
7PLATFORM_FLAVOR:imx6qdlsabresd = "mx6qsabresd" 8}
8PLATFORM_FLAVOR:imx6qdlsabreauto = "mx6qsabreauto"
9PLATFORM_FLAVOR:imx6qpdlsolox = "mx6qsabresd"
10PLATFORM_FLAVOR:mx6ul-nxp-bsp = "mx6ulevk"
11PLATFORM_FLAVOR:mx6ull-nxp-bsp = "mx6ullevk"
12PLATFORM_FLAVOR:mx6ulz-nxp-bsp = "mx6ulzevk"
13PLATFORM_FLAVOR:mx8mq-nxp-bsp = "mx8mqevk"
14PLATFORM_FLAVOR:mx8mm-nxp-bsp = "mx8mmevk"
15PLATFORM_FLAVOR:mx8mn-nxp-bsp = "mx8mnevk"
16PLATFORM_FLAVOR:mx8mnul-nxp-bsp = "mx8mnevk"
17PLATFORM_FLAVOR:mx8mp-nxp-bsp = "mx8mpevk"
18PLATFORM_FLAVOR:mx8mpul-nxp-bsp = "mx8mpevk"
19PLATFORM_FLAVOR:mx8qm-nxp-bsp = "mx8qmmek"
20PLATFORM_FLAVOR:mx8qxp-nxp-bsp = "mx8qxpmek"
21PLATFORM_FLAVOR:mx8dx-nxp-bsp = "mx8dxmek"
22PLATFORM_FLAVOR:mx8dxl-nxp-bsp = "mx8dxlevk"
23PLATFORM_FLAVOR:mx8ulp-nxp-bsp = "mx8ulpevk"
24PLATFORM_FLAVOR:mx93-nxp-bsp = "mx93evk"
25PLATFORM_FLAVOR:mx95-nxp-bsp = "mx95evk"
26 9
27COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 10do_install:append () {
11 # Install embedded TAs
12 install -d ${D}${nonarch_base_libdir}/optee_armtz/
13 install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
14}
15
16do_deploy:append() {
17 cp ${B}/core/tee-raw.bin ${DEPLOYDIR}/${MLPREFIX}optee/tee.${PLATFORM_FLAVOR}.bin
18 ln -sf ${MLPREFIX}optee/tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/tee.bin
19}
20
21do_deploy:append:arm() {
22 cp ${B}/core/uTee ${DEPLOYDIR}/${MLPREFIX}optee/uTee-${OPTEE_BIN_EXT}
23 ln -sf ${MLPREFIX}optee/uTee-${OPTEE_BIN_EXT} ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT}
24}
25
26FILES:${PN} += "${nonarch_base_libdir}/optee_armtz"
diff --git a/recipes-security/optee-imx/optee-os-fslc.inc b/recipes-security/optee-imx/optee-os-fslc.inc
index 61906344f..c1f1f48f5 100644
--- a/recipes-security/optee-imx/optee-os-fslc.inc
+++ b/recipes-security/optee-imx/optee-os-fslc.inc
@@ -1,90 +1,86 @@
1# Copyright (C) 2017-2021,2024 NXP 1# Copied from meta-arm/recipes-security/optee/optee-os.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
3
4SUMMARY = "OP-TEE Trusted OS"
5DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
6HOMEPAGE = "https://www.op-tee.org/"
2 7
3SUMMARY = "OPTEE OS"
4DESCRIPTION = "OPTEE OS"
5LICENSE = "BSD-2-Clause" 8LICENSE = "BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173" 9LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
7 10
11inherit deploy python3native
8require optee-fslc.inc 12require optee-fslc.inc
9 13
10DEPENDS += "python3-pyelftools-native u-boot-mkimage-native" 14CVE_PRODUCT = "linaro:op-tee op-tee:op-tee_os"
15
16DEPENDS = "python3-pyelftools-native python3-cryptography-native"
17
11DEPENDS:append:toolchain-clang = " compiler-rt" 18DEPENDS:append:toolchain-clang = " compiler-rt"
12 19
13inherit deploy autotools 20SRC_URI = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https"
14 21
15# Optee-os can be built for 32 bits and 64 bits at the same time 22S = "${WORKDIR}/git"
16# as long as the compilers are correctly defined. 23B = "${WORKDIR}/build"
17# For 64bits, CROSS_COMPILE64 must be set
18# When defining CROSS_COMPILE and CROSS_COMPILE64, we assure that
19# any 32 or 64 bits builds will pass
20EXTRA_OEMAKE += " \
21 PLATFORM=imx-${PLATFORM_FLAVOR} \
22 CROSS_COMPILE=${HOST_PREFIX} \
23 CROSS_COMPILE64=${HOST_PREFIX} \
24 CFLAGS32=--sysroot=${STAGING_DIR_HOST} \
25 CFLAGS64=--sysroot=${STAGING_DIR_HOST} \
26 CFG_TEE_TA_LOG_LEVEL=0 \
27 CFG_TEE_CORE_LOG_LEVEL=0 \
28"
29 24
30EXTRA_OEMAKE:append:imx8mq-lpddr4-wevk = " \ 25EXTRA_OEMAKE += " \
31 CFG_CORE_LARGE_PHYS_ADDR=y \ 26 PLATFORM=${OPTEEMACHINE} \
32 CFG_CORE_ARM64_PA_BITS=36 \ 27 CFG_${OPTEE_CORE}_core=y \
33 CFG_DDR_SIZE=0x100000000 \ 28 CROSS_COMPILE_core=${HOST_PREFIX} \
34 CFG_TZDRAM_START=0xfe000000 \ 29 CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
30 NOWERROR=1 \
31 ta-targets=ta_${OPTEE_ARCH} \
32 O=${B} \
35" 33"
34EXTRA_OEMAKE += " HOST_PREFIX=${HOST_PREFIX}"
35EXTRA_OEMAKE += " CROSS_COMPILE64=${HOST_PREFIX}"
36 36
37LDFLAGS[unexport] = "1" 37LDFLAGS[unexport] = "1"
38CPPFLAGS[unexport] = "1" 38CPPFLAGS[unexport] = "1"
39AS[unexport] = "1" 39AS[unexport] = "1"
40LD[unexport] = "1" 40LD[unexport] = "1"
41 41
42do_configure[noexec] = "1"
43
44do_compile:prepend() { 42do_compile:prepend() {
45 PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name) 43 PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name)
46}
47
48do_compile:arm () {
49 oe_runmake all uTee
50} 44}
51 45
52do_compile:aarch64 () { 46do_compile() {
53 oe_runmake all 47 oe_runmake -C ${S} all
54} 48}
55do_compile[cleandirs] = "${B}" 49do_compile[cleandirs] = "${B}"
56 50
57do_deploy () { 51do_install() {
58 install -d ${DEPLOYDIR} 52 #install core in firmware
59 cp ${B}/core/tee-raw.bin ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin 53 install -d ${D}${nonarch_base_libdir}/firmware/
60 ln -sf tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/tee.bin 54 install -m 644 ${B}/core/*.bin ${B}/core/tee.elf ${D}${nonarch_base_libdir}/firmware/
61}
62 55
63do_deploy:append:arm () { 56 #install tas in optee_armtz
64 cp ${B}/core/uTee ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT} 57 install -d ${D}${nonarch_base_libdir}/optee_armtz/
58 install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz
65} 59}
66 60
67do_install () { 61PACKAGE_ARCH = "${MACHINE_ARCH}"
68 install -d ${D}${nonarch_base_libdir}/firmware/
69 install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
70 62
71 # Install embedded TAs 63do_deploy() {
72 install -d ${D}${nonarch_base_libdir}/optee_armtz/ 64 install -d ${DEPLOYDIR}/${MLPREFIX}optee
73 install -m 444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/ 65 install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/${MLPREFIX}optee
74 66
75 # Install the TA devkit 67 install -d ${DEPLOYDIR}/${MLPREFIX}optee/ta
76 install -d ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/ 68 install -m 644 ${B}/ta/*/*.elf ${DEPLOYDIR}/${MLPREFIX}optee/ta
77 cp -aR ${B}/export-ta_${OPTEE_ARCH}/* \
78 ${D}${includedir}/optee/export-user_ta_${OPTEE_ARCH}/
79} 69}
80 70
81addtask deploy after do_compile before do_install 71addtask deploy before do_build after do_install
82 72
83FILES:${PN} = "${nonarch_base_libdir}/firmware/ ${nonarch_base_libdir}/optee_armtz/" 73SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
84FILES:${PN}-staticdev = "${includedir}/optee/"
85RDEPENDS:${PN}-dev += "${PN}-staticdev"
86 74
87# FIXME: Build paths are currently embedded 75PACKAGES += "${PN}-ta"
88INSANE_SKIP:${PN}-staticdev += "buildpaths" 76FILES:${PN} = "${nonarch_base_libdir}/firmware/"
77FILES:${PN}-ta = "${nonarch_base_libdir}/optee_armtz/*"
78
79
80# note: "textrel" is not triggered on all archs
81INSANE_SKIP:${PN} = "textrel"
82# Build paths are currently embedded
83INSANE_SKIP:${PN} += "buildpaths"
84INSANE_SKIP:${PN}-dev = "staticdev"
85INHIBIT_PACKAGE_STRIP = "1"
89 86
90PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc b/recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc
new file mode 100644
index 000000000..18cf9a374
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-tadevkit-fslc-imx.inc
@@ -0,0 +1,27 @@
1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-os-tadevkit-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
3
4require optee-os-common-fslc-imx.inc
5
6SUMMARY = "OP-TEE Trusted OS TA devkit"
7DESCRIPTION = "OP-TEE TA devkit for build TAs"
8HOMEPAGE = "https://www.op-tee.org/"
9
10DEPENDS += "python3-pycryptodome-native"
11
12do_install() {
13 #install TA devkit
14 install -d ${D}${includedir}/optee/export-user_ta/
15 for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
16 cp -aR $f ${D}${includedir}/optee/export-user_ta/
17 done
18}
19
20do_deploy() {
21 echo "Do not inherit do_deploy from optee-os."
22}
23
24FILES:${PN} = "${includedir}/optee/"
25
26# Build paths are currently embedded
27INSANE_SKIP:${PN}-dev += "buildpaths"
diff --git a/recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb b/recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb
new file mode 100644
index 000000000..6aa65fb7b
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os-tadevkit_4.4.0.imx.bb
@@ -0,0 +1,4 @@
1require optee-os-tadevkit-fslc-imx.inc
2
3SRCBRANCH = "lf-6.6.52_2.2.0"
4SRCREV = "ecea75b7fee5a3c8a2d9b99769ba78c4390c0e8b"
diff --git a/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch b/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch
deleted file mode 100644
index 54fbe5419..000000000
--- a/recipes-security/optee-imx/optee-os/0001-core-Define-section-attributes-for-clang.patch
+++ /dev/null
@@ -1,245 +0,0 @@
1From ef83625c9a5f50610e25aa860c4b9c5e64723a66 Mon Sep 17 00:00:00 2001
2From: Emekcan Aras <emekcan.aras@arm.com>
3Date: Wed, 21 Dec 2022 10:55:58 +0000
4Subject: [PATCH 1/4] core: Define section attributes for clang
5
6Clang's attribute section is not same as gcc, here we need to add flags
7to sections so they can be eventually collected by linker into final
8output segments. Only way to do so with clang is to use
9
10pragma clang section ...
11
12The behavious is described here [1], this allows us to define names bss
13sections. This was not an issue until clang-15 where LLD linker starts
14to detect the section flags before merging them and throws the following
15errors
16
17| ld.lld: error: section type mismatch for .nozi.kdata_page
18| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/kernel/thread.o:(.nozi.kdata_page): SHT_PROGBITS
19| >>> output section .nozi: SHT_NOBITS
20|
21| ld.lld: error: section type mismatch for .nozi.mmu.l2
22| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/mm/core_mmu_lpae.o:(.nozi.mmu.l2): SHT_PROGBITS
23| >>> output section .nozi: SHT_NOBITS
24
25These sections should be carrying SHT_NOBITS but so far it was not
26possible to do so, this patch tries to use clangs pragma to get this
27going and match the functionality with gcc.
28
29[1] https://intel.github.io/llvm-docs/clang/LanguageExtensions.html#specifying-section-names-for-global-objects-pragma-clang-section
30
31Upstream-Status: Pending
32Signed-off-by: Khem Raj <raj.khem@gmail.com>
33Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
34---
35
36 core/arch/arm/kernel/thread.c | 19 +++++++++++++++--
37 core/arch/arm/mm/core_mmu_lpae.c | 35 +++++++++++++++++++++++++++----
38 core/arch/arm/mm/core_mmu_v7.c | 36 +++++++++++++++++++++++++++++---
39 core/kernel/thread.c | 13 +++++++++++-
40 core/mm/pgt_cache.c | 12 ++++++++++-
41 5 files changed, 104 insertions(+), 11 deletions(-)
42
43diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c
44index 66833b3a0..b3eb9cf9a 100644
45--- a/core/arch/arm/kernel/thread.c
46+++ b/core/arch/arm/kernel/thread.c
47@@ -45,15 +45,30 @@ static size_t thread_user_kcode_size __nex_bss;
48 #if defined(CFG_CORE_UNMAP_CORE_AT_EL0) && \
49 defined(CFG_CORE_WORKAROUND_SPECTRE_BP_SEC) && defined(ARM64)
50 long thread_user_kdata_sp_offset __nex_bss;
51+#ifdef __clang__
52+#ifndef CFG_VIRTUALIZATION
53+#pragma clang section bss=".nozi.kdata_page"
54+#else
55+#pragma clang section bss=".nex_nozi.kdata_page"
56+#endif
57+#endif
58 static uint8_t thread_user_kdata_page[
59 ROUNDUP(sizeof(struct thread_core_local) * CFG_TEE_CORE_NB_CORE,
60 SMALL_PAGE_SIZE)]
61 __aligned(SMALL_PAGE_SIZE)
62+#ifndef __clang__
63 #ifndef CFG_NS_VIRTUALIZATION
64- __section(".nozi.kdata_page");
65+ __section(".nozi.kdata_page")
66 #else
67- __section(".nex_nozi.kdata_page");
68+ __section(".nex_nozi.kdata_page")
69 #endif
70+#endif
71+ ;
72+#endif
73+
74+/* reset BSS section to default ( .bss ) */
75+#ifdef __clang__
76+#pragma clang section bss=""
77 #endif
78
79 #ifdef ARM32
80diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c
81index 4c8b85e39..1885e1d3f 100644
82--- a/core/arch/arm/mm/core_mmu_lpae.c
83+++ b/core/arch/arm/mm/core_mmu_lpae.c
84@@ -234,19 +234,46 @@ typedef uint16_t l1_idx_t;
85 typedef uint64_t base_xlat_tbls_t[CFG_TEE_CORE_NB_CORE][NUM_BASE_LEVEL_ENTRIES];
86 typedef uint64_t xlat_tbl_t[XLAT_TABLE_ENTRIES];
87
88+#ifdef __clang__
89+#pragma clang section bss=".nozi.mmu.base_table"
90+#endif
91 static base_xlat_tbls_t base_xlation_table[NUM_BASE_TABLES]
92 __aligned(NUM_BASE_LEVEL_ENTRIES * XLAT_ENTRY_SIZE)
93- __section(".nozi.mmu.base_table");
94+#ifndef __clang__
95+ __section(".nozi.mmu.base_table")
96+#endif
97+;
98+#ifdef __clang__
99+#pragma clang section bss=""
100+#endif
101
102+#ifdef __clang__
103+#pragma clang section bss=".nozi.mmu.l2"
104+#endif
105 static xlat_tbl_t xlat_tables[MAX_XLAT_TABLES]
106- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
107+ __aligned(XLAT_TABLE_SIZE)
108+#ifndef __clang__
109+ __section(".nozi.mmu.l2")
110+#endif
111+;
112+#ifdef __clang__
113+#pragma clang section bss=""
114+#endif
115
116 #define XLAT_TABLES_SIZE (sizeof(xlat_tbl_t) * MAX_XLAT_TABLES)
117
118+#ifdef __clang__
119+#pragma clang section bss=".nozi.mmu.l2"
120+#endif
121 /* MMU L2 table for TAs, one for each thread */
122 static xlat_tbl_t xlat_tables_ul1[CFG_NUM_THREADS]
123- __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
124-
125+#ifndef __clang__
126+ __aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2")
127+#endif
128+;
129+#ifdef __clang__
130+#pragma clang section bss=""
131+#endif
132 /*
133 * TAs page table entry inside a level 1 page table.
134 *
135diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c
136index 61e703da8..1960c08ca 100644
137--- a/core/arch/arm/mm/core_mmu_v7.c
138+++ b/core/arch/arm/mm/core_mmu_v7.c
139@@ -204,16 +204,46 @@ typedef uint32_t l1_xlat_tbl_t[NUM_L1_ENTRIES];
140 typedef uint32_t l2_xlat_tbl_t[NUM_L2_ENTRIES];
141 typedef uint32_t ul1_xlat_tbl_t[NUM_UL1_ENTRIES];
142
143+#ifdef __clang__
144+#pragma clang section bss=".nozi.mmu.l1"
145+#endif
146 static l1_xlat_tbl_t main_mmu_l1_ttb
147- __aligned(L1_ALIGNMENT) __section(".nozi.mmu.l1");
148+ __aligned(L1_ALIGNMENT)
149+#ifndef __clang__
150+ __section(".nozi.mmu.l1")
151+#endif
152+;
153+#ifdef __clang__
154+#pragma clang section bss=""
155+#endif
156
157 /* L2 MMU tables */
158+#ifdef __clang__
159+#pragma clang section bss=".nozi.mmu.l2"
160+#endif
161 static l2_xlat_tbl_t main_mmu_l2_ttb[MAX_XLAT_TABLES]
162- __aligned(L2_ALIGNMENT) __section(".nozi.mmu.l2");
163+ __aligned(L2_ALIGNMENT)
164+#ifndef __clang__
165+ __section(".nozi.mmu.l2")
166+#endif
167+;
168+#ifdef __clang__
169+#pragma clang section bss=""
170+#endif
171
172 /* MMU L1 table for TAs, one for each thread */
173+#ifdef __clang__
174+#pragma clang section bss=".nozi.mmu.ul1"
175+#endif
176 static ul1_xlat_tbl_t main_mmu_ul1_ttb[CFG_NUM_THREADS]
177- __aligned(UL1_ALIGNMENT) __section(".nozi.mmu.ul1");
178+ __aligned(UL1_ALIGNMENT)
179+#ifndef __clang__
180+ __section(".nozi.mmu.ul1")
181+#endif
182+;
183+#ifdef __clang__
184+#pragma clang section bss=""
185+#endif
186
187 struct mmu_partition {
188 l1_xlat_tbl_t *l1_table;
189diff --git a/core/kernel/thread.c b/core/kernel/thread.c
190index 2a1f22dce..5516b6771 100644
191--- a/core/kernel/thread.c
192+++ b/core/kernel/thread.c
193@@ -39,13 +39,24 @@ static uint32_t end_canary_value = 0xababab00;
194 name[stack_num][sizeof(name[stack_num]) / sizeof(uint32_t) - 1]
195 #endif
196
197+#define DO_PRAGMA(x) _Pragma (#x)
198+
199+#ifdef __clang__
200+#define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
201+DO_PRAGMA (clang section bss=".nozi_stack." #name) \
202+linkage uint32_t name[num_stacks] \
203+ [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
204+ STACK_ALIGNMENT) / sizeof(uint32_t)] \
205+ __attribute__((aligned(STACK_ALIGNMENT))); \
206+DO_PRAGMA(clang section bss="")
207+#else
208 #define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
209 linkage uint32_t name[num_stacks] \
210 [ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
211 STACK_ALIGNMENT) / sizeof(uint32_t)] \
212 __attribute__((section(".nozi_stack." # name), \
213 aligned(STACK_ALIGNMENT)))
214-
215+#endif
216 #define GET_STACK(stack) ((vaddr_t)(stack) + STACK_SIZE(stack))
217
218 DECLARE_STACK(stack_tmp, CFG_TEE_CORE_NB_CORE, STACK_TMP_SIZE,
219diff --git a/core/mm/pgt_cache.c b/core/mm/pgt_cache.c
220index 79553c6d2..b9efdf427 100644
221--- a/core/mm/pgt_cache.c
222+++ b/core/mm/pgt_cache.c
223@@ -410,8 +410,18 @@ void pgt_init(void)
224 * has a large alignment, while .bss has a small alignment. The current
225 * link script is optimized for small alignment in .bss
226 */
227+#ifdef __clang__
228+#pragma clang section bss=".nozi.mmu.l2"
229+#endif
230 static uint8_t pgt_tables[PGT_CACHE_SIZE][PGT_SIZE]
231- __aligned(PGT_SIZE) __section(".nozi.pgt_cache");
232+ __aligned(PGT_SIZE)
233+#ifndef __clang__
234+ __section(".nozi.pgt_cache")
235+#endif
236+ ;
237+#ifdef __clang__
238+#pragma clang section bss=""
239+#endif
240 size_t n;
241
242 for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) {
243--
2442.43.2
245
diff --git a/recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch b/recipes-security/optee-imx/optee-os/0007-allow-setting-sysroot-for-clang.patch
index dbc53542e..067ba6ebf 100644
--- a/recipes-security/optee-imx/optee-os/0002-optee-enable-clang-support.patch
+++ b/recipes-security/optee-imx/optee-os/0007-allow-setting-sysroot-for-clang.patch
@@ -1,7 +1,7 @@
1From 2ba573c9763329fbfdfacc8393d565ab747cac4d Mon Sep 17 00:00:00 2001 1From db9e44af75c7cfd3316cab15aaa387383df3e57e Mon Sep 17 00:00:00 2001
2From: Brett Warren <brett.warren@arm.com> 2From: Brett Warren <brett.warren@arm.com>
3Date: Wed, 23 Sep 2020 09:27:34 +0100 3Date: Wed, 23 Sep 2020 09:27:34 +0100
4Subject: [PATCH 2/4] optee: enable clang support 4Subject: [PATCH] optee: enable clang support
5 5
6When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used 6When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used
7to provide a sysroot wasn't included, which results in not locating 7to provide a sysroot wasn't included, which results in not locating
@@ -10,17 +10,16 @@ compiler-rt. This is mitigated by including the variable as ammended.
10Upstream-Status: Pending 10Upstream-Status: Pending
11ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701 11ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701
12Signed-off-by: Brett Warren <brett.warren@arm.com> 12Signed-off-by: Brett Warren <brett.warren@arm.com>
13Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
14---
15 13
14---
16 mk/clang.mk | 2 +- 15 mk/clang.mk | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-) 16 1 file changed, 1 insertion(+), 1 deletion(-)
18 17
19diff --git a/mk/clang.mk b/mk/clang.mk 18diff --git a/mk/clang.mk b/mk/clang.mk
20index a045beee8..1ebe2f702 100644 19index c141a3f2..7d067cc0 100644
21--- a/mk/clang.mk 20--- a/mk/clang.mk
22+++ b/mk/clang.mk 21+++ b/mk/clang.mk
23@@ -30,7 +30,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \ 22@@ -27,7 +27,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \
24 23
25 # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of 24 # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of
26 # libgcc for clang 25 # libgcc for clang
@@ -29,6 +28,3 @@ index a045beee8..1ebe2f702 100644
29 -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null) 28 -rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null)
30 29
31 # Core ASLR relies on the executable being ready to run from its preferred load 30 # Core ASLR relies on the executable being ready to run from its preferred load
32--
332.43.2
34
diff --git a/recipes-security/optee-imx/optee-os_4.2.0.imx.bb b/recipes-security/optee-imx/optee-os_4.2.0.imx.bb
deleted file mode 100644
index 11da204e9..000000000
--- a/recipes-security/optee-imx/optee-os_4.2.0.imx.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1# Copyright 2017-2024 NXP
2
3require optee-os-fslc-imx.inc
4
5SRC_URI += " \
6 file://0001-core-Define-section-attributes-for-clang.patch \
7 file://0002-optee-enable-clang-support.patch \
8"
9SRCBRANCH = "lf-6.6.36_2.1.0"
10SRCREV = "612bc5a642a4608d282abeee2349d86de996d7ee"
diff --git a/recipes-security/optee-imx/optee-os_4.4.0.imx.bb b/recipes-security/optee-imx/optee-os_4.4.0.imx.bb
new file mode 100644
index 000000000..21d0e921e
--- /dev/null
+++ b/recipes-security/optee-imx/optee-os_4.4.0.imx.bb
@@ -0,0 +1,6 @@
1# Copyright 2017-2024 NXP
2
3require optee-os-fslc-imx.inc
4
5SRCBRANCH = "lf-6.6.52_2.2.0"
6SRCREV = "ecea75b7fee5a3c8a2d9b99769ba78c4390c0e8b"
diff --git a/recipes-security/optee-imx/optee-test-fslc-imx.inc b/recipes-security/optee-imx/optee-test-fslc-imx.inc
new file mode 100644
index 000000000..ab16fd221
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test-fslc-imx.inc
@@ -0,0 +1,18 @@
1# Copied from meta-imx/meta-imx-bsp/recipes-security/optee/optee-test-imx.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L37
3
4require optee-test-fslc.inc
5
6DEPENDS += "openssl"
7
8FILESEXTRAPATHS:prepend := "${THISDIR}/optee-test:"
9
10SRC_URI:remove = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https"
11SRC_URI:prepend = "${OPTEE_TEST_SRC};branch=${SRCBRANCH} "
12
13OPTEE_TEST_SRC ?= "git://github.com/nxp-imx/imx-optee-test.git;protocol=https"
14
15EXTRA_OEMAKE:append:libc-musl = " OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}"
16CFLAGS:append:libc-musl = " -Wno-error=deprecated-declarations"
17
18COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-test-fslc.inc b/recipes-security/optee-imx/optee-test-fslc.inc
index e0c133a7c..0fb5f878a 100644
--- a/recipes-security/optee-imx/optee-test-fslc.inc
+++ b/recipes-security/optee-imx/optee-test-fslc.inc
@@ -1,38 +1,65 @@
1# Copyright (C) 2017-2021 NXP 1# Copied from meta-arm/recipes-security/optee/optee-test.inc.
2# See: https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml#L30
3
4SUMMARY = "OP-TEE sanity testsuite"
5DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite"
6HOMEPAGE = "https://www.op-tee.org/"
2 7
3SUMMARY = "OPTEE test"
4LICENSE = "BSD-2-Clause & GPL-2.0-only" 8LICENSE = "BSD-2-Clause & GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa" 9LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
6 10
11inherit python3native ptest
12inherit deploy
7require optee-fslc.inc 13require optee-fslc.inc
8 14
9DEPENDS += "optee-os optee-client openssl" 15DEPENDS = "optee-client optee-os-tadevkit python3-cryptography-native openssl"
16
17SRC_URI = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https \
18 file://run-ptest \
19 "
20
21S = "${WORKDIR}/git"
22B = "${WORKDIR}/build"
10 23
11EXTRA_OEMAKE += " \ 24EXTRA_OEMAKE += "TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
12 TA_DEV_KIT_DIR=${STAGING_INCDIR}/optee/export-user_ta_${OPTEE_ARCH}/ \ 25 OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR} \
13 CROSS_COMPILE_HOST=${HOST_PREFIX} \ 26 CROSS_COMPILE_HOST=${HOST_PREFIX} \
14 CROSS_COMPILE_TA=${HOST_PREFIX} \ 27 CROSS_COMPILE_TA=${HOST_PREFIX} \
15 CROSS_COMPILE=${HOST_PREFIX} \ 28 O=${B} \
16" 29 "
30
31CFLAGS += "-Wno-error=deprecated-declarations"
17 32
18do_compile() { 33do_compile() {
19 oe_runmake all 34 cd ${S}
35 # Top level makefile doesn't seem to handle parallel make gracefully
36 oe_runmake xtest
37 oe_runmake ta
38 oe_runmake test_plugin
20} 39}
21do_compile[cleandirs] = "${B}" 40do_compile[cleandirs] = "${B}"
22 41
23do_install () { 42do_install () {
24 install -d ${D}${bindir} 43 install -D -p -m0755 ${B}/xtest/xtest ${D}${bindir}/xtest
25 install ${B}/xtest/xtest ${D}${bindir}
26 44
27 install -d ${D}${nonarch_base_libdir}/optee_armtz 45 # install path should match the value set in optee-client/tee-supplicant
28 find ${B}/ta -name '*.ta' | while read name; do 46 # default TEEC_LOAD_PATH is /lib
29 install -m 444 $name ${D}${nonarch_base_libdir}/optee_armtz/ 47 mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/
30 done 48 install -D -p -m0444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
49 mkdir -p ${D}${libdir}/tee-supplicant/plugins
50 install -D -p -m0444 ${B}/supp_plugin/*.plugin ${D}${libdir}/tee-supplicant/plugins/
51}
31 52
32 install -d ${D}${libdir}/tee-supplicant/plugins/ 53do_deploy () {
33 install ${B}/supp_plugin/*plugin ${D}${libdir}/tee-supplicant/plugins/ 54 install -d ${DEPLOYDIR}/${MLPREFIX}optee/ta
55 install -m 644 ${B}/ta/*/*.elf ${DEPLOYDIR}/${MLPREFIX}optee/ta
34} 56}
35 57
36FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ ${libdir}/tee-supplicant/plugins/" 58addtask deploy before do_build after do_install
59
60FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ \
61 ${libdir}/tee-supplicant/plugins/ \
62 "
37 63
38RDEPENDS:${PN} = "optee-os" 64# Imports machine specific configs from staging to build
65PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-security/optee-imx/optee-test/run-ptest b/recipes-security/optee-imx/optee-test/run-ptest
new file mode 100644
index 000000000..ba88c14d3
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test/run-ptest
@@ -0,0 +1,52 @@
1#!/bin/sh
2xtest | awk '
3
4 # Escapes the special characters in a string so that, when
5 # included in a regex, it represents a literal match
6 function regx_escape_literal(str, ret) {
7 ret = str
8 gsub(/[\[\]\^\$\.\*\?\+\{\}\\\(\)\|]/ , "\\\\&", str)
9 return str
10 }
11
12 # Returns the simple test formatted name
13 function name(n, ret) {
14 ret = n
15 gsub(/\./, " ", ret)
16 return ret
17 }
18
19 # Returns the simple test formatted result
20 function result(res) {
21 if(res ~ /OK/) {
22 return "PASS"
23 } else if(res ~ /FAILED/) {
24 return "FAIL"
25 }
26 }
27
28 function parse(name, description, has_subtests, result_line) {
29 has_subtests = 0
30
31 # Consume every line up to the result line
32 result_line = " " regx_escape_literal(name) " (OK|FAILED)"
33 do {
34 getline
35
36 # If this is a subtest (denoted by an "o" bullet) then subparse
37 if($0 ~ /^o /) {
38 parse($2, description " : " substr($0, index($0, $3)))
39 has_subtests = 1
40 }
41 } while ($0 !~ result_line)
42
43 # Only print the results for the deepest nested subtests
44 if(!has_subtests) {
45 print result($2) ": " name(name) " - " description
46 }
47 }
48
49 # Start parsing at the beginning of every test (denoted by a "*" bullet)
50 /^\* / { parse($2, substr($0, index($0, $3))) }
51
52'
diff --git a/recipes-security/optee-imx/optee-test_4.2.0.imx.bb b/recipes-security/optee-imx/optee-test_4.2.0.imx.bb
deleted file mode 100644
index e2cf40e93..000000000
--- a/recipes-security/optee-imx/optee-test_4.2.0.imx.bb
+++ /dev/null
@@ -1,10 +0,0 @@
1# Copyright 2017-2024 NXP
2
3require optee-test-fslc.inc
4
5SRC_URI = "git://github.com/nxp-imx/imx-optee-test.git;protocol=https;branch=${SRCBRANCH}"
6
7SRCBRANCH = "lf-6.6.36_2.1.0"
8SRCREV = "5b52b48a73b4cc3f228ec66ae6cf9920897bb2e6"
9
10COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-security/optee-imx/optee-test_4.4.0.imx.bb b/recipes-security/optee-imx/optee-test_4.4.0.imx.bb
new file mode 100644
index 000000000..b4ac12714
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test_4.4.0.imx.bb
@@ -0,0 +1,13 @@
1# Copyright 2017-2024 NXP
2
3require optee-test-fslc-imx.inc
4
5# The BSD and GPL license files are now included in the source
6# https://github.com/OP-TEE/optee_test/commit/a748f5fcd9ec8a574dc86a5aa56d05bc6ac174e7
7LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a8fa504109e4cd7ea575bc49ea4be560 \
8 file://LICENSE-BSD;md5=dca16d6efa93b55d0fd662ae5cd6feeb \
9 file://LICENSE-GPL;md5=10e86b5d2a6cb0e2b9dcfdd26a9ac58d"
10
11
12SRCBRANCH = "lf-6.6.52_2.2.0"
13SRCREV = "dafc98ed8364d7281a9a7f0788dd0a2067844a59"