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 (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 (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 (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 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 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>` |
|
| [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-10th-gen = import ./lenovo/thinkpad/x1/10th-gen;
|
||||||
lenovo-thinkpad-x1-11th-gen = import ./lenovo/thinkpad/x1/11th-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-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 = import ./lenovo/thinkpad/x1-extreme;
|
||||||
lenovo-thinkpad-x1-extreme-gen2 = import ./lenovo/thinkpad/x1-extreme/gen2;
|
lenovo-thinkpad-x1-extreme-gen2 = import ./lenovo/thinkpad/x1-extreme/gen2;
|
||||||
lenovo-thinkpad-x1-extreme-gen3 = import ./lenovo/thinkpad/x1-extreme/gen3;
|
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-firmware = pkgs.callPackage ./imx8mp-firmware.nix {};
|
||||||
imx8mp-uboot = pkgs.callPackage ./imx8mp-uboot.nix {};
|
imx8mp-uboot = pkgs.callPackage ./imx8mp-uboot.nix {};
|
||||||
imx8mp-optee-os = pkgs.callPackage ./imx8mp-optee-os.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 {
|
in {
|
||||||
imx8m-boot = pkgs.stdenv.mkDerivation rec {
|
imx8m-boot = pkgs.stdenv.mkDerivation rec {
|
||||||
|
inherit src;
|
||||||
name = "imx8mp-mkimage";
|
name = "imx8mp-mkimage";
|
||||||
version = "lf-6.1.55-2.2.0";
|
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 = ''
|
postPatch = ''
|
||||||
|
substituteInPlace Makefile \
|
||||||
|
--replace 'git rev-parse --short=8 HEAD' 'echo ${shortRev}'
|
||||||
substituteInPlace Makefile \
|
substituteInPlace Makefile \
|
||||||
--replace 'CC = gcc' 'CC = clang'
|
--replace 'CC = gcc' 'CC = clang'
|
||||||
patchShebangs scripts
|
patchShebangs scripts
|
||||||
|
|
|
||||||
|
|
@ -14,18 +14,21 @@ with pkgs; let
|
||||||
imx8mq-firmware = pkgs.callPackage ./imx8mq-firmware.nix {};
|
imx8mq-firmware = pkgs.callPackage ./imx8mq-firmware.nix {};
|
||||||
imx8mq-uboot = pkgs.callPackage ./imx8mq-uboot.nix {};
|
imx8mq-uboot = pkgs.callPackage ./imx8mq-uboot.nix {};
|
||||||
imx8mq-optee-os = pkgs.callPackage ./imx8mq-optee-os.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 {
|
in {
|
||||||
imx8m-boot = pkgs.stdenv.mkDerivation rec {
|
imx8m-boot = pkgs.stdenv.mkDerivation rec {
|
||||||
|
inherit src;
|
||||||
name = "imx8mq-mkimage";
|
name = "imx8mq-mkimage";
|
||||||
version = "lf-6.1.55-2.2.0";
|
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 = ''
|
postPatch = ''
|
||||||
|
substituteInPlace Makefile \
|
||||||
|
--replace 'git rev-parse --short=8 HEAD' 'echo ${shortRev}'
|
||||||
substituteInPlace Makefile \
|
substituteInPlace Makefile \
|
||||||
--replace 'CC = gcc' 'CC = clang'
|
--replace 'CC = gcc' 'CC = clang'
|
||||||
patchShebangs scripts
|
patchShebangs scripts
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
./cpu-revision.nix
|
./cpu-revision.nix
|
||||||
./digi-amp-plus.nix
|
./digi-amp-plus.nix
|
||||||
./dwc2.nix
|
./dwc2.nix
|
||||||
|
./gpio.nix
|
||||||
./i2c.nix
|
./i2c.nix
|
||||||
./leds.nix
|
./leds.nix
|
||||||
./modesetting.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