This repository has been archived on 2024-10-13. You can view files and clone it, but cannot push or open issues or pull requests.
nix-packages/linux/vf2/default.nix

93 lines
2.6 KiB
Nix
Raw Normal View History

2023-03-02 09:43:49 +00:00
# Based on https://github.com/Snektron/nixos-vf2/blob/master/pkgs/linux-vf2.nix
{
lib,
fetchFromGitHub,
buildLinux,
fetchpatch,
...
} @ args: let
2023-06-13 15:09:28 +00:00
modDirVersion = "6.4.0-rc6";
2023-03-02 09:43:49 +00:00
source = builtins.fromJSON (builtins.readFile ./source.json);
in
buildLinux (args
// {
inherit modDirVersion;
version = "${modDirVersion}-vf2";
src = fetchFromGitHub {
2023-06-11 14:05:50 +00:00
owner = "starfive-tech";
2023-03-02 09:43:49 +00:00
repo = "linux";
inherit (source) rev sha256;
};
2023-06-16 05:40:20 +00:00
kernelPatches = [
# https://lore.kernel.org/all/20230524000012.15028-1-andre.przywara@arm.com/
rec {
name = "axp15060-1.patch";
patch = fetchpatch {
inherit name;
url = "https://lore.kernel.org/all/20230524000012.15028-2-andre.przywara@arm.com/raw";
hash = "sha256-kj4vQaT4CV29EHv8MtuTgM/semIPDdv2dmveo/X27vU=";
};
}
rec {
name = "axp15060-2.patch";
patch = fetchpatch {
inherit name;
url = "https://lore.kernel.org/all/20230524000012.15028-3-andre.przywara@arm.com/raw";
hash = "sha256-QCPQyKqoapMtqEDB9QgAuXA7n8e1OtG+YlIgeSQBxXM=";
};
}
rec {
name = "axp15060-3.patch";
patch = fetchpatch {
inherit name;
url = "https://lore.kernel.org/all/20230524000012.15028-4-andre.przywara@arm.com/raw";
hash = "sha256-SpKDm4PXR6qs7kX5SGVpFF/EPBijMhX1NsFUHrlCynM=";
};
}
];
2023-03-02 09:43:49 +00:00
2023-06-16 05:40:20 +00:00
structuredExtraConfig = with lib.kernel; {
2023-06-13 15:09:28 +00:00
CPU_FREQ = yes;
CPUFREQ_DT = yes;
CPUFREQ_DT_PLATDEV = yes;
2023-06-16 05:40:20 +00:00
DMADEVICES = yes;
2023-06-13 15:09:28 +00:00
GPIO_SYSFS = yes;
2023-06-16 05:40:20 +00:00
HIBERNATION = yes;
NO_HZ_IDLE = yes;
POWER_RESET_GPIO_RESTART = yes;
2023-06-13 15:09:28 +00:00
PROC_KCORE = yes;
PWM = yes;
PWM_STARFIVE_PTC = yes;
2023-06-16 05:40:20 +00:00
RD_GZIP = yes;
SENSORS_SFCTEMP = yes;
SERIAL_8250_DW = yes;
2023-06-13 15:09:28 +00:00
SIFIVE_CCACHE = yes;
2023-06-16 05:40:20 +00:00
SIFIVE_PLIC = yes;
2023-03-02 09:43:49 +00:00
2023-06-16 05:40:20 +00:00
RTC_DRV_STARFIVE = yes;
SPI_PL022 = yes;
SPI_PL022_STARFIVE = yes;
I2C = yes;
MFD_AXP20X = yes;
MFD_AXP20X_I2C = yes;
REGULATOR_AXP20X = yes;
# FATAL: modpost: drivers/gpu/drm/verisilicon/vs_drm: struct of_device_id is not terminated with a NULL entry!
2023-06-14 15:01:20 +00:00
DRM_VERISILICON = no;
2023-03-02 09:43:49 +00:00
2023-06-13 15:09:28 +00:00
PL330_DMA = no;
2023-03-02 09:43:49 +00:00
};
2023-06-16 05:40:20 +00:00
preferBuiltin = true;
2023-03-02 09:43:49 +00:00
extraMeta = {
2023-06-13 15:09:28 +00:00
branch = "JH7110_VisionFive2_upstream";
2023-03-02 09:43:49 +00:00
description = "Linux kernel for StarFive's VisionFive2";
platforms = ["riscv64-linux"];
};
}
// (args.argsOverride or {}))