Add device tree overlay for skycam
All checks were successful
Check flake / build-amd64-linux (push) Successful in 2m36s
All checks were successful
Check flake / build-amd64-linux (push) Successful in 2m36s
This commit is contained in:
parent
f42442dd0e
commit
6dcd2b0139
@ -10,16 +10,46 @@
|
|||||||
raspberry-pi."4" = {
|
raspberry-pi."4" = {
|
||||||
apply-overlays-dtmerge.enable = true;
|
apply-overlays-dtmerge.enable = true;
|
||||||
audio.enable = false;
|
audio.enable = false;
|
||||||
fkms-3d.enable = true; # VideoCore with 512 MB CMA reservation
|
|
||||||
tc358743.enable = true; # HDMI-to-CSI-2 converter
|
|
||||||
xhci.enable = false;
|
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; [
|
firmware = with pkgs; [
|
||||||
firmwareLinuxNonfree
|
firmwareLinuxNonfree
|
||||||
wireless-regdb
|
wireless-regdb
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
SUBSYSTEM="dma_heap", GROUP="video", MODE="0600"
|
||||||
|
'';
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostId = "731d1660";
|
hostId = "731d1660";
|
||||||
firewall = {
|
firewall = {
|
||||||
@ -61,6 +91,7 @@
|
|||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
git
|
git
|
||||||
neovim
|
neovim
|
||||||
|
libcamera
|
||||||
libraspberrypi
|
libraspberrypi
|
||||||
raspberrypi-eeprom
|
raspberrypi-eeprom
|
||||||
v4l-utils
|
v4l-utils
|
||||||
|
@ -7,10 +7,7 @@
|
|||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelModules = [ "bcm2835-v4l2" ];
|
kernelModules = [ "bcm2835-v4l2" ];
|
||||||
loader.raspberryPi.firmwareConfig = ''
|
kernelParams = [ "cma=512M" ];
|
||||||
start_x=1
|
|
||||||
gpu_mem=256
|
|
||||||
'';
|
|
||||||
supportedFilesystems = lib.mkForce [ "f2fs" "vfat xfs" ];
|
supportedFilesystems = lib.mkForce [ "f2fs" "vfat xfs" ];
|
||||||
tmp.cleanOnBoot = true;
|
tmp.cleanOnBoot = true;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user