15 Feb
2024
15 Feb
'24
12:36 p.m.
Hello,
After a long time, we have found a solution to this (in case someone finds this thread in the future). We found that the 1V8 rail wasn't being generated correctly by the PMIC. I added the setting in the device tree to keep it on on suspend and the codec started working correctly after resume. These two settings:
- regulator-always-on; - regulator-on-in-suspend;
After that, we were still getting the error from the `dmesg` output, "i2c transfer while suspended". We added the GPIO_OPEN_DRAIN property to the reset-gpios setting in the device tree. It stands like this now:
reset-gpios = <&gpiof 6 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
After that, the "i2c transfer while suspended" got fixed.