Repository navigation
Conversation
The CS4272 on the Interlude Audio Analog Hat has an active-low reset, but the overlay declared GPIO24 as active high. This was harmless while the cs4271 driver drove the reset pin with raw GPIO values, but since commit 42d1178 ("ASoC: cs4271: Convert to GPIO descriptors") the driver honours the polarity flag and leaves the codec held in reset, so the card fails to probe: cs4271 1-0010: ASoC error (-5): at snd_soc_component_probe() on cs4271.1-0010 asoc-simple-card soc:sound: ASoC: failed to instantiate card -5 Declare the reset GPIO as GPIO_ACTIVE_LOW. Kernels before the conversion ignore the flag, so this is a no-op there. Signed-off-by: Ben Payne <ben@bluerocksoft.com>
pelwell
reviewed
Oct 19, 2026
| reg = <0x10>; | ||
| status = "okay"; | ||
| reset-gpio = <&gpio 24 0>; /* Pin 26, active high */ | ||
| reset-gpio = <&gpio 24 GPIO_ACTIVE_LOW>; /* Pin 26 */ |
Contributor
There was a problem hiding this comment.
In what way can GPIO 24 be pin 26? I could understand if it was pin 18, but header pin 26 carries GPIO 7. Aside from that, I'm ready to hit merge.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The CS4272 codec on the Interlude Audio Analog Hat has an active-low reset, but
interludeaudio-analog-overlay.dtsdeclares GPIO24 as active high. That was harmless whilecs4271.cdrove the reset pin with raw GPIO values. Since 42d1178 ("ASoC: cs4271: Convert to GPIO descriptors") the driver honours the polarity flag, so the codec is left held in reset and the card fails to probe:This change declares the reset GPIO as
GPIO_ACTIVE_LOW. Kernels before the conversion ignore the flag, so it is a no-op there. The only difference in the compiled.dtbois the flag cell ofreset-gpio.Tested on a Pi 4 with Raspberry Pi OS Trixie, kernel 6.12.47: with the fixed overlay the card enumerates as
sndIAAnalogHat. The reset handling incs4271.cis identical inrpi-6.18.y.Please could this also be picked into
rpi-6.12.y? Trixie images on 6.12 are affected.audioinjector-isolated-soundcard-overlay.dtsuses the same pattern (reset-gpio = <&gpio 5 0>on a CS4272), so it is probably affected too. We don't have that board to test, so I haven't changed it.