1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-15 11:03:37 +03:00
mobile-nixos/modules/hardware-allwinner.nix
2020-03-28 16:40:10 -04:00

49 lines
1.1 KiB
Nix

{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkMerge mkOption types;
inherit (pkgs) imageBuilder;
cfg = config.mobile.hardware.socs;
initialGapSize =
# Start of the "magic" location bs=1024 seek=8
(imageBuilder.size.MiB 8) +
# Current u-boot size: 483K, so let's leave a *bunch* of room.
(imageBuilder.size.MiB 2)
;
in
{
options.mobile = {
hardware.socs.allwinner-a64.enable = mkOption {
type = types.bool;
default = false;
description = "enable when SOC is Allwinner A64";
};
hardware.socs.allwinner-r18.enable = mkOption {
type = types.bool;
default = false;
description = "enable when SOC is Allwinner-R18";
};
};
config = mkMerge [
{
mobile = mkIf cfg.allwinner-a64.enable {
system.system = "aarch64-linux";
quirks.u-boot = {
soc.family = "allwinner";
inherit initialGapSize;
};
};
}
{
mobile = mkIf cfg.allwinner-r18.enable {
system.system = "aarch64-linux";
quirks.u-boot = {
soc.family = "allwinner";
inherit initialGapSize;
};
};
}
];
}