Add device tree overlay for skycam
All checks were successful
Check flake / build-amd64-linux (push) Successful in 2m36s

This commit is contained in:
Jordan Holt 2024-08-03 22:49:29 +01:00
parent f42442dd0e
commit 6dcd2b0139
Signed by: jordan
GPG Key ID: B8CFFF61F1CCF520
2 changed files with 34 additions and 6 deletions

View File

@ -10,16 +10,46 @@
raspberry-pi."4" = {
apply-overlays-dtmerge.enable = true;
audio.enable = false;
fkms-3d.enable = true; # VideoCore with 512 MB CMA reservation
tc358743.enable = true; # HDMI-to-CSI-2 converter
xhci.enable = false;
};
deviceTree = {
enable = true;
filter = "*rpi-4-*.dtb";
# From https://github.com/Electrostasy/dots/blob/3b81723feece67610a252ce754912f6769f0cd34/hosts/phobos/klipper.nix#L43-L65
overlays =
let
mkCompatibleDtsFile = dtbo:
let
drv = pkgs.runCommand "fix-dts" { nativeBuildInputs = with pkgs; [ dtc gnused ]; } ''
mkdir "$out"
dtc -I dtb -O dts ${dtbo} | sed -e 's/bcm2835/bcm2711/' > $out/overlay.dts
'';
in
"${drv}/overlay.dts";
inherit (config.boot.kernelPackages) kernel;
in
[
{
name = "imx708.dtbo";
dtsFile = mkCompatibleDtsFile "${kernel}/dtbs/overlays/imx708.dtbo";
}
{
name = "vc4-kms-v3d-pi4.dtbo";
dtsFile = mkCompatibleDtsFile "${kernel}/dtbs/overlays/vc4-kms-v3d-pi4.dtbo";
}
];
};
firmware = with pkgs; [
firmwareLinuxNonfree
wireless-regdb
];
};
services.udev.extraRules = ''
SUBSYSTEM="dma_heap", GROUP="video", MODE="0600"
'';
networking = {
hostId = "731d1660";
firewall = {
@ -61,6 +91,7 @@
environment.systemPackages = with pkgs; [
git
neovim
libcamera
libraspberrypi
raspberrypi-eeprom
v4l-utils

View File

@ -7,10 +7,7 @@
boot = {
kernelModules = [ "bcm2835-v4l2" ];
loader.raspberryPi.firmwareConfig = ''
start_x=1
gpu_mem=256
'';
kernelParams = [ "cma=512M" ];
supportedFilesystems = lib.mkForce [ "f2fs" "vfat xfs" ];
tmp.cleanOnBoot = true;
};