fixes
This commit is contained in:
@@ -3,104 +3,109 @@ let
|
|||||||
inherit (lib.${namespace}) mkOpt mkBoolOpt;
|
inherit (lib.${namespace}) mkOpt mkBoolOpt;
|
||||||
cfg = config.${namespace}.hardware.raspberry-pi.overlays;
|
cfg = config.${namespace}.hardware.raspberry-pi.overlays;
|
||||||
|
|
||||||
firmware = pkgs.${namespace}.raspberrypifw;
|
firmware = "${pkgs.${namespace}.raspberrypifw}/share/raspberrypi/boot/overlays";
|
||||||
configfsPath = "/sys/kernel/config/device-tree/overlays";
|
configfsPath = "/sys/kernel/config/device-tree/overlays";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.${namespace}.hardware.raspberry-pi.overlays = with lib; {
|
options.${namespace}.hardware.raspberry-pi.overlays = with lib; {
|
||||||
pi5DisableWifi = {
|
pi5DisableWifi = {
|
||||||
enable = lib.mkEnableOption "Disable wifi on Pi5";
|
enable = lib.mkEnableOption "Disable wifi on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/share/raspberrypi/boot/overlays/disable-wifi-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/disable-wifi-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5DisableBluetooth = {
|
pi5DisableBluetooth = {
|
||||||
enable = lib.mkEnableOption "Disable bluetooth on Pi5";
|
enable = lib.mkEnableOption "Disable bluetooth on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/share/raspberrypi/boot/overlays/disable-bt-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/disable-bt-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5i2c0 = {
|
pi5i2c0 = {
|
||||||
enable = lib.mkEnableOption "Enable pi5i2c0 on Pi5";
|
enable = lib.mkEnableOption "Enable pi5i2c0 on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/i2c0-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/i2c0-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5i2c1 = {
|
pi5i2c1 = {
|
||||||
enable = lib.mkEnableOption "Enable pi5i2c1 on Pi5";
|
enable = lib.mkEnableOption "Enable pi5i2c1 on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/i2c1-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/i2c1-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5i2c2 = {
|
pi5i2c2 = {
|
||||||
enable = lib.mkEnableOption "Enable pi5i2c2 on Pi5";
|
enable = lib.mkEnableOption "Enable pi5i2c2 on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/i2c2-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/i2c2-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5i2c3 = {
|
pi5i2c3 = {
|
||||||
enable = lib.mkEnableOption "Enable pi5i2c3 on Pi5";
|
enable = lib.mkEnableOption "Enable pi5i2c3 on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/i2c3-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/i2c3-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Sdio = {
|
pi5Sdio = {
|
||||||
enable = lib.mkEnableOption "Enable sdio-pi5.dtbo on Pi5";
|
enable = lib.mkEnableOption "Enable sdio-pi5.dtbo on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/sdio-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/sdio-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Spi21cs = {
|
pi5Spi21cs = {
|
||||||
enable = lib.mkEnableOption "Enable spi2-1cs-pi5.dtbo on Pi5";
|
enable = lib.mkEnableOption "Enable spi2-1cs-pi5.dtbo on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/spi2-1cs-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/spi2-1cs-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Spi22cs = {
|
pi5Spi22cs = {
|
||||||
enable = lib.mkEnableOption "Enable spi2-2cs-pi5.dtbo on Pi5";
|
enable = lib.mkEnableOption "Enable spi2-2cs-pi5.dtbo on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/spi2-2cs-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/spi2-2cs-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Spi31cs = {
|
pi5Spi31cs = {
|
||||||
enable = lib.mkEnableOption "Enable spi3-1cs-pi5.dtbo on Pi5";
|
enable = lib.mkEnableOption "Enable spi3-1cs-pi5.dtbo on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/spi3-1cs-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/spi3-1cs-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Spi32cs = {
|
pi5Spi32cs = {
|
||||||
enable = lib.mkEnableOption "Enable spi3-2cs-pi5.dtbo on Pi5";
|
enable = lib.mkEnableOption "Enable spi3-2cs-pi5.dtbo on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/spi3-2cs-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/spi3-2cs-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Spi51cs = {
|
pi5Spi51cs = {
|
||||||
enable = lib.mkEnableOption "Enable spi5-1cs-pi5.dtbo on Pi5";
|
enable = lib.mkEnableOption "Enable spi5-1cs-pi5.dtbo on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/spi5-1cs-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/spi5-1cs-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Spi52cs = {
|
pi5Spi52cs = {
|
||||||
enable = lib.mkEnableOption "Enable spi5-2cs-pi5.dtbo on Pi5";
|
enable = lib.mkEnableOption "Enable spi5-2cs-pi5.dtbo on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/spi5-1cs-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/spi5-1cs-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Uart0 = {
|
pi5Uart0 = {
|
||||||
enable = lib.mkEnableOption "Enable pi5Uart0 on Pi5";
|
enable = lib.mkEnableOption "Enable pi5Uart0 on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/uart0-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/uart0-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Uart1 = {
|
pi5Uart1 = {
|
||||||
enable = lib.mkEnableOption "Enable pi5Uart1 on Pi5";
|
enable = lib.mkEnableOption "Enable pi5Uart1 on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/uart1-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/uart1-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Uart2 = {
|
pi5Uart2 = {
|
||||||
enable = lib.mkEnableOption "Enable pi5Uart2 on Pi5";
|
enable = lib.mkEnableOption "Enable pi5Uart2 on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/uart2-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/uart2-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Uart3 = {
|
pi5Uart3 = {
|
||||||
enable = lib.mkEnableOption "Enable pi5Uart3 on Pi5";
|
enable = lib.mkEnableOption "Enable pi5Uart3 on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/uart3-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/uart3-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Uart4 = {
|
pi5Uart4 = {
|
||||||
enable = lib.mkEnableOption "Enable pi5Uart4 on Pi5";
|
enable = lib.mkEnableOption "Enable pi5Uart4 on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/uart4-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/uart4-pi5.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
|
|
||||||
pi5Vc4Kms = {
|
pi5Vc4Kms = {
|
||||||
enable = lib.mkEnableOption "Enable vc4-kms-v3d-pi5.dtbo on Pi5";
|
enable = lib.mkEnableOption "Enable vc4-kms-v3d-pi5.dtbo on Pi5";
|
||||||
overlay = mkOpt types.str "${firmware}/boot/overlays/vc4-kms-v3d-pi5.dtbo" "Location of the dtbo file";
|
overlay = mkOpt types.str "${firmware}/vc4-kms-v3d-pi5.dtbo" "Location of the dtbo file";
|
||||||
|
};
|
||||||
|
|
||||||
|
bcm2712d0 = {
|
||||||
|
enable = lib.mkEnableOption "Enable bcm2712d0.dtbo on Pi5";
|
||||||
|
overlay = mkOpt types.str "${firmware}/bcm2712d0.dtbo" "Location of the dtbo file";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -243,6 +248,13 @@ in
|
|||||||
else
|
else
|
||||||
rm -rf ${toString configfsPath}/vc4-kms-v3d-pi5
|
rm -rf ${toString configfsPath}/vc4-kms-v3d-pi5
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ ${if cfg.bcm2712d0.enable then "true" else "false"} ]; then
|
||||||
|
mkdir ${toString configfsPath}/bcm2712d0
|
||||||
|
cp ${cfg.bcm2712d0.overlay} ${configfsPath}/bcm2712d0/dtbo
|
||||||
|
else
|
||||||
|
rm -rf ${toString configfsPath}/bcm2712d0
|
||||||
|
fi
|
||||||
'';
|
'';
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user