diff --git a/modules/nixos/hardware/raspberry-pi/default.nix b/modules/nixos/hardware/raspberry-pi/default.nix index 00a1bc4..605368d 100644 --- a/modules/nixos/hardware/raspberry-pi/default.nix +++ b/modules/nixos/hardware/raspberry-pi/default.nix @@ -345,10 +345,8 @@ in # Common hardware settings hardware = { deviceTree = { - enable = true; - package = config.boot.kernelPackages.kernel; - name = "bcm2712-rpi5-b.dtb"; - filter = lib.mkDefault (if (cfg.variant == "5") then "bcm2712-rpi5-*.dtb" else "bcm2711-rpi4-*.dtb"); + filter = lib.mkDefault (if (cfg.variant == "5") then "bcm2712*.dtb" else "bcm2711*.dtb"); + package = lib.mkOverride 80 config.boot.kernelPackages.kernel; overlays = ( if (cfg.variant == "4") then [ diff --git a/systems/aarch64-linux/pi5/bcm2712-rpi-5-b.dtb b/systems/aarch64-linux/pi5/bcm2712-rpi-5-b.dtb new file mode 100755 index 0000000..a9d0994 Binary files /dev/null and b/systems/aarch64-linux/pi5/bcm2712-rpi-5-b.dtb differ diff --git a/systems/aarch64-linux/pi5/bcm2712d0-rpi-5-b.dtb b/systems/aarch64-linux/pi5/bcm2712d0-rpi-5-b.dtb new file mode 100755 index 0000000..b791ceb Binary files /dev/null and b/systems/aarch64-linux/pi5/bcm2712d0-rpi-5-b.dtb differ diff --git a/systems/aarch64-linux/pi5/boot.nix b/systems/aarch64-linux/pi5/boot.nix index c30aec7..a207043 100755 --- a/systems/aarch64-linux/pi5/boot.nix +++ b/systems/aarch64-linux/pi5/boot.nix @@ -1,4 +1,5 @@ { + config, pkgs, lib, namespace, @@ -40,6 +41,16 @@ kernelPackages = lib.mkOverride 90 pkgs.linuxPackages_pi5-16k; loader.systemd-boot.installDeviceTree = true; }; + hardware.deviceTree = { + enable = true; + package = lib.mkForce pkgs.${namespace}.linuxPackages_rpi5-lts.kernel; + name = "bcm2712-rpi-5-b.dtb"; + filter = "bcm2712*"; + }; + boot.bootspec.extensions."org.nixos.systemd-boot" = lib.mkForce { + inherit (config.boot.loader.systemd-boot) sortKey; + devicetree = "./bcm2712-rpi-5-b.dtb"; + }; }; };