diff options
author | Florian Klink <flokli@flokli.de> | 2020-04-29 12:36:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-29 12:36:53 +0200 |
commit | f046de42108ac5938628359bea519de1dff9494b (patch) | |
tree | 04a7d6d41579b53d8c670df5e86686a5f16e279e /pkgs/os-specific | |
parent | fbc63c4a7bcec8f77c5d5a2cd48442ca16453460 (diff) | |
parent | 6fc9fd53dba25f61a6493e7c0d8fef5eca9c51bf (diff) | |
download | nixlib-f046de42108ac5938628359bea519de1dff9494b.tar nixlib-f046de42108ac5938628359bea519de1dff9494b.tar.gz nixlib-f046de42108ac5938628359bea519de1dff9494b.tar.bz2 nixlib-f046de42108ac5938628359bea519de1dff9494b.tar.lz nixlib-f046de42108ac5938628359bea519de1dff9494b.tar.xz nixlib-f046de42108ac5938628359bea519de1dff9494b.tar.zst nixlib-f046de42108ac5938628359bea519de1dff9494b.zip |
Merge pull request #86168 from lblasc/sof-firmware
Sound Open Firmware support, sof-firmware: init at 1.4.2, update kernel config
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/linux/firmware/sof-firmware/default.nix | 28 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/common-config.nix | 21 |
2 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/firmware/sof-firmware/default.nix b/pkgs/os-specific/linux/firmware/sof-firmware/default.nix new file mode 100644 index 000000000000..73ab46b3c8a6 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/sof-firmware/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl }: + +with stdenv.lib; +stdenv.mkDerivation rec { + pname = "sof-firmware"; + version = "1.4.2"; + + src = fetchurl { + url = "https://www.alsa-project.org/files/pub/misc/sof/${pname}-${version}.tar.bz2"; + sha256 = "1nkh020gjm45vxd6fvmz63hj16ilff2nl5avvsklajjs6xci1sf5"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + rm lib/firmware/intel/{sof/LICENCE,sof-tplg/LICENCE} + mkdir $out + cp -r lib $out/lib + ''; + + meta = with stdenv.lib; { + description = "Sound Open Firmware"; + homepage = "https://www.sofproject.org/"; + license = with licenses; [ bsd3 isc ]; + maintainers = with maintainers; [ lblasc ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 0a58ed87e6ce..088ec4ebf44d 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -254,6 +254,27 @@ let SND_USB_CAIAQ_INPUT = yes; # Enable PSS mixer (Beethoven ADSP-16 and other compatible) PSS_MIXER = whenOlder "4.12" yes; + # Enable Sound Open Firmware support + } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" && + versionAtLeast version "5.5") { + SND_SOC_SOF_TOPLEVEL = yes; + SND_SOC_SOF_ACPI = module; + SND_SOC_SOF_PCI = module; + SND_SOC_SOF_APOLLOLAKE_SUPPORT = yes; + SND_SOC_SOF_CANNONLAKE_SUPPORT = yes; + SND_SOC_SOF_COFFEELAKE_SUPPORT = yes; + SND_SOC_SOF_COMETLAKE_H_SUPPORT = yes; + SND_SOC_SOF_COMETLAKE_LP_SUPPORT = yes; + SND_SOC_SOF_ELKHARTLAKE_SUPPORT = yes; + SND_SOC_SOF_GEMINILAKE_SUPPORT = yes; + SND_SOC_SOF_HDA_AUDIO_CODEC = yes; + SND_SOC_SOF_HDA_COMMON_HDMI_CODEC = yes; + SND_SOC_SOF_HDA_LINK = yes; + SND_SOC_SOF_ICELAKE_SUPPORT = yes; + SND_SOC_SOF_INTEL_TOPLEVEL = yes; + SND_SOC_SOF_JASPERLAKE_SUPPORT = yes; + SND_SOC_SOF_MERRIFIELD_SUPPORT = yes; + SND_SOC_SOF_TIGERLAKE_SUPPORT = yes; }; usb-serial = { |