Skip to content

Conversation

@italomoraes
Copy link

Fixes internal speaker support on iMac12,2 27" with Cirrus Logic CS4206 codec (0x10134206, revision
0x100302).

The issue was that GPIO 3 (speaker unmute) was never initialized when using layout 32, causing
internal speakers to remain physically muted even though the audio path was correctly configured.

This commit adds a ConfigData entry for layout 32 that includes:

  • Pin configurations extracted from hardware codec dump
  • AFGLowPowerState (D3) for proper power management
  • WakeConfigData with GPIO 2+3 initialization verbs
  • WakeVerbReinit to preserve GPIO state across sleep/wake cycles

Tested on iMac12,2 with layout 32 auto-detection via DeviceProperties.

Result:

  • Internal speakers fully functional with DSP processing
  • Headphone jack with automatic switching
  • Internal microphone with noise reduction
  • Proper sleep/wake behavior

🤖 Generated with Claude Code

Co-Authored-By: Claude [email protected]

  Fixes internal speaker support on iMac12,2 27" with Cirrus Logic CS4206 codec (0x10134206, revision
   0x100302).

  The issue was that GPIO 3 (speaker unmute) was never initialized when using layout 32, causing
  internal speakers to remain physically muted even though the audio path was correctly configured.

  This commit adds a ConfigData entry for layout 32 that includes:
  - Pin configurations extracted from hardware codec dump
  - AFGLowPowerState (D3) for proper power management
  - WakeConfigData with GPIO 2+3 initialization verbs
  - WakeVerbReinit to preserve GPIO state across sleep/wake cycles

  Tested on iMac12,2 with layout 32 auto-detection via DeviceProperties.

  Result:
  - Internal speakers fully functional with DSP processing
  - Headphone jack with automatic switching
  - Internal microphone with noise reduction
  - Proper sleep/wake behavior

  🤖 Generated with [Claude Code](https://claude.com/claude-code)

  Co-Authored-By: Claude <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant