From 14d17610a912a810741c58ae2498d540179f5215 Mon Sep 17 00:00:00 2001 From: Michael Paepcke Date: Thu, 27 Jun 2024 17:08:50 +0000 Subject: [PATCH 1/2] linux: enable CONFIG_SND_HDA_CODEC_CS8409 Add linux kernel support for Cirrus Logic CS8409 as module. This will for example unlock on-board Sound for some 2016-2019 Apple Intel Hardware Series (iMac, MacBookAir, MacBookPro) - tested on MacBookPro14,1 --- pkgs/os-specific/linux/kernel/common-config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 551d4cffbb9236d..e15ff79536a4391 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -511,6 +511,7 @@ let # Support configuring jack functions via fw mechanism at boot SND_HDA_PATCH_LOADER = yes; SND_HDA_CODEC_CA0132_DSP = whenOlder "5.7" yes; # Enable DSP firmware loading on Creative Soundblaster Z/Zx/ZxR/Recon + SND_HDA_CODEC_CS8409 = module; # Cirrus Logic HDA Bridge CS8409 SND_OSSEMUL = yes; SND_USB_CAIAQ_INPUT = yes; SND_USB_AUDIO_MIDI_V2 = whenAtLeast "6.5" yes; From 14d51d6ebc4021939b57dd2554bd75e1cba2ad1f Mon Sep 17 00:00:00 2001 From: Michael Paepcke Date: Sun, 30 Jun 2024 19:57:27 +0000 Subject: [PATCH 2/2] linux: enable CONFIG_SND_HDA_CODEC_CS8409: restrict kernel >=6.6 --- pkgs/os-specific/linux/kernel/common-config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index e15ff79536a4391..1e2795ffb6b6c5b 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -511,7 +511,7 @@ let # Support configuring jack functions via fw mechanism at boot SND_HDA_PATCH_LOADER = yes; SND_HDA_CODEC_CA0132_DSP = whenOlder "5.7" yes; # Enable DSP firmware loading on Creative Soundblaster Z/Zx/ZxR/Recon - SND_HDA_CODEC_CS8409 = module; # Cirrus Logic HDA Bridge CS8409 + SND_HDA_CODEC_CS8409 = whenAtLeast "6.6" module; # Cirrus Logic HDA Bridge CS8409 SND_OSSEMUL = yes; SND_USB_CAIAQ_INPUT = yes; SND_USB_AUDIO_MIDI_V2 = whenAtLeast "6.5" yes;