diff options
70 files changed, 968 insertions, 660 deletions
| @@ -1,4 +1,4 @@ | |||
| 1 | LA_OPT_NXP_Software_License v57 July 2024 | 1 | LA_OPT_NXP_Software_License v63 May 2025 |
| 2 | IMPORTANT. Read the following NXP Software License Agreement ("Agreement") | 2 | IMPORTANT. Read the following NXP Software License Agreement ("Agreement") |
| 3 | completely. By selecting the "I Accept" button at the end of this page, or by | 3 | completely. By selecting the "I Accept" button at the end of this page, or by |
| 4 | downloading, installing, or using the Licensed Software, you indicate that you | 4 | downloading, installing, or using the Licensed Software, you indicate that you |
| @@ -15,9 +15,9 @@ supersede this Agreement. | |||
| 15 | NXP SOFTWARE LICENSE AGREEMENT | 15 | NXP SOFTWARE LICENSE AGREEMENT |
| 16 | This is a legal agreement between your employer, of which you are an authorized | 16 | This is a legal agreement between your employer, of which you are an authorized |
| 17 | representative, or, if you have no employer, you as an individual ("you" or | 17 | representative, 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 |
| 19 | States or NXP Semiconductors Netherlands B.V., if Licensee if located outside | 19 | or NXP Semiconductors Netherlands B.V., if Licensee if located outside of the |
| 20 | of the United States (“NXP”). It concerns your rights to use the software | 20 | United States (“NXP”). It concerns your rights to use the software |
| 21 | provided to you in binary or source code form and any accompanying written | 21 | provided to you in binary or source code form and any accompanying written |
| 22 | materials (the "Licensed Software"). The Licensed Software may include any | 22 | materials (the "Licensed Software"). The Licensed Software may include any |
| 23 | updates or error corrections or documentation relating to the Licensed Software | 23 | updates 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 | |||
| 157 | results obtained from your use of the Licensed Software, including any problems | 157 | results obtained from your use of the Licensed Software, including any problems |
| 158 | or suggested improvements thereof, and NXP retains the right to use such | 158 | or suggested improvements thereof, and NXP retains the right to use such |
| 159 | results and related information in any manner it deems appropriate. | 159 | results and related information in any manner it deems appropriate. |
| 160 | 3.9. Licensee may not use the Licensed Software as data or training | ||
| 161 | input to any artificial intelligence models or machine learning algorithms. | ||
| 160 | 4. OPEN SOURCE. Open source software included in the Licensed | 162 | 4. OPEN SOURCE. Open source software included in the Licensed |
| 161 | Software is not licensed under the terms of this Agreement but is instead | 163 | Software is not licensed under the terms of this Agreement but is instead |
| 162 | licensed under the terms of the applicable open source license(s), such as the | 164 | licensed under the terms of the applicable open source license(s), such as the |
| @@ -222,9 +224,10 @@ to you. | |||
| 222 | disclaims any warranty for the Licensed Software. The Licensed Software is | 224 | disclaims any warranty for the Licensed Software. The Licensed Software is |
| 223 | provided "AS IS", without warranty of any kind, either express or implied, | 225 | provided "AS IS", without warranty of any kind, either express or implied, |
| 224 | including without limitation the implied warranties of merchantability, fitness | 226 | including without limitation the implied warranties of merchantability, fitness |
| 225 | for a particular purpose, or non-infringement. You assume the entire risk | 227 | for a particular purpose, non-infringement, or any warranty that the Licensed |
| 226 | arising out of the use or performance of the licensed software, or any systems | 228 | Software is free from vulnerabilities. You assume the entire risk arising out |
| 227 | you design using the licensed software (if any). | 229 | of the use or performance of the licensed software, or any systems you design |
| 230 | using the licensed software (if any). | ||
| 228 | 10. INDEMNITY. You agree to fully defend and indemnify NXP from all | 231 | 10. INDEMNITY. You agree to fully defend and indemnify NXP from all |
| 229 | claims, liabilities, and costs (including reasonable attorney’s fees) related | 232 | claims, liabilities, and costs (including reasonable attorney’s fees) related |
| 230 | to (1) your use (including your subcontractor’s or distributee’s use, if | 233 | to (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 | |||
| 242 | WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO | 245 | WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS AGREEMENT IS LIMITED TO |
| 243 | THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION WITH THE LICENSED | 246 | THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION WITH THE LICENSED |
| 244 | SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED. | 247 | SOFTWARE PROVIDED UNDER THIS AGREEMENT TO WHICH LOSSES OR DAMAGES ARE CLAIMED. |
| 245 | 12. EXPORT COMPLIANCE. Each party shall comply with all applicable | 248 | |
| 246 | export and import control laws and regulations including but not limited to the | 249 | 12. EXPORT COMPLIANCE. |
| 247 | US Export Administration Regulation (including restrictions on certain military | 250 | 12.1 Each party shall comply with all applicable export and import control |
| 248 | end uses and military end users as specified in Section 15 C.F.R. § 744.21 and | 251 | laws and regulations including but not limited to the US Export Administration |
| 249 | prohibited party lists issued by other federal governments), Catch-all | 252 | Regulation (including restrictions on certain military end uses and military |
| 250 | regulations and all national and international embargoes. Each party further | 253 | end users as specified in Section 15 C.F.R. § 744.21 and prohibited party |
| 251 | agrees that it will not knowingly transfer, divert, export or re-export, | 254 | lists issued by other federal governments), Catch-all regulations and all |
| 252 | directly or indirectly, any product, software, including software source code, | 255 | national and international embargoes. Each party further agrees that it will |
| 253 | or technology restricted by such regulations or by other applicable national | 256 | not knowingly transfer, divert, export or re-export, directly or indirectly, |
| 254 | regulations, received from the other party under this Agreement, or any direct | 257 | any product, software, including software source code, or technology restricted |
| 255 | product of such software or technical data to any person, firm, entity, country | 258 | by such regulations or by other applicable national regulations, received from |
| 256 | or destination to which such transfer, diversion, export or re-export is | 259 | the other party under this Agreement, or any direct product of such software or |
| 257 | restricted or prohibited, without obtaining prior written authorization from | 260 | technical data to any person, firm, entity, country or destination to which |
| 258 | the applicable competent government authorities to the extent required by those | 261 | such transfer, diversion, export or re-export is restricted or prohibited, |
| 259 | laws. | 262 | without obtaining prior written authorization from the applicable competent |
| 263 | government authorities to the extent required by those laws. | ||
| 264 | 12.2 Prohibition of Export to Russian Federation | ||
| 265 | |||
| 266 | (a) With respect to activity that falls under the scope of Article 12g, | ||
| 267 | 12ga of Council Regulation (EU) No 833/2014, or Council Regulation (EU) No | ||
| 268 | 765/2006 (as the case requires), you (a) will not sell, export or re-export, | ||
| 269 | directly or indirectly any item, and (b) will not sell, license or sublicense | ||
| 270 | any intellectual property rights or trade secrets, to the Russian Federation or | ||
| 271 | Belarus, or for use in the Russian Federation or Belarus. | ||
| 272 | |||
| 273 | (b) You will ensure that the purpose of paragraph (a) above is not | ||
| 274 | frustrated by any third parties further down the commercial chain, including by | ||
| 275 | either resellers, sublicensees, or both. | ||
| 276 | |||
| 277 | (c) You will set up and maintain an adequate monitoring mechanism to detect | ||
| 278 | conduct by any third parties further down the commercial chain, including by | ||
| 279 | either resellers, sublicensees, or both, that would frustrate the purpose of | ||
| 280 | paragraph (a). | ||
| 281 | |||
| 282 | (d) Any violation of paragraphs (a), (b) or (c) will constitute a material | ||
| 283 | breach of this Agreement, and NXP will be entitled to seek appropriate | ||
| 284 | remedies, including, but not limited to: (i) termination of these Terms; (ii) | ||
| 285 | suspension of any of its business relationships with you, youraffiliates or | ||
| 286 | both, until the breach of paragraph (a) above is remedied, and (iii) a plan to | ||
| 287 | remedy the breach. | ||
| 288 | |||
| 289 | (e) You will immediately inform NXP about any problems in applying | ||
| 290 | paragraphs (a), (b) or (c), above, including any relevant activities by third | ||
| 291 | parties that could frustrate the purpose of paragraph (a). You will make | ||
| 292 | available to NXPinformation concerning compliance with the obligations under | ||
| 293 | paragraphs (a), (b) and (c) within 2 weeks of the request for information. | ||
| 260 | 13. GOVERNMENT CONTRACT COMPLIANCE | 294 | 13. GOVERNMENT CONTRACT COMPLIANCE |
| 261 | 13.1. If you sell Authorized Systems directly to any government or public | 295 | 13.1. If you sell Authorized Systems directly to any government or public |
| 262 | entity, including U.S., state, local, foreign or international governments or | 296 | entity, including U.S., state, local, foreign or international governments or |
| @@ -403,7 +437,7 @@ directly from AGGIOS, Inc. | |||
| 403 | 437 | ||
| 404 | Airbiquity Inc.: The Airbiquity software may only be used in object code and | 438 | Airbiquity Inc.: The Airbiquity software may only be used in object code and |
| 405 | Licensee may not sublicense the Airbiquity software to any third party. | 439 | Licensee may not sublicense the Airbiquity software to any third party. |
| 406 | Licensee’s license to use the Airbiquity software expires on June 30, 2024. | 440 | Licensee’s license to use the Airbiquity software expires on June 30, 2026. |
| 407 | 441 | ||
| 408 | Amazon: Use of the Amazon software constitutes your acceptance of the terms of | 442 | Amazon: Use of the Amazon software constitutes your acceptance of the terms of |
| 409 | the Amazon Program Materials License Agreement (including the AVS Component | 443 | the 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 | |||
| 482 | NatureDSP Libraries whether in source code or in binary is restricted to NXP | 516 | NatureDSP Libraries whether in source code or in binary is restricted to NXP |
| 483 | SoC based systems or emulation enablement based on NXP SoC. | 517 | SoC based systems or emulation enablement based on NXP SoC. |
| 484 | 518 | ||
| 519 | Use of the XA NN library is limited to execution on Cadence processor cores and | ||
| 520 | not permitted non-Cadence platforms. Redistribution is permitted only as part | ||
| 521 | of an NXP SOC based product and must include all copyright and permission | ||
| 522 | notices. The library is provided “as is” without warranties, and no rights | ||
| 523 | are granted to any third-party technologies that may be required for use. Full | ||
| 524 | license terms are available from Cadence Design Systems, Inc. | ||
| 525 | |||
| 485 | CEVA D.S.P. Ltd. And CEVA Technologies Inc. ("CEVA"): The CEVA-SPF2 linear | 526 | CEVA D.S.P. Ltd. And CEVA Technologies Inc. ("CEVA"): The CEVA-SPF2 linear |
| 486 | algebra, CEVA-SPF2 Neural Network Libraries, CEVA-SPF2 Core Libraries, | 527 | algebra, CEVA-SPF2 Neural Network Libraries, CEVA-SPF2 Core Libraries, |
| 487 | CEVA-SPF2 OpenAMP and CEVA-SPF2 STL licensed modules are owned by CEVA and such | 528 | CEVA-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 | ||
| 543 | Future Technology Devices International Ltd.: Future Technology Devices | 584 | Future Technology Devices International Ltd.: Future Technology Devices |
| 544 | International software must be used consistent with the terms found here: | 585 | International software must be used consistent with the terms found here: |
| 545 | http://www.ftdichip.com/Drivers/FTDriverLicenceTerms.htm | 586 | https://ftdichip.com/driver-licence-terms-details/ |
| 546 | 587 | ||
| 547 | Global Locate (Broadcom Corporation): Use of Global Locate, Inc. software is | 588 | Global Locate (Broadcom Corporation): Use of Global Locate, Inc. software is |
| 548 | limited to evaluation and demonstration only. Permitted distributions must be | 589 | limited to evaluation and demonstration only. Permitted distributions must be |
| @@ -603,10 +644,17 @@ Licensed Software includes proprietary software of MindTree in source code | |||
| 603 | format, Licensee may make modifications and create derivative works only to the | 644 | format, Licensee may make modifications and create derivative works only to the |
| 604 | extent necessary for debugging of the Licensed Software. | 645 | extent necessary for debugging of the Licensed Software. |
| 605 | 646 | ||
| 606 | MM SOLUTIONS AD: Use of MM SOLUTIONS AEC (Auto Exposure Control) and AWB (Auto | 647 | MM SOLUTIONS EAD: Use of the following MM SOLUTIONS software is limited to use |
| 607 | White Balance) software is limited to demonstration, testing, and evaluation | 648 | in conjuncture with NXP Products that have the Imaging Subsystem Processor |
| 608 | only. In no event may Licensee distribute or sublicense the MM SOLUTIONS | 649 | (ISP) enabled (fusing configuration), as indicated in the applicable data |
| 609 | software. Further rights must be obtained directly from MM SOLUTIONS. | 650 | sheet: (i) MMS Tuning Tool; (ii) Camera Development Kit (uGuzzi); (iii) and |
| 651 | additional Camera Software. For the purposes of this Agreement, “Camera | ||
| 652 | Software” means: (a) AEC (Auto Exposure Control); (b) AWB (Auto White | ||
| 653 | Balance), (c) Auto Focus; (d) Wide Dynamic Range; (e) LED Flicker Mitigation; | ||
| 654 | and (f) Multi-Camera Harmonization. In no event may Licensee distribute or | ||
| 655 | sublicense the MM SOLUTIONS software, unless otherwise licensed to do so by | ||
| 656 | issuance of the distribution rights under Section 2.3 of the Agreement. Any | ||
| 657 | further rights must be obtained directly from MM SOLUTIONS directly. | ||
| 610 | 658 | ||
| 611 | MPEG LA: Use of MPEG LA audio or video codec technology is limited to | 659 | MPEG LA: Use of MPEG LA audio or video codec technology is limited to |
| 612 | evaluation and demonstration only. Permitted distributions must be similarly | 660 | evaluation and demonstration only. Permitted distributions must be similarly |
| @@ -617,10 +665,19 @@ Licensee under any circumstance, even by a signed written amendment to this | |||
| 617 | Agreement. | 665 | Agreement. |
| 618 | 666 | ||
| 619 | NXP Voice Software: VoiceSpot, VoiceSeeker (including AEC), VIT Speech to | 667 | NXP Voice Software: VoiceSpot, VoiceSeeker (including AEC), VIT Speech to |
| 620 | Intent, and Conversa may be used for evaluation or demonstration purposes only. | 668 | Intent, and Conversa are subject to the terms of Section 2.2 only. Any |
| 621 | Any commercial distribution rights are subject to a separate royalty agreement | 669 | commercial distribution rights are subject to a separate royalty agreement |
| 622 | obtained from NXP. | 670 | obtained from NXP. |
| 623 | 671 | ||
| 672 | Together with the voice communication algorithm Conversa Licensee may get a | ||
| 673 | tuning tool from DevExpress and/or Lightning Chart in form of certain libraries | ||
| 674 | noted as ([name].dll) (“Tool”). Conversa as well as the Tool may only be | ||
| 675 | used by Licensee internally during testing, evaluation or product development | ||
| 676 | solely for tuning purposes of Licensee’s products in connection with | ||
| 677 | Conversa. Any use of Conversa or the Tool outside the scope of this license is | ||
| 678 | strictly prohibited, distributing the Libraries in any form. Licensee may use | ||
| 679 | Conversa in connection with its products only following the execution of a | ||
| 680 | separate royalty agreement with NXP. | ||
| 624 | NXP Wireless Charging Library: License to the Software is limited to use in | 681 | NXP Wireless Charging Library: License to the Software is limited to use in |
| 625 | inductive coupling or wireless charging applications | 682 | inductive coupling or wireless charging applications |
| 626 | 683 | ||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | This file lists all licenses used by recipes in the meta-freescale layer. | 3 | This 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" |
| 132 | LICENSE = "LGPL-2.1-or-later" | 132 | LICENSE = "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" |
| 138 | LICENSE_FLAGS = "commercial" | 138 | LICENSE_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 | |||
| 62 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56 = "10c0fda810c63b052409b15a5445671a" | 62 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56 = "10c0fda810c63b052409b15a5445671a" |
| 63 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57 = "ca53281cc0caa7e320d4945a896fb837" | 63 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V57 = "ca53281cc0caa7e320d4945a896fb837" |
| 64 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58 = "c0fb372b5d7f12181de23ef480f225f3" | 64 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V58 = "c0fb372b5d7f12181de23ef480f225f3" |
| 65 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V60 = "cf2070b16b9d4acf60a98e8cbc32a25a" | ||
| 66 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V62 = "a93b654673e1bc8398ed1f30e0813359" | ||
| 67 | FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V63 = "bc649096ad3928ec06a8713b8d787eac" | ||
| 65 | 68 | ||
| 66 | FSL_EULA_FILE_MD5SUMS = " \ | 69 | FSL_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 |
| 126 | FSL_EULA_FILE_MD5SUM ?= \ | 132 | FSL_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 | ||
| 129 | LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}" | 135 | LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}" |
| 130 | LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE" | 136 | LIC_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:" | |||
| 9 | require conf/machine/include/imx95-evk.inc | 9 | require conf/machine/include/imx95-evk.inc |
| 10 | IMX_DEFAULT_BSP = "nxp" | 10 | IMX_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 | ||
| 16 | OEI_DDRCONFIG = "${@'XIMX95LPD5EVK19_6400mbps_train_timing_a1' if d.getVar('IMX_SOC_REV')[0] == 'A' else ''}" | ||
| 17 | |||
| 12 | KERNEL_DEVICETREE_BASENAME = "imx95-19x19-verdin" | 18 | KERNEL_DEVICETREE_BASENAME = "imx95-19x19-verdin" |
| 13 | 19 | ||
| 14 | KERNEL_DEVICETREE:append:use-nxp-bsp = " \ | 20 | KERNEL_DEVICETREE:append:use-nxp-bsp = " \ |
| @@ -53,11 +59,12 @@ IMXBOOT_TARGETS = "flash_a55" | |||
| 53 | OEI_BOARD = "mx95lp5" | 59 | OEI_BOARD = "mx95lp5" |
| 54 | DDR_TYPE = "lpddr5" | 60 | DDR_TYPE = "lpddr5" |
| 55 | 61 | ||
| 62 | LPDDR_FW_VERSION = "_v202409" | ||
| 56 | DDR_FIRMWARE_NAME = " \ | 63 | DDR_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 | ||
| 63 | IMXBOOT_VARIANT = "" | 70 | IMXBOOT_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)}" |
| 187 | IMX_SOC_REV:mx93-generic-bsp ??= "A1" | 187 | IMX_SOC_REV:mx93-generic-bsp ??= "A1" |
| 188 | IMX_SOC_REV:mx95-generic-bsp ??= "B0" | ||
| 188 | 189 | ||
| 189 | IMX_SOC_REV_LOWER = "${@d.getVar('IMX_SOC_REV').lower()}" | 190 | IMX_SOC_REV_LOWER = "${@d.getVar('IMX_SOC_REV').lower()}" |
| 190 | IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}" | 191 | IMX_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 |
| 507 | SECOEXT_FIRMWARE_NAME ?= "UNDEFINED" | 508 | SECOEXT_FIRMWARE_NAME ?= "" |
| 508 | SECOEXT_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}ext-ahab-container.img" | 509 | SECOEXT_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}ext-ahab-container.img" |
| 510 | SECOEXT_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 |
| 511 | MACHINE_GSTREAMER_1_0_PLUGIN ?= "" | 513 | MACHINE_GSTREAMER_1_0_PLUGIN ?= "" |
| @@ -527,25 +529,25 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin" | |||
| 527 | MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin" | 529 | MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin" |
| 528 | 530 | ||
| 529 | # GStreamer forked recipes | 531 | # GStreamer forked recipes |
| 530 | PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.0.imx" | 532 | PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.7.imx" |
| 531 | PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.0.imx" | 533 | PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.7.imx" |
| 532 | PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.0.imx" | 534 | PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.7.imx" |
| 533 | PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.0.imx" | 535 | PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.7.imx" |
| 534 | PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.0.imx" | 536 | PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.7.imx" |
| 535 | PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.0.imx" | 537 | PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.7.imx" |
| 536 | PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.0.imx" | 538 | PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.7.imx" |
| 537 | PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.0.imx" | 539 | PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.7.imx" |
| 538 | 540 | ||
| 539 | # GStreamer copied recipes | 541 | # GStreamer copied recipes |
| 540 | PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.24.0.imx" | 542 | PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.22.5.imx" |
| 541 | PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.24.0.imx" | 543 | PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.24.7.imx" |
| 542 | PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.24.0.imx" | 544 | PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.24.7.imx" |
| 543 | PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.24.0.imx" | 545 | PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.24.0.imx" |
| 544 | PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.24.0.imx" | 546 | PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.24.0.imx" |
| 545 | PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.24.0.imx" | 547 | PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.24.0.imx" |
| 546 | PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.24.0.imx" | 548 | PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.22.5.imx" |
| 547 | PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.24.0.imx" | 549 | PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.24.7.imx" |
| 548 | PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.24.0.imx" | 550 | PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.24.7.imx" |
| 549 | PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.24.0.imx" | 551 | PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.24.0.imx" |
| 550 | PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.24.0.imx" | 552 | PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.24.0.imx" |
| 551 | PREFERRED_VERSION_gstreamer1.0-vaapi:mx9-nxp-bsp ??= "1.24.0.imx" | 553 | PREFERRED_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" | |||
| 605 | PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.275.0.imx" | 607 | PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.275.0.imx" |
| 606 | 608 | ||
| 607 | # Use i.MX optee Version | 609 | # Use i.MX optee Version |
| 608 | PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.2.0.imx" | 610 | PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.4.0.imx" |
| 609 | PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.2.0.imx" | 611 | PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.4.0.imx" |
| 610 | PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.2.0.imx" | 612 | PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.4.0.imx" |
| 611 | PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.2.0.imx" | 613 | PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.4.0.imx" |
| 612 | PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.2.0.imx" | 614 | PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.4.0.imx" |
| 613 | PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.2.0.imx" | 615 | PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.4.0.imx" |
| 614 | 616 | ||
| 615 | # Use i.MX opencv Version | 617 | # Use i.MX opencv Version |
| 616 | PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx" | 618 | PREFERRED_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 | ||
| 44 | MACHINEOVERRIDES =. "qoriq:" | 44 | MACHINEOVERRIDES =. "qoriq:" |
| 45 | 45 | ||
| 46 | INHERIT += "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:" | |||
| 51 | QORIQ_DEFAULT_BSP ?= "nxp" | 53 | QORIQ_DEFAULT_BSP ?= "nxp" |
| 52 | 54 | ||
| 53 | MACHINEOVERRIDES =. "use-${QORIQ_DEFAULT_BSP}-bsp:" | 55 | MACHINEOVERRIDES =. "use-${QORIQ_DEFAULT_BSP}-bsp:" |
| 56 | MACHINEOVERRIDES_EXTENDER:use-mainline-bsp = "qoriq-generic-bsp:qoriq-mainline-bsp" | ||
| 57 | MACHINEOVERRIDES_EXTENDER:use-nxp-bsp = "qoriq-generic-bsp:qoriq-nxp-bsp" | ||
| 54 | 58 | ||
| 55 | # Sub-architecture support | 59 | # Sub-architecture support |
| 56 | MACHINE_SOCARCH_SUFFIX ?= "" | 60 | MACHINE_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 @@ | |||
| 1 | INHIBIT_DEFAULT_DEPS = "1" | ||
| 2 | DEPENDS = "gcc-arm-none-eabi-native" | ||
| 3 | |||
| 4 | S = "${WORKDIR}/git" | ||
| 5 | |||
| 6 | inherit deploy | ||
| 7 | |||
| 8 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 9 | |||
| 10 | OEI_CONFIGS ?= "UNDEFINED" | ||
| 11 | OEI_CORE ?= "UNDEFINED" | ||
| 12 | OEI_SOC ?= "UNDEFINED" | ||
| 13 | OEI_BOARD ?= "UNDEFINED" | ||
| 14 | OEI_DDRCONFIG ?= "" | ||
| 15 | OEI_DEBUG ?= "0" | ||
| 16 | |||
| 17 | LDFLAGS[unexport] = "1" | ||
| 18 | |||
| 19 | EXTRA_OEMAKE = "\ | ||
| 20 | board=${OEI_BOARD} \ | ||
| 21 | DEBUG=${OEI_DEBUG} \ | ||
| 22 | OEI_CROSS_COMPILE=arm-none-eabi-" | ||
| 23 | |||
| 24 | EXTRA_OEMAKE:append:mx95-generic-bsp = " r=${IMX_SOC_REV}" | ||
| 25 | EXTRA_OEMAKE:append = " ${@' DDR_CONFIG=${OEI_DDRCONFIG}' if d.getVar('OEI_DDRCONFIG') else ''}" | ||
| 26 | |||
| 27 | do_configure() { | ||
| 28 | for oei_config in ${OEI_CONFIGS}; do | ||
| 29 | oe_runmake clean oei=$oei_config | ||
| 30 | done | ||
| 31 | } | ||
| 32 | |||
| 33 | do_compile() { | ||
| 34 | for oei_config in ${OEI_CONFIGS}; do | ||
| 35 | oe_runmake oei=$oei_config | ||
| 36 | done | ||
| 37 | } | ||
| 38 | |||
| 39 | do_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 | |||
| 46 | addtask deploy after do_install | ||
| 47 | do_deploy() { | ||
| 48 | cp -rf ${D}/firmware/* ${DEPLOYDIR}/ | ||
| 49 | } | ||
| 50 | |||
| 51 | FILES:${PN} = "/firmware" | ||
| 52 | SYSROOT_DIRS += "/firmware" | ||
| 53 | |||
| 54 | PROVIDES += "virtual/imx-oei" | ||
| 55 | |||
| 56 | COMPATIBLE_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 @@ | |||
| 1 | SUMMARY = "i.MX Optional Execution Image" | 1 | SUMMARY = "i.MX Optional Execution Image" |
| 2 | 2 | DESCRIPTION = "\ | |
| 3 | LICENSE = "GPL-2.0-only" | 3 | The Optional Executable Image (OEI) is an optional plugin loaded and executed \ |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=59530bdf33659b29e73d4adb9f9f6552" | 4 | by Cortex-M processor ROM on many NXP i.MX processors. The Cortex-M is the \ |
| 5 | 5 | boot core, runs the boot ROM which loads the OEI, and then branches to the \ | |
| 6 | INHIBIT_DEFAULT_DEPS = "1" | 6 | OEI. The OEI then configures some aspects of the hardware such as DDR config, \ |
| 7 | DEPENDS = "gcc-arm-none-eabi-native" | 7 | init TCM ECC, etc. There could be multiple OEI images in the boot container. \ |
| 8 | After execution of OEI, the processor returns to ROM execution." | ||
| 9 | LICENSE = "BSD-3-Clause" | ||
| 10 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b66f32a90f9577a5a3255c21d79bc619" | ||
| 8 | 11 | ||
| 9 | SRC_URI = "${IMX_OEI_SRC};branch=${SRCBRANCH}" | 12 | SRC_URI = "${IMX_OEI_SRC};branch=${SRCBRANCH}" |
| 10 | IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https" | 13 | IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https" |
| 11 | SRCBRANCH = "master" | 14 | SRCBRANCH = "master" |
| 12 | SRCREV = "1a572a640ef8d6883e8ca39744cd6d2d5dbed678" | 15 | SRCREV = "ca91ce798b2f3a2a0bab8c0f835f4bea88c9b080" |
| 13 | |||
| 14 | S = "${WORKDIR}/git" | ||
| 15 | |||
| 16 | inherit deploy | ||
| 17 | |||
| 18 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
| 19 | |||
| 20 | OEI_CONFIGS ?= "UNDEFINED" | ||
| 21 | OEI_CORE ?= "UNDEFINED" | ||
| 22 | OEI_SOC ?= "UNDEFINED" | ||
| 23 | OEI_BOARD ?= "UNDEFINED" | ||
| 24 | |||
| 25 | LDFLAGS[unexport] = "1" | ||
| 26 | |||
| 27 | EXTRA_OEMAKE = "\ | ||
| 28 | board=${OEI_BOARD} \ | ||
| 29 | DEBUG=1 \ | ||
| 30 | OEI_CROSS_COMPILE=arm-none-eabi-" | ||
| 31 | |||
| 32 | do_configure() { | ||
| 33 | for oei_config in ${OEI_CONFIGS}; do | ||
| 34 | oe_runmake clean oei=$oei_config | ||
| 35 | done | ||
| 36 | } | ||
| 37 | |||
| 38 | do_compile() { | ||
| 39 | for oei_config in ${OEI_CONFIGS}; do | ||
| 40 | oe_runmake oei=$oei_config | ||
| 41 | done | ||
| 42 | } | ||
| 43 | |||
| 44 | do_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 | |||
| 51 | addtask deploy after do_install | ||
| 52 | do_deploy() { | ||
| 53 | cp -rf ${D}/firmware/* ${DEPLOYDIR}/ | ||
| 54 | } | ||
| 55 | |||
| 56 | FILES:${PN} = "/firmware" | ||
| 57 | SYSROOT_DIRS += "/firmware" | ||
| 58 | |||
| 59 | PROVIDES += "virtual/imx-oei" | ||
| 60 | 16 | ||
| 61 | COMPATIBLE_MACHINE = "(mx95-generic-bsp)" | 17 | require 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" | |||
| 18 | LDFLAGS[unexport] = "1" | 18 | LDFLAGS[unexport] = "1" |
| 19 | 19 | ||
| 20 | EXTRA_OEMAKE = " \ | 20 | EXTRA_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, \ | |||
| 9 | and pin control via a client RPC API based on ARM's System Control and \ | 9 | and pin control via a client RPC API based on ARM's System Control and \ |
| 10 | Management Interface (SCMI)." | 10 | Management Interface (SCMI)." |
| 11 | LICENSE = "BSD-3-Clause" | 11 | LICENSE = "BSD-3-Clause" |
| 12 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b66f32a90f9577a5a3255c21d79bc619" | 12 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f2a70813bc08547f509361c08b718861" |
| 13 | 13 | ||
| 14 | SRC_URI = "${IMX_SYSTEM_MANAGER_SRC};branch=${SRCBRANCH}" | 14 | SRC_URI = "${IMX_SYSTEM_MANAGER_SRC};branch=${SRCBRANCH}" |
| 15 | IMX_SYSTEM_MANAGER_SRC ?= "git://github.com/nxp-imx/imx-sm.git;protocol=https" | 15 | IMX_SYSTEM_MANAGER_SRC ?= "git://github.com/nxp-imx/imx-sm.git;protocol=https" |
| 16 | SRCBRANCH = "master" | 16 | SRCBRANCH = "master" |
| 17 | SRCREV = "709deccd9338399eb39b5cf99a60eab4fa60d539" | 17 | SRCREV = "707569f402147029feb7f9b90811a6d6ea730bb6" |
| 18 | 18 | ||
| 19 | S = "${WORKDIR}/git" | 19 | S = "${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 |
| 8 | PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx" | 8 | PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx" |
| 9 | PACKAGECONFIG:remove:mx95-nxp-bsp = "xcomposite-egl xcomposite-glx" | 9 | PACKAGECONFIG: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" | |||
| 4 | PACKAGECONFIG:remove:mx6-nxp-bsp = "xcomposite-egl xcomposite-glx" | 4 | PACKAGECONFIG:remove:mx6-nxp-bsp = "xcomposite-egl xcomposite-glx" |
| 5 | PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx" | 5 | PACKAGECONFIG:remove:mx7-nxp-bsp = "xcomposite-egl xcomposite-glx" |
| 6 | PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx" | 6 | PACKAGECONFIG:remove:mx8-nxp-bsp = "xcomposite-egl xcomposite-glx" |
| 7 | PACKAGECONFIG:remove:mx95-nxp-bsp = "xcomposite-egl xcomposite-glx" | 7 | PACKAGECONFIG: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 @@ | |||
| 2 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" | 2 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" |
| 3 | 3 | ||
| 4 | PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}" | 4 | PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}" |
| 5 | PACKAGE_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" | |||
| 3 | DESCRIPTION = "EdgeLock Secure Enclave firmware for i.MX series SoCs" | 3 | DESCRIPTION = "EdgeLock Secure Enclave firmware for i.MX series SoCs" |
| 4 | SECTION = "base" | 4 | SECTION = "base" |
| 5 | LICENSE = "Proprietary" | 5 | LICENSE = "Proprietary" |
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359" |
| 7 | 7 | ||
| 8 | inherit fsl-eula-unpack use-imx-security-controller-firmware deploy | 8 | inherit fsl-eula-unpack use-imx-security-controller-firmware deploy |
| 9 | 9 | ||
| 10 | SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" | 10 | SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" |
| 11 | IMX_SRCREV_ABBREV = "17945fc" | 11 | IMX_SRCREV_ABBREV = "d30b14a" |
| 12 | SRC_URI[sha256sum] = "8791109824767346237e53ac2c712824e54608e2092859161e6bb3e5385a7595" | 12 | SRC_URI[sha256sum] = "293a0e7957ca2a24c6c2edbc87b237141a4b7ef19b35257edce65a026d7cbc0a" |
| 13 | 13 | ||
| 14 | S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}" | 14 | S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}" |
| 15 | 15 | ||
| @@ -17,24 +17,18 @@ do_compile[noexec] = "1" | |||
| 17 | 17 | ||
| 18 | do_install() { | 18 | do_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 | ||
| 26 | do_deploy () { | 25 | do_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 | } |
| 30 | addtask deploy after do_install before do_build | 29 | addtask deploy after do_install before do_build |
| 31 | 30 | ||
| 32 | PACKAGES += "${PN}-ext" | 31 | FILES:${PN} = "${nonarch_base_libdir}/firmware" |
| 33 | |||
| 34 | ALLOW_EMPTY:${PN}-ext = "1" | ||
| 35 | |||
| 36 | FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}" | ||
| 37 | FILES:${PN}-ext += "${nonarch_base_libdir}/firmware/imx/ele/${SECOEXT_FIRMWARE_NAME}" | ||
| 38 | 32 | ||
| 39 | RREPLACES:${PN} = "firmware-sentinel" | 33 | RREPLACES:${PN} = "firmware-sentinel" |
| 40 | RPROVIDES:${PN} = "firmware-sentinel" | 34 | RPROVIDES:${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. |
| 4 | SECTION = "base" | 4 | SECTION = "base" |
| 5 | LICENSE = "Proprietary" | 5 | LICENSE = "Proprietary" |
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3" | 6 | LIC_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. |
| 10 | SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" | 10 | SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" |
| 11 | IMX_SRCREV_ABBREV = "5af0ceb" | 11 | IMX_SRCREV_ABBREV = "410be01" |
| 12 | SRC_URI[sha256sum] = "61f925e606ab020b1a36f3f7f7e459c6847f5b9dbc79421f9ef86e8fc124eb2f" | 12 | SRC_URI[sha256sum] = "0c2e2136c1efa544409017f14f07a1412cf8c1702075ed0e4060e903b91fe313" |
| 13 | 13 | ||
| 14 | S = "${WORKDIR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}" | 14 | S = "${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 | |||
| 8 | PV .= "+git${SRCPV}" | 8 | PV .= "+git${SRCPV}" |
| 9 | 9 | ||
| 10 | SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}" | 10 | SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}" |
| 11 | SRCBRANCH = "lf_v2.10" | 11 | SRCBRANCH = "lf_v2.10_6.6.52_2.2.x" |
| 12 | SRCREV = "1b27ee3edbb40ef9432c69ccaa744d1ac5d54c5d" | 12 | SRCREV = "7e374c5f57328949a2b141a567175b6a2939e964" |
| 13 | 13 | ||
| 14 | S = "${WORKDIR}/git" | 14 | S = "${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" | |||
| 44 | ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin" | 44 | ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin" |
| 45 | ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}" | 45 | ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}" |
| 46 | 46 | ||
| 47 | BOOT_VARIANT ?= "" | ||
| 48 | |||
| 47 | TOOLS_NAME ?= "mkimage_imx8" | 49 | TOOLS_NAME ?= "mkimage_imx8" |
| 48 | 50 | ||
| 49 | IMX_BOOT_SOC_TARGET ?= "INVALID" | 51 | IMX_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" | |||
| 5 | SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \ | 5 | SRC_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 | " |
| 8 | SRCBRANCH = "lf-6.6.52_2.2.0" | 8 | SRCBRANCH = "lf-6.6.52_2.2.1" |
| 9 | SRCREV = "71b8c18af93a5eb972d80fbec290006066cff24f" | 9 | SRCREV = "81fca6434be0610f3f9216a762aadc4dc3e8d8db" |
| 10 | 10 | ||
| 11 | S = "${WORKDIR}/git" | 11 | S = "${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" | |||
| 4 | LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" | 4 | LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" |
| 5 | 5 | ||
| 6 | SRC_URI = "git://github.com/nxp-imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}" | 6 | SRC_URI = "git://github.com/nxp-imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}" |
| 7 | SRCBRANCH = "lf_v2024.04" | 7 | SRCBRANCH = "lf_v2024.04_6.6.52_2.2.x" |
| 8 | LOCALVERSION ?= "-imx_v2024.04_6.6.52-2.2.0" | 8 | LOCALVERSION ?= "-imx_v2024.04_6.6.52-2.2.0" |
| 9 | SRCREV = "6c4545203d123c246c5d7995f2893959506d28e0" | 9 | SRCREV = "82d4220bc6b832128454b09814a52e674943bd9a" |
| 10 | CVE_PRODUCT = "nxp:uboot_secondary_program_loader denx:u-boot" | 10 | CVE_PRODUCT = "nxp:uboot_secondary_program_loader denx:u-boot" |
| 11 | 11 | ||
| 12 | DEPENDS += " \ | 12 | DEPENDS += " \ |
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" | |||
| 21 | KERNEL=="fb[0-9]", MODE="0660", GROUP="video" | 21 | KERNEL=="fb[0-9]", MODE="0660", GROUP="video" |
| 22 | KERNEL=="gsl_kmod", MODE="0660", GROUP="video" | 22 | KERNEL=="gsl_kmod", MODE="0660", GROUP="video" |
| 23 | KERNEL=="galcore", MODE="0660", GROUP="video" | 23 | KERNEL=="galcore", MODE="0660", GROUP="video" |
| 24 | KERNEL=="linux,cma*", NAME="dma_heap", MODE="0664", GROUP="video" | ||
| 25 | KERNEL=="mali[0-9]", MODE="0664", GROUP="video" | ||
| 26 | KERNEL=="pxp_device", MODE="0664", GROUP="video" | ||
| 27 | SUBSYSTEM=="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 | ||
| 12 | SRC_URI = " \ | 12 | SRC_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 | ||
| 18 | SRC_URI[Linux.sha256sum] = "f863bba022202361d19e5026be0af408d307f78d2dbf2c139fb7eaaabd220442" | 19 | SRC_URI[Linux.sha256sum] = "c609fe6c4d9656102f7e3139a70488ba3988c33332486c89e5fc6d85ccedd96a" |
| 19 | SRC_URI[Mac.sha256sum] = "62da0bd7e333931fba100823aa50133621c7e6047be0546bc12e29c0ea78a4d8" | 20 | SRC_URI[Mac_x86.sha256sum] = "cdbacab592661900d46e7f97f9c7dd8a720bf46b1c17f4dbb65adb372f5fc6cf" |
| 20 | SRC_URI[Windows.sha256sum] = "013ed8bb45e21b971b6b3a5802c5f154733913714bece0b020cb770a809cd206" | 21 | SRC_URI[Mac_arm.sha256sum] = "6f8854946dfbeeb36894baf0f5f555b918974d465f4b541457e65c926fdd6a6a" |
| 22 | SRC_URI[Windows.sha256sum] = "a3c7241650c05dd6373a6aef086b34322c013103da729c1b446ec86694309939" | ||
| 21 | 23 | ||
| 22 | S = "${WORKDIR}" | 24 | S = "${WORKDIR}" |
| 23 | 25 | ||
| 24 | inherit allarch | 26 | inherit allarch |
| 25 | 27 | ||
| 26 | do_install() { | 28 | do_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" | |||
| 3 | HOMEPAGE = "https://github.com/nxp-imx/mfgtools" | 3 | HOMEPAGE = "https://github.com/nxp-imx/mfgtools" |
| 4 | 4 | ||
| 5 | SRC_URI = "git://github.com/nxp-imx/mfgtools.git;protocol=https;branch=master" | 5 | SRC_URI = "git://github.com/nxp-imx/mfgtools.git;protocol=https;branch=master" |
| 6 | SRCREV = "7347a80c7a943dd7e9081d9d2bab9e6ca8e0ba07" | 6 | SRCREV = "79ce7d2b2e7459e7b7c94f902d172c30b08884ab" |
| 7 | PV = "1.5.165" | 7 | PV = "1.5.233" |
| 8 | 8 | ||
| 9 | LICENSE = "BSD-3-Clause" | 9 | LICENSE = "BSD-3-Clause" |
| 10 | LIC_FILES_CHKSUM = "file://LICENSE;md5=38ec0c18112e9a92cffc4951661e85a5" | 10 | LIC_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 | ||
| 6 | DESCRIPTION = "G2D library using i.MX GPU" | 6 | DESCRIPTION = "G2D library using i.MX GPU" |
| 7 | LICENSE = "Proprietary" | 7 | LICENSE = "Proprietary" |
| 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac" |
| 9 | DEPENDS = "libgal-imx" | 9 | DEPENDS = "libgal-imx" |
| 10 | PROVIDES = "virtual/libg2d" | 10 | PROVIDES = "virtual/libg2d" |
| 11 | 11 | ||
| 12 | SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;name=${TARGET_ARCH};fsl-eula=true" | 12 | SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;name=${TARGET_ARCH};fsl-eula=true" |
| 13 | IMX_BIN_NAME = "${BP}-${TARGET_ARCH}-${IMX_SRCREV_ABBREV}" | 13 | IMX_BIN_NAME = "${BP}-${TARGET_ARCH}-${IMX_SRCREV_ABBREV}" |
| 14 | IMX_SRCREV_ABBREV = "accdd64" | 14 | IMX_SRCREV_ABBREV = "4402ac2" |
| 15 | SRC_URI[aarch64.sha256sum] = "780479f19142126ed58e12222b80f8f3b882ad3d223ff61b7ea02001f517ff03" | 15 | SRC_URI[aarch64.sha256sum] = "f82208abc84453c94fdc737ed6267cd689e68c23af9e4154bee6ce0651c075b1" |
| 16 | SRC_URI[arm.sha256sum] = "cd4fd05dd6f6880edc3255c85fe08094a07ea4cd3eee947df004dcb8f37bc8fa" | 16 | SRC_URI[arm.sha256sum] = "bdfe4d48da0239d264b766ad46b89982f78af04ca4d5051aaf7615473b4de86a" |
| 17 | 17 | ||
| 18 | S = "${WORKDIR}/${IMX_BIN_NAME}" | 18 | S = "${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 | " |
| 367 | FILES:libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}" | 367 | FILES:libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}" |
| 368 | RDEPENDS:libopenvx-imx = "libnn-imx ${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" | 368 | RDEPENDS:libopenvx-imx = "${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" |
| 369 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES = "" | 369 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES = "" |
| 370 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8qm-nxp-bsp = "libclc-imx libopencl-imx-dev" | 370 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8qm-nxp-bsp = "libclc-imx libopencl-imx-dev" |
| 371 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8mp-nxp-bsp = "libclc-imx libopencl-imx-dev" | 371 | OPENCL_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 @@ | |||
| 1 | require imx-gpu-viv-6.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" | ||
| 4 | |||
| 5 | IMX_SRCREV_ABBREV = "accdd64" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "2242c7cbf1a2b07d40eefe5d1507747e477c54912f179ee0585a5d7965074ce0" | ||
| 8 | |||
| 9 | COMPATIBLE_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 @@ | |||
| 1 | require imx-gpu-viv-6.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" | ||
| 4 | |||
| 5 | IMX_SRCREV_ABBREV = "accdd64" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "8108fd146de6986486f34860227511a5101b31072b99cd78ae38afba8939fd4e" | ||
| 8 | |||
| 9 | COMPATIBLE_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 @@ | |||
| 1 | require imx-gpu-viv-6.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac" | ||
| 4 | |||
| 5 | IMX_SRCREV_ABBREV = "4402ac2" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "06617e2569144edbe5dd585be18c6b89bdf2da6ab56e04149c4c076e73f7884d" | ||
| 8 | |||
| 9 | COMPATIBLE_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 @@ | |||
| 1 | require imx-gpu-viv-6.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac" | ||
| 4 | |||
| 5 | IMX_SRCREV_ABBREV = "4402ac2" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "869c45f15fc3c93f9dd179410b9ee0e65e152c0e59b595a37ac1d55409e2c51d" | ||
| 8 | |||
| 9 | COMPATIBLE_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 @@ | |||
| 1 | require mali-imx.inc | 1 | require mali-imx.inc |
| 2 | 2 | ||
| 3 | LICENSE = "Proprietary" | 3 | LICENSE = "Proprietary" |
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac" |
| 5 | 5 | ||
| 6 | SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" | 6 | SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" |
| 7 | SRC_URI[sha256sum] = "947881cdad085a29dcb52dc4431f803b73c06141b31e06520f9bfe17d324f774" | 7 | SRC_URI[sha256sum] = "83a5be75384a92f0305516785ffbefe72683eba5a4ebf03ec7c1b7d7cdc76064" |
| 8 | IMX_SRCREV_ABBREV = "710cfb6" | 8 | IMX_SRCREV_ABBREV = "696f9a6" |
| 9 | 9 | ||
| 10 | S = "${WORKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}" | 10 | S = "${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 | ||
| 4 | SUMMARY = "Kernel loadable module for Vivante GPU" | 4 | SUMMARY = "Kernel loadable module for Vivante GPU" |
| 5 | DESCRIPTION = "Builds the Vivante GPU kernel driver as a loadable kernel module, \ | 5 | DESCRIPTION = "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" |
| 12 | KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}" | 12 | KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}" |
| 13 | SRCBRANCH = "lf-6.6.y" | 13 | SRCBRANCH = "lf-6.6.y" |
| 14 | LOCALVERSION = "-6.6.3-1.0.0" | 14 | LOCALVERSION = "-6.6.52-2.2.1" |
| 15 | SRCREV = "3571388e9660f96b65b5fdcc093cc973ee502949" | 15 | SRCREV = "b1d8a6dd8bef36e0bb923afbfa0466935f0270d6" |
| 16 | 16 | ||
| 17 | S = "${WORKDIR}/git" | 17 | S = "${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 @@ | |||
| 1 | From b2bcca5c812b654e39d8709070266d6fbf37c121 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Luke Wang <ziniu.wang_1@nxp.com> | ||
| 3 | Date: Tue, 15 Oct 2024 15:49:05 +0800 | ||
| 4 | Subject: [PATCH] mxm_wifiex: fix build error for 64-bit division | ||
| 5 | |||
| 6 | When build on 32-bit platform, error log shows: | ||
| 7 | ERROR: modpost: "__aeabi_uldivmod" [mwifiex/mlan.ko] undefined! | ||
| 8 | ERROR: modpost: "__aeabi_ldivmod" [mwifiex/mlan.ko] undefined! | ||
| 9 | |||
| 10 | 32-bit platform need to use do_div() to support 64-bit division. | ||
| 11 | |||
| 12 | Upstream-Status: Backport [https://github.com/nxp-imx/mwifiex/commit/fd7dd188a1ad7eb8bc110d30815e087362f91d72] | ||
| 13 | |||
| 14 | Signed-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 | |||
| 19 | diff --git a/mlan/mlan_wmm.c b/mlan/mlan_wmm.c | ||
| 20 | index 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 | -- | ||
| 104 | 2.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 @@ | |||
| 1 | From f45013f26a7045e882e4a0ac99ae126571fa60af Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Luke Wang <ziniu.wang_1@nxp.com> | ||
| 3 | Date: Tue, 15 Oct 2024 15:49:48 +0800 | ||
| 4 | Subject: [PATCH] mxm_wifiex: fix build error for udelay | ||
| 5 | |||
| 6 | When build on 32-bit platform, error log shows: | ||
| 7 | ERROR: modpost: "__bad_udelay" [mwifiex/moal.ko] undefined! | ||
| 8 | |||
| 9 | 32-bit platform udelay has 2000us limition. Split it as workaround. | ||
| 10 | |||
| 11 | Upstream-Status: Backport [https://github.com/nxp-imx/mwifiex/commit/f45013f26a7045e882e4a0ac99ae126571fa60af] | ||
| 12 | |||
| 13 | Signed-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 | |||
| 18 | diff --git a/mlinux/moal_sdio_mmc.c b/mlinux/moal_sdio_mmc.c | ||
| 19 | index 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 | " |
| 18 | SRCREV = "5ad19e194f49ed9447bee7864eb562618ccaf9b1" | 20 | SRCREV = "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 | ||
| 80 | KBRANCH = "6.6-2.2.x-imx" | 86 | KBRANCH = "6.6-2.2.x-imx" |
| 81 | SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https" | 87 | SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${KBRANCH};protocol=https" |
| 82 | SRCREV = "5ff4cf4d61e11f0fdf8d4e2e54fbb203e46d34b2" | 88 | SRCREV = "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. |
| 89 | LINUX_VERSION = "6.6.74" | 95 | LINUX_VERSION = "6.6.101" |
| 90 | 96 | ||
| 91 | KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig" | 97 | KBUILD_DEFCONFIG:mx6-generic-bsp = "imx_v7_defconfig" |
| 92 | KBUILD_DEFCONFIG:mx7-generic-bsp = "imx_v7_defconfig" | 98 | KBUILD_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 | ||
| 10 | SRC_URI = "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}" | 10 | SRC_URI = "git://github.com/nxp-imx/linux-imx.git;protocol=https;branch=${SRCBRANCH}" |
| 11 | SRCBRANCH = "lf-6.6.y" | 11 | SRCBRANCH = "lf-6.6.y" |
| 12 | LOCALVERSION = "-6.6.52-2.2.0" | 12 | LOCALVERSION = "-6.6.52-2.2.1" |
| 13 | SRCREV = "e0f9e2afd4cff3f02d71891244b4aa5899dfc786" | 13 | SRCREV = "90192c5d29cb650fd7f7dd9094af14eefb38837d" |
| 14 | 14 | ||
| 15 | S = "${WORKDIR}/git" | 15 | S = "${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 | |||
| 13 | require recipes-kernel/linux/linux-imx.inc | 13 | require recipes-kernel/linux/linux-imx.inc |
| 14 | 14 | ||
| 15 | SRCBRANCH = "lf-6.6.y" | 15 | SRCBRANCH = "lf-6.6.y" |
| 16 | LOCALVERSION = "-6.6.52-2.2.0" | 16 | LOCALVERSION = "-6.6.52-2.2.1" |
| 17 | SRCREV = "e0f9e2afd4cff3f02d71891244b4aa5899dfc786" | 17 | SRCREV = "90192c5d29cb650fd7f7dd9094af14eefb38837d" |
| 18 | 18 | ||
| 19 | SRC_URI += " \ | 19 | SRC_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 @@ | |||
| 1 | From 3bc5d48257032b6bbee532aad15062fbbcc43bfe Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andrey Zhizhikin <andrey.z@gmail.com> | ||
| 3 | Date: Mon, 27 Jan 2020 10:22:35 +0000 | ||
| 4 | Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build | ||
| 5 | |||
| 6 | When Yocto build is performed, opencv searches for data dir using simple | ||
| 7 | 'test' command, this fails because pkg-config provides an absolute | ||
| 8 | path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR | ||
| 9 | in order for the 'test' utility to pick up the absolute path. | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [OE-specific] | ||
| 12 | |||
| 13 | Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> | ||
| 14 | Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> | ||
| 15 | |||
| 16 | --- | ||
| 17 | ext/opencv/meson.build | 3 +++ | ||
| 18 | 1 file changed, 3 insertions(+) | ||
| 19 | |||
| 20 | diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build | ||
| 21 | index 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 | ||
| 179 | DEFAULT_PREFERENCE = "-1" | 179 | DEFAULT_PREFERENCE = "-1" |
| 180 | 180 | ||
| 181 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4fbd65380cdd255951079008b364516c" | 181 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770" |
| 182 | 182 | ||
| 183 | DEPENDS:append:imxgpu2d = " virtual/libg2d" | 183 | DEPENDS:append:imxgpu2d = " virtual/libg2d" |
| 184 | 184 | ||
| @@ -190,8 +190,8 @@ SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plug | |||
| 190 | SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " | 190 | SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " |
| 191 | SRC_URI:append = " file://0001-autovideoconvert-add-imxvideoconvert_g2d.patch" | 191 | SRC_URI:append = " file://0001-autovideoconvert-add-imxvideoconvert_g2d.patch" |
| 192 | GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https" | 192 | GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https" |
| 193 | SRCBRANCH = "MM_04.09.01_2408_L6.6.y" | 193 | SRCBRANCH = "MM_04.09.02_2410_L6.6.y" |
| 194 | SRCREV = "7011fdfa6d60fb3ee1dc8545f675cfdb519203cd" | 194 | SRCREV = "bba296b75dfb3e7ae4c836255edbd2b3c085c269" |
| 195 | 195 | ||
| 196 | S = "${WORKDIR}/git" | 196 | S = "${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 = " \ | |||
| 118 | SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " | 118 | SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " |
| 119 | 119 | ||
| 120 | GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https" | 120 | GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https" |
| 121 | SRCBRANCH = "MM_04.09.01_2408_L6.6.y" | 121 | SRCBRANCH = "MM_04.09.02_2410_L6.6.y" |
| 122 | SRCREV = "97b1a45e945d3784790cafd2fcc4f6cb16e739d7" | 122 | SRCREV = "1493b6719e801154003172e89b5d30280b7cb6b6" |
| 123 | 123 | ||
| 124 | S = "${WORKDIR}/git" | 124 | S = "${WORKDIR}/git" |
| 125 | 125 | ||
| @@ -135,8 +135,6 @@ PACKAGECONFIG_G2D:imxgpu2d ??= "g2d" | |||
| 135 | PACKAGECONFIG[g2d] = ",,virtual/libg2d" | 135 | PACKAGECONFIG[g2d] = ",,virtual/libg2d" |
| 136 | PACKAGECONFIG[viv-fb] = ",,virtual/libgles2" | 136 | PACKAGECONFIG[viv-fb] = ",,virtual/libgles2" |
| 137 | 137 | ||
| 138 | # GCC-14 otherwise errors out | ||
| 139 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
| 140 | EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}"" | 138 | EXTRA_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" | |||
| 94 | DEFAULT_PREFERENCE = "-1" | 94 | DEFAULT_PREFERENCE = "-1" |
| 95 | 95 | ||
| 96 | LIC_FILES_CHKSUM = " \ | 96 | LIC_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 | ||
| 112 | SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " | 112 | SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " |
| 113 | GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https" | 113 | GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https" |
| 114 | SRCBRANCH = "MM_04.09.01_2408_L6.6.y" | 114 | SRCBRANCH = "MM_04.09.02_2410_L6.6.y" |
| 115 | SRCREV = "d8727edd56536a5c39de7905f073fce61896c0af" | 115 | SRCREV = "80c60e7c86ac0f73128531fa65c01c0be10ad7d4" |
| 116 | 116 | ||
| 117 | # set 32bit compile timer for 32-bit platform | 117 | # set 32bit compile timer for 32-bit platform |
| 118 | GLIBC_64BIT_TIME_FLAGS:mx6-nxp-bsp = "" | 118 | GLIBC_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 | |||
| 128 | S = "${WORKDIR}/git" | 129 | S = "${WORKDIR}/git" |
| 129 | 130 | ||
| 130 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" | 131 | COMPATIBLE_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 |
| 95 | SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" | 95 | SRC_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 | " | ||
| 96 | SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " | 101 | SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " |
| 97 | GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" | 102 | GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" |
| 98 | SRCBRANCH = "MM_04.09.01_2408_L6.6.y" | 103 | SRCBRANCH = "MM_04.09.02_2410_L6.6.y" |
| 99 | SRCREV = "eb286c0766a4fbbae70c8e9dda074f5a90e52e42" | 104 | SRCREV = "1a8f23da16cd224574ab2386803149c76f2cb628" |
| 100 | 105 | ||
| 101 | S = "${WORKDIR}/git" | 106 | S = "${WORKDIR}/git" |
| 102 | 107 | ||
| 108 | PACKAGECONFIG[tests] = "-Dtests=enabled,-Dtests=disabled" | ||
| 109 | |||
| 103 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" | 110 | COMPATIBLE_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" | |||
| 28 | DEPENDS_IMX_OPENCL_CONVERTER:mx6-nxp-bsp = "" | 28 | DEPENDS_IMX_OPENCL_CONVERTER:mx6-nxp-bsp = "" |
| 29 | DEPENDS_IMX_OPENCL_CONVERTER:mx7-nxp-bsp = "" | 29 | DEPENDS_IMX_OPENCL_CONVERTER:mx7-nxp-bsp = "" |
| 30 | DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = "" | 30 | DEPENDS_IMX_OPENCL_CONVERTER:mx8mm-nxp-bsp = "" |
| 31 | DEPENDS_IMX_OPENCL_CONVERTER:mx95-nxp-bsp = "imx-opencl-converter" | ||
| 31 | 32 | ||
| 32 | # For backwards compatibility | 33 | # For backwards compatibility |
| 33 | RREPLACES:${PN} = "gst1.0-fsl-plugin" | 34 | RREPLACES:${PN} = "gst1.0-fsl-plugin" |
| 34 | RPROVIDES:${PN} = "gst1.0-fsl-plugin" | 35 | RPROVIDES:${PN} = "gst1.0-fsl-plugin" |
| 35 | RCONFLICTS:${PN} = "gst1.0-fsl-plugin" | 36 | RCONFLICTS:${PN} = "gst1.0-fsl-plugin" |
| 36 | 37 | ||
| 37 | PV = "4.9.1+git${SRCPV}" | 38 | PV = "4.9.2+git${SRCPV}" |
| 38 | 39 | ||
| 39 | SRC_URI = "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}" | 40 | SRC_URI = "${IMXGST_SRC};branch=${SRCBRANCH}" |
| 40 | SRCBRANCH = "MM_04.09.01_2408_L6.6.y" | 41 | IMXGST_SRC ?= "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https" |
| 41 | SRCREV = "87135d5f084b6c61efa6671cddc3a5509ab11640" | 42 | SRCBRANCH = "MM_04.09.02_2410_L6.6.y" |
| 43 | SRCREV = "ef9c1a080e739e6f0be878148d9f4a050dc83bec" | ||
| 42 | 44 | ||
| 43 | S = "${WORKDIR}/git" | 45 | S = "${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 | ||
| 3 | require optee-client-fslc.inc | 4 | require optee-client-fslc.inc |
| 4 | 5 | ||
| 5 | SRC_URI += "git://github.com/nxp-imx/imx-optee-client.git;protocol=https;branch=${SRCBRANCH}" | 6 | DEPENDS += "util-linux-libuuid" |
| 6 | 7 | ||
| 7 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" | 8 | FILESEXTRAPATHS:prepend := "${THISDIR}/optee-client:" |
| 9 | SRC_URI:remove = "git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https" | ||
| 10 | SRC_URI:prepend = "${OPTEE_CLIENT_SRC};branch=${SRCBRANCH} " | ||
| 11 | OPTEE_CLIENT_SRC ?= "git://github.com/nxp-imx/imx-optee-client.git;protocol=https" | ||
| 12 | |||
| 13 | inherit pkgconfig | ||
| 14 | |||
| 15 | EXTRA_OECMAKE += "-DCFG_TEE_CLIENT_LOAD_PATH=${nonarch_base_libdir}" | ||
| 16 | |||
| 17 | # Copy the udev rule from the libts recipe for starting tee-supplicant@.service | ||
| 18 | SRC_URI += "file://tee-udev.rules" | ||
| 19 | # Unix group name for dev/tee* ownership. | ||
| 20 | TEE_GROUP_NAME ?= "teeclnt" | ||
| 21 | do_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 | } | ||
| 32 | inherit ${@oe.utils.conditional('VIRTUAL-RUNTIME_dev_manager', 'busybox-mdev', '', 'useradd', d)} | ||
| 33 | USERADD_PACKAGES = "${PN}" | ||
| 34 | GROUPADD_PARAM:${PN} = "--system ${TEE_GROUP_NAME}" | ||
| 35 | |||
| 36 | FILES:${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 | |||
| 4 | SUMMARY = "OP-TEE Client API" | ||
| 5 | DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE" | ||
| 6 | HOMEPAGE = "https://www.op-tee.org/" | ||
| 2 | 7 | ||
| 3 | SUMMARY = "OPTEE Client libs" | ||
| 4 | HOMEPAGE = "http://www.optee.org/" | ||
| 5 | LICENSE = "BSD-2-Clause" | 8 | LICENSE = "BSD-2-Clause" |
| 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b" | 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b" |
| 7 | 10 | ||
| 8 | SRC_URI = "file://tee-supplicant.service" | 11 | inherit systemd update-rc.d cmake |
| 9 | |||
| 10 | S = "${WORKDIR}/git" | ||
| 11 | B = "${WORKDIR}/build" | ||
| 12 | 12 | ||
| 13 | inherit python3native systemd features_check pkgconfig | 13 | SRC_URI = " \ |
| 14 | 14 | git://github.com/OP-TEE/optee_client.git;branch=master;protocol=https \ | |
| 15 | DEPENDS = "util-linux-libuuid" | 15 | file://tee-supplicant@.service \ |
| 16 | file://tee-supplicant.sh \ | ||
| 17 | " | ||
| 16 | 18 | ||
| 17 | REQUIRED_MACHINE_FEATURES = "optee" | 19 | UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$" |
| 18 | 20 | ||
| 19 | SYSTEMD_SERVICE:${PN} = "tee-supplicant.service" | 21 | S = "${WORKDIR}/git" |
| 20 | 22 | ||
| 21 | EXTRA_OEMAKE = " \ | 23 | EXTRA_OECMAKE = " \ |
| 22 | -C ${S} O=${B} \ | 24 | -DBUILD_SHARED_LIBS=ON \ |
| 25 | -DCFG_TEE_FS_PARENT_PATH='${localstatedir}/lib/tee' \ | ||
| 23 | " | 26 | " |
| 27 | EXTRA_OECMAKE:append:toolchain-clang = " -DCFG_WERROR=0" | ||
| 24 | 28 | ||
| 25 | do_install () { | 29 | do_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} | 39 | SYSTEMD_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 | 41 | INITSCRIPT_PACKAGES = "${PN}" |
| 41 | install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service | 42 | INITSCRIPT_NAME:${PN} = "tee-supplicant" |
| 42 | } | 43 | INITSCRIPT_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] | ||
| 2 | Description=TEE Supplicant | ||
| 3 | |||
| 4 | [Service] | ||
| 5 | User=root | ||
| 6 | EnvironmentFile=-/etc/default/tee-supplicant | ||
| 7 | ExecStart=/usr/bin/tee-supplicant $OPTARGS | ||
| 8 | |||
| 9 | [Install] | ||
| 10 | WantedBy=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 | |||
| 6 | NAME=tee-supplicant | ||
| 7 | PATH=/sbin:/bin:/usr/sbin:/usr/bin | ||
| 8 | DESC="OP-TEE Supplicant" | ||
| 9 | |||
| 10 | DAEMON=@sbindir@/$NAME | ||
| 11 | |||
| 12 | test -f $DAEMON || exit 0 | ||
| 13 | |||
| 14 | test -f @sysconfdir@/default/$NAME && . @sysconfdir@/default/$NAME | ||
| 15 | test -f @sysconfdir@/default/rcS && . @sysconfdir@/default/rcS | ||
| 16 | |||
| 17 | SSD_OPTIONS="--oknodo --quiet --exec $DAEMON -- -d $OPTARGS" | ||
| 18 | |||
| 19 | set -e | ||
| 20 | |||
| 21 | case $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 | ;; | ||
| 44 | esac | ||
| 45 | |||
| 46 | exit 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] | ||
| 2 | Description=TEE Supplicant on %i | ||
| 3 | |||
| 4 | [Service] | ||
| 5 | User=root | ||
| 6 | EnvironmentFile=-@sysconfdir@/default/tee-supplicant | ||
| 7 | ExecStart=@sbindir@/tee-supplicant $OPTARGS | ||
| 8 | |||
| 9 | [Install] | ||
| 10 | WantedBy=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 | ||
| 2 | KERNEL=="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 | ||
| 6 | KERNEL=="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 @@ | |||
| 1 | require optee-client-fslc-imx.inc | ||
| 2 | |||
| 3 | SRCBRANCH = "lf-6.6.36_2.1.0" | ||
| 4 | SRCREV = "3eac340a781c00ccd61b151b0e9c22a8c6e9f9f0" | ||
| 5 | |||
| 6 | DEPENDS += "util-linux" | ||
| 7 | EXTRA_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 @@ | |||
| 1 | require optee-client-fslc-imx.inc | ||
| 2 | |||
| 3 | SRCBRANCH = "lf-6.6.52_2.2.0" | ||
| 4 | SRCREV = "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 @@ | |||
| 1 | HOMEPAGE = "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 | ||
| 3 | inherit python3native features_check | 4 | UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$" |
| 4 | 5 | ||
| 5 | REQUIRED_MACHINE_FEATURES = "optee" | 6 | COMPATIBLE_MACHINE ?= "invalid" |
| 7 | COMPATIBLE_MACHINE:qemuarm64 ?= "qemuarm64" | ||
| 8 | COMPATIBLE_MACHINE:qemuarm ?= "qemuarm" | ||
| 9 | # Please add supported machines below or set it in .bbappend or .conf | ||
| 6 | 10 | ||
| 7 | DEPENDS = "python3-cryptography-native" | 11 | OPTEEMACHINE ?= "${MACHINE}" |
| 12 | OPTEEMACHINE:aarch64:qemuall ?= "vexpress-qemu_armv8a" | ||
| 13 | OPTEEMACHINE:arm:qemuall ?= "vexpress-qemu_virt" | ||
| 8 | 14 | ||
| 9 | S = "${WORKDIR}/git" | 15 | OPTEE_ARCH = "null" |
| 10 | B = "${WORKDIR}/build" | 16 | OPTEE_ARCH:arm = "arm32" |
| 11 | |||
| 12 | OPTEE_ARCH:arm = "arm32" | ||
| 13 | OPTEE_ARCH:aarch64 = "arm64" | 17 | OPTEE_ARCH:aarch64 = "arm64" |
| 18 | OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}" | ||
| 19 | |||
| 20 | OPTEE_TOOLCHAIN = "${@d.getVar('TOOLCHAIN') or 'gcc'}" | ||
| 21 | OPTEE_COMPILER = "${@bb.utils.contains("BBFILE_COLLECTIONS", "clang-layer", "${OPTEE_TOOLCHAIN}", "gcc", d)}" | ||
| 14 | 22 | ||
| 15 | COMPILER ?= "gcc" | 23 | # Set here but not passed to EXTRA_OEMAKE by default as that breaks |
| 16 | COMPILER:toolchain-clang = "clang" | 24 | # the optee-os build |
| 25 | TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta" | ||
| 26 | |||
| 27 | EXTRA_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. | ||
| 35 | export OPENSSL_MODULES="${STAGING_LIBDIR_NATIVE}/ossl-modules" | ||
| 17 | 36 | ||
| 18 | CFLAGS += "--sysroot=${STAGING_DIR_HOST}" | 37 | CFLAGS += "--sysroot=${STAGING_DIR_HOST}" |
| 19 | CXXFLAGS += "--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. | |
| 21 | EXTRA_OEMAKE = " \ | 40 | CVE_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 | |||
| 4 | require optee-os-fslc.inc | ||
| 5 | |||
| 6 | DEPENDS:append:arm = "u-boot-mkimage-native" | ||
| 7 | |||
| 8 | FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os:" | ||
| 9 | |||
| 10 | SRC_URI:remove = "git://github.com/OP-TEE/optee_os.git;branch=master;protocol=https" | ||
| 11 | SRC_URI:prepend = "${OPTEE_OS_SRC};branch=${SRCBRANCH} " | ||
| 12 | SRC_URI:append = " file://0007-allow-setting-sysroot-for-clang.patch" | ||
| 13 | SRC_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 | |||
| 17 | OPTEE_OS_SRC ?= "git://github.com/nxp-imx/imx-optee-os.git;protocol=https" | ||
| 18 | |||
| 19 | inherit features_check | ||
| 20 | |||
| 21 | REQUIRED_MACHINE_FEATURES = "optee" | ||
| 22 | |||
| 23 | OPTEEMACHINE = "imx-${@d.getVar('MACHINE')[1:]}" | ||
| 24 | OPTEEMACHINE:imx6qpdlsolox = "imx-mx6qsabresd" | ||
| 25 | OPTEEMACHINE:mx6ul-nxp-bsp = "imx-mx6ulevk" | ||
| 26 | OPTEEMACHINE:mx6ull-nxp-bsp = "imx-mx6ullevk" | ||
| 27 | OPTEEMACHINE:mx6ulz-nxp-bsp = "imx-mx6ulzevk" | ||
| 28 | OPTEEMACHINE:mx8mq-nxp-bsp = "imx-mx8mqevk" | ||
| 29 | OPTEEMACHINE:mx8mm-nxp-bsp = "imx-mx8mmevk" | ||
| 30 | OPTEEMACHINE:mx8mn-nxp-bsp = "imx-mx8mnevk" | ||
| 31 | OPTEEMACHINE:mx8mp-nxp-bsp = "imx-mx8mpevk" | ||
| 32 | OPTEEMACHINE:mx8mpul-nxp-bsp = "imx-mx8mpevk" | ||
| 33 | OPTEEMACHINE:mx8qm-nxp-bsp = "imx-mx8qmmek" | ||
| 34 | OPTEEMACHINE:mx8qxp-nxp-bsp = "imx-mx8qxpmek" | ||
| 35 | OPTEEMACHINE:mx8dx-nxp-bsp = "imx-mx8dxmek" | ||
| 36 | OPTEEMACHINE:mx8dxl-nxp-bsp = "imx-mx8dxlevk" | ||
| 37 | OPTEEMACHINE:mx8mnul-nxp-bsp = "imx-mx8mnevk" | ||
| 38 | OPTEEMACHINE:mx8ulp-nxp-bsp = "imx-mx8ulpevk" | ||
| 39 | OPTEEMACHINE:mx91-nxp-bsp = "imx-mx91evk" | ||
| 40 | OPTEEMACHINE:mx93-nxp-bsp = "imx-mx93evk" | ||
| 41 | OPTEEMACHINE:mx95-nxp-bsp = "imx-mx95evk" | ||
| 42 | |||
| 43 | # Strip the leading imx- | ||
| 44 | PLATFORM_FLAVOR = "${@d.getVar('OPTEEMACHINE')[4:]}" | ||
| 45 | |||
| 46 | EXTRA_OEMAKE:append = " \ | ||
| 47 | CFG_TEE_TA_LOG_LEVEL=0 \ | ||
| 48 | CFG_TEE_CORE_LOG_LEVEL=0 \ | ||
| 49 | " | ||
| 50 | |||
| 51 | EXTRA_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 | |||
| 58 | EXTRA_OEMAKE:append:imx8dxlb0-fips-lpddr4-evk = " \ | ||
| 59 | CFG_NXP_CAAM=n \ | ||
| 60 | " | ||
| 61 | |||
| 62 | COMPATIBLE_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 @@ | |||
| 1 | require 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 | ||
| 3 | SRC_URI = "git://github.com/nxp-imx/imx-optee-os.git;protocol=https;branch=${SRCBRANCH}" | 4 | require optee-os-common-fslc-imx.inc |
| 4 | 5 | ||
| 5 | # The platform flavor corresponds to the Yocto machine without the leading 'i'. | 6 | do_compile:arm() { |
| 6 | PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}" | 7 | oe_runmake -C ${S} all uTee |
| 7 | PLATFORM_FLAVOR:imx6qdlsabresd = "mx6qsabresd" | 8 | } |
| 8 | PLATFORM_FLAVOR:imx6qdlsabreauto = "mx6qsabreauto" | ||
| 9 | PLATFORM_FLAVOR:imx6qpdlsolox = "mx6qsabresd" | ||
| 10 | PLATFORM_FLAVOR:mx6ul-nxp-bsp = "mx6ulevk" | ||
| 11 | PLATFORM_FLAVOR:mx6ull-nxp-bsp = "mx6ullevk" | ||
| 12 | PLATFORM_FLAVOR:mx6ulz-nxp-bsp = "mx6ulzevk" | ||
| 13 | PLATFORM_FLAVOR:mx8mq-nxp-bsp = "mx8mqevk" | ||
| 14 | PLATFORM_FLAVOR:mx8mm-nxp-bsp = "mx8mmevk" | ||
| 15 | PLATFORM_FLAVOR:mx8mn-nxp-bsp = "mx8mnevk" | ||
| 16 | PLATFORM_FLAVOR:mx8mnul-nxp-bsp = "mx8mnevk" | ||
| 17 | PLATFORM_FLAVOR:mx8mp-nxp-bsp = "mx8mpevk" | ||
| 18 | PLATFORM_FLAVOR:mx8mpul-nxp-bsp = "mx8mpevk" | ||
| 19 | PLATFORM_FLAVOR:mx8qm-nxp-bsp = "mx8qmmek" | ||
| 20 | PLATFORM_FLAVOR:mx8qxp-nxp-bsp = "mx8qxpmek" | ||
| 21 | PLATFORM_FLAVOR:mx8dx-nxp-bsp = "mx8dxmek" | ||
| 22 | PLATFORM_FLAVOR:mx8dxl-nxp-bsp = "mx8dxlevk" | ||
| 23 | PLATFORM_FLAVOR:mx8ulp-nxp-bsp = "mx8ulpevk" | ||
| 24 | PLATFORM_FLAVOR:mx93-nxp-bsp = "mx93evk" | ||
| 25 | PLATFORM_FLAVOR:mx95-nxp-bsp = "mx95evk" | ||
| 26 | 9 | ||
| 27 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" | 10 | do_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 | |||
| 16 | do_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 | |||
| 21 | do_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 | |||
| 26 | FILES:${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 | |||
| 4 | SUMMARY = "OP-TEE Trusted OS" | ||
| 5 | DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE" | ||
| 6 | HOMEPAGE = "https://www.op-tee.org/" | ||
| 2 | 7 | ||
| 3 | SUMMARY = "OPTEE OS" | ||
| 4 | DESCRIPTION = "OPTEE OS" | ||
| 5 | LICENSE = "BSD-2-Clause" | 8 | LICENSE = "BSD-2-Clause" |
| 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173" | 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173" |
| 7 | 10 | ||
| 11 | inherit deploy python3native | ||
| 8 | require optee-fslc.inc | 12 | require optee-fslc.inc |
| 9 | 13 | ||
| 10 | DEPENDS += "python3-pyelftools-native u-boot-mkimage-native" | 14 | CVE_PRODUCT = "linaro:op-tee op-tee:op-tee_os" |
| 15 | |||
| 16 | DEPENDS = "python3-pyelftools-native python3-cryptography-native" | ||
| 17 | |||
| 11 | DEPENDS:append:toolchain-clang = " compiler-rt" | 18 | DEPENDS:append:toolchain-clang = " compiler-rt" |
| 12 | 19 | ||
| 13 | inherit deploy autotools | 20 | SRC_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 | 22 | S = "${WORKDIR}/git" |
| 16 | # as long as the compilers are correctly defined. | 23 | B = "${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 | ||
| 20 | EXTRA_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 | ||
| 30 | EXTRA_OEMAKE:append:imx8mq-lpddr4-wevk = " \ | 25 | EXTRA_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 | " |
| 34 | EXTRA_OEMAKE += " HOST_PREFIX=${HOST_PREFIX}" | ||
| 35 | EXTRA_OEMAKE += " CROSS_COMPILE64=${HOST_PREFIX}" | ||
| 36 | 36 | ||
| 37 | LDFLAGS[unexport] = "1" | 37 | LDFLAGS[unexport] = "1" |
| 38 | CPPFLAGS[unexport] = "1" | 38 | CPPFLAGS[unexport] = "1" |
| 39 | AS[unexport] = "1" | 39 | AS[unexport] = "1" |
| 40 | LD[unexport] = "1" | 40 | LD[unexport] = "1" |
| 41 | 41 | ||
| 42 | do_configure[noexec] = "1" | ||
| 43 | |||
| 44 | do_compile:prepend() { | 42 | do_compile:prepend() { |
| 45 | PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name) | 43 | PLAT_LIBGCC_PATH=$(${CC} -print-libgcc-file-name) |
| 46 | } | ||
| 47 | |||
| 48 | do_compile:arm () { | ||
| 49 | oe_runmake all uTee | ||
| 50 | } | 44 | } |
| 51 | 45 | ||
| 52 | do_compile:aarch64 () { | 46 | do_compile() { |
| 53 | oe_runmake all | 47 | oe_runmake -C ${S} all |
| 54 | } | 48 | } |
| 55 | do_compile[cleandirs] = "${B}" | 49 | do_compile[cleandirs] = "${B}" |
| 56 | 50 | ||
| 57 | do_deploy () { | 51 | do_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 | ||
| 63 | do_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 | ||
| 67 | do_install () { | 61 | PACKAGE_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 | 63 | do_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 | ||
| 81 | addtask deploy after do_compile before do_install | 71 | addtask deploy before do_build after do_install |
| 82 | 72 | ||
| 83 | FILES:${PN} = "${nonarch_base_libdir}/firmware/ ${nonarch_base_libdir}/optee_armtz/" | 73 | SYSROOT_DIRS += "${nonarch_base_libdir}/firmware" |
| 84 | FILES:${PN}-staticdev = "${includedir}/optee/" | ||
| 85 | RDEPENDS:${PN}-dev += "${PN}-staticdev" | ||
| 86 | 74 | ||
| 87 | # FIXME: Build paths are currently embedded | 75 | PACKAGES += "${PN}-ta" |
| 88 | INSANE_SKIP:${PN}-staticdev += "buildpaths" | 76 | FILES:${PN} = "${nonarch_base_libdir}/firmware/" |
| 77 | FILES:${PN}-ta = "${nonarch_base_libdir}/optee_armtz/*" | ||
| 78 | |||
| 79 | |||
| 80 | # note: "textrel" is not triggered on all archs | ||
| 81 | INSANE_SKIP:${PN} = "textrel" | ||
| 82 | # Build paths are currently embedded | ||
| 83 | INSANE_SKIP:${PN} += "buildpaths" | ||
| 84 | INSANE_SKIP:${PN}-dev = "staticdev" | ||
| 85 | INHIBIT_PACKAGE_STRIP = "1" | ||
| 89 | 86 | ||
| 90 | PACKAGE_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 | |||
| 4 | require optee-os-common-fslc-imx.inc | ||
| 5 | |||
| 6 | SUMMARY = "OP-TEE Trusted OS TA devkit" | ||
| 7 | DESCRIPTION = "OP-TEE TA devkit for build TAs" | ||
| 8 | HOMEPAGE = "https://www.op-tee.org/" | ||
| 9 | |||
| 10 | DEPENDS += "python3-pycryptodome-native" | ||
| 11 | |||
| 12 | do_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 | |||
| 20 | do_deploy() { | ||
| 21 | echo "Do not inherit do_deploy from optee-os." | ||
| 22 | } | ||
| 23 | |||
| 24 | FILES:${PN} = "${includedir}/optee/" | ||
| 25 | |||
| 26 | # Build paths are currently embedded | ||
| 27 | INSANE_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 @@ | |||
| 1 | require optee-os-tadevkit-fslc-imx.inc | ||
| 2 | |||
| 3 | SRCBRANCH = "lf-6.6.52_2.2.0" | ||
| 4 | SRCREV = "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 @@ | |||
| 1 | From ef83625c9a5f50610e25aa860c4b9c5e64723a66 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Emekcan Aras <emekcan.aras@arm.com> | ||
| 3 | Date: Wed, 21 Dec 2022 10:55:58 +0000 | ||
| 4 | Subject: [PATCH 1/4] core: Define section attributes for clang | ||
| 5 | |||
| 6 | Clang's attribute section is not same as gcc, here we need to add flags | ||
| 7 | to sections so they can be eventually collected by linker into final | ||
| 8 | output segments. Only way to do so with clang is to use | ||
| 9 | |||
| 10 | pragma clang section ... | ||
| 11 | |||
| 12 | The behavious is described here [1], this allows us to define names bss | ||
| 13 | sections. This was not an issue until clang-15 where LLD linker starts | ||
| 14 | to detect the section flags before merging them and throws the following | ||
| 15 | errors | ||
| 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 | |||
| 25 | These sections should be carrying SHT_NOBITS but so far it was not | ||
| 26 | possible to do so, this patch tries to use clangs pragma to get this | ||
| 27 | going 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 | |||
| 31 | Upstream-Status: Pending | ||
| 32 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 33 | Signed-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 | |||
| 43 | diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c | ||
| 44 | index 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 | ||
| 80 | diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c | ||
| 81 | index 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 | * | ||
| 135 | diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c | ||
| 136 | index 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; | ||
| 189 | diff --git a/core/kernel/thread.c b/core/kernel/thread.c | ||
| 190 | index 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, | ||
| 219 | diff --git a/core/mm/pgt_cache.c b/core/mm/pgt_cache.c | ||
| 220 | index 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 | -- | ||
| 244 | 2.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 @@ | |||
| 1 | From 2ba573c9763329fbfdfacc8393d565ab747cac4d Mon Sep 17 00:00:00 2001 | 1 | From db9e44af75c7cfd3316cab15aaa387383df3e57e Mon Sep 17 00:00:00 2001 |
| 2 | From: Brett Warren <brett.warren@arm.com> | 2 | From: Brett Warren <brett.warren@arm.com> |
| 3 | Date: Wed, 23 Sep 2020 09:27:34 +0100 | 3 | Date: Wed, 23 Sep 2020 09:27:34 +0100 |
| 4 | Subject: [PATCH 2/4] optee: enable clang support | 4 | Subject: [PATCH] optee: enable clang support |
| 5 | 5 | ||
| 6 | When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used | 6 | When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used |
| 7 | to provide a sysroot wasn't included, which results in not locating | 7 | to 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. | |||
| 10 | Upstream-Status: Pending | 10 | Upstream-Status: Pending |
| 11 | ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701 | 11 | ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701 |
| 12 | Signed-off-by: Brett Warren <brett.warren@arm.com> | 12 | Signed-off-by: Brett Warren <brett.warren@arm.com> |
| 13 | Signed-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 | ||
| 19 | diff --git a/mk/clang.mk b/mk/clang.mk | 18 | diff --git a/mk/clang.mk b/mk/clang.mk |
| 20 | index a045beee8..1ebe2f702 100644 | 19 | index 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 | -- | ||
| 33 | 2.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 | |||
| 3 | require optee-os-fslc-imx.inc | ||
| 4 | |||
| 5 | SRC_URI += " \ | ||
| 6 | file://0001-core-Define-section-attributes-for-clang.patch \ | ||
| 7 | file://0002-optee-enable-clang-support.patch \ | ||
| 8 | " | ||
| 9 | SRCBRANCH = "lf-6.6.36_2.1.0" | ||
| 10 | SRCREV = "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 | |||
| 3 | require optee-os-fslc-imx.inc | ||
| 4 | |||
| 5 | SRCBRANCH = "lf-6.6.52_2.2.0" | ||
| 6 | SRCREV = "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 | |||
| 4 | require optee-test-fslc.inc | ||
| 5 | |||
| 6 | DEPENDS += "openssl" | ||
| 7 | |||
| 8 | FILESEXTRAPATHS:prepend := "${THISDIR}/optee-test:" | ||
| 9 | |||
| 10 | SRC_URI:remove = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https" | ||
| 11 | SRC_URI:prepend = "${OPTEE_TEST_SRC};branch=${SRCBRANCH} " | ||
| 12 | |||
| 13 | OPTEE_TEST_SRC ?= "git://github.com/nxp-imx/imx-optee-test.git;protocol=https" | ||
| 14 | |||
| 15 | EXTRA_OEMAKE:append:libc-musl = " OPTEE_OPENSSL_EXPORT=${STAGING_INCDIR}" | ||
| 16 | CFLAGS:append:libc-musl = " -Wno-error=deprecated-declarations" | ||
| 17 | |||
| 18 | COMPATIBLE_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 | |||
| 4 | SUMMARY = "OP-TEE sanity testsuite" | ||
| 5 | DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite" | ||
| 6 | HOMEPAGE = "https://www.op-tee.org/" | ||
| 2 | 7 | ||
| 3 | SUMMARY = "OPTEE test" | ||
| 4 | LICENSE = "BSD-2-Clause & GPL-2.0-only" | 8 | LICENSE = "BSD-2-Clause & GPL-2.0-only" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa" | 9 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa" |
| 6 | 10 | ||
| 11 | inherit python3native ptest | ||
| 12 | inherit deploy | ||
| 7 | require optee-fslc.inc | 13 | require optee-fslc.inc |
| 8 | 14 | ||
| 9 | DEPENDS += "optee-os optee-client openssl" | 15 | DEPENDS = "optee-client optee-os-tadevkit python3-cryptography-native openssl" |
| 16 | |||
| 17 | SRC_URI = "git://github.com/OP-TEE/optee_test.git;branch=master;protocol=https \ | ||
| 18 | file://run-ptest \ | ||
| 19 | " | ||
| 20 | |||
| 21 | S = "${WORKDIR}/git" | ||
| 22 | B = "${WORKDIR}/build" | ||
| 10 | 23 | ||
| 11 | EXTRA_OEMAKE += " \ | 24 | EXTRA_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 | |||
| 31 | CFLAGS += "-Wno-error=deprecated-declarations" | ||
| 17 | 32 | ||
| 18 | do_compile() { | 33 | do_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 | } |
| 21 | do_compile[cleandirs] = "${B}" | 40 | do_compile[cleandirs] = "${B}" |
| 22 | 41 | ||
| 23 | do_install () { | 42 | do_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/ | 53 | do_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 | ||
| 36 | FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ ${libdir}/tee-supplicant/plugins/" | 58 | addtask deploy before do_build after do_install |
| 59 | |||
| 60 | FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/ \ | ||
| 61 | ${libdir}/tee-supplicant/plugins/ \ | ||
| 62 | " | ||
| 37 | 63 | ||
| 38 | RDEPENDS:${PN} = "optee-os" | 64 | # Imports machine specific configs from staging to build |
| 65 | PACKAGE_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 | ||
| 2 | xtest | 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 | |||
| 3 | require optee-test-fslc.inc | ||
| 4 | |||
| 5 | SRC_URI = "git://github.com/nxp-imx/imx-optee-test.git;protocol=https;branch=${SRCBRANCH}" | ||
| 6 | |||
| 7 | SRCBRANCH = "lf-6.6.36_2.1.0" | ||
| 8 | SRCREV = "5b52b48a73b4cc3f228ec66ae6cf9920897bb2e6" | ||
| 9 | |||
| 10 | COMPATIBLE_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 | |||
| 3 | require 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 | ||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a8fa504109e4cd7ea575bc49ea4be560 \ | ||
| 8 | file://LICENSE-BSD;md5=dca16d6efa93b55d0fd662ae5cd6feeb \ | ||
| 9 | file://LICENSE-GPL;md5=10e86b5d2a6cb0e2b9dcfdd26a9ac58d" | ||
| 10 | |||
| 11 | |||
| 12 | SRCBRANCH = "lf-6.6.52_2.2.0" | ||
| 13 | SRCREV = "dafc98ed8364d7281a9a7f0788dd0a2067844a59" | ||
