summary refs log tree commit diff
path: root/pkgs/top-level/platforms.nix
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas@tuxera.com>2016-12-27 01:51:23 +0200
committerTuomas Tynkkynen <tuomas@tuxera.com>2017-01-25 02:14:46 +0200
commit2bfd83ab6d6d8c346f043843741641b8119cee19 (patch)
treecc9e2713be1a6501dbbdb200a60513bb164a6f84 /pkgs/top-level/platforms.nix
parent3519244c724d9db090fd186ab9e4e375cd5c9989 (diff)
downloadnixpkgs-2bfd83ab6d6d8c346f043843741641b8119cee19.tar
nixpkgs-2bfd83ab6d6d8c346f043843741641b8119cee19.tar.gz
nixpkgs-2bfd83ab6d6d8c346f043843741641b8119cee19.tar.bz2
nixpkgs-2bfd83ab6d6d8c346f043843741641b8119cee19.tar.lz
nixpkgs-2bfd83ab6d6d8c346f043843741641b8119cee19.tar.xz
nixpkgs-2bfd83ab6d6d8c346f043843741641b8119cee19.tar.zst
nixpkgs-2bfd83ab6d6d8c346f043843741641b8119cee19.zip
platforms.nix: Add some aarch64-specific kernel config
This makes Raspberry Pi 3 and some Cavium ThunderX server hardware work.
Diffstat (limited to 'pkgs/top-level/platforms.nix')
-rw-r--r--pkgs/top-level/platforms.nix27
1 files changed, 26 insertions, 1 deletions
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index c740fbe6f8d..41cd0fff52b 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -451,7 +451,32 @@ rec {
     kernelArch = "arm64";
     kernelDTB = true;
     kernelAutoModules = false;
-    kernelExtraConfig = "";
+    kernelExtraConfig = ''
+      # Raspberry Pi 3 stuff. Not needed for kernels >= 4.10.
+      ARCH_BCM2835 y
+      BCM2835_MBOX y
+      BCM2835_WDT y
+      BRCMFMAC m
+      DMA_BCM2835 m
+      DRM_VC4 m
+      I2C_BCM2835 m
+      PWM_BCM2835 m
+      RASPBERRYPI_FIRMWARE y
+      RASPBERRYPI_POWER y
+      SERIAL_8250_BCM2835AUX y
+      SERIAL_8250_EXTENDED y
+      SERIAL_8250_SHARE_IRQ y
+      SND_BCM2835_SOC_I2S m
+      SPI_BCM2835AUX m
+      SPI_BCM2835 m
+
+      # Cavium ThunderX stuff.
+      PCI_HOST_THUNDER_ECAM y
+      THUNDER_NIC_RGX y
+      THUNDER_NIC_BGX y
+      THUNDER_NIC_PF y
+      THUNDER_NIC_VF y
+    '';
     uboot = null;
     kernelTarget = "Image";
     gcc = {