mirror of
https://github.com/NixOS/nixos-hardware.git
synced 2025-11-07 18:38:44 +08:00
- Move openssl to nativeBuildInputs in ATF build for proper cross-compilation - Add explicit SILICON validation with clear error messages in firmware build - Fix fragile wildcard patterns in firmware DDR file copying - Replace mutable branch URLs with pinned commit hashes for patch stability - Add U-Boot config merge step (make olddefconfig) after extra config - Fix cross-compilation toolchain coherence (cpp in optee-os) - Standardize license format (single value instead of single-element list) - Update maintainer references with inline name/email format - Fix typos and grammar in documentation and comments
89 lines
3.1 KiB
Nix
89 lines
3.1 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
}:
|
|
let
|
|
metaBspImx95Rev = "224eed17cddc573061150e9d2ce6f9acb39ea50e"; # scarthgap-6.6.36-EVAL-UCM-iMX95-1.0
|
|
in
|
|
pkgs.stdenv.mkDerivation rec {
|
|
pname = "imx95-sm-fw";
|
|
version = "lf-6.6.36-2.1.0";
|
|
|
|
nativeBuildInputs = [
|
|
pkgs.buildPackages.python3
|
|
pkgs.gcc-arm-embedded
|
|
];
|
|
|
|
propagatedBuildInputs = with pkgs.buildPackages.python3.pkgs; [
|
|
pycryptodomex
|
|
pyelftools
|
|
cryptography
|
|
];
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "nxp-imx";
|
|
repo = "imx-sm";
|
|
rev = "709deccd9338399eb39b5cf99a60eab4fa60d539";
|
|
sha256 = "sha256-02Cl+XhWGSFswspdBJ/4B/mBm4XTs/qKotx0BXMQpJk=";
|
|
};
|
|
|
|
patches = [
|
|
(pkgs.fetchpatch {
|
|
url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0001-Add-mcimx95cust-board.patch";
|
|
sha256 = "sha256-zvZ4bNew+yRPmaZQMrAH087KpCLRqz6zdElfe72Dtuc=";
|
|
})
|
|
(pkgs.fetchpatch {
|
|
url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0002-Fix-null-pionter-except.patch";
|
|
sha256 = "sha256-q72VEvJqm2CmOxdWMqGibgXS5lY08mC4srEcy00QdrE=";
|
|
})
|
|
(pkgs.fetchpatch {
|
|
url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0001-update-for-yocto-6.6.36-compatibility.patch";
|
|
sha256 = "sha256-JzHqDiD/ZOu6VQQI0JxY17RQ3bA2t1aP3O1sjLPguWs=";
|
|
})
|
|
(pkgs.fetchpatch {
|
|
url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0003-sm-Disable-GPIO1-10-interrupt.patch";
|
|
sha256 = "sha256-dhcDv7Uq856+MBonczMPznk+tuqUFxTcHiKLX+myCVA=";
|
|
})
|
|
(pkgs.fetchpatch {
|
|
url = "https://raw.githubusercontent.com/compulab-yokneam/meta-bsp-imx95/${metaBspImx95Rev}/recipes-bsp/imx-system-manager/imx-system-manager/0004-configs-mx95cust-change-LPTPM1-ownership.patch";
|
|
sha256 = "sha256-NcLu6+zXpiSz1bHKW14Zuf6F/4pzKsekb+zaRtKjSTY=";
|
|
})
|
|
];
|
|
|
|
postPatch = ''
|
|
substituteInPlace sm/makefiles/gcc_cross.mak \
|
|
--replace-fail "\$(SM_CROSS_COMPILE)objcopy" ${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-objcopy
|
|
substituteInPlace sm/makefiles/build_info.mak \
|
|
--replace-fail "/bin/echo" "echo"
|
|
substituteInPlace sm/makefiles/gcc_cross.mak \
|
|
--replace-fail 'SM_CROSS_COMPILE ?= $(TOOLS)/arm-gnu-toolchain-*-none-eabi/bin/arm-none-eabi-' \
|
|
'SM_CROSS_COMPILE ?= $(CROSS_COMPILE)'
|
|
'';
|
|
|
|
makeFlags = [
|
|
"config=mx95cust"
|
|
"M=2"
|
|
"CROSS_COMPILE=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-"
|
|
"CROSS_COMPILE64=${pkgs.gcc-arm-embedded}/bin/arm-none-eabi-"
|
|
"ARCH=arm"
|
|
];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out
|
|
cp build/mx95cust/m33_image.bin $out/
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/nxp-imx/imx-sm";
|
|
description = "System Manager firmware for i.MX processors";
|
|
license = licenses.bsd3;
|
|
maintainers = [
|
|
{
|
|
name = "Govind Singh";
|
|
email = "govind.singh@tii.ae";
|
|
}
|
|
];
|
|
platforms = [ "aarch64-linux" ];
|
|
};
|
|
}
|