pi4 stuff
This commit is contained in:
@@ -213,10 +213,10 @@
|
||||
pi4 = {
|
||||
modules = with inputs; [
|
||||
disko.nixosModules.disko
|
||||
nixos-raspberrypi.nixosModules.raspberry-pi-4.base
|
||||
nixos-raspberrypi.nixosModules.raspberry-pi-4.display-vc4
|
||||
nixos-raspberrypi.nixosModules.nixpkgs-rpi
|
||||
nixos-raspberrypi.nixosModules.trusted-nix-caches
|
||||
# nixos-raspberrypi.nixosModules.raspberry-pi-4.base
|
||||
# nixos-raspberrypi.nixosModules.raspberry-pi-4.display-vc4
|
||||
# nixos-raspberrypi.nixosModules.nixpkgs-rpi
|
||||
# nixos-raspberrypi.nixosModules.trusted-nix-caches
|
||||
# nixos-raspberrypi.lib.inject-overlays
|
||||
# nixos-raspberrypi.lib.inject-overlays-global
|
||||
];
|
||||
|
||||
@@ -68,7 +68,7 @@ let
|
||||
};
|
||||
ubootBuilder = import ./uboot-builder.nix {
|
||||
inherit pkgs;
|
||||
ubootPackage = pkgs.${namespace}.uboot-pi5;
|
||||
ubootPackage = (if (cfg.variant == "5") then pkgs.${namespace}.uboot-pi5 else pkgs.${namespace}.uboot-pi4);
|
||||
firmwareBuilder = firmwarePopulateCmd;
|
||||
extlinuxConfBuilder = config.boot.loader.generic-extlinux-compatible.populateCmd;
|
||||
};
|
||||
@@ -93,7 +93,7 @@ let
|
||||
populateUbootBuilder = import ./uboot-builder.nix {
|
||||
inherit ubootBinName;
|
||||
pkgs = pkgs.buildPackages;
|
||||
ubootPackage = pkgs.${namespace}.uboot-pi5;
|
||||
ubootPackage = (if (cfg.variant == "5") then pkgs.${namespace}.uboot-pi5 else pkgs.${namespace}.uboot-pi4);
|
||||
firmwareBuilder = firmwarePopulateCmd;
|
||||
extlinuxConfBuilder = config.boot.loader.generic-extlinux-compatible.populateCmd;
|
||||
};
|
||||
@@ -167,7 +167,7 @@ in
|
||||
loader = {
|
||||
generic-extlinux-compatible = {
|
||||
enable = lib.mkDefault true;
|
||||
useGenerationDeviceTree = true;
|
||||
useGenerationDeviceTree = lib.mkOverride 60 true;
|
||||
};
|
||||
grub.enable = lib.mkForce false;
|
||||
};
|
||||
@@ -214,7 +214,7 @@ in
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
compatible = "raspberrypi,4-model-b";
|
||||
compatible = "brcm,bcm2711";
|
||||
|
||||
fragment@0 {
|
||||
target-path = "/";
|
||||
@@ -227,24 +227,24 @@ in
|
||||
};
|
||||
'';
|
||||
}
|
||||
{
|
||||
name = "enable-xhci";
|
||||
dtsText = ''
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
# {
|
||||
# name = "enable-xhci";
|
||||
# dtsText = ''
|
||||
# /dts-v1/;
|
||||
# /plugin/;
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2711";
|
||||
fragment@0 {
|
||||
//target-path = "/scb/xhci@7e9c0000";
|
||||
target = <&xhci>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
'';
|
||||
}
|
||||
# / {
|
||||
# compatible = "brcm,bcm2711";
|
||||
# fragment@0 {
|
||||
# //target-path = "/scb/xhci@7e9c0000";
|
||||
# target = <&xhci>;
|
||||
# __overlay__ {
|
||||
# status = "okay";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# '';
|
||||
# }
|
||||
] else
|
||||
[
|
||||
{
|
||||
|
||||
@@ -39,7 +39,7 @@ dtb_path=$SRC_FIRMWARE_DIR
|
||||
echo "copying firmware..."
|
||||
|
||||
# Device Tree
|
||||
|
||||
useVendorDeviceTree=1
|
||||
if [ -n "$useVendorDeviceTree" ]; then
|
||||
echo -n "using vendor firmware from "
|
||||
dtb_path=$SRC_FIRMWARE_DIR
|
||||
@@ -50,6 +50,7 @@ fi
|
||||
echo $dtb_path
|
||||
|
||||
DTBS=("$dtb_path"/*.dtb)
|
||||
echo "dtbs all: $DTBS"
|
||||
for dtb in "${DTBS[@]}"; do
|
||||
# for dtb in $dtb_path/broadcom/*.dtb; do
|
||||
dst="$target/$(basename $dtb)"
|
||||
|
||||
@@ -53,8 +53,10 @@ echo "$dtb_path"
|
||||
# firmware package has dtbs in its root,
|
||||
# dtbs built with kernel are in broadcom/
|
||||
DTBS=("$dtb_path"/*.dtb "$dtb_path"/broadcom/*.dtb)
|
||||
echo "all dtbs: $DTBS"
|
||||
for dtb in "${DTBS[@]}"; do
|
||||
dst="$target/$(basename "$dtb")"
|
||||
echo "$dtb"
|
||||
copyForced "$dtb" "$dst"
|
||||
filesCopied[$dst]=1
|
||||
done
|
||||
|
||||
@@ -36,5 +36,6 @@ in
|
||||
linuxPackages_cachyos-rc-lto-znver4 = cachyosPackages.cachyos-rc-lto-znver4;
|
||||
|
||||
uboot-pi5 = ubootPackages.ubootRaspberryPi5;
|
||||
uboot-pi4 = ubootPackages.ubootRaspberryPi4;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,22 +1,24 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
let
|
||||
kernelBundle = pkgs.linuxAndFirmware.latest;
|
||||
# kernelBundle = pkgs.linuxAndFirmware.latest;
|
||||
in
|
||||
{
|
||||
boot = {
|
||||
loader.raspberry-pi = {
|
||||
firmwarePackage = kernelBundle.raspberrypifw;
|
||||
variant = "4";
|
||||
};
|
||||
kernelPackages = kernelBundle.linuxPackages_rpi4;
|
||||
# loader.raspberry-pi = {
|
||||
# firmwarePackage = kernelBundle.raspberrypifw;
|
||||
# variant = "4";
|
||||
# };
|
||||
# kernelPackages = kernelBundle.linuxPackages_rpi4;
|
||||
kernelPackages = pkgs.${namespace}.linuxPackages_rpi4;
|
||||
supportedFilesystems = lib.mkForce [ ];
|
||||
};
|
||||
|
||||
hardware.raspberry-pi.config = {
|
||||
${namespace}.hardware.raspberry-pi.config = {
|
||||
all = {
|
||||
# [all] conditional filter, https://www.raspberrypi.com/documentation/computers/config_txt.html#conditional-filters
|
||||
|
||||
|
||||
Reference in New Issue
Block a user