starfive visionfive2: allow uboot and opensbi patches overrides

This commit is contained in:
Tristan Ross
2025-01-05 08:24:39 -08:00
committed by mergify[bot]
parent 7eab0aa0b7
commit 3713545aca

View File

@@ -5,15 +5,29 @@ in
{ {
options = { options = {
hardware.visionfive2 = { hardware.visionfive2 = {
opensbi.src = lib.mkOption { opensbi = {
description = "VisionFive2 OpenSBI source"; src = lib.mkOption {
type = lib.types.nullOr lib.types.package; description = "VisionFive2 OpenSBI source";
default = null; type = lib.types.nullOr lib.types.package;
default = null;
};
patches = lib.mkOption {
description = "List of patches to apply to the VisionFive2 OpenSBI source";
type = lib.types.nullOr (lib.types.listOf lib.types.package);
default = null;
};
}; };
uboot.src = lib.mkOption { uboot = {
description = "VisionFive2 U-boot source"; src = lib.mkOption {
type = lib.types.nullOr lib.types.package; description = "VisionFive2 U-boot source";
default = null; type = lib.types.nullOr lib.types.package;
default = null;
};
patches = lib.mkOption {
description = "List of patches to apply to the VisionFive2 U-boot source";
type = lib.types.nullOr (lib.types.listOf lib.types.package);
default = null;
};
}; };
}; };
}; };
@@ -22,10 +36,12 @@ in
system.build = { system.build = {
opensbi = (pkgs.callPackage ./opensbi.nix {}).overrideAttrs (f: p: { opensbi = (pkgs.callPackage ./opensbi.nix {}).overrideAttrs (f: p: {
src = if cfg.opensbi.src != null then cfg.opensbi.src else p.src; src = if cfg.opensbi.src != null then cfg.opensbi.src else p.src;
patches = if cfg.opensbi.patches != null then cfg.opensbi.patches else (p.patches or []);
}); });
uboot = (pkgs.callPackage ./uboot.nix { inherit (config.system.build) opensbi; }).overrideAttrs (f: p: { uboot = (pkgs.callPackage ./uboot.nix { inherit (config.system.build) opensbi; }).overrideAttrs (f: p: {
src = if cfg.uboot.src != null then cfg.uboot.src else p.src; src = if cfg.uboot.src != null then cfg.uboot.src else p.src;
patches = if cfg.uboot.patches != null then cfg.uboot.patches else (p.patches or []);
}); });
updater-flash = pkgs.writeShellApplication { updater-flash = pkgs.writeShellApplication {