summaryrefslogtreecommitdiffstats
path: root/classes
Commit message (Collapse)AuthorAgeFilesLines
* EULA: Update to v64.2Rodrigo M. Duarte13 days1-1/+3
| | | | | | | | | | | | | | | | | | This version is used in NXP release 6.18.37-2.1.0. Compared to v63, it updates the version line and adds the terms for software components provided by Vector Informatik GmbH. Add the v64.2 checksum to FSL_EULA_FILE_MD5SUMS so packages shipping the new license are accepted, and use it as the layer EULA checksum. Packages still shipping v63 keep working, as their checksum remains in the list. Tested with 'bitbake firmware-imx -c populate_lic' (MACHINE=imx8mq-evk): the layer EULA is found with the v64.2 checksum and the v63 package EULA of firmware-imx 8.32 is still accepted. Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br> (cherry picked from commit 3e8cfe47974d9a43cf45caad6a68ee81893504fa)
* Merge pull request #2835 from Freescale/backport-2827-to-blacksailOtavio Salvador2026-10-151-0/+4
|\ | | | | [Backport blacksail] qoriq_build_64bit_kernel: Avoid unused features_check warning
| * qoriq_build_64bit_kernel: Avoid unused features_check warningPrasanth R2026-10-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | REQUIRED_DISTRO_FEATURES is only appended for e6500 now, so on any other machine features_check sees it unset and warns for lttng-modules: "Recipe inherits features_check but doesn't use it" Fixes: 838e986 ("qoriq_build_64bit_kernel: Append the multiarch distro feature") Signed-off-by: Prasanth R <prasanth.r@lineo.co.jp> (cherry picked from commit 98d3ab34cc24faf47dc1217a9a09db7514b9f035)
* | fsl-dynamic-packagearch: Share the SoC architecture listbackport-2822-to-blacksailOtavio Salvador2026-10-151-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The anonymous function and fsl_dynamic_packagearch_sstate_archs() each built the list of SoC architectures, so a change to one could leave SSTATE_ARCHS out of step with PACKAGE_EXTRA_ARCHS. Move the list into fsl_dynamic_packagearch_extra_archs(): the anonymous function appends its result to PACKAGE_EXTRA_ARCHS, as before, and fsl_dynamic_packagearch_sstate_archs() adds the ones not yet in PACKAGE_ARCHS to SSTATE_ARCHS. PACKAGE_EXTRA_ARCHS, PACKAGE_ARCHS and SSTATE_ARCHS are unchanged, in the configuration and for busybox (with ARM_INSTRUCTION_SET "arm") and libdrm, on imx6qdlsabresd, imx8mp-lpddr4-evk, imx8mn-lpddr4-evk, t2080rdb and ls1046ardb, and with a lib32 multilib on imx8mp-lpddr4-evk. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> (cherry picked from commit b066c37416acb14c016fec83baf4c540c7a4ee99)
* | fsl-dynamic-packagearch: Add the SoC architectures to SSTATE_ARCHSLuciano Dittgen2026-10-151-0/+21
|/ | | | | | | | | | | | | | | | | | | | | | The class adds the SoC architectures to PACKAGE_EXTRA_ARCHS from an anonymous function, so only within a recipe: the configuration's SSTATE_ARCHS does not list them. OE-core prunes, after parsing, the sysroot manifests of recipes no longer built for an architecture, but only for the architectures in the configuration's SSTATE_ARCHS. A recipe leaving a SoC architecture in an existing build directory therefore keeps its old manifest, and the recipe sysroots of SoC architecture recipes, which search the SoC architecture before allarch and the tune ones, still take the old output. For example, after wayland-protocols moves from the SoC architecture to allarch, recipes keep getting the old patched copy. Add the SoC architectures, including the ARM/Thumb and multilib ones the anonymous function adds, to SSTATE_ARCHS. Within a recipe they are already in PACKAGE_EXTRA_ARCHS, so nothing is added there. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br> (cherry picked from commit 33263562d129055ff93c5eed6b9d53fc53783a90)
* wayland-protocols: Move the i.MX protocols to wayland-protocols-imxLuciano Dittgen2026-10-141-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bbappend patched wayland-protocols on every NXP BSP machine and built it per SoC, so every recipe built against it (libxkbcommon, systemd, dbus, glib-2.0 and about 80 more on one tune) differed between SoCs and from the mainline BSP machines, which fails yocto-check-layer test_machine_signatures. Only the i.MX weston and gstreamer1.0-plugins-bad use the NXP protocols: both call the add_dtrc_meta request added to zwp_linux_buffer_params_v1, and weston 10.0.5.imx, the default on mx6 and mx7, also implements the alpha-compositing and hdr10-metadata protocols. Follow the model of linux-imx-headers and use-imx-headers: - wayland-protocols-imx installs a copy of the staged wayland-protocols tree, carrying the three patches, in ${datadir}/imx/wayland-protocols, with its own wayland-protocols.pc in ${datadir}/imx/pkgconfig. It is named after the wayland-protocols version it copies, is NXP BSP only, and is SoC arch through MACHINE_SOCARCH_FILTER, so the recipes depending on it are SoC arch too. - use-imx-wayland-protocols makes a recipe depend on it on the NXP BSP, points meson's pkg_config_path to it so dependency('wayland-protocols') finds the i.MX copy, and propagates it to the SDK through ${PN}-dev. The i.MX weston and gstreamer1.0-plugins-bad inherit the class, and wayland-protocols stays stock and allarch for everything else. The patches are regenerated from the NXP fork, branch wayland-protocols-imx-1.41, and the alpha-compositing and hdr10-metadata ones are trimmed to their protocol XML, as they apply to the installed tree, not the source. The hdr10-metadata XML keeps the fork's CRLF line endings. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br> (cherry picked from commit 5398fdd691c14fcd22f839d07230e5beaf4c7551)
* qoriq_build_64bit_kernel: Build the e6500 kernel with the biarch compilerLuciano Dittgen2026-10-071-22/+9
| | | | | | | | | | | The lib64 multilib in e6500.inc existed only to give the 64-bit kernel a compiler, but multiarch (already required) makes gcc-cross-powerpc biarch. Dropping it ends the signature split it caused (yocto-check-layer test_machine_signatures) and restores kernel-arch's prefix-map flags. Tested: buildhistory pair of linux-qoriq on t2080rdb; .text is identical instruction by instruction, only addresses move with .rodata. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* use-imx-security-controller-firmware: Package per machineLuciano Dittgen2026-10-051-1/+2
| | | | | | | | | | SECO_FIRMWARE_NAME follows IMX_SOC_REV, which is set per board (i.MX 8DXL A1 vs B0, soc-revb0 on 8QXP), but the default PACKAGE_ARCH was per SoC, so boards sharing one installed different containers (yocto-check-layer test_machine_signatures). imx-seco and firmware-ele-imx content identical; 14 machines conflict-free. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* qoriq_build_64bit_kernel: Use TARGET_*_KERNEL_ARCHLuciano Dittgen2026-09-301-3/+5
| | | | | | | | | | | oe-core 4619ebef9d ("kernel-arch: Simplify KERNEL_ARCH variable usage") dropped the HOST_*_KERNEL_ARCH aliases, so getVar() returns None and every BUILD_64BIT_KERNEL machine fails to parse with a TypeError. The literal reference is the exact unexpanded value the aliases returned, so older releases are unaffected. Tested with bitbake -p and -e lttng-modules for t4240rdb; found by yocto-check-layer. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* image_types_fsl.bbclass: Call named helpers from IMAGE_CMDLuciano Dittgen2026-09-141-4/+10
| | | | | | | | | | | oelint.task.dash rejects IMAGE_CMD:uboot-mxsboot-sdcard() for the dash in the function name, but the dash is the image type -- public, set by machine confs in IMAGE_FSTYPES and named by the wic files. OE-core instead assigns IMAGE_CMD a named helper, keeping the type and dropping the dash; the [doc] flags move with the functions they document. Tested on imx28evk with core-image-minimal: both bootstreams byte-identical. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* Merge pull request #2679 from lucianogdittgen/oelint-task-noanonpythonOtavio Salvador2026-09-102-1/+6
|\ | | | | Remove or document the layer's anonymous python functions
| * qoriq_build_64bit_kernel: Document the multilib promotion blockLuciano Dittgen2026-09-101-1/+3
| | | | | | | | | | | | | | | | | | | | The block conditionally replaces KERNEL_CC, KERNEL_LD and KERNEL_AR. A declarative form would have to state what those keep when the flag is unset, which means restating the kernel.bbclass defaults inside this class. DEPENDS is also read before the task graph exists, so a task cannot carry any of this. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
| * image_populate_mfgtool: Document the MFGTOOLCONFIG parse loopLuciano Dittgen2026-09-101-0/+3
| | | | | | | | | | | | | | | | | | | | The loop enumerates the varflags of MFGTOOLCONFIG, which BitBake has no declarative syntax for, and it feeds do_populate_mfgtool[depends], which must be set before the task graph is built. Computing the two values with an inline ${@...} would move the flag validation into expansion, where it no longer fails the parse. OE-core parses PACKAGECONFIG the same way. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* | qoriq_build_64bit_kernel: Append the multiarch distro featureLuciano Dittgen2026-09-101-1/+1
|/ | | | | | | | | | | Appending to REQUIRED_DISTRO_FEATURES:e6500 builds that scope up from empty, so on an e6500 machine it replaces REQUIRED_DISTRO_FEATURES rather than extending it. Nothing else sets it today, so the value is unchanged; :append keeps it that way if a consumer ever does. Tested on t2080rdb: bitbake -e still reports " multiarch" and linux-qoriq's buildhistory records no changes. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* qoriq_build_64bit_kernel: Suppress noncoreoverride on the anonymous pythonLuciano Dittgen2026-09-041-4/+3
| | | | | | | | | | | The class is gated by BUILD_64BIT_KERNEL, a variable any machine may set, not by a machine override, so it cannot carry one; e6500.inc is the only in-tree setter. Rewriting the block as :e6500 assignments would narrow that contract and needs an e6500 multilib kernel build to validate, which this tree cannot produce. The directive trades the warning for a false oelint.file.inlinesuppress_na info: oelint misses the blockoffset hit. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* use-imx-security-controller-firmware: Make PACKAGE_ARCH a weak defaultLuciano Dittgen2026-08-181-1/+1
| | | | | | | | | | | | | | | | | | | | | The class set PACKAGE_ARCH with a hard "=". imx-boot inherits the class and then sets its own PACKAGE_ARCH = "${MACHINE_ARCH}", while imx-seco and firmware-ele-imx inherit the class and rely on "${MACHINE_SOCARCH}". Use "?=" so the class provides a default that inheriting recipes can override, matching use-imx-headers.bbclass. This is value-preserving: bitbake.conf defines PACKAGE_ARCH with the weaker "??=", so "?=" here still yields "${MACHINE_SOCARCH}" for the non-overriding inheritors, while imx-boot's later "=" after the inherit still wins. Validated with a real build in a resolved environment for one of the non-overriding inheritors (MACHINE=imx93-11x11-lpddr4x-evk, target firmware-ele-imx): PACKAGE_ARCH resolves to "cortexa55-mx93" (= MACHINE_SOCARCH) both before and after, and comparing buildhistory across the parent and this commit shows the only delta is metadata-revs, with no change to the generated package. Behaviour-preserving. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* uuu_bootloader_tag: Make UUU_BOOTLOADER defaults weakLuciano Dittgen2026-08-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | uuu_bootloader_tag.bbclass set UUU_BOOTLOADER (and its mx8/mx9 generic-bsp specializations) with a hard "=". imx-boot_1.0.bb and u-boot-imx_2025.04.bb inherit the class and set their own UUU_BOOTLOADER, so oelint.var.override reported the class assignments as fully replaced, while u-boot-fslc_2025.01.bb inherits the class and uses its values unchanged. Weaken the three class assignments to "?=" so they read as the defaults they are. This is value-preserving: UUU_BOOTLOADER has no bitbake.conf default and the class is its first assignment, so "?=" yields the same value as "=" for u-boot-fslc, while imx-boot and u-boot-imx set the variable with a later "=" after the inherit and still win. The mx8/mx9 override selection is unchanged -- only the assignment operator differs. Validated on imx8mp-lpddr4-evk against u-boot-fslc, the inheritor that applies the class default (u-boot-fslc pinned as bootloader provider): UUU_BOOTLOADER resolves to "imx-boot" both before and after, and every task signature of the recipe -- including do_deploy, which consumes UUU_BOOTLOADER -- is identical across the parent and this commit. (do_compile is blocked in this checkout by an unrelated host-toolchain issue, identical on both sides; the equivalence is established from the resolved variable and the full set of task signatures.) Behaviour-preserving. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* oelint: Suppress noncoreoverride on the machine-gated bbappend idiomLuciano Dittgen2026-08-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | oelint.vars.noncoreoverride flags every statement in a bbappend that carries no MACHINE or DISTRO override suffix, because an unconditional override of core behaviour fails yocto-check-layer. The check is purely syntactic: it cannot see that a statement's effective value is already machine-gated, which is exactly how most of this layer is written. DRM-REMOVE = "" <- flagged DRM-REMOVE:imxgpu:mx6-nxp-bsp = "drm-gl drm-gles2" PACKAGECONFIG:remove = "${DRM-REMOVE}" <- flagged Neither line can be scoped. A fallback default cannot carry an override for the machines it is the fallback for, and the dispatch line that consumes it is a no-op wherever the helper expands empty. Scoping them anyway would damage correct metadata: weston-init reads HAS_G2D as "elif ${HAS_G2D};" in shell, where an empty value is a syntax error. Suppress the 58 sites proven inert, each with its own rationale. The proof is a bitbake -e comparison on MACHINE=qemuarm64 -- a machine this layer does not own -- with meta-freescale in and out of BBLAYERS. At every suppressed site SRC_URI, DEPENDS, PACKAGECONFIG, OPENGL_PKGCONFIGS and REQUIRED_DISTRO_FEATURES are unchanged; eight recipes show no effective difference at all. The helper variables are defined in the datastore but every consumer is override-scoped. For the 18 FILESEXTRAPATHS sites there is a stronger result: FILESPATH and FILESEXTRAPATHS are both in BB_BASEHASH_IGNORE_VARS, so they cannot reach a task signature. Two anonymous python blocks are deliberately left unsuppressed and explained in place instead. For those, oelint anchors the finding to the line before the block, so a directive placed above only moves the anchor onto itself: the finding survives and inlinesuppress_na is reported for the directive. oelint.task.noanonpython anchors the same block to the 'python' line and suppresses correctly, so the two rules disagree about where the construct starts. Upstream oelint bug candidate. The rule count goes 76 -> 18 and the layer total 548 -> 491. The 16 findings that remain are not noise: they are measured, genuine unconditional changes to machines this layer does not own, and are left open for separate fixes. This change is comment-only; no non-comment line is added or modified. Validated with bitbake -p (1166 recipes, 0 errors) and an authoritative driver rescan showing zero introduced findings in any of the 24 edited files. The residual override/outofcontext churn in the rescan is the known shared-metadata scan non-determinism and nets to zero. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* use-imx-headers: Order PACKAGE_ARCH before RDEPENDS per oelintLuciano Dittgen2026-08-071-2/+2
| | | | | | | | | | | | | | | | | | Move the PACKAGE_ARCH assignment above the RDEPENDS:${PN}-dev block so the class follows the canonical variable order oelint.var.order enforces (PACKAGE_ARCH precedes RDEPENDS). The three assignments involved (DEPENDS:append, PACKAGE_ARCH ?=, RDEPENDS:${PN}-dev +=) are independent: none references another and none uses immediate (:=) expansion, so reordering them is behaviour-preserving. The explanatory comment stays with its RDEPENDS block. Validated: oelint scoped rescan of the class shows the finding removed and none introduced; bitbake -p over the full layer parses with 0 errors. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* Merge pull request #2614 from lucianogdittgen/oelint-cleanup-17Otavio Salvador2026-08-043-0/+5
|\ | | | | oelint: Patch headers, kernel/u-boot SECTION, task docs and install modes
| * classes: Document the custom tasks and helpers per oelintLuciano Dittgen2026-08-033-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | oelint-adv reports 'oelint.task.docstrings: Every custom task should have a doc string set by task[doc] = ...' for the five custom functions in classes/. Doc strings are shown by 'bitbake <recipe> -c listtasks', so this is useful metadata rather than linter appeasement, and the layer already applies it in fsl-kernel-localversion, fsl-eula-unpack, kernel-imximage and imx-boot-container. The flag has to be keyed on the function name exactly as written, which is why the two image_types_fsl entries are on IMAGE_CMD:uboot-mxsboot-* rather than on the do_image_uboot_mxsboot_* tasks they generate; keying them on the task name does not satisfy the rule. fsl_vivante_kernel_driver_handler is an event handler rather than a task. It is documented here for consistency with the other non-task helpers the layer already documents (__set_insane_skip, update_file), rather than suppressed as machine-overrides-extender does. bitbake never reads the 'doc' flag when computing task checksums -- bb/data.py build_dependencies() only consults vardeps, vardepvalue, vardepsexclude, exports, postfuncs, prefuncs, lineno and filename -- so these additions cannot change a signature or invalidate sstate. Verified by re-linting each file: all five findings are gone and nothing new is reported. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* | image_populate_mfgtool: use oe.utils.base_set_filespathAntoine Gouby2026-08-041-1/+1
|/ | | | | | | Commit 4e04ca516c6b ("utils: Move functions from utils.bbclass to utils.py") from openembedded-core moved base_set_filespath into oe.utils. Signed-off-by: Antoine Gouby <antoine.gouby@toradex.com>
* fsl-eula-unpack: Fix do_fetch prepend prefix and document findings per oelintLuciano Dittgen2026-07-171-1/+5
| | | | | | | | | | | | | | | | | | | | | | | Address the oelint-adv findings for this class: - Add the missing 'python' prefix to do_fetch:prepend (task.pythonprefix). do_fetch is a python task and the prepend body is python (it calls d.getVar and bb.fatal), but the 'python' keyword was lost when the _prepend -> :prepend override-syntax conversion rewrote the header, so the LICENSE validation was an ill-formed shell fragment. Restoring the prefix makes it a proper python fragment again. Not build-tested here; the check passes for every Proprietary-licensed EULA recipe and only errors on misuse, so it is safe. - Suppress var.licenseremotefile on LIC_FILES_CHKSUM:append: the EULA text is shipped by the layer (FSL_EULA_FILE), not the recipe source tree, so the reference intentionally points outside the sources. - Set a task[doc] docstring on the fsl_bin_do_unpack helper (task.docstrings). bbclass.underscores on the class filename is handled by the layer-wide suppression. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* imx-boot-container: Document append spacing and task doc per oelintLuciano Dittgen2026-07-171-0/+4
| | | | | | | | | | | | | | | | | Address the oelint-adv findings for this class: - Suppress vars.inconspaces on ATF_MACHINE_NAME:append: it concatenates an "-optee" suffix directly onto the filename, so the missing leading space is intentional (a space would break the name). - Set a task[doc] docstring on the custom do_resolve_and_populate_binaries task (task.docstrings). bbclass.underscores on the class filename is handled by the layer-wide suppression. No functional change. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* use-imx-security-controller-firmware: Document anonymous python per oelintLuciano Dittgen2026-07-171-0/+3
| | | | | | | | | | | | Suppress task.noanonpython on the anonymous python guard: SoCs that require a SECO firmware must fail parsing early (SkipRecipe) when SECO_FIRMWARE_NAME is undefined, which needs anonymous python. bbclass.underscores on the class filename is handled by the layer-wide suppression. No functional change. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* fsl-dynamic-packagearch: Document anonymous python per oelintLuciano Dittgen2026-07-171-0/+4
| | | | | | | | | | | | Suppress task.noanonpython on the __anonymous function: PACKAGE_ARCH and PACKAGE_EXTRA_ARCHS are selected at parse time by inspecting PROVIDES/DEPENDS against the SOCARCH filters and the multilib tunes, which cannot be expressed declaratively. bbclass.underscores on the class filename is handled by the layer-wide suppression. No functional change. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* kernel-imximage: Add helper docstrings per oelintLuciano Dittgen2026-07-171-0/+2
| | | | | | | | | | | | Set task[doc] docstrings on the imx_mkimage and gen_imximage helper functions used by do_deploy:append, so task.docstrings is satisfied, matching how other helper functions in this layer are documented. bbclass.underscores on the class filename is handled by the layer-wide suppression. No functional change. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* fsl-kernel-localversion: Add task docstring per oelintLuciano Dittgen2026-07-171-0/+1
| | | | | | | | | | Set a task[doc] docstring on do_kernel_localversion so the custom task is documented (task.docstrings). bbclass.underscores on the class filename is handled by the layer-wide suppression. No functional change. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* machine-overrides-extender: Document event-handler docstring findings per oelintLuciano Dittgen2026-07-171-0/+6
| | | | | | | | | | | | task.docstrings fires on the two python functions in this class, but both are event handlers registered via addhandler with an [eventmask] (ConfigParsed and RecipeParsed), not tasks. A task[doc] docstring only applies to tasks, so suppress the finding inline on each handler with a rationale. No functional change. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* global: Use single space around variable assignmentsoelint-cleanup-2-homepage-sectionOtavio Salvador2026-07-123-26/+26
| | | | | | | | | | | | | | | meta-freescale used columnar alignment (multiple spaces padding the variable name out to a common column) for tables of assignments such as the fsl-eula-unpack MD5 sums and PACKAGECONFIG[...] entries. The Yocto Recipe Style Guide and oelint-adv (oelint.vars.spacesassignment) call for a single space around the assignment operator. Collapse the padding to a single space on every flagged assignment. The change is purely whitespace around the operator: variable names, operators and values (including whitespace inside quoted values) are untouched, as confirmed by an empty 'git diff -w'. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* global: Replace tabs with spaces in task bodiesOtavio Salvador2026-07-124-72/+72
| | | | | | | | | | | | Convert leading-tab indentation to spaces in shell task bodies across the layer. Generated mechanically by oelint-adv's auto-fix for a single rule (oelint.tabs.notabs), isolated to one commit. Verified safe: every change is leading indentation of shell/BitBake code (no mid-line tabs, and none of the affected files contain heredocs where a tab would be significant), so there is no functional change. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* global: Drop needless whitespace in assignmentsOtavio Salvador2026-07-124-11/+11
| | | | | | | | | | | | | | Remove the stray space between an assignment's opening quote and its line-continuation backslash, and the space before '%' in inline ${@...} expressions. Generated mechanically by oelint-adv's auto-fix for a single rule (oelint.vars.notneededspace), isolated to one commit. The affected values are whitespace-separated lists (leading space is insignificant) and Python format expressions ("%s"% p is equivalent), so there is no functional change; a re-run of oelint-adv reports the rule clean. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* global: Clean up BitBake list spacingLuciano Dittgen2026-07-073-5/+3
| | | | | | | | | Normalize list continuations, append spacing, quote style, and simple flag values so the metadata follows oelint BitBake syntax expectations. Tested with: git diff --check. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* qoriq_build_64bit_kernel: Scope arch QA overrideLuciano Dittgen2026-06-301-3/+3
| | | | | | | | | | Only remove the arch QA check when BUILD_64BIT_KERNEL promotes the QorIQ kernel build to the 64-bit toolchain. This keeps the override tied to the configuration that needs it and handles an empty ERROR_QA value safely. Tested as part of the series with bitbake -p and yocto-check-layer. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* imx-boot-container: don't overwrite ATF_MACHINE_NAMEAlexander Stein2026-06-231-1/+1
| | | | | | | If ATF_MACHINE_NAME is set in local.conf this assignment overwrites the preset. Use a default assignment instead Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
* imx-boot-container: add i.MX91 and i.MX93 supportFrancesco Valla2026-05-031-1/+7
| | | | | | | | Add the necessary support to enable boot container builds for i.MX91 and i.MX93 derivatives using U-Boot's binman; both platforms require AHAB container in addition to DDR PHY and ATF firmware. Signed-off-by: Francesco Valla <francesco@valla.it>
* EULA: Update to v63Benjamin Missey2026-02-121-1/+3
| | | | | | This version is used in NXP release 6.12.49-2.2.0 Signed-off-by: Benjamin Missey <benjamin.missey@non.se.com>
* imx-boot-container: add i.MX95 supportVitor Soares2026-01-281-1/+12
| | | | | | | | | | | Add the necessary support to enable boot container builds for i.MX95 derivatives using U-Boot's binman. i.MX95 requires AHAB container, OEI firmware, and System Manager in addition to DDR PHY and ATF firmware. System Manager firmware is renamed during deployment as U-Boot expects a specific filename. Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
* fsl-kernel-localversion: Fix duplicate LOCALVERSIONTom Hochstein2025-12-151-1/+2
| | | | | | | | | | | | | | | | | | The kernel version contains LOCALVERSION twice. For example, for LOCALVERSION=nxp-next: ``` $ cat tmp/work/imx95evk-poky-linux/linux-imx/6.18.y+git/build/include/generated/utsrelease.h #define UTS_RELEASE "6.18.0-nxp-next-nxp-next-06195-gb61baedaf5d5" ``` The problem is kernel-yocto.bbclass adds LOCALVERSION via .config if LINUX_VERSION_EXTENSION is not empty, and the build itself adds it because fsl-kernel-localversion.bbclass sets CONFIG_LOCALVERSION_AUTO=y whenever SCMVERSION is enabled. Fix by clearing LINUX_VERSION_EXTENSION if SCMVERSION is enabled. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
* imx-boot-container.bbclass: follow builddir changeMax Krummenacher2025-10-151-5/+7
| | | | | | | | | | openembedded core renamed the build directory to include the build type. commit 22e96b32b0be ("u-boot: Make sure the build dir is unique for each UBOOT_CONFIG") Follow that. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
* EULA: Update to v58Max Krummenacher2025-07-251-1/+5
| | | | | | This version is used in NXP release 6.12.20-2.0.0 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
* global: whinlatter updates for WORKDIR/UNPACKDIR and git fetch locationMax Krummenacher2025-06-281-1/+1
| | | | | | | | | | | | | | | | | The series [1] changed the way sources are fetched/unpacked and S needs to follow that. Additionally for git repos it moved away from having 'git/' as the checkout directory. This has been partly tested by building weston based image for imx6/imx6ull/imx7/imx8/imx8mm/imx8mp/imx95 based images. E.g. none of the recipes specific for qoriq is built time tested. As walnascar is no longer compatible with master/whinlatter drop it from LAYERSERIES_COMPAT. [1] https://lore.kernel.org/openembedded-core/20250616095000.2918921-1-alex.kanavin@gmail.com/ Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
* imx-boot-container: copy ${OPTEE_BOOT_IMAGE} to ${B}Emil Kronborg2025-06-231-0/+3
| | | | | | | | | | | | | | | | | | | | | After commit commit 015483904c52 ("arm: imx8m: add OP-TEE node") in upstream U-Boot, Binman complains if building imx8mp_evk with CONFIG_OPTEE=y because tee.bin is missing: Image 'image' is missing external blobs and is non-functional: tee-os /binman/section/nxp-imx8mcst@1/fit/images/tee/tee-os (tee.bin): See the documentation for your board. You may need to build Open Portable Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin Image 'image' has faked external blobs and is non-functional: tee.bin Some images are invalid make: *** [Makefile:1135: .binman_stamp] Error 103 This commit ensures that ${OPTEE_BOOT_IMAGE}, for example, tee.bin for imx8mp-evk, is copied to the build folder if the optee feature is enabled.
* EULA: Update to v58Ernest Van Hoecke2025-04-151-1/+3
| | | | | | This version is used in NXP BSP LF6.12.3-1.0.0 Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
* use-imx-security-controller-firmware: Add i.MX 91 configurationAlexander Stein2025-01-291-0/+1
| | | | | | | Add the SECO FW file name for i.MX 91. It is based on imx-6.6.52_2.2.0 NXP BSP release. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
* use-imx-security-controller-firmware: Add i.MX 95 configurationMax Krummenacher2024-10-221-0/+1
| | | | | | Add the SECO FW file name for i.MX 95. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
* EULA: Update to v57Benjamin Szőke2024-10-211-1/+3
|
* boot: Fix UUU tagging, extend to fslcTom Hochstein2024-09-162-9/+17
| | | | | | | | | | | | | | | | | | | | Using the UUU-tagged bootloader image directly with UUU can cause UUU to hang. The bootloader image is split on a certain transmit size, and the hang occurs if the tag does not fit with the final bytes of the bootloader image and must be split into a new transmit package. The UUU tag is needed by UUU only in the SD Card image file itself so that UUU can find the end of the boot partition. Rework the design so the default bootloader and the default imx-boot binaries are not tagged. Also, extend the UUU tagging to fslc so it can gain the same benefit. Fixes: https://github.com/Freescale/meta-freescale/pull/1762 Fixes: https://github.com/nxp-imx/mfgtools/issues/416 Co-authored-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
* imx-boot-container: Assigne weak init value for IMX_BOOT_CONTAINER_FIRMWARE_SOCBenjamin Szőke2024-09-071-1/+1
|
* fsl-u-boot-localversion.bbclass: Add back UBOOT_LOCALVERSION to .scmversionPiotr Wojtaszczyk2024-07-301-2/+2
| | | | | | | This fixes regression done in the mentioned commit. Fixes: d7e13f19fbf9 ("fsl-u-boot-localversion.bbclass: fix SRCREV_machine and AUTOREV use cases") Signed-off-by: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com>