Merge master into microsoft-surface/update-kernel-6.18.13
This commit is contained in:
commit
62550a8541
48 changed files with 893 additions and 272 deletions
12
README.md
12
README.md
|
|
@ -67,14 +67,14 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md).
|
|||
|
||||
## Get in touch
|
||||
|
||||
For questions and discussions, come join us in the [nixos-anywhere matrix](https://matrix.to/#/#nixos-hardware:nixos.org) room.
|
||||
For questions and discussions, come join us in the [nixos-hardware matrix](https://matrix.to/#/#nixos-hardware:nixos.org) room.
|
||||
|
||||
# Community Meetings
|
||||
|
||||
The [NixOS hardware](https://github.com/orgs/NixOS/teams/nixos-hardware) team meets regularly to discuss hardware profiles and maintenance:
|
||||
|
||||
- **When**: Every 3rd Friday of the month
|
||||
- **Time**: 05:00 pm (UTC) / 17:00 (UTC)
|
||||
- **Time**: 06:00 pm (UTC) / 18:00 (UTC)
|
||||
- **Where**: https://jitsi.lassul.us/Hardware-team
|
||||
- **Contact**: hardware@nixos.org
|
||||
|
||||
|
|
@ -87,6 +87,7 @@ See code for all available configurations.
|
|||
| Model | Path | Flake Module |
|
||||
| --------------------------------------------------------------------------------- | ------------------------------------------------------- | -------------------------------------- |
|
||||
| [Acer Aspire 4810T](acer/aspire/4810t) | `<nixos-hardware/acer/aspire/4810t>` | `acer-aspire-4810t` |
|
||||
| [Acer Predator Helios 300 (PH315-51)](acer/predator/helios/300/ph315-51/) | `<nixos-hardware/acer/predator/helios/300/ph315-51/>` | `acer-predator-helios-300-ph315-51` |
|
||||
| [Airis N990](airis/n990) | `<nixos-hardware/airis/n990>` | `airis-n990` |
|
||||
| [Apple iMac 12,2](apple/imac/12-2) | `<nixos-hardware/apple/imac/12-2>` | `apple-imac-12-2` |
|
||||
| [Apple iMac 14.2](apple/imac/14-2) | `<nixos-hardware/apple/imac/14-2>` | `apple-imac-14-2` |
|
||||
|
|
@ -131,8 +132,10 @@ See code for all available configurations.
|
|||
| [Asus TUF FX504GD](asus/fx504gd) | `<nixos-hardware/asus/fx504gd>` | `asus-fx504gd` |
|
||||
| [Asus TUF FX506HM](asus/fx506hm) | `<nixos-hardware/asus/fx506hm>` | `asus-fx506hm` |
|
||||
| [Asus TUF FA506IC](asus/fa506ic) | `<nixos-hardware/asus/fa506ic>` | `asus-fa506ic` |
|
||||
| [Asus TUF FA506IC](asus/fa506nc) | `<nixos-hardware/asus/fa506nc>` | `asus-fa506nc` |
|
||||
| [Asus TUF FA507RM](asus/fa507rm) | `<nixos-hardware/asus/fa507rm>` | `asus-fa507rm` |
|
||||
| [Asus TUF FA507NV](asus/fa507nv) | `<nixos-hardware/asus/fa507nv>` | `asus-fa507nv` |
|
||||
| [Asus TUF FA706IC](asus/fa706ic) | `<nixos-hardware/asus/fa706ic>` | `asus-fa706ic` |
|
||||
| [Asus Zenbook Duo 14 UX481](asus/zenbook/ux481/intelgpu/) | `<nixos-hardware/asus/zenbook/ux481/intelgpu>` | `asus-zenbook-ux481-intelgpu` |
|
||||
| [Asus Zenbook Duo 14 UX481](asus/zenbook/ux481/nvidia/) | `<nixos-hardware/asus/zenbook/ux481/nvidia>` | `asus-zenbook-ux481-nvidia` |
|
||||
| [Asus Zenbook Flip S13 UX371](asus/zenbook/ux371/) | `<nixos-hardware/asus/zenbook/ux371>` | `asus-zenbook-ux371` |
|
||||
|
|
@ -162,6 +165,7 @@ See code for all available configurations.
|
|||
| [Dell Latitude 7490](dell/latitude/7490) | `<nixos-hardware/dell/latitude/7490>` | `dell-latitude-7490` |
|
||||
| [Dell Latitude 9430](dell/latitude/9430) | `<nixos-hardware/dell/latitude/9430>` | `dell-latitude-9430` |
|
||||
| [Dell Latitude E7240](dell/latitude/e7240) | `<nixos-hardware/dell/latitude/e7240>` | `dell-latitude-e7240` |
|
||||
| [Dell Latitude E7440](dell/latitude/e7440) | `<nixos-hardware/dell/latitude/e7440>` | `dell-latitude-e7440` |
|
||||
| [Dell Optiplex 3050](dell/optiplex/3050) | `<nixos-hardware/dell/optiplex/3050>` | `dell-optiplex-3050` |
|
||||
| [Dell Poweredge R7515](dell/poweredge/r7515) | `<nixos-hardware/dell/poweredge/r7515>` | `dell-poweredge-r7515` |
|
||||
| [Dell Precision 3490, nvidia](dell/precision/3490/nvidia) | `<nixos-hardware/dell/precision/3490/nvidia>` | `dell-precision-3490-nvidia` |
|
||||
|
|
@ -242,6 +246,7 @@ See code for all available configurations.
|
|||
| [i.MX8QuadMax Multisensory Enablement Kit](nxp/imx8qm-mek/) | `<nixos-hardware/nxp/imx8qm-mek>` | `nxp-imx8qm-mek` |
|
||||
| [Intel NUC 5i5RYB](intel/nuc/5i5ryb/) | `<nixos-hardware/intel/nuc/5i5ryb>` | `intel-nuc-5i5ryb` |
|
||||
| [Intel NUC 8i7BEH](intel/nuc/8i7beh/) | `<nixos-hardware/intel/nuc/8i7beh>` | `intel-nuc-8i7beh` |
|
||||
| [Intel NUC 12WSHi7](intel/nuc/12wshi7/) | `<nixos-hardware/intel/nuc/12wshi7>` | `intel-nuc-12wshi7` |
|
||||
| [Kobol Helios4](kobol/helios4) | `<nixos-hardware/kobol/helios4>` | `kobol-helios-4` |
|
||||
| [Lenovo IdeaCentre K330](lenovo/ideacentre/k330) | `<nixos-hardware/lenovo/ideacentre/k330>` | `lenovo-ideacentre-k330` |
|
||||
| [Lenovo IdeaPad 3 15alc6](lenovo/ideapad/15alc6) | `<nixos-hardware/lenovo/ideapad/15alc6>` | `lenovo-ideapad-15alc6` |
|
||||
|
|
@ -294,9 +299,11 @@ See code for all available configurations.
|
|||
| [Lenovo ThinkPad P14s AMD Gen 3](lenovo/thinkpad/p14s/amd/gen3) | `<nixos-hardware/lenovo/thinkpad/p14s/amd/gen3>` | `lenovo-thinkpad-p14s-amd-gen3` |
|
||||
| [Lenovo ThinkPad P14s AMD Gen 4](lenovo/thinkpad/p14s/amd/gen4) | `<nixos-hardware/lenovo/thinkpad/p14s/amd/gen4>` | `lenovo-thinkpad-p14s-amd-gen4` |
|
||||
| [Lenovo ThinkPad P14s AMD Gen 5](lenovo/thinkpad/p14s/amd/gen5) | `<nixos-hardware/lenovo/thinkpad/p14s/amd/gen5>` | `lenovo-thinkpad-p14s-amd-gen5` |
|
||||
| [Lenovo ThinkPad P14s AMD Gen 6](lenovo/thinkpad/p14s/amd/gen6) | `<nixos-hardware/lenovo/thinkpad/p14s/amd/gen6>` | `lenovo-thinkpad-p14s-amd-gen6` |
|
||||
| [Lenovo ThinkPad P14s Intel Gen 2](lenovo/thinkpad/p14s/intel/gen2) | `<nixos-hardware/lenovo/thinkpad/p14s/intel/gen2>` | `lenovo-thinkpad-p14s-intel-gen2` |
|
||||
| [Lenovo ThinkPad P14s Intel Gen 3](lenovo/thinkpad/p14s/intel/gen3) | `<nixos-hardware/lenovo/thinkpad/p14s/intel/gen3>` | `lenovo-thinkpad-p14s-intel-gen3` |
|
||||
| [Lenovo ThinkPad P14s Intel Gen 5](lenovo/thinkpad/p14s/intel/gen5) | `<nixos-hardware/lenovo/thinkpad/p14s/intel/gen5>` | `lenovo-thinkpad-p14s-intel-gen5` |
|
||||
| [Lenovo ThinkPad P15v Intel Gen 3](lenovo/thinkpad/p15v/intel/gen3) | `<nixos-hardware/lenovo/thinkpad/p15v/intel/gen3>` | `lenovo-thinkpad-p15v-intel-gen3` |
|
||||
| [Lenovo ThinkPad P16s AMD Gen 1](lenovo/thinkpad/p16s/amd/gen1) | `<nixos-hardware/lenovo/thinkpad/p16s/amd/gen1>` | `lenovo-thinkpad-p16s-amd-gen1` |
|
||||
| [Lenovo ThinkPad P16s AMD Gen 2](lenovo/thinkpad/p16s/amd/gen2) | `<nixos-hardware/lenovo/thinkpad/p16s/amd/gen2>` | `lenovo-thinkpad-p16s-amd-gen2` |
|
||||
| [Lenovo ThinkPad P16s AMD Gen 4](lenovo/thinkpad/p16s/amd/gen4) | `<nixos-hardware/lenovo/thinkpad/p16s/amd/gen4>` | `lenovo-thinkpad-p16s-amd-gen4` |
|
||||
|
|
@ -386,6 +393,7 @@ See code for all available configurations.
|
|||
| [MSI GS60 2QE](msi/gs60) | `<nixos-hardware/msi/gs60>` | `msi-gs60` |
|
||||
| [MSI GL62/CX62](msi/gl62) | `<nixos-hardware/msi/gl62>` | `msi-gl62` |
|
||||
| [MSI GL65 10SDR-492](msi/gl65/10SDR-492) | `<nixos-hardware/msi/gl65/10SDR-492>` | `msi-gl65-10SDR-492` |
|
||||
| [MSI Prestige 15 A10SC](msi/prestige/15-a10sc) | `<nixos-hardware/msi/prestige/15-a10sc>` | `msi-prestige-15-a10sc` |
|
||||
| [Malibal Aon S1](malibal/aon/s1) | | `<nixos-hardware/malibal/aon/s1>` | `malibal-aon-s1` |
|
||||
| [Microchip Icicle Kit](microchip/icicle-kit) | `<nixos-hardware/microchip/icicle-kit>` | `microchip-icicle-kit` |
|
||||
| [Microsoft Surface Go](microsoft/surface/surface-go) | `<nixos-hardware/microsoft/surface/surface-go>` | `microsoft-surface-go` |
|
||||
|
|
|
|||
7
acer/predator/helios/300/ph315-51/README.md
Normal file
7
acer/predator/helios/300/ph315-51/README.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Acer Predator Helios 300 (PH315-51)
|
||||
|
||||
## Hardware Configuration:
|
||||
|
||||
- Intel Core i5 (8th Gen) 8300H / 2.3 GHz
|
||||
- NVIDIA GeForce GTX 1050 Ti
|
||||
- 128GB SSD + 1TB HDD
|
||||
27
acer/predator/helios/300/ph315-51/default.nix
Normal file
27
acer/predator/helios/300/ph315-51/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkDefault;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../../../../../common/pc/laptop
|
||||
../../../../../common/cpu/intel/coffee-lake
|
||||
../../../../../common/gpu/nvidia/pascal
|
||||
];
|
||||
|
||||
hardware = {
|
||||
nvidia = {
|
||||
modesetting.enable = mkDefault true;
|
||||
powerManagement.enable = mkDefault true;
|
||||
|
||||
prime = {
|
||||
sync.enable = mkDefault true;
|
||||
intelBusId = "PCI:0@0:2:0";
|
||||
nvidiaBusId = "PCI:1@0:0:0";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
callPackage,
|
||||
dmg2img,
|
||||
}:
|
||||
|
|
|
|||
|
|
@ -1,49 +1,21 @@
|
|||
{
|
||||
"base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/6b41c3fd65913e0fa3592ad16ff4a3a5b01efc7a/",
|
||||
"base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/5051ebba61fe8765ba452f46db9b944f33f07a86/",
|
||||
"patches": [
|
||||
{
|
||||
"name": "1001-Add-apple-bce-driver.patch",
|
||||
"hash": "sha256-00K3LmId2Ag6s5K76p7mB2a0oEXp815yRd+U5wxWPMc="
|
||||
"hash": "sha256-oZgaj1ujKSjn5PEJ8khrqFnoAkXbC+TInlKfdX0X82Y="
|
||||
},
|
||||
{
|
||||
"name": "1002-Put-apple-bce-in-drivers-staging.patch",
|
||||
"hash": "sha256-wkveNo1qwAwXWDGTFed4ZDbuBnJbwKgWLmTHK9qq0oM="
|
||||
},
|
||||
{
|
||||
"name": "1003-Fix-sparse-errors.patch",
|
||||
"hash": "sha256-nuCOPWa4Hp+HCCBe6Y++M4g1k4plOWzy2hqHXlJbp9g="
|
||||
},
|
||||
{
|
||||
"name": "1004-Fix-freezing-on-turning-off-camera.patch",
|
||||
"hash": "sha256-rFrSUhiNXgQbfgKjryJktYxYcchXE1PI49Q1gW001+0="
|
||||
},
|
||||
{
|
||||
"name": "1007-HID-multitouch-Get-the-contact-ID-from-HID_DG_TRANSD.patch",
|
||||
"hash": "sha256-JF5PjByo4S1Rd/B5luAzOXDv+iakCnJfmujIQuUiT1A="
|
||||
},
|
||||
{
|
||||
"name": "1008-HID-multitouch-support-getting-the-tip-state-from-HI.patch",
|
||||
"hash": "sha256-m/NAKoHRC/HwxG5fFZxFl6DtY4Xv8kPBWvdKdtadrrk="
|
||||
},
|
||||
{
|
||||
"name": "1009-HID-multitouch-take-cls-maxcontacts-into-account-for.patch",
|
||||
"hash": "sha256-h6jk9yw/4txd8PATpMxB9mIzik9+X1zP6p4K35AqdXw="
|
||||
},
|
||||
{
|
||||
"name": "1010-HID-multitouch-specify-that-Apple-Touch-Bar-is-direc.patch",
|
||||
"hash": "sha256-5PbLynVnQqlJKPTWhcmwXCkYDEopLBQWnxWvZUt0EN4="
|
||||
},
|
||||
{
|
||||
"name": "1011-HID-multitouch-add-device-ID-for-Apple-Touch-Bar.patch",
|
||||
"hash": "sha256-dIzEOj89D2rIEc2/mjq3TkIfI3ZHzu0VRDQQOzp+Snc="
|
||||
"hash": "sha256-JHWLmSJ158Qs24cjnzolR4JKuNhzzf9e9hRR8T96Dp4="
|
||||
},
|
||||
{
|
||||
"name": "2008-i915-4-lane-quirk-for-mbp15-1.patch",
|
||||
"hash": "sha256-PjMVt4u505PXnKFpojov0Uwhj0KxZas1E4NYJGI6lQ4="
|
||||
"hash": "sha256-S2osR1aSjqJiO7rNZP1sKt2+Uxyitwse/6BXMJvE9as="
|
||||
},
|
||||
{
|
||||
"name": "2009-apple-gmux-allow-switching-to-igpu-at-probe.patch",
|
||||
"hash": "sha256-aE+MEu/jRrZBa+3Q03quOHUsIseRED6A7N/K9kEVtbM="
|
||||
"hash": "sha256-6i+fh/Ifle0di5/tMOdMm0NMkEmeUb17hYM/g2j2dfI="
|
||||
},
|
||||
{
|
||||
"name": "3001-applesmc-convert-static-structures-to-drvdata.patch",
|
||||
|
|
@ -83,27 +55,19 @@
|
|||
},
|
||||
{
|
||||
"name": "4001-asahi-trackpad.patch",
|
||||
"hash": "sha256-nOpQ3t+QQXco6p7C03fM5EZ3ZfnzwC6UCFwHQd1EnGE="
|
||||
},
|
||||
{
|
||||
"name": "4002-HID-quirks-remove-T2-devices-from-hid_mouse_ignore_l.patch",
|
||||
"hash": "sha256-0PMCE3IWHekir5YV1BD6Jakc7dOV6Fj2HfIGWZnXZV0="
|
||||
"hash": "sha256-+YXyIjtlVrLo8allTO3M1A+xold5FUXaZ8dwD2j5HDc="
|
||||
},
|
||||
{
|
||||
"name": "4003-HID-apple-ignore-the-trackpad-on-T2-Macs.patch",
|
||||
"hash": "sha256-JTeYtaBqMyTu5IdGb8x7wbP9ZE1rXT4lpEjudR1ySFI="
|
||||
"hash": "sha256-T2tYcFLeWUdx6QawANe3ZNVSRxmo1IdPiSpGLQk4IDY="
|
||||
},
|
||||
{
|
||||
"name": "4004-HID-magicmouse-Add-support-for-trackpads-found-on-T2.patch",
|
||||
"hash": "sha256-dNrpDlIE9SaQUOntVQHMOyj7T/dsuRemN56yskKWue0="
|
||||
"hash": "sha256-ubchCEv1BZ7t/zkI9DpHA4gUln9cdu4yHzVJI2TNlS0="
|
||||
},
|
||||
{
|
||||
"name": "4005-HID-apple-Add-necessary-IDs-and-support-for-replacem.patch",
|
||||
"hash": "sha256-SRKESCbpxSYm7U0VyCmvkmT/er6/GEHhwo8tgJDO6mQ="
|
||||
},
|
||||
{
|
||||
"name": "4006-HID-magicmouse-Add-MacBookPro15-1-replacement-trackp.patch",
|
||||
"hash": "sha256-mMqHhxig+Z9eVPaa1qfcNVCRX16B6/KuEd1KnSZMLLk="
|
||||
"name": "4005-HID-magicmouse-fix-regression-breaking-support-for-M.patch",
|
||||
"hash": "sha256-oT+3AeETnKfzblxtcTD18c61BKoD9yAsga0AL3R8u7k="
|
||||
},
|
||||
{
|
||||
"name": "7001-drm-i915-fbdev-Discard-BIOS-framebuffers-exceeding-h.patch",
|
||||
|
|
@ -111,11 +75,11 @@
|
|||
},
|
||||
{
|
||||
"name": "8001-Add-APFS-driver.patch",
|
||||
"hash": "sha256-uR5hg75SFFWzfrKyU5UnzPL4U7LkjqGs44rkxM7ur8o="
|
||||
"hash": "sha256-ozOkXGFfsT2iVjAZDoWya8tBY8yiChgLKkBnGACzyrY="
|
||||
},
|
||||
{
|
||||
"name": "8002-Necessary-modifications-to-build-APFS-with-the-kerne.patch",
|
||||
"hash": "sha256-n1SH5vC//LRJdWOavH9/BHqBTjkUj5f+dFGitSeHksw="
|
||||
"hash": "sha256-gh1z49QeKgTmGJ92KFNDvqn9gCW0dtrI7DMzaD2ZHGU="
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{ callPackage, linux_6_16, ... }@args:
|
||||
{ callPackage, linux_6_19, ... }@args:
|
||||
|
||||
callPackage ./generic.nix args {
|
||||
kernel = linux_6_16;
|
||||
kernel = linux_6_19;
|
||||
patchesFile = ./latest.json;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,13 @@
|
|||
{
|
||||
"base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/1f514a15e2b20ce2e1f99018493c71de9784fcf0/",
|
||||
"base_url": "https://raw.githubusercontent.com/t2linux/linux-t2-patches/76956434864f852a31a8965d2848af3217848dca/",
|
||||
"patches": [
|
||||
{
|
||||
"name": "1001-Add-apple-bce-driver.patch",
|
||||
"hash": "sha256-e3RPvWPj2QASGOS4kieO8YFekrXsBCJtfF82OPlOn2E="
|
||||
"hash": "sha256-94oDsXFCaE+NMAmGiI1KOUX0j79glU3WSqDIpZGEzlU="
|
||||
},
|
||||
{
|
||||
"name": "1002-Put-apple-bce-in-drivers-staging.patch",
|
||||
"hash": "sha256-DXj4CmE7TKMGrAhQDOR5RVw9YHmyQMiXZsmxYfkKAEA="
|
||||
},
|
||||
{
|
||||
"name": "1003-Fix-sparse-errors.patch",
|
||||
"hash": "sha256-nuCOPWa4Hp+HCCBe6Y++M4g1k4plOWzy2hqHXlJbp9g="
|
||||
},
|
||||
{
|
||||
"name": "1004-Fix-freezing-on-turning-off-camera.patch",
|
||||
"hash": "sha256-rFrSUhiNXgQbfgKjryJktYxYcchXE1PI49Q1gW001+0="
|
||||
"hash": "sha256-8SgFQtQ478DPdSD0zKXjgSsgE+lNSVjOcN/mlDQ+Zuw="
|
||||
},
|
||||
{
|
||||
"name": "1005-HID-hid-appletb-bl-add-driver-for-the-backlight-of-A.patch",
|
||||
|
|
@ -27,7 +19,7 @@
|
|||
},
|
||||
{
|
||||
"name": "1007-HID-multitouch-Get-the-contact-ID-from-HID_DG_TRANSD.patch",
|
||||
"hash": "sha256-JF5PjByo4S1Rd/B5luAzOXDv+iakCnJfmujIQuUiT1A="
|
||||
"hash": "sha256-iVWI1dSktiIByMJmf3PhTFihwo7BpJMbe1kROP/jsMU="
|
||||
},
|
||||
{
|
||||
"name": "1008-HID-multitouch-support-getting-the-tip-state-from-HI.patch",
|
||||
|
|
@ -43,7 +35,7 @@
|
|||
},
|
||||
{
|
||||
"name": "1011-HID-multitouch-add-device-ID-for-Apple-Touch-Bar.patch",
|
||||
"hash": "sha256-dIzEOj89D2rIEc2/mjq3TkIfI3ZHzu0VRDQQOzp+Snc="
|
||||
"hash": "sha256-2LjWtyYFBREgRC8UAmn5SVnZ9v21vaKzjMwRo9CPYA4="
|
||||
},
|
||||
{
|
||||
"name": "1013-lib-vsprintf-Add-support-for-generic-FourCCs-by-exte.patch",
|
||||
|
|
@ -127,11 +119,11 @@
|
|||
},
|
||||
{
|
||||
"name": "8001-Add-APFS-driver.patch",
|
||||
"hash": "sha256-rTdmORTT2oeBTh6R8LbXimgiaA7X6AgQO+lUuN5hJYI="
|
||||
"hash": "sha256-4gtr9/k+Leg8CkKwe673IWSS/OCn3bwNyjQtrEdwgzQ="
|
||||
},
|
||||
{
|
||||
"name": "8002-Necessary-modifications-to-build-APFS-with-the-kerne.patch",
|
||||
"hash": "sha256-n1SH5vC//LRJdWOavH9/BHqBTjkUj5f+dFGitSeHksw="
|
||||
"hash": "sha256-7pWy7C71AO2spULSzy/EEVcvgviqE0CMQ08zx4t7s9s="
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@
|
|||
services = {
|
||||
asusd = {
|
||||
enable = lib.mkDefault true;
|
||||
enableUserService = lib.mkDefault true;
|
||||
};
|
||||
supergfxd.enable = lib.mkDefault true;
|
||||
};
|
||||
|
|
|
|||
74
asus/fa506nc/README.md
Normal file
74
asus/fa506nc/README.md
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# ASUS TUF A15 FA506NC
|
||||
|
||||
- GPU switching to the nvidia card works fine through supergfxd.
|
||||
- Power profiles autoswitch through asusctl in tandem with power-profiles-daemon.
|
||||
- The batter charge limit configuration through ../battery.nix did not work,
|
||||
setting a limit through asusd works.
|
||||
|
||||
## Configuring AsusCTL
|
||||
|
||||
To declaratively configure asusd you can control the whole config file through
|
||||
the asusd service (same for fan curves and keyboard leds):
|
||||
|
||||
```nix
|
||||
services.asusd.asusdConfig.text = ''
|
||||
(
|
||||
charge_control_end_threshold: 80,
|
||||
base_charge_control_end_threshold: 80,
|
||||
disable_nvidia_powerd_on_battery: true,
|
||||
ac_command: "",
|
||||
bat_command: "",
|
||||
platform_profile_linked_epp: true,
|
||||
platform_profile_on_battery: Quiet,
|
||||
change_platform_profile_on_battery: true,
|
||||
platform_profile_on_ac: Performance,
|
||||
change_platform_profile_on_ac: true,
|
||||
profile_quiet_epp: Power,
|
||||
profile_balanced_epp: BalancePower,
|
||||
profile_custom_epp: Performance,
|
||||
profile_performance_epp: Performance,
|
||||
ac_profile_tunings: {
|
||||
Performance: (
|
||||
enabled: false,
|
||||
group: {},
|
||||
),
|
||||
Quiet: (
|
||||
enabled: false,
|
||||
group: {},
|
||||
),
|
||||
Balanced: (
|
||||
enabled: false,
|
||||
group: {},
|
||||
),
|
||||
},
|
||||
dc_profile_tunings: {
|
||||
Quiet: (
|
||||
enabled: false,
|
||||
group: {},
|
||||
),
|
||||
Balanced: (
|
||||
enabled: false,
|
||||
group: {},
|
||||
),
|
||||
Performance: (
|
||||
enabled: false,
|
||||
group: {},
|
||||
),
|
||||
},
|
||||
armoury_settings: {},
|
||||
)
|
||||
'';
|
||||
```
|
||||
|
||||
Here you can set the battery charge limit and other settings like which profile to
|
||||
use on batter and which on power.
|
||||
|
||||
## More optimizations
|
||||
|
||||
You may also want to enable thermald and powertop for the optimizations mentioned in
|
||||
https://nixos.wiki/wiki/Laptop.
|
||||
|
||||
```nix
|
||||
services.thermald.enable = true;
|
||||
powerManagement.powertop.enable = true;
|
||||
```
|
||||
32
asus/fa506nc/default.nix
Normal file
32
asus/fa506nc/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../common/cpu/amd
|
||||
../../common/cpu/amd/pstate.nix
|
||||
../../common/gpu/amd
|
||||
../../common/gpu/nvidia/prime.nix
|
||||
../../common/gpu/nvidia/ampere
|
||||
../../common/pc/laptop
|
||||
../../common/pc/ssd
|
||||
];
|
||||
|
||||
hardware.nvidia = {
|
||||
dynamicBoost.enable = lib.mkDefault true;
|
||||
|
||||
prime = {
|
||||
amdgpuBusId = "PCI:5:0:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
};
|
||||
|
||||
# AMD has better battery life with PPD over TLP:
|
||||
# https://community.frame.work/t/responded-amd-7040-sleep-states/38101/13
|
||||
services.power-profiles-daemon.enable = lib.mkDefault true;
|
||||
|
||||
services = {
|
||||
# https://asus-linux.org/manual/asusctl-manual/
|
||||
asusd.enable = lib.mkDefault true;
|
||||
supergfxd.enable = lib.mkDefault true;
|
||||
};
|
||||
}
|
||||
|
|
@ -34,7 +34,6 @@
|
|||
services = {
|
||||
asusd = {
|
||||
enable = lib.mkDefault true;
|
||||
enableUserService = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
27
asus/fa706ic/default.nix
Normal file
27
asus/fa706ic/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../common/cpu/amd
|
||||
../../common/cpu/amd/pstate.nix
|
||||
../../common/gpu/amd
|
||||
../../common/gpu/nvidia/prime.nix
|
||||
../../common/gpu/nvidia/ampere
|
||||
../../common/pc/laptop
|
||||
../../common/pc/ssd
|
||||
];
|
||||
|
||||
hardware.nvidia = {
|
||||
dynamicBoost.enable = lib.mkDefault true;
|
||||
|
||||
prime = {
|
||||
amdgpuBusId = "PCI:6:0:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
asusd.enable = lib.mkDefault true;
|
||||
supergfxd.enable = lib.mkDefault true;
|
||||
};
|
||||
}
|
||||
|
|
@ -60,7 +60,6 @@ in
|
|||
services = {
|
||||
asusd = {
|
||||
enable = mkDefault true;
|
||||
enableUserService = mkDefault true;
|
||||
};
|
||||
|
||||
supergfxd.enable = mkDefault true;
|
||||
|
|
|
|||
|
|
@ -39,7 +39,6 @@ in
|
|||
services = {
|
||||
asusd = {
|
||||
enable = mkDefault true;
|
||||
enableUserService = mkDefault true;
|
||||
};
|
||||
|
||||
supergfxd.enable = mkDefault true;
|
||||
|
|
|
|||
|
|
@ -59,7 +59,6 @@ in
|
|||
services = {
|
||||
asusd = {
|
||||
enable = mkDefault true;
|
||||
enableUserService = mkDefault true;
|
||||
};
|
||||
|
||||
supergfxd.enable = mkDefault true;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
"i915.enable_guc=3"
|
||||
"i915.fastboot=1"
|
||||
# needed for keyboard
|
||||
"i8042.dumbkbd=1"
|
||||
"i8042.nopnp=1"
|
||||
];
|
||||
}
|
||||
|
|
|
|||
9
dell/latitude/e7440/default.nix
Normal file
9
dell/latitude/e7440/default.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../../common/cpu/intel/haswell
|
||||
../../../common/pc/laptop
|
||||
../../../common/pc/ssd
|
||||
];
|
||||
}
|
||||
28
flake.nix
28
flake.nix
|
|
@ -46,6 +46,7 @@
|
|||
in
|
||||
{
|
||||
acer-aspire-4810t = import ./acer/aspire/4810t;
|
||||
acer-predator-helios-300-ph315-51 = import ./acer/predator/helios/300/ph315-51;
|
||||
airis-n990 = import ./airis/n990;
|
||||
aoostar-r1-n100 = import ./aoostar/r1/n100;
|
||||
apple-imac-12-2 = import ./apple/imac/12-2;
|
||||
|
|
@ -72,8 +73,10 @@
|
|||
asus-fx504gd = import ./asus/fx504gd;
|
||||
asus-fx506hm = import ./asus/fx506hm;
|
||||
asus-fa506ic = import ./asus/fa506ic;
|
||||
asus-fa506nc = import ./asus/fa506nc;
|
||||
asus-fa507nv = import ./asus/fa507nv;
|
||||
asus-fa507rm = import ./asus/fa507rm;
|
||||
asus-fa706ic = import ./asus/fa706ic;
|
||||
asus-flow-gv302x-amdgpu = import ./asus/flow/gv302x/amdgpu;
|
||||
asus-flow-gv302x-nvidia = import ./asus/flow/gv302x/nvidia;
|
||||
asus-flow-gz301vu = import ./asus/flow/gz301vu;
|
||||
|
|
@ -125,6 +128,7 @@
|
|||
dell-latitude-7490 = import ./dell/latitude/7490;
|
||||
dell-latitude-9430 = import ./dell/latitude/9430;
|
||||
dell-latitude-e7240 = import ./dell/latitude/e7240;
|
||||
dell-latitude-e7440 = import ./dell/latitude/e7440;
|
||||
dell-optiplex-3050 = import ./dell/optiplex/3050;
|
||||
dell-poweredge-r7515 = import ./dell/poweredge/r7515;
|
||||
dell-precision-3490 = deprecated "1491" "dell-precision-3490" (import ./dell/precision/3490);
|
||||
|
|
@ -207,6 +211,7 @@
|
|||
hp-notebook-14-df0023 = import ./hp/notebook/14-df0023;
|
||||
intel-nuc-5i5ryb = import ./intel/nuc/5i5ryb;
|
||||
intel-nuc-8i7beh = import ./intel/nuc/8i7beh;
|
||||
intel-nuc-12wshi7 = import ./intel/nuc/12wshi7;
|
||||
lenovo-ideacentre-k330 = import ./lenovo/ideacentre/k330;
|
||||
lenovo-ideapad-14imh9 = import ./lenovo/ideapad/14imh9;
|
||||
lenovo-ideapad-15alc6 = import ./lenovo/ideapad/15alc6;
|
||||
|
|
@ -261,9 +266,11 @@
|
|||
lenovo-thinkpad-p14s-amd-gen3 = import ./lenovo/thinkpad/p14s/amd/gen3;
|
||||
lenovo-thinkpad-p14s-amd-gen4 = import ./lenovo/thinkpad/p14s/amd/gen4;
|
||||
lenovo-thinkpad-p14s-amd-gen5 = import ./lenovo/thinkpad/p14s/amd/gen5;
|
||||
lenovo-thinkpad-p14s-amd-gen6 = import ./lenovo/thinkpad/p14s/amd/gen6;
|
||||
lenovo-thinkpad-p14s-intel-gen2 = import ./lenovo/thinkpad/p14s/intel/gen2;
|
||||
lenovo-thinkpad-p14s-intel-gen3 = import ./lenovo/thinkpad/p14s/intel/gen3;
|
||||
lenovo-thinkpad-p14s-intel-gen5 = import ./lenovo/thinkpad/p14s/intel/gen5;
|
||||
lenovo-thinkpad-p15v-intel-gen3 = import ./lenovo/thinkpad/p15v/intel/gen3;
|
||||
lenovo-thinkpad-p16s-amd-gen1 = import ./lenovo/thinkpad/p16s/amd/gen1;
|
||||
lenovo-thinkpad-p16s-amd-gen2 = import ./lenovo/thinkpad/p16s/amd/gen2;
|
||||
lenovo-thinkpad-p16s-amd-gen4 = import ./lenovo/thinkpad/p16s/amd/gen4;
|
||||
|
|
@ -373,6 +380,7 @@
|
|||
msi-gs60 = import ./msi/gs60;
|
||||
msi-gl62 = import ./msi/gl62;
|
||||
msi-gl65-10SDR-492 = import ./msi/gl65/10SDR-492;
|
||||
msi-prestige-15-a10sc = import ./msi/prestige/15-a10sc;
|
||||
nxp-imx8mp-evk = import ./nxp/imx8mp-evk;
|
||||
nxp-imx8mq-evk = import ./nxp/imx8mq-evk;
|
||||
nxp-imx8qm-mek = import ./nxp/imx8qm-mek;
|
||||
|
|
@ -491,9 +499,29 @@
|
|||
imx93-boot = (pkgs.callPackage ./nxp/imx93-evk/bsp/imx93-boot.nix { }).imx93-boot;
|
||||
imx8mp-boot = (pkgs.callPackage ./nxp/imx8mp-evk/bsp/imx8mp-boot.nix { }).imx8m-boot;
|
||||
imx8mq-boot = (pkgs.callPackage ./nxp/imx8mq-evk/bsp/imx8mq-boot.nix { }).imx8m-boot;
|
||||
# Raspberry Pi kernels (aarch64-linux only)
|
||||
rpi2-kernel = (pkgs.callPackage ./raspberry-pi/common/kernel.nix { rpiVersion = 2; });
|
||||
rpi3-kernel = (pkgs.callPackage ./raspberry-pi/common/kernel.nix { rpiVersion = 3; });
|
||||
rpi4-kernel = (pkgs.callPackage ./raspberry-pi/common/kernel.nix { rpiVersion = 4; });
|
||||
rpi5-kernel = (pkgs.callPackage ./raspberry-pi/common/kernel.nix { rpiVersion = 5; });
|
||||
}
|
||||
);
|
||||
|
||||
# Hydra jobset for Raspberry Pi kernels
|
||||
hydraJobs = {
|
||||
raspberry-pi-kernels = eachSystem (
|
||||
pkgs: system:
|
||||
pkgs.lib.optionalAttrs (system == "aarch64-linux") {
|
||||
inherit (self.packages.${system})
|
||||
rpi2-kernel
|
||||
rpi3-kernel
|
||||
rpi4-kernel
|
||||
rpi5-kernel
|
||||
;
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
# Add checks for `nix run .#run-tests`
|
||||
checks = eachSystem (
|
||||
pkgs: system:
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
# Huawei Matebook X Pro (2020)
|
||||
|
||||
This is a very standard device that needs little configuration. The module mainly imports the common modules for its CPU, GPU, SSD etc. and enables ppd for power management. Nvidia prime offload is also enabled. This configuration should work with all Matebook X Pro models from 2020 (MACHC-WA*) other than MACHC-WAH9L as it does not contain the Nvidia GPU.
|
||||
This is a very standard device that needs little configuration. The module mainly imports the common modules for its CPU, GPU, SSD etc. and enables ppd for power management. Nvidia prime offload is also enabled. This configuration should work with all Matebook X Pro models from 2020 (MACHC-WA*) other than MACHC-WAH9L as it does not contain the Nvidia GPU.
|
||||
|
||||
Please also take a look at the `hardware.nvidia.primeBatterySaverSpecialisation ` to disable the dGPU to save battery.
|
||||
|
|
|
|||
|
|
@ -7,22 +7,19 @@
|
|||
{
|
||||
imports = [
|
||||
../../common/cpu/intel/comet-lake
|
||||
../../common/gpu/nvidia
|
||||
../../common/gpu/intel/comet-lake
|
||||
../../common/gpu/nvidia/pascal
|
||||
../../common/gpu/nvidia/prime.nix
|
||||
../../common/hidpi.nix
|
||||
../../common/pc/laptop
|
||||
../../common/pc/ssd
|
||||
];
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = lib.mkDefault true;
|
||||
open = lib.mkDefault false;
|
||||
nvidiaSettings = lib.mkDefault true;
|
||||
prime = {
|
||||
intelBusId = "PCI:0:2:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
};
|
||||
|
||||
services.power-profiles-daemon.enable = lib.mkDefault true;
|
||||
}
|
||||
|
|
|
|||
43
intel/nuc/12wshi7/README.md
Normal file
43
intel/nuc/12wshi7/README.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# NUC
|
||||
|
||||
## Tested Hardware
|
||||
|
||||
``` shellsession
|
||||
$ lspci -nnn
|
||||
00:00.0 Host bridge [0600]: Intel Corporation Device [8086:4621] (rev 02)
|
||||
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c)
|
||||
00:06.0 PCI bridge [0604]: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 [8086:464d] (rev 02)
|
||||
00:07.0 PCI bridge [0604]: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 [8086:466e] (rev 02)
|
||||
00:07.2 PCI bridge [0604]: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #2 [8086:462f] (rev 02)
|
||||
00:08.0 System peripheral [0880]: Intel Corporation 12th Gen Core Processor Gaussian & Neural Accelerator [8086:464f] (rev 02)
|
||||
00:0a.0 Signal processing controller [1180]: Intel Corporation Platform Monitoring Technology [8086:467d] (rev 01)
|
||||
00:0d.0 USB controller [0c03]: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller [8086:461e] (rev 02)
|
||||
00:0d.2 USB controller [0c03]: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 [8086:463e] (rev 02)
|
||||
00:0d.3 USB controller [0c03]: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #1 [8086:466d] (rev 02)
|
||||
00:14.0 USB controller [0c03]: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller [8086:51ed] (rev 01)
|
||||
00:14.2 RAM memory [0500]: Intel Corporation Alder Lake PCH Shared SRAM [8086:51ef] (rev 01)
|
||||
00:14.3 Network controller [0280]: Intel Corporation Alder Lake-P PCH CNVi WiFi [8086:51f0] (rev 01)
|
||||
00:15.0 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 [8086:51e8] (rev 01)
|
||||
00:15.1 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 [8086:51e9] (rev 01)
|
||||
00:16.0 Communication controller [0780]: Intel Corporation Alder Lake PCH HECI Controller [8086:51e0] (rev 01)
|
||||
00:17.0 SATA controller [0106]: Intel Corporation Alder Lake-P SATA AHCI Controller [8086:51d3] (rev 01)
|
||||
00:1d.0 PCI bridge [0604]: Intel Corporation Alder Lake PCI Express Root Port #9 [8086:51b0] (rev 01)
|
||||
00:1f.0 ISA bridge [0601]: Intel Corporation Alder Lake PCH eSPI Controller [8086:5182] (rev 01)
|
||||
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Alder Lake PCH-P High Definition Audio Controller [8086:51c8] (rev 01)
|
||||
00:1f.4 SMBus [0c05]: Intel Corporation Alder Lake PCH-P SMBus Host Controller [8086:51a3] (rev 01)
|
||||
00:1f.5 Serial bus controller [0c80]: Intel Corporation Alder Lake-P PCH SPI Controller [8086:51a4] (rev 01)
|
||||
01:00.0 Non-Volatile memory controller [0108]: Micron Technology Inc 2550 NVMe SSD (DRAM-less) [1344:5416] (rev 01)
|
||||
72:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I225-V [8086:15f3] (rev 03)
|
||||
```
|
||||
|
||||
## Before Installation
|
||||
|
||||
These settings are needed both for booting the final install, and
|
||||
installer itself. Therefore, they must be done first.
|
||||
|
||||
- Disable Secure Boot (but keep UEFI Boot).
|
||||
|
||||
# References
|
||||
|
||||
- [ASUS Product page](https://www.asus.com/supportonly/nuc12wshi7/helpdesk_qvl/) (formerly on Intel's site)
|
||||
- [Arch Wiki on Intel NUC](https://wiki.archlinux.org/title/Intel_NUC)
|
||||
11
intel/nuc/12wshi7/default.nix
Normal file
11
intel/nuc/12wshi7/default.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../../common/cpu/intel/alder-lake
|
||||
../../../common/pc
|
||||
../../../common/pc/ssd
|
||||
];
|
||||
|
||||
services.thermald.enable = lib.mkDefault true;
|
||||
}
|
||||
12
lenovo/thinkpad/p14s/amd/gen6/default.nix
Normal file
12
lenovo/thinkpad/p14s/amd/gen6/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../.
|
||||
../../../../../common/cpu/amd/pstate.nix
|
||||
];
|
||||
|
||||
# Embedded controller wake-ups drain battery in s2idle on this device
|
||||
# See https://lore.kernel.org/all/ZnFYpWHJ5Ml724Nv@ohnotp/
|
||||
boot.kernelParams = [ "acpi.ec_no_wakeup=1" ];
|
||||
}
|
||||
10
lenovo/thinkpad/p15v/default.nix
Normal file
10
lenovo/thinkpad/p15v/default.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
../.
|
||||
../../../common/pc/ssd
|
||||
];
|
||||
|
||||
hardware.enableRedistributableFirmware = lib.mkDefault true;
|
||||
hardware.trackpoint.device = lib.mkDefault "TPPS/2 Elan TrackPoint";
|
||||
}
|
||||
5
lenovo/thinkpad/p15v/intel/default.nix
Normal file
5
lenovo/thinkpad/p15v/intel/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
../.
|
||||
];
|
||||
}
|
||||
14
lenovo/thinkpad/p15v/intel/gen3/default.nix
Normal file
14
lenovo/thinkpad/p15v/intel/gen3/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
../.
|
||||
../../../../../common/cpu/intel/alder-lake
|
||||
../../../../../common/gpu/nvidia/prime.nix
|
||||
../../../../../common/gpu/nvidia/turing
|
||||
];
|
||||
|
||||
hardware.nvidia.prime = {
|
||||
intelBusId = lib.mkDefault "PCI:0:2:0";
|
||||
nvidiaBusId = lib.mkDefault "PCI:1:0:0";
|
||||
};
|
||||
}
|
||||
|
|
@ -26,7 +26,7 @@ let
|
|||
|
||||
src = fetchzip {
|
||||
url = "mirror://kernel/linux/kernel/v${lib.versions.major modDirVersion}.x/linux-${modDirVersion}.tar.xz";
|
||||
hash = "sha256-MibiVni0N37BxOrD53cDGitIbC24p9+7551qMQIcSHY=";
|
||||
hash = "sha256-cdQbdColRBCzQPWojIVpLs6Rmuk91bBPtqf8DsmkSxU=";
|
||||
};
|
||||
|
||||
kernelPatches =
|
||||
|
|
@ -101,10 +101,17 @@ let
|
|||
ARM_IMX_CPUFREQ_DT = yes;
|
||||
ARM_IMX_BUS_DEVFREQ = yes;
|
||||
IMX_IRQSTEER = yes;
|
||||
PWM_FSL_FTM = yes;
|
||||
FSL_RCPM = yes;
|
||||
VIDEO_DW100 = module;
|
||||
IMX_AIPSTZ = module;
|
||||
IMX_DSP = module;
|
||||
IMX_REMOTEPROC = module;
|
||||
IMX_DSP_REMOTEPROC = module;
|
||||
|
||||
PCI_MESON = yes;
|
||||
DWMAC_MESON = module;
|
||||
MDIO_BUS_MUX_MESON_G12A = yes;
|
||||
MDIO_BUS_MUX_MESON_G12A = module;
|
||||
I2C_MESON = yes;
|
||||
PWM_MESON = yes;
|
||||
USB_DWC3_MESON_G12A = yes;
|
||||
|
|
@ -113,9 +120,6 @@ let
|
|||
MESON_DDR_PMU = yes;
|
||||
RTW88_8822CS = module;
|
||||
|
||||
PWM_FSL_FTM = yes;
|
||||
FSL_RCPM = yes;
|
||||
|
||||
ARCH_ROCKCHIP = yes;
|
||||
# ARM_ROCKCHIP_CPUFREQ = module; # configuration option does not exist
|
||||
DRM_PANTHOR = module;
|
||||
|
|
@ -134,8 +138,6 @@ let
|
|||
REGULATOR_FIXED_VOLTAGE = yes;
|
||||
GPIO_ROCKCHIP = yes;
|
||||
PL330_DMA = yes;
|
||||
|
||||
DRM_ZYNQMP_DPSUB = no; # patches for 6.18 break this driver
|
||||
};
|
||||
}
|
||||
// (args.argsOverride or { })
|
||||
|
|
|
|||
|
|
@ -1,99 +1,87 @@
|
|||
[
|
||||
"linux/patches6.18/imx8mp-mnt-pocket-reform/2ghz/0001-imx8mp-2ghz-clk.patch"
|
||||
"linux/patches6.18/imx8mp-mnt-pocket-reform/2ghz/0002-imx8mp-2ghz-opp.patch"
|
||||
"linux/patches6.18/imx8mp-mnt-pocket-reform/audio/0000-revert-crashy-audiomix-pm-support.patch"
|
||||
"linux/patches6.18/imx8mp-mnt-pocket-reform/mmc-sdio/0001-sdhci-add-no-sd-uhs-sdr104-devicetree-property.patch"
|
||||
"linux/patches6.18/imx8mp-mnt-pocket-reform/mmc-sdio/0002-During-the-card-init-the-host-side-sometimes-may-nee.patch"
|
||||
"linux/patches6.18/imx8mp-mnt-pocket-reform/mmc-sdio/0003-USDHC-IP-has-one-limitation-the-tuning-circuit-can-t.patch"
|
||||
"linux/patches6.18/imx8mp-mnt-pocket-reform/pocket-panel/0001-v5-add-multi-display-panel-driver.patch"
|
||||
"linux/patches6.18/imx8mp-mnt-pocket-reform/pocket-panel/0002-pocket-panel-fix-sleep-add-orientation.patch"
|
||||
"linux/patches6.18/imx8mp-mnt-reform2/0001-sn65dsi86-use-hs-clock-of-samsung-dsim-host-directly.patch"
|
||||
"linux/patches6.18/imx8mp-mnt-reform2/0002-lcdif-dont-exceed-desired-pixel-clock.patch"
|
||||
"linux/patches6.18/imx8mq-mnt-reform2/0001-imx8mq-mnt-reform2.dts-multiple-fixes-for-display-wi.patch"
|
||||
"linux/patches6.18/imx8mq-mnt-reform2/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch"
|
||||
"linux/patches6.18/imx8mq-mnt-reform2/0002-Revert-drm-bridge-nwl-dsi-Use-vsync-hsync-polarity-f.patch"
|
||||
"linux/patches6.18/imx8mq-mnt-reform2/0003-lcdif-fix-pcie-interference.patch"
|
||||
"linux/patches6.18/imx8mq-mnt-reform2/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch"
|
||||
"linux/patches6.18/imx8mq-mnt-reform2/0005-pci-imx6-add-support-for-internal-refclk-imx8mq.patch"
|
||||
"linux/patches6.18/imx8mq-mnt-reform2/0006-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch"
|
||||
"linux/patches6.18/ls1028a-mnt-reform2/0000-dtsi-add-hdptx.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-pocket-reform/0001-a311d-viu-fifo-lines-config.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-pocket-reform/0002-a311d-viu-fifo-lines-config-header.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-pocket-reform/0003-tlv320aic31xx-add-1228800hz-support.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0001-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0001-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0011-dw-mipi-dsi-phy-stop-wait-time.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0012-innolux-n125hce-gn1-timing-tweaks.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0013-meson-viu-hold-fifo-lines.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0014-meson-venc-sync.patch.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0015-meson-dw-mipi-dsi-sync-invert.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0016-sn65dsi86-burst-mode-support.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0018-sn65dsi86-never-turn-off.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0020-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0021-HACK-of-partial-revert-of-fdt.c-changes.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0022-add-bt-and-eth-resets.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0023-sdio-pullups.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0024-sdio-improve-wifi-speed.patch"
|
||||
"linux/patches6.18/meson-g12b-bananapi-cm4-mnt-reform2/0030-WORKAROUND-meson-plane-disable-afbc-32x8.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0001-MERGED-drm-bridge-Pass-down-connector-to-drm-bridge-.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0024-math.h-add-DIV_ROUND_UP_NO_OVERFLOW.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0025-clk-divider-Fix-divisor-masking-on-64-bit-platforms.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0026-clk-composite-replace-open-coded-abs_diff.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0030-mfd-rk8xx-Fix-shutdown-handler.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0031-dt-bindings-display-vop2-Add-VP-clock-resets.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0032-drm-rockchip-vop2-Add-clock-resets-support.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0033-arm64-dts-rockchip-Add-VOP-clock-resets-for-rk3588s.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0035-drm-rockchip-vop2-Add-core-reset-support.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0046-arm64-defconfig-Enable-Rockchip-RK3588-DisplayPort-C.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0055-phy-rockchip-usbdp-move-orientation-handling-further.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0056-phy-rockchip-usbdp-reset-USB3-and-reinit-on-orientat.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0060-PCI-dw-rockchip-Rename-rockchip_pcie_get_ltssm-funct.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0061-PCI-dw-rockchip-Support-get_ltssm-operation.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0062-PCI-dw-rockchip-Move-devm_phy_get-out-of-phy_init.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0063-PCI-dw-rockchip-Add-helper-function-for-enhanced-LTS.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0064-PCI-dw-rockchip-Add-helper-function-for-controller-m.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0065-PCI-dw-rockchip-Add-helper-function-for-DDL-indicato.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0066-PCI-dw-rockchip-Add-pme_turn_off-support.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0067-PCI-dw-rockchip-Add-system-PM-support.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0068-drm-bridge-dw-hdmi-qp-Add-CEC-support.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0069-drm-bridge-dw-hdmi-qp-Fixup-timer-base-setup.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0070-drm-rockchip-dw_hdmi_qp-Improve-error-handling-with-.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0071-drm-rockchip-dw_hdmi_qp-Provide-CEC-IRQ-in-dw_hdmi_q.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0072-drm-rockchip-dw_hdmi_qp-Provide-ref-clock-rate-in-dw.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0073-arm64-defconfig-Enable-DW-HDMI-QP-CEC-support.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0075-phy-hdmi-Add-HDMI-2.1-FRL-configuration-options.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0079-phy-rockchip-samsung-hdptx-Use-usleep_range-instead-.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0080-phy-rockchip-samsung-hdptx-Fix-coding-style-alignmen.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0081-phy-rockchip-samsung-hdptx-Consistently-use-rk_-hdpt.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0082-phy-rockchip-samsung-hdptx-Enable-lane-output-in-com.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0083-phy-rockchip-samsung-hdptx-Cleanup-_cmn_init_seq-lis.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0084-phy-rockchip-samsung-hdptx-Compute-clk-rate-from-PLL.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0085-phy-rockchip-samsung-hdptx-Drop-hw_rate-driver-data.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0086-phy-rockchip-samsung-hdptx-Switch-to-driver-specific.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0087-phy-rockchip-samsung-hdptx-Extend-rk_hdptx_phy_verif.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0088-phy-rockchip-samsung-hdptx-Add-HDMI-2.1-FRL-support.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0089-drm-rockchip-vop2-Check-bpc-before-switching-DCLK-so.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0090-drm-bridge-dw-hdmi-qp-Handle-platform-supported-form.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0091-drm-rockchip-dw_hdmi_qp-Switch-to-phy_configure.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0092-drm-rockchip-dw_hdmi_qp-Use-bit-macros-for-RK3576-re.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0093-drm-rockchip-dw_hdmi_qp-Add-high-color-depth-support.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0094-DEBUG-phy-rockchip-samsung-hdptx-Add-verbose-logging.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0095-WIP-SCRAMB-drm-bridge-Add-detect_ctx-hook.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0096-WIP-SCRAMB-drm-bridge-connector-Switch-from-detect-t.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0097-WIP-SCRAMB-drm-bridge-dw-hdmi-qp-Add-high-TMDS-clock.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0098-WIP-YUV420-drm-rockchip-vop2-Add-YUV420-output-forma.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0099-WIP-YUV420-drm-rockchip-dw_hdmi_qp-Add-YUV420-output.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0100-WIP-FRL-dt-bindings-display-rockchip-Add-tmds-enable.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0101-WIP-FRL-drm-rockchip-dw_hdmi_qp-Fixup-usage-of-enabl.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0103-WIP-FRL-arm64-dts-rockchip-Assign-ACLK_VOP-to-750-MH.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0104-WIP-FRL-drm-connector-hdmi-Handle-FRL-in-hdmi_clock_.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0105-WIP-FRL-drm-bridge-dw-hdmi-qp-Add-HDMI-2.1-FRL-suppo.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0106-WIP-FRL-drm-rockchip-dw_hdmi_qp-Add-HDMI-2.1-FRL-sup.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0107-WIP-FRL-drm-rockchip-vop2-Add-HDMI-2.1-FRL-support.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0108-dt-bindings-phy-rockchip-usbdp-add-improved-ports-sc.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/0114-media-dt-bindings-video-interfaces-add-defines-for-s.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/2001-drm-bridge-dw-hdmi-qp-Return-0-in-audio-prepare-when.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/2003-drm-bridge-synopsys-Do-not-warn-about-audio-params-c.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/5200-drm-rockchip-Set-dma-mask-to-64-bit.patch"
|
||||
"linux/patches6.18/rk3588-mnt-reform2/7001-PCI-dw-rockchip-Disable-root-port-BARs.patch"
|
||||
"linux/patches6.19/imx8mp-mnt-pocket-reform/2ghz/0001-imx8mp-2ghz-clk.patch"
|
||||
"linux/patches6.19/imx8mp-mnt-pocket-reform/2ghz/0002-imx8mp-2ghz-opp.patch"
|
||||
"linux/patches6.19/imx8mp-mnt-pocket-reform/mmc-sdio/0001-sdhci-add-no-sd-uhs-sdr104-devicetree-property.patch"
|
||||
"linux/patches6.19/imx8mp-mnt-pocket-reform/mmc-sdio/0002-During-the-card-init-the-host-side-sometimes-may-nee.patch"
|
||||
"linux/patches6.19/imx8mp-mnt-pocket-reform/mmc-sdio/0003-USDHC-IP-has-one-limitation-the-tuning-circuit-can-t.patch"
|
||||
"linux/patches6.19/imx8mp-mnt-pocket-reform/pocket-panel/0001-v5-add-multi-display-panel-driver.patch"
|
||||
"linux/patches6.19/imx8mp-mnt-pocket-reform/pocket-panel/0002-pocket-panel-fix-sleep-add-orientation.patch"
|
||||
"linux/patches6.19/imx8mp-mnt-reform2/0001-sn65dsi86-use-hs-clock-of-samsung-dsim-host-directly.patch"
|
||||
"linux/patches6.19/imx8mp-mnt-reform2/0002-lcdif-dont-exceed-desired-pixel-clock.patch"
|
||||
"linux/patches6.19/imx8mq-mnt-reform2/0001-imx8mq-mnt-reform2.dts-multiple-fixes-for-display-wi.patch"
|
||||
"linux/patches6.19/imx8mq-mnt-reform2/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch"
|
||||
"linux/patches6.19/imx8mq-mnt-reform2/0002-Revert-drm-bridge-nwl-dsi-Use-vsync-hsync-polarity-f.patch"
|
||||
"linux/patches6.19/imx8mq-mnt-reform2/0003-lcdif-fix-pcie-interference.patch"
|
||||
"linux/patches6.19/imx8mq-mnt-reform2/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch"
|
||||
"linux/patches6.19/imx8mq-mnt-reform2/0005-pci-imx6-add-support-for-internal-refclk-imx8mq.patch"
|
||||
"linux/patches6.19/imx8mq-mnt-reform2/0006-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch"
|
||||
"linux/patches6.19/ls1028a-mnt-reform2/0000-dtsi-add-hdptx.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-pocket-reform/0001-a311d-viu-fifo-lines-config.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-pocket-reform/0002-a311d-viu-fifo-lines-config-header.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-pocket-reform/0003-tlv320aic31xx-add-1228800hz-support.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0001-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0001-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0011-dw-mipi-dsi-phy-stop-wait-time.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0012-innolux-n125hce-gn1-timing-tweaks.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0013-meson-viu-hold-fifo-lines.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0014-meson-venc-sync.patch.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0015-meson-dw-mipi-dsi-sync-invert.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0016-sn65dsi86-burst-mode-support.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0018-sn65dsi86-never-turn-off.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0020-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0021-HACK-of-partial-revert-of-fdt.c-changes.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0022-add-bt-and-eth-resets.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0023-sdio-pullups.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0024-sdio-improve-wifi-speed.patch"
|
||||
"linux/patches6.19/meson-g12b-bananapi-cm4-mnt-reform2/0030-WORKAROUND-meson-plane-disable-afbc-32x8.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0001-FROM-UPSTREAM-drm-bridge-dw-hdmi-qp-Add-support-for-.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0024-math.h-add-DIV_ROUND_UP_NO_OVERFLOW.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0025-clk-divider-Fix-divisor-masking-on-64-bit-platforms.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0026-clk-composite-replace-open-coded-abs_diff.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0029-Revert-PCI-dw-rockchip-Simplify-regulator-setup-with.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0030-mfd-rk8xx-Fix-shutdown-handler.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0031-dt-bindings-display-vop2-Add-VP-clock-resets.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0032-drm-rockchip-vop2-Add-clock-resets-support.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0033-arm64-dts-rockchip-Add-VOP-clock-resets-for-rk3588s.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0035-drm-rockchip-vop2-Add-core-reset-support.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0062-PCI-dw-rockchip-Move-devm_phy_get-out-of-phy_init.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0063-PCI-dw-rockchip-Add-helper-function-for-enhanced-LTS.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0064-PCI-dw-rockchip-Add-helper-function-for-controller-m.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0065-PCI-dw-rockchip-Add-helper-function-for-DDL-indicato.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0066-PCI-dw-rockchip-Add-pme_turn_off-support.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0067-PCI-dw-rockchip-Add-system-PM-support.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0074-MERGED-phy-hdmi-Add-HDMI-2.1-FRL-configuration-optio.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0075-PCI-host-common-Add-an-API-to-check-for-any-device-u.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0076-PCI-qcom-Check-for-the-presence-of-a-device-instead-.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0077-PCI-dwc-Check-for-the-device-presence-during-suspend.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0078-PCI-dw-rockchip-Fix-LTSSM-set-functions.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0079-MERGED-phy-rockchip-samsung-hdptx-Use-usleep_range-i.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0079-WIP-PCI-dw-rockchip-port-some-suspend-code-from-vend.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0080-MERGED-phy-rockchip-samsung-hdptx-Fix-coding-style-a.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0081-MERGED-phy-rockchip-samsung-hdptx-Consistently-use-r.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0082-MERGED-phy-rockchip-samsung-hdptx-Enable-lane-output.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0083-MERGED-phy-rockchip-samsung-hdptx-Cleanup-_cmn_init_.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0084-MERGED-phy-rockchip-samsung-hdptx-Compute-clk-rate-f.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0085-MERGED-phy-rockchip-samsung-hdptx-Drop-hw_rate-drive.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0086-MERGED-phy-rockchip-samsung-hdptx-Switch-to-driver-s.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0087-MERGED-phy-rockchip-samsung-hdptx-Extend-rk_hdptx_ph.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0088-MERGED-phy-rockchip-samsung-hdptx-Add-HDMI-2.1-FRL-s.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0089-DEBUG-phy-rockchip-samsung-hdptx-Add-verbose-logging.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0092-drm-rockchip-dw_hdmi_qp-Do-not-send-HPD-events-for-a.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0093-drm-Add-CRTC-background-color-property.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0094-drm-rockchip-vop2-Support-setting-custom-background-.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0095-drm-bridge-Add-detect_ctx-hook-and-drm_bridge_detect.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0096-drm-bridge-connector-Switch-to-using-detect_ctx-hook.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0097-drm-bridge-dw-hdmi-qp-Add-high-TMDS-clock-ratio-and-.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0098-WIP-YUV420-drm-rockchip-vop2-Add-YUV420-output-forma.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0099-WIP-YUV420-drm-rockchip-dw_hdmi_qp-Add-YUV420-output.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0103-WIP-FRL-arm64-dts-rockchip-Assign-ACLK_VOP-to-750-MH.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0104-WIP-FRL-drm-connector-hdmi-Handle-FRL-in-hdmi_clock_.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0105-WIP-FRL-drm-bridge-dw-hdmi-qp-Add-HDMI-2.1-FRL-suppo.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0106-WIP-FRL-drm-rockchip-dw_hdmi_qp-Add-HDMI-2.1-FRL-sup.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0107-WIP-FRL-drm-rockchip-vop2-Add-HDMI-2.1-FRL-support.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/0108-dt-bindings-phy-rockchip-usbdp-add-improved-ports-sc.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/2001-drm-bridge-dw-hdmi-qp-Return-0-in-audio-prepare-when.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/2003-drm-bridge-synopsys-Do-not-warn-about-audio-params-c.patch"
|
||||
"linux/patches6.19/rk3588-mnt-reform2/5200-drm-rockchip-Set-dma-mask-to-64-bit.patch"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -11,14 +11,15 @@
|
|||
kernelParams = [
|
||||
"no_console_suspend"
|
||||
"console=tty1"
|
||||
"pcie_aspm=off" # pcie seems broken on kernel 6.18 https://community.mnt.re/t/error-message-after-apt-update-upgrade/4188/7
|
||||
"pcie_aspm=off" # pcie seems broken on kernel 6.19. Original post https://community.mnt.re/t/error-message-after-apt-update-upgrade/4188/7
|
||||
];
|
||||
# kernel modules needed for the virtual console
|
||||
initrd.availableKernelModules = [
|
||||
"panel-edp"
|
||||
"phy-rockchip-samsung-hdptx"
|
||||
"gpio_shared_proxy"
|
||||
"panel_edp"
|
||||
"phy_rockchip_samsung_hdptx"
|
||||
"rockchipdrm"
|
||||
"ti-sn65dsi86"
|
||||
"ti_sn65dsi86"
|
||||
];
|
||||
|
||||
};
|
||||
|
|
@ -27,6 +28,7 @@
|
|||
generic-extlinux-compatible.enable = true;
|
||||
};
|
||||
hardware.alsa.enablePersistence = true;
|
||||
hardware.graphics.enable = lib.mkDefault true;
|
||||
system.activationScripts.asound = ''
|
||||
if [ ! -e "/var/lib/alsa/asound.state" ]; then
|
||||
mkdir -p /var/lib/alsa
|
||||
|
|
|
|||
|
|
@ -42,8 +42,6 @@ buildUBoot rec {
|
|||
filesToInstall = [
|
||||
"idbloader.img"
|
||||
"u-boot.itb"
|
||||
"rock5b-rk3588.ini"
|
||||
"spl/u-boot-spl.bin"
|
||||
];
|
||||
variant = "-dsi";
|
||||
defconfig = "rk3588-mnt-reform2${variant}_defconfig";
|
||||
|
|
@ -51,5 +49,4 @@ buildUBoot rec {
|
|||
"BL31=${armTrustedFirmwareRK3588}/bl31.elf"
|
||||
"ROCKCHIP_TPL=${rkbin}/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin"
|
||||
];
|
||||
passthru.rkbin = rkbin;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"modDirVersion": "6.18.8",
|
||||
"modDirVersion": "6.19.6",
|
||||
"reformDebianPackages": {
|
||||
"domain": "source.mnt.re",
|
||||
"owner": "reform",
|
||||
"repo": "reform-debian-packages",
|
||||
"rev": "7e8a95c7babd9e1f4b307b6d146e0846c65fc9b8",
|
||||
"hash": "sha256-D3Q2AP9wJwpVyLjhroY2o8FX7+NmvhDP8cZK7dap9Dw="
|
||||
"rev": "caf1e6d88c12eb56b04e71a6ad262566b553455d",
|
||||
"hash": "sha256-oECN+2IFb470QDna+9IGjtt/QogjfbKsFfG/xVXZouc="
|
||||
}
|
||||
}
|
||||
|
|
|
|||
19
msi/prestige/15-a10sc/default.nix
Normal file
19
msi/prestige/15-a10sc/default.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../../common/cpu/intel/comet-lake
|
||||
../../../common/gpu/nvidia/prime.nix
|
||||
../../../common/gpu/nvidia/turing
|
||||
../../../common/pc/laptop
|
||||
../../../common/pc/ssd
|
||||
];
|
||||
|
||||
hardware.bluetooth.enable = lib.mkDefault true;
|
||||
hardware.graphics.enable = lib.mkDefault true;
|
||||
|
||||
hardware.nvidia.prime = {
|
||||
intelBusId = lib.mkDefault "PCI:0:2:0";
|
||||
nvidiaBusId = lib.mkDefault "PCI:2:0:0";
|
||||
};
|
||||
}
|
||||
36
onenetbook/4/goodix-stylus-mastykin/6.17.patch.patch
Normal file
36
onenetbook/4/goodix-stylus-mastykin/6.17.patch.patch
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
--- orig.patch
|
||||
+++ updated-6.17.patch
|
||||
@@ -10,11 +10,11 @@
|
||||
/* quirks to control the device */
|
||||
#define MT_QUIRK_NOT_SEEN_MEANS_UP BIT(0)
|
||||
#define MT_QUIRK_SLOT_IS_CONTACTID BIT(1)
|
||||
-@@ -70,6 +73,7 @@
|
||||
- #define MT_QUIRK_WIN8_PTP_BUTTONS BIT(18)
|
||||
- #define MT_QUIRK_SEPARATE_APP_REPORT BIT(19)
|
||||
- #define MT_QUIRK_FORCE_MULTI_INPUT BIT(20)
|
||||
-+#define MT_QUIRK_NON_MT_PEN BIT(21)
|
||||
+@@ -76,6 +76,7 @@
|
||||
+ #define MT_QUIRK_DISABLE_WAKEUP BIT(21)
|
||||
+ #define MT_QUIRK_ORIENTATION_INVERT BIT(22)
|
||||
+ #define MT_QUIRK_APPLE_TOUCHBAR BIT(23)
|
||||
++#define MT_QUIRK_NON_MT_PEN BIT(24)
|
||||
|
||||
#define MT_INPUTMODE_TOUCHSCREEN 0x02
|
||||
#define MT_INPUTMODE_TOUCHPAD 0x03
|
||||
@@ -37,13 +37,13 @@
|
||||
|
||||
struct mt_device {
|
||||
@@ -208,6 +216,7 @@
|
||||
- #define MT_CLS_GOOGLE 0x0111
|
||||
#define MT_CLS_RAZER_BLADE_STEALTH 0x0112
|
||||
#define MT_CLS_SMART_TECH 0x0113
|
||||
-+#define MT_CLS_NON_MT_PEN 0x0114
|
||||
+ #define MT_CLS_APPLE_TOUCHBAR 0x0114
|
||||
++#define MT_CLS_NON_MT_PEN 0x0115
|
||||
+ #define MT_CLS_SIS 0x0457
|
||||
|
||||
#define MT_DEFAULT_MAXCONTACT 10
|
||||
- #define MT_MAX_MAXCONTACT 250
|
||||
@@ -374,6 +383,9 @@
|
||||
MT_QUIRK_CONTACT_CNT_ACCURATE |
|
||||
MT_QUIRK_SEPARATE_APP_REPORT,
|
||||
40
onenetbook/4/goodix-stylus-mastykin/6.18.patch.patch
Normal file
40
onenetbook/4/goodix-stylus-mastykin/6.18.patch.patch
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
--- orig.patch
|
||||
+++ updated-6.18.patch
|
||||
@@ -10,11 +10,11 @@
|
||||
/* quirks to control the device */
|
||||
#define MT_QUIRK_NOT_SEEN_MEANS_UP BIT(0)
|
||||
#define MT_QUIRK_SLOT_IS_CONTACTID BIT(1)
|
||||
-@@ -70,6 +73,7 @@
|
||||
- #define MT_QUIRK_WIN8_PTP_BUTTONS BIT(18)
|
||||
- #define MT_QUIRK_SEPARATE_APP_REPORT BIT(19)
|
||||
- #define MT_QUIRK_FORCE_MULTI_INPUT BIT(20)
|
||||
-+#define MT_QUIRK_NON_MT_PEN BIT(21)
|
||||
+@@ -78,6 +78,7 @@
|
||||
+ #define MT_QUIRK_APPLE_TOUCHBAR BIT(23)
|
||||
+ #define MT_QUIRK_YOGABOOK9I BIT(24)
|
||||
+ #define MT_QUIRK_KEEP_LATENCY_ON_CLOSE BIT(25)
|
||||
++#define MT_QUIRK_NON_MT_PEN BIT(26)
|
||||
|
||||
#define MT_INPUTMODE_TOUCHSCREEN 0x02
|
||||
#define MT_INPUTMODE_TOUCHPAD 0x03
|
||||
@@ -36,14 +36,15 @@
|
||||
};
|
||||
|
||||
struct mt_device {
|
||||
-@@ -208,6 +216,7 @@
|
||||
- #define MT_CLS_GOOGLE 0x0111
|
||||
- #define MT_CLS_RAZER_BLADE_STEALTH 0x0112
|
||||
+@@ -233,6 +234,7 @@
|
||||
#define MT_CLS_SMART_TECH 0x0113
|
||||
-+#define MT_CLS_NON_MT_PEN 0x0114
|
||||
+ #define MT_CLS_APPLE_TOUCHBAR 0x0114
|
||||
+ #define MT_CLS_YOGABOOK9I 0x0115
|
||||
+ #define MT_CLS_EGALAX_P80H84 0x0116
|
||||
++#define MT_CLS_NON_MT_PEN 0x0117
|
||||
+ #define MT_CLS_SIS 0x0457
|
||||
|
||||
#define MT_DEFAULT_MAXCONTACT 10
|
||||
- #define MT_MAX_MAXCONTACT 250
|
||||
@@ -374,6 +383,9 @@
|
||||
MT_QUIRK_CONTACT_CNT_ACCURATE |
|
||||
MT_QUIRK_SEPARATE_APP_REPORT,
|
||||
|
|
@ -1,3 +1,7 @@
|
|||
# quick command for testing:
|
||||
# nix build -L --impure --no-link --expr \
|
||||
# '(import <nixpkgs> {}).linuxPackages_6_18.callPackage ./default.nix {}'
|
||||
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
|
|
@ -25,8 +29,20 @@ let
|
|||
cat ${patch1_original} > $out
|
||||
${patch}/bin/patch $out < ${./6.12.patch.patch}
|
||||
'';
|
||||
patch1_updated_6_17 = runCommand "goodix-stylus-mastykin-1-pen-support-6.17.patch" { } ''
|
||||
cat ${patch1_original} > $out
|
||||
${patch}/bin/patch $out < ${./6.17.patch.patch}
|
||||
'';
|
||||
patch1_updated_6_18 = runCommand "goodix-stylus-mastykin-1-pen-support-6.18.patch" { } ''
|
||||
cat ${patch1_original} > $out
|
||||
${patch}/bin/patch $out < ${./6.18.patch.patch}
|
||||
'';
|
||||
patch1 =
|
||||
if (lib.versionAtLeast kernel.version "6.12") then
|
||||
if (lib.versionAtLeast kernel.version "6.18.18") then
|
||||
patch1_updated_6_18
|
||||
else if (lib.versionAtLeast kernel.version "6.17") then
|
||||
patch1_updated_6_17
|
||||
else if (lib.versionAtLeast kernel.version "6.12") then
|
||||
patch1_updated_6_12
|
||||
else if (lib.versionAtLeast kernel.version "6.1") then
|
||||
patch1_updated_6_1
|
||||
|
|
@ -51,17 +67,32 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||
|
||||
src = ./.;
|
||||
patches = [
|
||||
patch1
|
||||
patch2
|
||||
];
|
||||
|
||||
postUnpack = ''
|
||||
tar -C goodix-stylus-mastykin \
|
||||
--strip-components=3 -xf ${kernel.src} --wildcards \
|
||||
'*/drivers/hid/hid-ids.h' '*/drivers/hid/hid-multitouch.c'
|
||||
# default patchPhase doesn't try hard enough
|
||||
patchPhase = ''
|
||||
runHook prePatch
|
||||
patch -p3 hid-multitouch.c < ${patch1}
|
||||
patch -p3 hid-multitouch.c < ${patch2}
|
||||
runHook postPatch
|
||||
'';
|
||||
patchFlags = "-p3";
|
||||
|
||||
postUnpack =
|
||||
let
|
||||
hid = "${kernel.src}/drivers/hid";
|
||||
in
|
||||
''
|
||||
if [ -d ${kernel.src} ]; then # -latest kernel
|
||||
cp ${hid}/hid-ids.h ${hid}/hid-multitouch.c goodix-stylus-mastykin/
|
||||
cp ${hid}/hid-haptic.h goodix-stylus-mastykin/ 2>/dev/null || true
|
||||
else # stable kernels with tarballs
|
||||
tar -C goodix-stylus-mastykin \
|
||||
--strip-components=3 -xf ${kernel.src} --wildcards \
|
||||
'*/drivers/hid/hid-ids.h' '*/drivers/hid/hid-multitouch.c'
|
||||
tar -C goodix-stylus-mastykin \
|
||||
--strip-components=3 -xf ${kernel.src} --wildcards \
|
||||
'*/drivers/hid/hid-haptic.h' 2>/dev/null || true
|
||||
fi
|
||||
'';
|
||||
postPatch = ''
|
||||
mv hid-multitouch.c hid-multitouch-onenetbook4.c
|
||||
substituteInPlace hid-multitouch-onenetbook4.c --replace \
|
||||
|
|
|
|||
|
|
@ -1,14 +1,12 @@
|
|||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ ../common/default.nix ];
|
||||
|
||||
boot = {
|
||||
consoleLogLevel = lib.mkDefault 7;
|
||||
kernelPackages = lib.mkDefault (
|
||||
pkgs.linuxPackagesFor (
|
||||
pkgs.callPackage ../common/kernel.nix {
|
||||
rpiVersion = 2;
|
||||
}
|
||||
)
|
||||
pkgs.linuxPackagesFor (pkgs.callPackage ../common/kernel.nix { rpiVersion = 2; })
|
||||
);
|
||||
kernelParams = [
|
||||
"dwc_otg.lpm_enable=0"
|
||||
|
|
|
|||
|
|
@ -1,22 +1,10 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot = {
|
||||
kernelPackages = lib.mkDefault (
|
||||
pkgs.linuxPackagesFor (
|
||||
pkgs.callPackage ../common/kernel.nix {
|
||||
rpiVersion = 3;
|
||||
}
|
||||
)
|
||||
pkgs.linuxPackagesFor (pkgs.callPackage ../common/kernel.nix { rpiVersion = 3; })
|
||||
);
|
||||
initrd.availableKernelModules = [
|
||||
"usbhid"
|
||||
"usb-storage"
|
||||
];
|
||||
};
|
||||
|
||||
# fix the following error :
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
{
|
||||
imports = [
|
||||
../common/default.nix
|
||||
./audio.nix
|
||||
./backlight.nix
|
||||
./bluetooth.nix
|
||||
|
|
@ -29,16 +30,9 @@
|
|||
|
||||
boot = {
|
||||
kernelPackages = lib.mkDefault (
|
||||
pkgs.linuxPackagesFor (
|
||||
pkgs.callPackage ../common/kernel.nix {
|
||||
rpiVersion = 4;
|
||||
}
|
||||
)
|
||||
pkgs.linuxPackagesFor (pkgs.callPackage ../common/kernel.nix { rpiVersion = 4; })
|
||||
);
|
||||
initrd.availableKernelModules = [
|
||||
"usbhid"
|
||||
"usb-storage"
|
||||
"vc4"
|
||||
"pcie-brcmstb" # required for the pcie bus to work
|
||||
"reset-raspberrypi" # required for vl805 firmware to load
|
||||
]
|
||||
|
|
@ -62,7 +56,5 @@
|
|||
}
|
||||
];
|
||||
|
||||
hardware.firmware = [
|
||||
(pkgs.callPackage ../common/raspberry-pi-wireless-firmware.nix { })
|
||||
];
|
||||
hardware.firmware = [ (pkgs.callPackage ../common/raspberry-pi-wireless-firmware.nix { }) ];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,9 +14,9 @@ in
|
|||
{
|
||||
options.hardware = {
|
||||
raspberry-pi."4".leds = {
|
||||
eth.disable = mkDisableOption ''ethernet LEDs.'';
|
||||
act.disable = mkDisableOption ''activity LED.'';
|
||||
pwr.disable = mkDisableOption ''power LED.'';
|
||||
eth.disable = mkDisableOption "ethernet LEDs.";
|
||||
act.disable = mkDisableOption "activity LED.";
|
||||
pwr.disable = mkDisableOption "power LED.";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,5 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
nixpkgs.overlays = [ dt_ao_overlay ];
|
||||
};
|
||||
config = lib.mkIf cfg.enable { nixpkgs.overlays = [ dt_ao_overlay ]; };
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,55 @@ in
|
|||
options.hardware = {
|
||||
raspberry-pi."4".poe-hat = {
|
||||
enable = lib.mkEnableOption "support for the Raspberry Pi POE Hat";
|
||||
fan = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
temperature0 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 40000;
|
||||
description = "Temperature threshold 0.";
|
||||
};
|
||||
hysteresis0 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 2000;
|
||||
description = "Temperature hysteresis 0.";
|
||||
};
|
||||
temperature1 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 45000;
|
||||
description = "Temperature threshold 1.";
|
||||
};
|
||||
hysteresis1 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 2000;
|
||||
description = "Temperature hysteresis 1.";
|
||||
};
|
||||
temperature2 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 50000;
|
||||
description = "Temperature threshold 2.";
|
||||
};
|
||||
hysteresis2 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 2000;
|
||||
description = "Temperature hysteresis 2.";
|
||||
};
|
||||
temperature3 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 55000;
|
||||
description = "Temperature threshold 3.";
|
||||
};
|
||||
hysteresis3 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 5000;
|
||||
description = "Temperature hysteresis 3.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
default = { };
|
||||
description = "Fan configuration.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -53,23 +102,23 @@ in
|
|||
target = <&thermal_trips>;
|
||||
__overlay__ {
|
||||
trip0: trip0 {
|
||||
temperature = <40000>;
|
||||
hysteresis = <2000>;
|
||||
temperature = <${cfg.fan.temperature0}>;
|
||||
hysteresis = <${cfg.fan.hysteresis0}>;
|
||||
type = "active";
|
||||
};
|
||||
trip1: trip1 {
|
||||
temperature = <45000>;
|
||||
hysteresis = <2000>;
|
||||
temperature = <${cfg.fan.temperature1}>;
|
||||
hysteresis = <${cfg.fan.hysteresis1}>;
|
||||
type = "active";
|
||||
};
|
||||
trip2: trip2 {
|
||||
temperature = <50000>;
|
||||
hysteresis = <2000>;
|
||||
temperature = <${cfg.fan.temperature2}>;
|
||||
hysteresis = <${cfg.fan.hysteresis2}>;
|
||||
type = "active";
|
||||
};
|
||||
trip3: trip3 {
|
||||
temperature = <55000>;
|
||||
hysteresis = <5000>;
|
||||
temperature = <${cfg.fan.temperature3}>;
|
||||
hysteresis = <${cfg.fan.hysteresis3}>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,6 +7,55 @@ in
|
|||
options.hardware = {
|
||||
raspberry-pi."4".poe-plus-hat = {
|
||||
enable = lib.mkEnableOption "support for the Raspberry Pi PoE+ HAT";
|
||||
fan = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
temperature0 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 40000;
|
||||
description = "Temperature threshold 0.";
|
||||
};
|
||||
hysteresis0 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 2000;
|
||||
description = "Temperature hysteresis 0.";
|
||||
};
|
||||
temperature1 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 45000;
|
||||
description = "Temperature threshold 1.";
|
||||
};
|
||||
hysteresis1 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 2000;
|
||||
description = "Temperature hysteresis 1.";
|
||||
};
|
||||
temperature2 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 50000;
|
||||
description = "Temperature threshold 2.";
|
||||
};
|
||||
hysteresis2 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 2000;
|
||||
description = "Temperature hysteresis 2.";
|
||||
};
|
||||
temperature3 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 55000;
|
||||
description = "Temperature threshold 3.";
|
||||
};
|
||||
hysteresis3 = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 5000;
|
||||
description = "Temperature hysteresis 3.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
default = { };
|
||||
description = "Fan configuration.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -55,23 +104,23 @@ in
|
|||
target = <&thermal_trips>;
|
||||
__overlay__ {
|
||||
trip0: trip0 {
|
||||
temperature = <40000>;
|
||||
hysteresis = <2000>;
|
||||
temperature = <${cfg.fan.temperature0}>;
|
||||
hysteresis = <${cfg.fan.hysteresis0}>;
|
||||
type = "active";
|
||||
};
|
||||
trip1: trip1 {
|
||||
temperature = <45000>;
|
||||
hysteresis = <2000>;
|
||||
temperature = <${cfg.fan.temperature1}>;
|
||||
hysteresis = <${cfg.fan.hysteresis1}>;
|
||||
type = "active";
|
||||
};
|
||||
trip2: trip2 {
|
||||
temperature = <50000>;
|
||||
hysteresis = <2000>;
|
||||
temperature = <${cfg.fan.temperature2}>;
|
||||
hysteresis = <${cfg.fan.hysteresis2}>;
|
||||
type = "active";
|
||||
};
|
||||
trip3: trip3 {
|
||||
temperature = <55000>;
|
||||
hysteresis = <5000>;
|
||||
temperature = <${cfg.fan.temperature3}>;
|
||||
hysteresis = <${cfg.fan.hysteresis3}>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
cfg = config.hardware.raspberry-pi."4".xhci;
|
||||
in
|
||||
|
|
|
|||
|
|
@ -4,22 +4,32 @@
|
|||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
linuxVariant = config.boot.kernelPackages.kernel.pname;
|
||||
in
|
||||
{
|
||||
imports = [ ../common/default.nix ];
|
||||
|
||||
boot = {
|
||||
kernelPackages = lib.mkDefault (
|
||||
pkgs.linuxPackagesFor (
|
||||
pkgs.callPackage ../common/kernel.nix {
|
||||
rpiVersion = 5;
|
||||
}
|
||||
)
|
||||
pkgs.linuxPackagesFor (pkgs.callPackage ../common/kernel.nix { rpiVersion = 5; })
|
||||
);
|
||||
initrd.availableKernelModules = [
|
||||
"nvme"
|
||||
"usbhid"
|
||||
"usb-storage"
|
||||
];
|
||||
"pcie-brcmstb"
|
||||
"clk-rp1"
|
||||
]
|
||||
# CONFIG_MISC_RP1 is named CONFIG_MFD_RP1 in RPi's fork.
|
||||
++ lib.optional (linuxVariant == "linux") "rp1_pci"
|
||||
++ lib.optional (linuxVariant == "linux-rpi") "rp1"
|
||||
# CONFIG_PINCTRL_RP1 is not a tristate in RPi's fork.
|
||||
++ lib.optional (linuxVariant == "linux") "pinctrl-rp1"
|
||||
++ lib.optional config.boot.initrd.network.enable "macb";
|
||||
};
|
||||
|
||||
hardware.deviceTree.filter = lib.mkDefault "bcm2712*-rpi-*.dtb";
|
||||
|
||||
# Needed for Xorg to start (https://github.com/raspberrypi-ui/gldriver-test/blob/master/usr/lib/systemd/scripts/rp1_test.sh)
|
||||
# This won't work for displays connected to the RP1 (DPI/composite/MIPI DSI), since I don't have one to test.
|
||||
services.xserver.extraConfig = ''
|
||||
|
|
|
|||
29
raspberry-pi/common/config-txt-defaults.nix
Normal file
29
raspberry-pi/common/config-txt-defaults.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Default config.txt settings matching the official Raspberry Pi OS defaults.
|
||||
#
|
||||
# Source: https://github.com/RPi-Distro/pi-gen/blob/master/stage1/00-boot-files/files/config.txt
|
||||
# All values use mkDefault so they can be easily overridden.
|
||||
#
|
||||
# Reference: https://www.raspberrypi.com/documentation/computers/config_txt.html
|
||||
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
hardware.raspberry-pi.configtxt.settings = {
|
||||
all = {
|
||||
camera_auto_detect = lib.mkDefault true;
|
||||
display_auto_detect = lib.mkDefault true;
|
||||
max_framebuffers = lib.mkDefault 2;
|
||||
disable_fw_kms_setup = lib.mkDefault true;
|
||||
disable_overscan = lib.mkDefault true;
|
||||
arm_boost = lib.mkDefault true;
|
||||
dtparam = lib.mkDefault [ "audio=on" ];
|
||||
dtoverlay = lib.mkDefault [ "vc4-kms-v3d" ];
|
||||
};
|
||||
cm4 = {
|
||||
otg_mode = lib.mkDefault true;
|
||||
};
|
||||
cm5 = {
|
||||
dtoverlay = lib.mkDefault [ "dwc2,dr_mode=host" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
136
raspberry-pi/common/config-txt.nix
Normal file
136
raspberry-pi/common/config-txt.nix
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
# config.txt generation module for Raspberry Pi
|
||||
#
|
||||
# Generates config.txt from structured Nix options. The type system models
|
||||
# config.txt as nested attrs: each nesting level adds a conditional filter,
|
||||
# and leaves are config values. Repeated keys (dtparam, dtoverlay, gpio)
|
||||
# are supported via lists.
|
||||
#
|
||||
# Based on work from nvmd/nixos-raspberrypi (MIT License) and rendering
|
||||
# approach suggested by @quentinmit. Follows RFC 42.
|
||||
#
|
||||
# Reference: https://www.raspberrypi.com/documentation/computers/config_txt.html
|
||||
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.hardware.raspberry-pi.configtxt;
|
||||
|
||||
mkValueString =
|
||||
v:
|
||||
if builtins.isInt v then
|
||||
toString v
|
||||
else if builtins.isString v then
|
||||
v
|
||||
else if true == v then
|
||||
"1"
|
||||
else if false == v then
|
||||
"0"
|
||||
else
|
||||
builtins.abort "config.txt: unsupported value type: ${builtins.typeOf v}";
|
||||
|
||||
mkKeyValue = lib.generators.mkKeyValueDefault { inherit mkValueString; } "=";
|
||||
|
||||
# Recursively flatten nested attrs into a list of { conditionals, name, value } records.
|
||||
# Each nesting level (except the leaf) is a conditional filter.
|
||||
# "all" filters are omitted from the conditionals list since they reset state.
|
||||
# null values are filtered out, allowing `mkForce null` to remove defaults.
|
||||
recurse =
|
||||
path: value:
|
||||
if value == null then
|
||||
[ ]
|
||||
else if builtins.isAttrs value && !(builtins.isList value) && !(value ? _type) then
|
||||
lib.flatten (lib.mapAttrsToList (name: recurse ([ name ] ++ path)) value)
|
||||
else
|
||||
{
|
||||
conditionals = lib.sort builtins.lessThan (lib.filter (k: k != "all") (lib.tail path));
|
||||
name = lib.head path;
|
||||
inherit value;
|
||||
};
|
||||
|
||||
# Group flattened items by their conditional filter set, then render.
|
||||
groupItems =
|
||||
items:
|
||||
lib.mapAttrsToList (groupJSON: groupItems: {
|
||||
conditionals = builtins.fromJSON groupJSON;
|
||||
items = builtins.listToAttrs groupItems;
|
||||
}) (builtins.groupBy (x: builtins.toJSON x.conditionals) items);
|
||||
|
||||
mkGroup =
|
||||
group:
|
||||
lib.concatMapStrings (k: "[${k}]\n") group.conditionals
|
||||
+ lib.generators.toKeyValue {
|
||||
inherit mkKeyValue;
|
||||
listsAsDuplicateKeys = true;
|
||||
} group.items;
|
||||
|
||||
toConfigTxt =
|
||||
attrs:
|
||||
let
|
||||
groups = lib.sort (a: b: a.conditionals < b.conditionals) (
|
||||
groupItems (lib.flatten (recurse [ ] attrs))
|
||||
);
|
||||
in
|
||||
lib.concatMapStringsSep "\n[all]\n" mkGroup groups;
|
||||
|
||||
in
|
||||
{
|
||||
options.hardware.raspberry-pi.configtxt = {
|
||||
settings = lib.mkOption {
|
||||
type =
|
||||
with lib.types;
|
||||
let
|
||||
atom = nullOr (oneOf [
|
||||
str
|
||||
int
|
||||
bool
|
||||
]);
|
||||
molecule = oneOf [
|
||||
atom
|
||||
(listOf atom)
|
||||
(attrsOf molecule)
|
||||
];
|
||||
in
|
||||
attrsOf molecule;
|
||||
default = { };
|
||||
description = ''
|
||||
Structured configuration for the Raspberry Pi `config.txt` file.
|
||||
|
||||
Top-level keys are conditional filter sections (`all`, `pi4`, `pi5`,
|
||||
`cm4`, etc.). Nesting adds stacked conditional filters. Leaves are
|
||||
config values rendered as `key=value`. Lists produce repeated keys.
|
||||
|
||||
Booleans render as `0`/`1`. Use `null` with `mkForce` to remove a
|
||||
default.
|
||||
|
||||
See <https://www.raspberrypi.com/documentation/computers/config_txt.html>
|
||||
'';
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
all = {
|
||||
arm_boost = true;
|
||||
disable_overscan = true;
|
||||
dtparam = [ "audio=on" ];
|
||||
dtoverlay = [ "vc4-kms-v3d" ];
|
||||
};
|
||||
pi5.arm_freq = 2400;
|
||||
cm4.otg_mode = true;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
file = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = pkgs.writeText "config.txt" (toConfigTxt cfg.settings);
|
||||
defaultText = lib.literalExpression ''pkgs.writeText "config.txt" (generated from settings)'';
|
||||
description = ''
|
||||
Path to the generated config.txt file. Defaults to the rendered output
|
||||
of `settings`, but can be overridden to supply a custom config.txt.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
7
raspberry-pi/common/default.nix
Normal file
7
raspberry-pi/common/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
boot.initrd.availableKernelModules = [
|
||||
"usb-storage"
|
||||
"usbhid"
|
||||
"vc4"
|
||||
];
|
||||
}
|
||||
|
|
@ -11,9 +11,9 @@
|
|||
./.
|
||||
];
|
||||
|
||||
sdImage = {
|
||||
imageName = "${config.sdImage.imageBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}-starfive-visionfive2.img";
|
||||
image.fileName = "${config.image.baseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}-starfive-visionfive2.img";
|
||||
|
||||
sdImage = {
|
||||
# Overridden by postBuildCommands
|
||||
populateFirmwareCommands = "";
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue