1
0
mirror of https://github.com/NixOS/nixos-hardware synced 2024-06-02 11:03:33 +02:00
nixos-hardware/microchip/common/bsp/linux-icicle-kit.nix
Mika Tammi 1723853180 microchip icicle-kit: Fixes to kernel
* Improve by changing from legacy extraConfig to the
  structuredExtraConfig style kerenl configuration.
* Remove few unneeded kernel modules from default configuration.
* Make kernelPatches, structuredExtraConfig and extraMeta overrideable.
* Change callPackage-style function to actually take the individual
  attributes from pkgs.
* Get rid of recursive syntax.

Signed-off-by: Mika Tammi <mika.tammi@unikie.com>
2024-01-05 12:36:28 +00:00

66 lines
1.6 KiB
Nix

{ lib, buildLinux, fetchFromGitHub
, kernelPatches ? []
, structuredExtraConfig ? {}
, extraMeta ? {}
, argsOverride ? {}
, ... } @ args:
let
version = "6.1.43-linux4microchip+fpga-2023.09";
in buildLinux (args // {
inherit version kernelPatches extraMeta;
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = version;
defconfig = "mpfs_defconfig";
autoModules = false;
structuredExtraConfig = with lib.kernel; {
OF_OVERLAY = yes;
OF_CONFIGFS = yes;
MFD_SENSEHAT_CORE = module;
INPUT_JOYDEV = module;
INPUT_JOYSTICK = yes;
JOYSTICK_SENSEHAT = module;
AUXDISPLAY = yes;
SENSEHAT_DISPLAY = module;
HTS221 = module;
IIO_ST_PRESS = module;
IIO_ST_LSM6DSX = module;
IIO_ST_MAGN_3AXIS = module;
POLARFIRE_SOC_DMA_NONCOHERENT = yes;
MTD_SPI_NOR_USE_4K_SECTORS = no;
MTD_UBI = yes;
MTD_CMDLINE_PARTS = yes;
UBIFS_FS = yes;
USB_UAS = module;
EFI_STUB = yes;
EFI = yes;
USBIP_CORE = module;
USBIP_VHCI_HCD = module;
USBIP_HOST = module;
USBIP_VUDC = module;
CRYPTO_TLS = module;
MD = yes;
BLK_DEV_MD = module;
MD_LINEAR = module;
MD_RAID0 = module;
MD_RAID1 = module;
MD_RAID10 = module;
MD_RAID456 = module;
# This device doesn't have any kind of display output at all
FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER = lib.mkForce no;
FB_EFI = lib.mkForce no;
} // structuredExtraConfig;
src = fetchFromGitHub {
owner = "linux4microchip";
repo = "linux";
rev = "25e35c7c54ad853d03c14a02b189b408cb5b5eb3";
sha256 = "sha256-wj7lz247MkhxmhSHUcNeWmcZK+DL+5PAnLwTmALD97M=";
};
} // argsOverride)