diff --git a/pine64/rockpro64/README.md b/pine64/rockpro64/README.md index e4695a47..5eced1c6 100644 --- a/pine64/rockpro64/README.md +++ b/pine64/rockpro64/README.md @@ -12,3 +12,11 @@ firmware. Alternatively, starting from the _Tow-Boot_ disk image on eMMC is easier to deal with and understand than having to deal with _U-Boot_ manually. + +## Console + +To configure default console I/O to use serial instead of HDMI (default): + +```nix +hardware.rockpro64.console = "serial"; +``` diff --git a/pine64/rockpro64/console.nix b/pine64/rockpro64/console.nix new file mode 100644 index 00000000..d8a213dc --- /dev/null +++ b/pine64/rockpro64/console.nix @@ -0,0 +1,17 @@ +{ config, lib, ... }: +{ + options.hardware.rockpro64.console = lib.mkOption { + default = "hdmi"; + description = "Default console to use at boot."; + type = lib.types.enum [ + "hdmi" + "serial" + ]; + }; + config = lib.mkIf (config.hardware.rockpro64.console == "hdmi") { + boot.kernelParams = [ + "console=ttyS0" + "console=tty0" + ]; + }; +} diff --git a/pine64/rockpro64/default.nix b/pine64/rockpro64/default.nix index 9ac08e83..22f82195 100644 --- a/pine64/rockpro64/default.nix +++ b/pine64/rockpro64/default.nix @@ -1,10 +1,17 @@ { lib, ... }: { + imports = [ + ./console.nix + ]; boot.initrd.kernelModules = [ # PCIe/NVMe "nvme" "pcie_rockchip_host" "phy_rockchip_pcie" + # Network + "dwmac_rk" + # HDMI + "rockchipdrm" ]; # control the fan on the rockpro64 (like the one in the NAS case) hardware.fancontrol = {