aboutsummaryrefslogtreecommitdiff
path: root/nixos/modules/turris-mox-support.nix
blob: 5b3d17f549d42a9f396c9bce0c61579db411a058 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ config, lib, pkgs, ... }:

with lib;

{

  config = mkIf (config.turris.board == "mox") {
    # Use early print to the serial console
    boot.kernelParams = [
      "earlycon=ar3700_uart,0xd0012000" "console=ttyMV0,115200"
      "pcie_aspm=off" # Fix for crashes due to SError Interrupt on ath10k load
    ];
    # Insert these modules early. The watchdog should be handled as soon as
    # possible and moxtet is for some reason ignored otherwise.
    boot.initrd.kernelModules = [
      "armada_37xx_wdt"
      "moxtet" "gpio-moxtet" "turris-mox-rwtm"
    ];
    # Explicitly set device tree to ensure we load the correct one.
    # This fixes boot with some U-Boot versions.
    hardware.deviceTree.name = "marvell/armada-3720-turris-mox.dtb";

    # Systemd seems to not handling hardware watchdog for some reason
    systemd.services."nowatchdog" = {
      script = "echo V >/dev/watchdog0";
      wantedBy = [ "multi-user.target" ];
    };


    # The additional administration packages
    environment.systemPackages =  with pkgs; [
      mox-otp
    ];

  };
}