mirror of
https://github.com/NixOS/nixos-hardware.git
synced 2025-11-08 19:46:10 +01:00
Merge branch 'NixOS:master' into master
This commit is contained in:
commit
fb5a14bdd9
7 changed files with 69 additions and 12 deletions
|
|
@ -305,6 +305,7 @@ See code for all available configurations.
|
|||
| [Lenovo ThinkPad X1 (10th Gen)](lenovo/thinkpad/x1/10th-gen) | `<nixos-hardware/lenovo/thinkpad/x1/10th-gen>` |
|
||||
| [Lenovo ThinkPad X1 (11th Gen)](lenovo/thinkpad/x1/11th-gen) | `<nixos-hardware/lenovo/thinkpad/x1/11th-gen>` |
|
||||
| [Lenovo ThinkPad X1 (12th Gen)](lenovo/thinkpad/x1/12th-gen) | `<nixos-hardware/lenovo/thinkpad/x1/12th-gen>` |
|
||||
| [Lenovo ThinkPad X1 (13th Gen)](lenovo/thinkpad/x1/13th-gen) | `<nixos-hardware/lenovo/thinkpad/x1/13th-gen>` |
|
||||
| [Lenovo ThinkPad X1 Extreme Gen 2](lenovo/thinkpad/x1-extreme/gen2) | `<nixos-hardware/lenovo/thinkpad/x1-extreme/gen2>` |
|
||||
| [Lenovo ThinkPad X1 Extreme Gen 3](lenovo/thinkpad/x1-extreme/gen3) | `<nixos-hardware/lenovo/thinkpad/x1-extreme/gen3>` |
|
||||
| [Lenovo ThinkPad X1 Extreme Gen 4](lenovo/thinkpad/x1-extreme/gen4) | `<nixos-hardware/lenovo/thinkpad/x1-extreme/gen4>` |
|
||||
|
|
|
|||
|
|
@ -249,6 +249,7 @@
|
|||
lenovo-thinkpad-x1-10th-gen = import ./lenovo/thinkpad/x1/10th-gen;
|
||||
lenovo-thinkpad-x1-11th-gen = import ./lenovo/thinkpad/x1/11th-gen;
|
||||
lenovo-thinkpad-x1-12th-gen = import ./lenovo/thinkpad/x1/12th-gen;
|
||||
lenovo-thinkpad-x1-13th-gen = import ./lenovo/thinkpad/x1/13th-gen;
|
||||
lenovo-thinkpad-x1-extreme = import ./lenovo/thinkpad/x1-extreme;
|
||||
lenovo-thinkpad-x1-extreme-gen2 = import ./lenovo/thinkpad/x1-extreme/gen2;
|
||||
lenovo-thinkpad-x1-extreme-gen3 = import ./lenovo/thinkpad/x1-extreme/gen3;
|
||||
|
|
|
|||
12
lenovo/thinkpad/x1/13th-gen/default.nix
Normal file
12
lenovo/thinkpad/x1/13th-gen/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{lib, ...}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../../../common/pc/ssd
|
||||
../../../../common/cpu/intel/lunar-lake
|
||||
];
|
||||
|
||||
hardware.trackpoint.device = "TPPS/2 Synaptics TrackPoint";
|
||||
|
||||
services.thermald.enable = lib.mkDefault true;
|
||||
}
|
||||
|
|
@ -15,18 +15,21 @@ with pkgs; let
|
|||
imx8mp-firmware = pkgs.callPackage ./imx8mp-firmware.nix {};
|
||||
imx8mp-uboot = pkgs.callPackage ./imx8mp-uboot.nix {};
|
||||
imx8mp-optee-os = pkgs.callPackage ./imx8mp-optee-os.nix {};
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://github.com/nxp-imx/imx-mkimage.git";
|
||||
rev = "c4365450fb115d87f245df2864fee1604d97c06a";
|
||||
sha256 = "sha256-KVIVHwBpAwd1RKy3RrYxGIniE45CDlN5RQTXsMg1Jwk=";
|
||||
};
|
||||
shortRev = builtins.substring 0 8 src.rev;
|
||||
in {
|
||||
imx8m-boot = pkgs.stdenv.mkDerivation rec {
|
||||
inherit src;
|
||||
name = "imx8mp-mkimage";
|
||||
version = "lf-6.1.55-2.2.0";
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://github.com/nxp-imx/imx-mkimage.git";
|
||||
rev = "c4365450fb115d87f245df2864fee1604d97c06a";
|
||||
sha256 = "sha256-xycEaWKVM63BlDyBKNN0OefyK6iX/fQOTvv4fRVM55U=";
|
||||
leaveDotGit = true;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace 'git rev-parse --short=8 HEAD' 'echo ${shortRev}'
|
||||
substituteInPlace Makefile \
|
||||
--replace 'CC = gcc' 'CC = clang'
|
||||
patchShebangs scripts
|
||||
|
|
|
|||
|
|
@ -14,18 +14,21 @@ with pkgs; let
|
|||
imx8mq-firmware = pkgs.callPackage ./imx8mq-firmware.nix {};
|
||||
imx8mq-uboot = pkgs.callPackage ./imx8mq-uboot.nix {};
|
||||
imx8mq-optee-os = pkgs.callPackage ./imx8mq-optee-os.nix {};
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://github.com/nxp-imx/imx-mkimage.git";
|
||||
rev = "c4365450fb115d87f245df2864fee1604d97c06a";
|
||||
sha256 = "sha256-KVIVHwBpAwd1RKy3RrYxGIniE45CDlN5RQTXsMg1Jwk=";
|
||||
};
|
||||
shortRev = builtins.substring 0 8 src.rev;
|
||||
in {
|
||||
imx8m-boot = pkgs.stdenv.mkDerivation rec {
|
||||
inherit src;
|
||||
name = "imx8mq-mkimage";
|
||||
version = "lf-6.1.55-2.2.0";
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://github.com/nxp-imx/imx-mkimage.git";
|
||||
rev = "c4365450fb115d87f245df2864fee1604d97c06a";
|
||||
sha256 = "sha256-xycEaWKVM63BlDyBKNN0OefyK6iX/fQOTvv4fRVM55U=";
|
||||
leaveDotGit = true;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace 'git rev-parse --short=8 HEAD' 'echo ${shortRev}'
|
||||
substituteInPlace Makefile \
|
||||
--replace 'CC = gcc' 'CC = clang'
|
||||
patchShebangs scripts
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
./cpu-revision.nix
|
||||
./digi-amp-plus.nix
|
||||
./dwc2.nix
|
||||
./gpio.nix
|
||||
./i2c.nix
|
||||
./leds.nix
|
||||
./modesetting.nix
|
||||
|
|
|
|||
36
raspberry-pi/4/gpio.nix
Normal file
36
raspberry-pi/4/gpio.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
options.hardware.raspberry-pi."4".gpio = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description =
|
||||
"Enable udev rules and kernelParams that make lgpio and pigpio work";
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
config = let
|
||||
cfg = config.hardware.raspberry-pi."4".gpio;
|
||||
in
|
||||
lib.mkIf cfg.enable {
|
||||
users.groups.gpio = lib.mkDefault { };
|
||||
|
||||
# the bit that matters to lgpio here is
|
||||
# "${pkgs.coreutils}/bin/chgrp gpio /dev/%k && chmod 660 /dev/%k"
|
||||
# see https://github.com/NixOS/nixpkgs/pull/352308
|
||||
|
||||
# sudo udevadm test --action=add /dev/gpiochip0 to test
|
||||
|
||||
# import lgpio; lgpio.gpiochip_open(0) should show "1" and not raise
|
||||
# an exception
|
||||
|
||||
services.udev.extraRules = lib.mkBefore ''
|
||||
KERNEL=="gpiomem", GROUP="gpio", MODE="0660"
|
||||
SUBSYSTEM=="gpio", KERNEL=="gpiochip*", ACTION=="add", PROGRAM="${pkgs.bash}/bin/bash -c '${pkgs.coreutils}/bin/chgrp gpio /dev/%k && chmod 660 /dev/%k && ${pkgs.coreutils}/bin/chgrp -R gpio /sys/class/gpio && ${pkgs.coreutils}/bin/chmod -R g=u /sys/class/gpio'"
|
||||
SUBSYSTEM=="gpio", ACTION=="add", PROGRAM="${pkgs.bash}/bin/bash -c '${pkgs.coreutils}/bin/chgrp -R gpio /sys%p && ${pkgs.coreutils}/bin/chmod -R g=u /sys%p'"
|
||||
'';
|
||||
|
||||
boot.kernelParams = [
|
||||
"iomem=relaxed" # for pigpiod
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue