Skip to content

Instantly share code, notes, and snippets.

@bluemage650
Created August 9, 2020 10:57
Show Gist options
  • Save bluemage650/3a4fa3e523bfc55a90c24407935d5b22 to your computer and use it in GitHub Desktop.
Save bluemage650/3a4fa3e523bfc55a90c24407935d5b22 to your computer and use it in GitHub Desktop.
{ config, pkgs, ... }:
let
linuxsurface={
revision="8e8811cd283dd1db892a6d1db17c2ea1021b2fdc";
version="5.4";
patches=[
{
file="0001-surface3-power.patch";
sha256="0ky17xl138n9mql9ss5zq7hnpw6i4s7961r0f1na3pif4hka19d0";
}
{
file="0002-surface3-oemb.patch";
sha256="0npxvcm6f75bpmfzs6x7h08dcz9y230pmrnzvb292dcbcwypk4y1";
}
{
file="0003-surface-sam.patch";
sha256="0p3ha17by8ygkld6mg78m62jvj3yys87gvayfhppj2kjnjh4zr0k";
}
{
file="0004-surface-sam-over-hid.patch";
sha256="1jk4lqd3zsgfhsfadmlgm5smi9p4wi0cd1j7vy73pnhr8ncf08zc";
}
{
file="0005-wifi.patch";
sha256="0h95bd8270s9kv6i3g00b7z59yvmjxa30j0z1jd7z1q6qf64z2xv";
}
{
file="0006-ipts.patch";
sha256="1085vr3ja7pnjmjyac2aq5rjrv29mi4w8d4406xi0l1qfnzpycrl";
}
];
url="https://raw.githubusercontent.com/linux-surface/linux-surface/${linuxsurface.revision}/patches/${linuxsurface.version}";
kernelPatches=let
f = val:{
patch=builtins.fetchurl {
url="${linuxsurface.url}/${val.file}";
sha256=if val.sha256 == "" then
"0000000000000000000000000000000000000000000000000000000000000000"
else
"${val.sha256}";
};
name="${val.file}";
};
in
map f linuxsurface.patches;
};
in {
boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ];
boot.kernelPackages = pkgs.linuxPackages_5_4;
boot.kernelPatches = linuxsurface.kernelPatches++[{
patch=./0001-Add-quirk-for-Surface-SAM-I2C-address-space.patch;
name="0001-Add-quirk-for-Surface-SAM-I2C-address-space.patch";
extraConfig = ''
ACPI_DEBUG y
ACPI_PCI_SLOT y
#
# Surface Aggregator Module
#
# CONFIG_GPIO_SYSFS=y # required for SURFACE_SAM_HPS
# CONFIG_SURFACE_SAM=m
# CONFIG_SURFACE_SAM_SSH=m
# CONFIG_SURFACE_SAM_SSH_DEBUG_DEVICE=y
# CONFIG_SURFACE_SAM_SAN=m
# CONFIG_SURFACE_SAM_VHF=m
# CONFIG_SURFACE_SAM_DTX=m
# CONFIG_SURFACE_SAM_HPS=m
# CONFIG_SURFACE_SAM_SID=m
# CONFIG_SURFACE_SAM_SID_GPELID=m
# CONFIG_SURFACE_SAM_SID_PERFMODE=m
# CONFIG_SURFACE_SAM_SID_VHF=m
# CONFIG_SURFACE_SAM_SID_POWER=m
#
# IPTS touchscreen
#
# CONFIG_TOUCHSCREEN_IPTS=m
#
# Other Drivers
#
# CONFIG_INPUT_SOC_BUTTON_ARRAY=m
# CONFIG_SURFACE_3_POWER_OPREGION=m
# CONFIG_SURFACE_3_BUTTON=m
# CONFIG_SURFACE_3_POWER_OPREGION=m
# CONFIG_SURFACE_PRO3_BUTTON=m
'';
}];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment