]> git.ipfire.org Git - thirdparty/linux.git/commit
ALSA: hda/cs420x: Add CS4208 fixup for iMac16,1
authorJakub Pisarczyk <pisarz77@gmail.com>
Tue, 26 May 2026 20:18:30 +0000 (22:18 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 27 May 2026 05:24:15 +0000 (07:24 +0200)
commit4db42e5fb9327c27b41f26bb9427ba0b97ecec30
tree3301362bc019bf4079790876c264b2cb69dcdf8d
parent0a10faad5ca58332ad70f7663ba82611f4daf736
ALSA: hda/cs420x: Add CS4208 fixup for iMac16,1

The 21.5" Retina 4K iMac (Late 2015, DMI product name "iMac16,1") ships
with a Cirrus Logic CS4208 codec wired to an external speaker amplifier
enabled through codec GPIO0 -- the same arrangement as the late-2013
MacBookPro 11,x. Without a matching entry in cs4208_mac_fixup_tbl[] the
fixup picker logs:

    snd_hda_codec_cs420x hdaudioC1D0: CS4208: picked fixup  for codec SSID 106b:0000

i.e. an empty fixup name, GPIO0 stays low, the external amp is never
powered up, and the internal speakers are silent on a stock kernel.

The codec SSID reported by hardware is 0x106b:0x7f00. Reusing CS4208_MBP11
(GPIO0 + SPDIF switch fixup) makes the internal speakers and S/PDIF
output work out of the box, removing the need for users to set
`options snd_hda_intel model=mbp11` via /etc/modprobe.d/.

Tested on iMac16,1 (kernel 6.17.0): four internal drivers
(Left tweeter, Left woofer, Right tweeter, Right woofer, exposed as the
4 channels of the analog-surround-40 ALSA profile) produce audio after
the fixup is applied.

Signed-off-by: Jakub Pisarczyk <pisarz77@gmail.com>
Link: https://patch.msgid.link/20260526201830.34097-1-pisarz77@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/codecs/cirrus/cs420x.c